Experimental Physics and
| |||||||||||||||
|
This is weird and I'm not really sure how to track it down. I have an embedded ARM board. I've compiled EPICS onto that. I run vlinac (just to get something ) on my host PC (x86) Then I take an ai variable. (in other words a floating point thing) If I say from the ARM board caput pvname value Then the correct value gets into the pv on my host pc. But.. the wrong value gets back via channel access. if I caget the value I get the wrong answer. It seems that the network byte order is done wrongly maybe.. I'm not sure. If I put 1.0 and then get again I get: 5.29981e-315 Which is almost like the wrong network byte order but not exactly it seems. It could be that somewhere along the lines something thinks double is 6 bytes only (rather than 8) and then also swaps the byte order. Maybe there is an htons or something missing somewhere in the code? But how this is possible baffles me. :/ I've written a small program to test the structure and layout off "double" on both my PC and the ARM. it seems identical to me. If anybody has any idea how I can "check" this or try and find the problem it would be help full. I am aware that the problem is not necessarily in epics but could be in the compiler options or something like that.
| ||||||||||||||
ANJ, 02 Sep 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |