~~ODT~~
===== ANALOG DATA =====
==== Type 0x20, Analog Data, Format 0 ====
Reserved for future use.
==== Type 0x21, Analog Data, Format 1 (Analog Data) ====
Analog Data, Format 1 packets are
used to record digitized analog signals. In general, the analog data packet will contain multiple
digitized values from multiple analog channels. Digitized signal values can be stored in either a
unpacked or packed fashion. Unpacked storage describes a situation in which each sample
occupies one 16-bit word with unused bits zero filled. Packed storage concatenates samples to
use the least amount of storage possible, but samples will straddle 16-bit word boundaries.
The layout of the CSDW is shown in Figure 6-31. Analog packets may have one or
multiple CSDWs. If all analog subchannels are the same then the bSame value will equal "1"
and only one CSDW will be present. If subchannels are configured differently then there will be
one CSDW for each subchannel. The uMode field indicates the whether the samples are stored
in packed or unpacked mode, and how unused bits are zero filled. The uLength field indicates
the number of bits in digitized sample. The uSubChan field indicates the number of the current
subchannel. The uTotChan field indicates the total number of subchannels in the packet. The
uFactor field indicates the exponent of the power of 2 sampling rate factor denominator.
struct SuAnalogF1_ChanSpec
{
uint32_t uMode : 2; // Packed or Unpacked
uint32_t uLength : 6; // Bits in A/D value
uint32_t uSubChan : 8; // Subchannel number
uint32_t uTotChan : 8; // Total number of subchannels
uint32_t uFactor : 4; // Sample rate exponent
uint32_t bSame : 1; // One/multiple CSDW
uint32_t iReserved : 3; //
};