search shadow


1 comment

  • Avatar
    Martin Alvsåker

    The Signature 100 with Echo Sounder introduces a new usage of the Data Headers. The Echo Sounder RAW data packets can be big. Hence the 16-bit Data Size of the standard (10-byte) Headers is not enough. A variant of the Header (12-bytes) is used:


    Packet Header Definition

    typedef struct
       unsigned char  sync;         ///< = 0xA5
       unsigned char  hdrSize;      ///< = sizeof(CommandHeader_t) = 12
       unsigned char  ID;           ///< Record ID (data type)
       unsigned char  family;       ///< bits 4-7 = instrument type/family, bits 0-3 unused
                                    ///< (instrument dependent)
       unsigned long  dataSize;     ///< Size of data block to follow
       unsigned short dataChecksum; ///< Word-wise checksum of data block
       unsigned short hdrChecksum;  ///< Word wise checksum of this structure
    } CommandHeader2_t;

    The Echo Sounder RAW format uses the following Record IDs to store data:

    0x23     RECORD_ID_ECHO_RAW           Echo Sounder raw sample data format
    0x24     RECORD_ID_ECHO_RAW_XMIT Echo Sounder raw synthetic transmit pulse data format


    Echo Sounder RAW Data Record Definition

    The Echo Sounder RAW Data Record consists of a Data header part followed by a Data part.

    Data Header Definition


    Data Definition

    The Data consists of an array of nComplexSamples Samples. Each Sample is of type Complex Fract32:

    typedef struct {
       fract32 re;
       fract32 im;
    } complex_fract32;


    The fract32 type represents a single 32-bit signed fractional value. The Range of the value is [-1.0,+1.0).

    Comment actions Permalink

Please sign in to leave a comment.