Appendix F. Endianness
Synonyms:
• "Byte order" and "endianness"
• "Little endian" and "least-significant byte first"
• "Big endian" and "most-significant byte first"
Endianness lies at the root of an instrument processor. It is determined by the
processor manufacturer. A good discussion of endianness can be found at
Wikipedia.com. Issues surrounding endianness in an instrument such as the
CR1000 datalogger are usually hidden by the operating system. However, the
following CR1000 functions bring endianness to the surface and may require
some programming to accommodate differences:
• Serial input / output programming (Serial I/O: Capturing Serial Data
(p. 245) )
• Modbus programming (Modbus
(p. 411) )
• MoveBytes() instruction (see CRBasic Editor Help)
• SDMGeneric() instruction (see CRBasic Editor Help)
• Some PakBus instructions, like GetDataRecord (see CRBasic Editor Help)
For example, when the CR1000 datalogger receives data from a CR9000
datalogger, the byte order of a four byte IEEE4 or integer data value has to be
reversed before the value shows properly in the CR1000.
Table 193. Endianness in Campbell Scientific Instruments
Little Endian Instruments Big Endian Instruments
CR6 datalogger
CR9000X datalogger
CRVW Series dataloggers
CRS451 recording sensor
CR200(X) Series dataloggers
CR800 Series dataloggers
CR1000 datalogger
CR3000 datalogger
CR5000 datalogger
Use of endianness is discussed in the following sections:
• Section Reading Inverse-Format Modbus Registers
(p. 415)
• Appendix FP2 Data Format
(p. 641)
643