| EM datagrams on *.kmall format Reg.no. 410224 rev E

Data Fields
EMdgmMbody_def Struct Reference

Multibeam (M) datagrams - body part. Start of body of all M datagrams. More...

`#include <EMdgmFormat.h>`

## Data Fields
uint16_t | numBytesCmnPart
uint16_t | pingCnt
uint8_t | rxFansPerPing
uint8_t | rxFanIndex
uint8_t | swathsPerPing
uint8_t | swathAlongPosition
uint8_t | txTransducerInd
uint8_t | rxTransducerInd
uint8_t | numRxTransducers
uint8_t | algorithmType

## Detailed Description

Multibeam (M) datagrams - body part. Start of body of all M datagrams.

Contains information of transmitter and receiver used to find data in datagram. The table below illustrates how the indexes will be filled out in different system configurations. Each vertical column is data from one datagram. See index description table and figure below for more information. chapter for #MRZ datagram, for more details.

Counters and indexes in multibeam datagrams:

Case: Single swath | Single RX, 4 pings shown, 4 datagrams | Dual RX, 2 pings shown, 4 datagrams | Dual TX, Dual RX,\
--- | --- | --- | ---
Ping counter | 1 2 3 4 | 1 1 2 2 | 1 1 2 2 3 3 4 4
RX fans per ping | 1 1 1 1 | 2 2 2 2 | 2 2 2 2 2 2 2 2
RX fan index | 0 0 0 0 | 0 1 0 1 | 0 1 0 1 0 1 0 1
# of swaths per ping | 1 1 1 1 | 1 1 1 1 | 1 1 1 1 1 1 1 1
Swath along position | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 0 0 0 0
RX Transducer index | 0 0 0 0 | 0 1 0 1 | 0 1 0 1 0 1 0 1
TX Transducer index | 0 0 0 0 | 0 0 0 0 | 0 1 0 1 0 1 0 1
# of active RX Transducers | 1 1 1 1 | 2 2 2 2 | 2 2 2 2 2 2 2 2

Case: Multi swath | Single RX, Dual swath, 2 pings shown, 4 datagrams | Single RX, 4 swaths along, 1 ping shown, 4 datagrams | Dual TX
--- | --- | --- | ---
Ping counter | 1 1 2 2 | 1 1 1 1 | 1 1 1 1 2 2 2 2
RX fans per ping | 2 2 2 2 | 4 4 4 4 | 4 4 4 4 4 4 4 4
RX fan index | 0 1 0 1 | 0 1 2 3 | 0 1 2 3 0 1 2 3
# of swaths per ping | 2 2 2 2 | 4 4 4 4 | 2 2 2 2 2 2 2 2
Swath along position | 0 1 0 1 | 0 1 2 3 | 0 0 1 1 0 0 1 1
RX Transducer index | 0 0 0 0 | 0 0 0 0 | 0 1 0 1 0 1 0 1
TX Transducer index | 0 0 0 0 | 0 0 0 0 | 0 1 0 1 0 1 0 1
# of active RX Transducers | 1 1 1 1 | 1 1 1 1 | 2 2 2 2 2 2 2 2

## Field Documentation

## ◆ numBytesCmnPart

uint16_t numBytesCmnPart

Used for denoting size of current struct, EMdgmMbody_def.

## ◆ pingCnt

uint16_t pingCnt

A ping is made of one or more RX fans and one or more TX pulses transmitted at approximately the same time. Ping counter is incremented at every set of TX pulses (one or more pulses transmitted at approximately the same time).

## ◆ rxFansPerPing

uint8_t rxFansPerPing

Number of rx fans per ping gives information of how many #MRZ datagrams are generated per ping. Combined with swathsPerPing, number of datagrams to join for a complete swath can be found.

## ◆ rxFanIndex

uint8_t rxFanIndex

Index 0 is the aft swath, port side.

## ◆ swathsPerPing

uint8_t swathsPerPing

Number of swaths per ping. A swath is a complete set of across track data. A swath may contain several transmit sectors and RX fans.

## ◆ swathAlongPosition

uint8_t swathAlongPosition

Alongship index for the location of the swath in multi swath mode. Index 0 is the aftmost swath.

## ◆ txTransducerInd

uint8_t txTransducerInd

Transducer used in this rx fan. Index:
0 = TRAI_TX1
1 = TRAI_TX2 etc.

## ◆ rxTransducerInd

uint8_t rxTransducerInd

Transducer used in this rx fan. Index:
0 = TRAI_RX1
1 = TRAI_RX2 etc.

## ◆ numRxTransducers

uint8_t numRxTransducers

Total number of receiving units.

## ◆ algorithmType

uint8_t algorithmType

For future use. 0 - current algorithm, >0 - future algorithms.

The documentation for this struct was generated from the following file:

- EMdgmFormat.h