by hotline » Mon Sep 13, 2010 5:00 pm
I believe this problem is a result of Online FAMOS' use of IEEE 754 single precision floating point format, with a 24 bit significand and 8 bit exponent. Online FAMOS will allow you to define long hex constants, but it will then convert them to fit the IEEE 754 format. The result is that what you may think is a simple hex constant or variable is actually something quite different.
The solution is to split your CAN message into two-byte (16 bit) channels. IEEE 754 single precision floating point has enough precision to cleanly handle two-byte binary variables, so the bits in your message will come out exactly as you intended.