/* 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