31 #ifndef SBFStructs_HPP 32 #define SBFStructs_HPP 35 #ifndef NR_OF_LOGICALCHANNELS 36 #define NR_OF_LOGICALCHANNELS 80 38 #ifndef MAX_NB_INMARSATCHANNELS 40 #define MAX_NB_INMARSATCHANNELS 1 42 #ifndef MAX_NR_OF_SIGNALS_PER_SATELLITE 44 #define MAX_NR_OF_SIGNALS_PER_SATELLITE 7 46 #ifndef NR_OF_ANTENNAS 48 #define NR_OF_ANTENNAS 3 50 #ifndef MAXSB_NBRANTENNA 52 #define MAXSB_NBRANTENNA 4 54 #ifndef MAXSB_CHANNELSATINFO 56 #define MAXSB_CHANNELSATINFO (NR_OF_LOGICALCHANNELS + MAX_NB_INMARSATCHANNELS) 58 #ifndef MAXSB_CHANNELSTATEINFO 60 #define MAXSB_CHANNELSTATEINFO (MAXSB_CHANNELSATINFO * MAXSB_NBRANTENNA) 62 #ifndef MAXSB_MEASEPOCH_T1 64 #define MAXSB_MEASEPOCH_T1 (NR_OF_LOGICALCHANNELS + MAX_NB_INMARSATCHANNELS) 66 #ifndef MAXSB_MEASEPOCH_T2 68 #define MAXSB_MEASEPOCH_T2 ((MAXSB_MEASEPOCH_T1) * ( ((MAX_NR_OF_SIGNALS_PER_SATELLITE) * (NR_OF_ANTENNAS)) -1)) 74 #if defined(__GNUC__) || defined(__ARMCC__) 88 # define SBFDOUBLE double __attribute__((packed, aligned(4))) 90 # define SBFDOUBLE double 278 uint8_t reserved1[2];
288 #ifndef SBF_CHANNELSTATUS_DATA_LENGTH 289 #define SBF_CHANNELSTATUS_DATA_LENGTH MAXSB_CHANNELSATINFO * sizeof(ChannelSatInfo) + MAXSB_CHANNELSTATEINFO * sizeof(ChannelStateInfo) 349 #ifndef MEASEPOCH_DATA_LENGTH 350 #define MEASEPOCH_DATA_LENGTH (MAXSB_MEASEPOCH_T1 * sizeof(MeasEpochChannelType1) + MAXSB_MEASEPOCH_T2 * sizeof(MeasEpochChannelType2)) 411 char marker_name[60];
412 char marker_number[20];
415 char rx_serial_number[20];
418 char ant_serial_nbr[20];
423 char marker_type[20];
424 char gnss_fw_version[40];
441 uint16_t indicators[40];
593 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
594 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
595 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
596 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
597 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
598 0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
599 0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
600 0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
601 0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
602 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
603 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
604 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
605 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
606 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
607 0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
608 0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
609 0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
610 0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
611 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
612 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
613 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
614 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
615 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
616 0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
617 0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
618 0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
619 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
620 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
621 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
622 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
623 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
624 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
627 #endif // SBFStructs_HPP
uint16_t doppler_offset_lsb
Struct for the SBF block "AttCovEuler".
#define MEASEPOCH_DATA_LENGTH
Max number of bytes that the data part of the MeasEpoch struct can consist of.
#define SBF_CHANNELSTATUS_DATA_LENGTH
Max number of bytes that the Data part of the ChannelStatus struct can consist of.
BlockHeader_t block_header
BlockHeader_t block_header
BlockHeader_t block_header
BlockHeader_t block_header
Struct for the SBF block "VelCovCartesian".
BlockHeader_t block_header
Struct for the SBF block "VelCovGeodetic".
Struct for the SBF sub-block "MeasEpochChannelType1".
Struct for the SBF block "ReceiverSetup".
BlockHeader_t block_header
Struct for the SBF block "PosCovGeodetic".
BlockHeader_t block_header
Struct for the SBF block "PVTGeodetic".
Struct for the SBF block "AttEuler".
BlockHeader_t block_header
BlockHeader_t block_header
Struct for the SBF sub-block "MeasEpochChannelType2".
Struct for the SBF block "QualityInd".
BlockHeader_t block_header
Struct for the SBF sub-block "ChannelStateInfo".
Struct for the SBF block "PVTCartesian".
static const uint16_t CRC_LOOK_UP[256]
CRC look-up table for fast computation of the 16-bit CRC for SBF blocks.
Struct for the SBF block "PosCovCartesian".
BlockHeader_t block_header
Struct for the SBF sub-block "ChannelSatInfo".
Struct for the SBF block "ChannelStatus".
Struct for the SBF block "MeasEpoch".
BlockHeader_t block_header
Struct for the SBF block "DOP".
Struct for the SBF sub-block "AGCState".
Aims at making the C++ code as portable as possible, by dealing with all compilers except for MS comp...
BlockHeader_t block_header
BlockHeader_t block_header
Struct for the SBF block "ReceiverStatus".