/* SPA FRAME STRUCTURE */ OBJECT = COLUMN NAME = "PACKET_ID" DESCRIPTION = "Telemetry packet identifier." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_SEQUENCE_CONTROL" DESCRIPTION = "Telemetry packet sequence counter." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 3 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_LENGTH" DESCRIPTION = "Telemetry packet length." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_OBT_SECONDS" DESCRIPTION = "S/C clock count at packet generation." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 7 BYTES = 4 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_OBT_FRACTION" DESCRIPTION = "Fractional part of S/C clock count." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 11 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_PUS_AND_CRC" DESCRIPTION = "Telemetry packet PUS-Version and CRC flag." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 13 BYTES = 1 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_TYPE" DESCRIPTION = "Telemetry packet type." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 14 BYTES = 1 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_SUBTYPE" DESCRIPTION = "Telemetry packet sub-type." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 15 BYTES = 1 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_PAD_FIELD" DESCRIPTION = "Telemetry packet padding field." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 16 BYTES = 1 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "STRUCTURE_ID" DESCRIPTION = "Telemetry packet structure identifier." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 17 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "SOFTWARE_VERSION" DESCRIPTION = "On-board software version." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 19 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "LINEAR_POS" DESCRIPTION = "Linear stage position sensor readout." DATA_TYPE = MSB_INTEGER START_BYTE = 21 BYTES = 2 OFFSET = 1.52590E-004 SCALING_FACTOR = 3.05180E-004 UNIT = VOLT END_OBJECT = COLUMN OBJECT = COLUMN NAME = "WHEEL_POS" DESCRIPTION = "Current wheel position (segment number)." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 23 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "TIP_NUMBER" DESCRIPTION = "Number of selected tip." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 25 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "X_ORIGIN" DESCRIPTION = "Scan origin in X direction (DAC units)." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 27 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "Y_ORIGIN" DESCRIPTION = "Scan origin in Y direction (DAC units)." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 29 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "STEP_SIZE" DESCRIPTION = "Line scan step size (DAC units)." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 31 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "NUM_STEPS" DESCRIPTION = "Number of line scan steps (pixels)." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 33 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "SCAN_MODE" DESCRIPTION = "Scanning mode for image acquisition): Bit 0-7: 0=DYNamic, 1=CONtact, 2=MAGnetic, Bit 8: line scan direction (1=reverse), Bit 12: main scan direction (0=X,1=Y)" DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 35 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "MAIN_SCAN_CNT" DESCRIPTION = "Current main scan counter." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 37 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "NUM_SAMPLES" DESCRIPTION = "Total number of measurements." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 39 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "SPARE" DESCRIPTION = "Currently not used." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 41 BYTES = 6 ITEMS = 3 ITEM_BYTES = 2 END_OBJECT = COLUMN OBJECT = CONTAINER NAME = FRAME_STRUCTURE START_BYTE = 47 BYTES = 8 REPETITIONS = 256 DESCRIPTION = "Container for the 256 repeating DAQ samples of AC, DC, phase and Z position signal." OBJECT = COLUMN NAME = "AC_SAMPLE" DESCRIPTION = "Cantilever AC signal sample." DATA_TYPE = MSB_INTEGER START_BYTE = 1 BYTES = 2 SCALING_FACTOR = 3.0518E-04 OFFSET = 0.0 UNIT = VOLT DERIVED_MINIMUM = 0.0 DERIVED_MAXIMUM = 10.0 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "DC_SAMPLE" DESCRIPTION = "Cantilever DC signal samples." DATA_TYPE = MSB_INTEGER START_BYTE = 3 BYTES = 2 SCALING_FACTOR = 3.0518E-04 OFFSET = 0.0 UNIT = VOLT DERIVED_MINIMUM = -10.0 DERIVED_MAXIMUM = +10.0 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PHASE_SAMPLE" DESCRIPTION = "Cantilever phase signal samples." DATA_TYPE = MSB_INTEGER START_BYTE = 5 BYTES = 2 SCALING_FACTOR = 5.4932E-03 OFFSET = 0.0 UNIT = DEGREE DERIVED_MINIMUM = -180.0 DERIVED_MAXIMUM = +180.0 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "Z_POS_SAMPLE" DESCRIPTION = "Z piezo position monitor (strain gauge)." DATA_TYPE = MSB_INTEGER START_BYTE = 7 BYTES = 2 SCALING_FACTOR = 3.0518E-04 OFFSET = 0.0 UNIT = VOLT DERIVED_MINIMUM = -10.0 DERIVED_MAXIMUM = +10.0 END_OBJECT = COLUMN END_OBJECT = CONTAINER OBJECT = COLUMN NAME = "CRC16_CHECKSUM" DESCRIPTION = "Telemetry packet checksum (CRC 16)." DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 2095 BYTES = 2 END_OBJECT = COLUMN