Implement Booster BPM ACNET device 0x0015
#2 Updated by John Diamond over 2 years ago
- % Done changed from 0 to 70
- Estimated time set to 4.00 h
- The 'data' and 'time' fields are specified as 'Int4' fields but it's not clear what this really means. Will need clarification from Bill Marsh. For now these fields return '0' and '1' respectively.
- Not clear to me what the 'cycle_type' field is meant to contain. For now it always returns '4'.
- The maximum number of positions we can return (as 4-byte floats) is 8187 (TBT_POSITION_ARRAY_SIZE). Will need clarification from Bill Marsh how the existing system returns the full 20000 turns. Note that the n_samples field contains the actual number of samples contained in the measurement and can be > 8187.
- This device was specified with no reading PDB and an element size of 1, which means that the console application is probably expecting big-endian data but we are returning little-endian data because the BBPMTS processor is an x86.
Control and Basic Status properties still need to be implemented.
#3 Updated by John Diamond over 2 years ago
- % Done changed from 70 to 60
Excerpt of an e-mail from Bill that mentions undocumented fields in the TBT header:
For the turn by turn data Sharon seems to not have documented the inclusion of the GPS timestamp The data structure is as follows Int4 micro date Int4 micro timestamp Int4 GPS sec (UTC time) Int4 GPS nsec (nanosec from GPS sec) Int4 number of turns Int4 cycle type Flt4 turn position data Again the positions data ieee floats are word swapped but not byte swapped while the header data is used as is.
The full e-mail, which describes endianess and timestamp encoding is documented in #17720.