Page 219 of 254
// section H0: header (only one per ping)
u16 H0_SectionName; // 'H0'
u16 H0_SectionSize; // [bytes] size of this entire section
u8 H0_ModelNumber[12]; // example "2024", unused chars are nulls
u8 H0_SerialNumber[12]; // example "100017", unused chars are nulls
u32 H0_TimeSeconds; // [seconds] ping time relative to 0000 hours 1-Jan-1970, integer part
u32 H0_TimeNanoseconds; // [nanoseconds] ping time relative to 0000 hours 1-Jan-1970, fraction part
u32 H0_PingNumber; // pings since power-up or reboot
f32 H0_PingPeriod; // [seconds] time between most recent two pings
f32 H0_SoundSpeed; // [meters per second]
f32 H0_Frequency; // [hertz] sonar center frequency
f32 H0_TxPower; // [dB re 1 uPa at 1 meter]
f32 H0_TxPulseWidth; // [seconds]
f32 H0_TxBeamwidthVert; // [radians]
f32 H0_TxBeamwidthHoriz; // [radians]
f32 H0_TxSteeringVert; // [radians]
f32 H0_TxSteeringHoriz; // [radians]
u16 H0_TxMiscInfo; // reserved for future use
s16 H0_VTX+Offset; // [hundredths of a dB] transmit voltage offset at time of ping (divide value by 100 to get dB)
f32 H0_RxBandwidth; // [hertz]
f32 H0_RxSampleRate; // [hertz] sample rate of data acquisition and signal processing
f32 H0_RxRange; // [meters] sonar range setting
f32 H0_RxGain; // [multiply by two for relative dB]
f32 H0_RxSpreading; // [dB (times log range in meters)]
f32 H0_RxAbsorption; // [dB per kilometer]
f32 H0_RxMountTilt; // [radians]
u32 H0_RxMiscInfo; // reserved for future use
u16 H0_reserved; // reserved for future use
u16 H0_Beams; // number of beams
// section A1: float beam angles, arbitrarily-spaced (only one per ping)
u16 A1_SectionName; // 'A1'
u16 A1_SectionSize; // [bytes] size of this entire section
f32 A1_MoreInfo_0; // roll [radians]
f32 A1_MoreInfo_1 //Z-offset, proj [metres]
f32 A1_MoreInfo_2; //Y-offset, proj [metres]
f32 A1_MoreInfo_3; //X-offset, proj [metres]
f32 A1_MoreInfo_4; //0 (reserved for future use)
f32 A1_MoreInfo_5; //0 (reserved for future use)
f32 A1_BeamAngle[H0_Beams]; // [radians] angle of beam relative to array centerline, ordered from port to starboard, first angle < last
angle
// section M1: 16-bit magnitude data (present only during "magnitude-only" water column data mode, many per ping, you assemble them into complete ping data)
u16 M1_SectionName; // 'M1'
u16 M1_SectionSize; // [bytes] size of this entire section
u32 M1_PingNumber; // pings since power-up or reboot