Declares and defines structs into which SBF blocks are unpacked then shipped to handler functions. More...
#include <cstdint>#include <algorithm>#include <boost/spirit/include/qi.hpp>#include <septentrio_gnss_driver/abstraction/typedefs.hpp>#include <septentrio_gnss_driver/parsers/parsing_utilities.hpp>

Go to the source code of this file.
Classes | |
| struct | AgcState |
| Struct for the SBF sub-block "AGCState". More... | |
| struct | BlockHeader |
| Struct for the SBF block's header message. More... | |
| class | ChannelSatInfo |
| Struct for the SBF sub-block "ChannelSatInfo". More... | |
| class | ChannelStateInfo |
| Struct for the SBF sub-block "ChannelStateInfo". More... | |
| class | ChannelStatus |
| Struct for the SBF block "ChannelStatus". More... | |
| class | DOP |
| Struct for the SBF block "DOP". More... | |
| class | QualityInd |
| Struct for the SBF block "QualityInd". More... | |
| class | ReceiverSetup |
| Struct for the SBF block "ReceiverSetup". More... | |
| class | ReceiverStatus |
| Struct for the SBF block "ReceiverStatus". More... | |
Functions | |
| template<typename It > | |
| void | AgcStateParser (It it, AgcState &msg, uint8_t sb_length) |
| Struct for the SBF sub-block "AGCState". More... | |
| template<typename It > | |
| bool | AttCovEulerParser (ROSaicNodeBase *node, It it, It itEnd, AttCovEulerMsg &msg, bool use_ros_axis_orientation) |
| Qi based parser for the SBF block "AttCovEuler". More... | |
| template<typename It > | |
| bool | AttEulerParser (ROSaicNodeBase *node, It it, It itEnd, AttEulerMsg &msg, bool use_ros_axis_orientation) |
| Qi based parser for the SBF block "AttEuler". More... | |
| template<typename It > | |
| bool | BaseVectorCartParser (ROSaicNodeBase *node, It it, It itEnd, BaseVectorCartMsg &msg) |
| template<typename It > | |
| bool | BaseVectorGeodParser (ROSaicNodeBase *node, It it, It itEnd, BaseVectorGeodMsg &msg) |
| template<typename It , typename Hdr > | |
| bool | BlockHeaderParser (ROSaicNodeBase *node, It &it, Hdr &block_header) |
| Qi based parser for the SBF block "BlockHeader" plus receiver time stamp. More... | |
| template<typename It > | |
| bool | ChannelSatInfoParser (ROSaicNodeBase *node, It &it, ChannelSatInfo &msg, uint8_t sb1_length, uint8_t sb2_length) |
| Qi based parser or the SBF sub-block "ChannelSatInfo". More... | |
| template<typename It > | |
| void | ChannelStateInfoParser (It &it, ChannelStateInfo &msg, uint8_t sb2_length) |
| Qi based parser for the SBF sub-block "ChannelStateInfo". More... | |
| template<typename It > | |
| bool | ChannelStatusParser (ROSaicNodeBase *node, It it, It itEnd, ChannelStatus &msg) |
| Qi based parser for the SBF block "ChannelStatus". More... | |
| template<typename It > | |
| bool | DOPParser (ROSaicNodeBase *node, It it, It itEnd, DOP &msg) |
| Qi based parser for the SBF block "DOP". More... | |
| template<typename It > | |
| bool | ExtSensorMeasParser (ROSaicNodeBase *node, It it, It itEnd, ExtSensorMeasMsg &msg, bool use_ros_axis_orientation, bool &hasImuMeas) |
| Qi based parser for the SBF block "ExtSensorMeas". More... | |
| template<typename It > | |
| bool | IMUSetupParser (ROSaicNodeBase *node, It it, It itEnd, IMUSetupMsg &msg, bool use_ros_axis_orientation) |
| Qi based parser for the SBF block "IMUSetup". More... | |
| template<typename It > | |
| bool | INSNavCartParser (ROSaicNodeBase *node, It it, It itEnd, INSNavCartMsg &msg, bool use_ros_axis_orientation) |
| Qi based parser for the SBF block "INSNavCart". More... | |
| template<typename It > | |
| bool | INSNavGeodParser (ROSaicNodeBase *node, It it, It itEnd, INSNavGeodMsg &msg, bool use_ros_axis_orientation) |
| Qi based parser for the SBF block "INSNavGeod". More... | |
| template<typename It > | |
| bool | MeasEpochChannelType1Parser (ROSaicNodeBase *node, It &it, MeasEpochChannelType1Msg &msg, uint8_t sb1_length, uint8_t sb2_length) |
| template<typename It > | |
| void | MeasEpochChannelType2Parser (It &it, MeasEpochChannelType2Msg &msg, uint8_t sb2_length) |
| Qi based parser for the SBF sub-block "MeasEpochChannelType2". More... | |
| template<typename It > | |
| bool | MeasEpochParser (ROSaicNodeBase *node, It it, It itEnd, MeasEpochMsg &msg) |
| template<typename It > | |
| bool | PosCovCartesianParser (ROSaicNodeBase *node, It it, It itEnd, PosCovCartesianMsg &msg) |
| Qi based parser for the SBF block "PosCovCartesian". More... | |
| template<typename It > | |
| bool | PosCovGeodeticParser (ROSaicNodeBase *node, It it, It itEnd, PosCovGeodeticMsg &msg) |
| Qi based parser for the SBF block "PosCovGeodetic". More... | |
| template<typename It > | |
| bool | PVTCartesianParser (ROSaicNodeBase *node, It it, It itEnd, PVTCartesianMsg &msg) |
| Qi based parser for the SBF block "PVTCartesian". More... | |
| template<typename It > | |
| bool | PVTGeodeticParser (ROSaicNodeBase *node, It it, It itEnd, PVTGeodeticMsg &msg) |
| Qi based parser for the SBF block "PVTGeodetic". More... | |
| template<typename It > | |
| bool | qiCharsToStringParser (It &it, std::string &val, std::size_t num) |
| Qi parser for char array to string. More... | |
| template<typename It , typename Val > | |
| bool | qiLittleEndianParser (It &it, Val &val) |
| Qi little endian parsers for numeric values. More... | |
| template<typename It > | |
| bool | QualityIndParser (ROSaicNodeBase *node, It it, It itEnd, QualityInd &msg) |
| Qi based parser for the SBF block "QualityInd". More... | |
| template<typename It > | |
| bool | ReceiverSetupParser (ROSaicNodeBase *node, It it, It itEnd, ReceiverSetup &msg) |
| Qi based parser for the SBF block "ReceiverSetup". More... | |
| template<typename It > | |
| bool | ReceiverStatusParser (ROSaicNodeBase *node, It it, It itEnd, ReceiverStatus &msg) |
| Struct for the SBF block "ReceiverStatus". More... | |
| template<typename It > | |
| bool | ReceiverTimeParser (ROSaicNodeBase *node, It it, It itEnd, ReceiverTimeMsg &msg) |
| Struct for the SBF block "ReceiverTime". More... | |
| template<typename It > | |
| bool | ReceiverTimesParser (ROSaicNodeBase *node, It it, It itEnd, ReceiverTimeMsg &msg) |
| Struct for the SBF block "ReceiverTime". More... | |
| template<typename T > | |
| void | setDoNotUse (T &s) |
| Sets scalar to Do-Not-Use value -2e10. More... | |
| template<typename T > | |
| bool | validValue (T s) |
| Check if value is not set to Do-Not-Use -2e10. More... | |
| template<typename It > | |
| void | VectorInfoCartParser (It &it, VectorInfoCartMsg &msg, uint8_t sb_length) |
| Qi based parser for the SBF sub-block "VectorInfoCart". More... | |
| template<typename It > | |
| void | VectorInfoGeodParser (It &it, VectorInfoGeodMsg &msg, uint8_t sb_length) |
| Qi based parser for the SBF sub-block "VectorInfoGeod". More... | |
| template<typename It > | |
| bool | VelCovCartesianParser (ROSaicNodeBase *node, It it, It itEnd, VelCovCartesianMsg &msg) |
| Qi based parser for the SBF block "VelCovCartesian". More... | |
| template<typename It > | |
| bool | VelCovGeodeticParser (ROSaicNodeBase *node, It it, It itEnd, VelCovGeodeticMsg &msg) |
| Qi based parser for the SBF block "VelCovGeodetic". More... | |
| template<typename It > | |
| bool | VelSensorSetupParser (ROSaicNodeBase *node, It it, It itEnd, VelSensorSetupMsg &msg, bool use_ros_axis_orientation) |
| Qi based parser for the SBF block "VelSensorSetup". More... | |
Variables | |
| static const std::array< uint16_t, 256 > | CRC_LOOK_UP |
| CRC look-up table for fast computation of the 16-bit CRC for SBF blocks. More... | |
| static const uint8_t | MAX_NB_INMARSATCHANNELS = 1 |
| Inmarsat is a British satellite telecommunications company. More... | |
| static const uint8_t | MAX_NR_OF_SIGNALS_PER_SATELLITE = 7 |
| Using maximum value of MAX_NR_OF_SIGNALS_PER_SATELLITE for SBF definitions. More... | |
| static const uint8_t | MAXSB_CHANNELSATINFO |
| Max number of bytes that ChannelSatInfo sub-block can consist of. More... | |
| static const uint16_t | MAXSB_CHANNELSTATEINFO |
| Max number of bytes that ChannelStateInfo sub-block can consist of. More... | |
| static const uint8_t | MAXSB_MEASEPOCH_T1 |
| Max number of bytes that MeasEpochChannelType1 sub-block can consist of. More... | |
| static const uint16_t | MAXSB_MEASEPOCH_T2 |
| Max number of bytes that MeasEpochChannelType2 sub-block can consist of. More... | |
| static const uint8_t | MAXSB_NBRANTENNA = 4 |
| Maximum number of antennas that mosaic etc. can handle. More... | |
| static const uint8_t | MAXSB_NBVECTORINFO = 30 |
| Max number of vector info sub-blocks. More... | |
| static const uint8_t | NR_OF_ANTENNAS = 3 |
| Using maximum value of NR_OF_ANTENNAS for SBF definitions. More... | |
| static const uint8_t | NR_OF_LOGICALCHANNELS = 80 |
| Using maximum value of NR_OF_LOGICALCHANNELS for SBF definitions. More... | |
| static const uint8_t | SBF_SYNC_BYTE_1 = 0x24 |
| 0x24 is ASCII for $ - 1st byte in each message More... | |
| static const uint8_t | SBF_SYNC_BYTE_2 = 0x40 |
| 0x40 is ASCII for @ - 2nd byte to indicate SBF block More... | |
Declares and defines structs into which SBF blocks are unpacked then shipped to handler functions.
Definition in file sbf_structs.hpp.
| void AgcStateParser | ( | It | it, |
| AgcState & | msg, | ||
| uint8_t | sb_length | ||
| ) |
Struct for the SBF sub-block "AGCState".
AgcStateParser
Definition at line 1349 of file sbf_structs.hpp.
| bool AttCovEulerParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| AttCovEulerMsg & | msg, | ||
| bool | use_ros_axis_orientation | ||
| ) |
Qi based parser for the SBF block "AttCovEuler".
AttCovEulerParser
Definition at line 867 of file sbf_structs.hpp.
| bool AttEulerParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| AttEulerMsg & | msg, | ||
| bool | use_ros_axis_orientation | ||
| ) |
Qi based parser for the SBF block "AttEuler".
AttEulerParser
Definition at line 822 of file sbf_structs.hpp.
| bool BaseVectorCartParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| BaseVectorCartMsg & | msg | ||
| ) |
Definition at line 931 of file sbf_structs.hpp.
| bool BaseVectorGeodParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| BaseVectorGeodMsg & | msg | ||
| ) |
Definition at line 993 of file sbf_structs.hpp.
| bool BlockHeaderParser | ( | ROSaicNodeBase * | node, |
| It & | it, | ||
| Hdr & | block_header | ||
| ) |
Qi based parser for the SBF block "BlockHeader" plus receiver time stamp.
BlockHeaderParser
Definition at line 372 of file sbf_structs.hpp.
| bool ChannelSatInfoParser | ( | ROSaicNodeBase * | node, |
| It & | it, | ||
| ChannelSatInfo & | msg, | ||
| uint8_t | sb1_length, | ||
| uint8_t | sb2_length | ||
| ) |
Qi based parser or the SBF sub-block "ChannelSatInfo".
ChannelSatInfoParser
Definition at line 417 of file sbf_structs.hpp.
| void ChannelStateInfoParser | ( | It & | it, |
| ChannelStateInfo & | msg, | ||
| uint8_t | sb2_length | ||
| ) |
Qi based parser for the SBF sub-block "ChannelStateInfo".
ChannelStateInfoParser
Definition at line 402 of file sbf_structs.hpp.
| bool ChannelStatusParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| ChannelStatus & | msg | ||
| ) |
Qi based parser for the SBF block "ChannelStatus".
ChannelStatusParser
Definition at line 449 of file sbf_structs.hpp.
| bool DOPParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| DOP & | msg | ||
| ) |
| bool ExtSensorMeasParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| ExtSensorMeasMsg & | msg, | ||
| bool | use_ros_axis_orientation, | ||
| bool & | hasImuMeas | ||
| ) |
Qi based parser for the SBF block "ExtSensorMeas".
ExtSensorMeasParser
Definition at line 1648 of file sbf_structs.hpp.
| bool IMUSetupParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| IMUSetupMsg & | msg, | ||
| bool | use_ros_axis_orientation | ||
| ) |
Qi based parser for the SBF block "IMUSetup".
IMUSetupParser
Definition at line 1576 of file sbf_structs.hpp.
| bool INSNavCartParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| INSNavCartMsg & | msg, | ||
| bool | use_ros_axis_orientation | ||
| ) |
Qi based parser for the SBF block "INSNavCart".
INSNavCartParser
Definition at line 1030 of file sbf_structs.hpp.
| bool INSNavGeodParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| INSNavGeodMsg & | msg, | ||
| bool | use_ros_axis_orientation | ||
| ) |
Qi based parser for the SBF block "INSNavGeod".
INSNavGeodParser
Definition at line 1437 of file sbf_structs.hpp.
| bool MeasEpochChannelType1Parser | ( | ROSaicNodeBase * | node, |
| It & | it, | ||
| MeasEpochChannelType1Msg & | msg, | ||
| uint8_t | sb1_length, | ||
| uint8_t | sb2_length | ||
| ) |
Definition at line 545 of file sbf_structs.hpp.
| void MeasEpochChannelType2Parser | ( | It & | it, |
| MeasEpochChannelType2Msg & | msg, | ||
| uint8_t | sb2_length | ||
| ) |
Qi based parser for the SBF sub-block "MeasEpochChannelType2".
MeasEpochChannelType2Parser
Definition at line 525 of file sbf_structs.hpp.
| bool MeasEpochParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| MeasEpochMsg & | msg | ||
| ) |
Definition at line 581 of file sbf_structs.hpp.
| bool PosCovCartesianParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| PosCovCartesianMsg & | msg | ||
| ) |
Qi based parser for the SBF block "PosCovCartesian".
PosCovCartesianParser
Definition at line 1168 of file sbf_structs.hpp.
| bool PosCovGeodeticParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| PosCovGeodeticMsg & | msg | ||
| ) |
Qi based parser for the SBF block "PosCovGeodetic".
PosCovGeodeticParser
Definition at line 1204 of file sbf_structs.hpp.
| bool PVTCartesianParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| PVTCartesianMsg & | msg | ||
| ) |
Qi based parser for the SBF block "PVTCartesian".
PVTCartesianParser
Definition at line 712 of file sbf_structs.hpp.
| bool PVTGeodeticParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| PVTGeodeticMsg & | msg | ||
| ) |
Qi based parser for the SBF block "PVTGeodetic".
PVTGeodeticParser
Definition at line 767 of file sbf_structs.hpp.
| bool qiCharsToStringParser | ( | It & | it, |
| std::string & | val, | ||
| std::size_t | num | ||
| ) |
Qi parser for char array to string.
qiCharsToStringParser
Definition at line 357 of file sbf_structs.hpp.
| bool qiLittleEndianParser | ( | It & | it, |
| Val & | val | ||
| ) |
Qi little endian parsers for numeric values.
qiLittleEndianParser
Definition at line 316 of file sbf_structs.hpp.
| bool QualityIndParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| QualityInd & | msg | ||
| ) |
Qi based parser for the SBF block "QualityInd".
QualityIndParser
Definition at line 1312 of file sbf_structs.hpp.
| bool ReceiverSetupParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| ReceiverSetup & | msg | ||
| ) |
Qi based parser for the SBF block "ReceiverSetup".
ReceiverSetupParser
Definition at line 624 of file sbf_structs.hpp.
| bool ReceiverStatusParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| ReceiverStatus & | msg | ||
| ) |
Struct for the SBF block "ReceiverStatus".
ReceiverStatusParser
Definition at line 1363 of file sbf_structs.hpp.
| bool ReceiverTimeParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| ReceiverTimeMsg & | msg | ||
| ) |
Struct for the SBF block "ReceiverTime".
ReceiverTimeParser
Definition at line 1406 of file sbf_structs.hpp.
| bool ReceiverTimesParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| ReceiverTimeMsg & | msg | ||
| ) |
Struct for the SBF block "ReceiverTime".
ReceiverTimeParser
Definition at line 681 of file sbf_structs.hpp.
| void setDoNotUse | ( | T & | s | ) |
| bool validValue | ( | T | s | ) |
Check if value is not set to Do-Not-Use -2e10.
validValue
Definition at line 274 of file sbf_structs.hpp.
| void VectorInfoCartParser | ( | It & | it, |
| VectorInfoCartMsg & | msg, | ||
| uint8_t | sb_length | ||
| ) |
Qi based parser for the SBF sub-block "VectorInfoCart".
VectorInfoCartParser
Definition at line 906 of file sbf_structs.hpp.
| void VectorInfoGeodParser | ( | It & | it, |
| VectorInfoGeodMsg & | msg, | ||
| uint8_t | sb_length | ||
| ) |
Qi based parser for the SBF sub-block "VectorInfoGeod".
VectorInfoGeodParser
Definition at line 968 of file sbf_structs.hpp.
| bool VelCovCartesianParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| VelCovCartesianMsg & | msg | ||
| ) |
Qi based parser for the SBF block "VelCovCartesian".
VelCovCartesianParser
Definition at line 1240 of file sbf_structs.hpp.
| bool VelCovGeodeticParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| VelCovGeodeticMsg & | msg | ||
| ) |
Qi based parser for the SBF block "VelCovGeodetic".
VelCovGeodeticParser
Definition at line 1276 of file sbf_structs.hpp.
| bool VelSensorSetupParser | ( | ROSaicNodeBase * | node, |
| It | it, | ||
| It | itEnd, | ||
| VelSensorSetupMsg & | msg, | ||
| bool | use_ros_axis_orientation | ||
| ) |
Qi based parser for the SBF block "VelSensorSetup".
VelSensorSetupParser
Definition at line 1614 of file sbf_structs.hpp.
|
static |
CRC look-up table for fast computation of the 16-bit CRC for SBF blocks.
Provided by Septenrio (c) 2020 Septentrio N.V./S.A., Belgium.
Definition at line 239 of file sbf_structs.hpp.
|
static |
Inmarsat is a British satellite telecommunications company.
Definition at line 38 of file sbf_structs.hpp.
|
static |
Using maximum value of MAX_NR_OF_SIGNALS_PER_SATELLITE for SBF definitions.
Definition at line 40 of file sbf_structs.hpp.
|
static |
Max number of bytes that ChannelSatInfo sub-block can consist of.
Definition at line 46 of file sbf_structs.hpp.
|
static |
Max number of bytes that ChannelStateInfo sub-block can consist of.
Definition at line 49 of file sbf_structs.hpp.
|
static |
Max number of bytes that MeasEpochChannelType1 sub-block can consist of.
Definition at line 52 of file sbf_structs.hpp.
|
static |
Max number of bytes that MeasEpochChannelType2 sub-block can consist of.
Definition at line 55 of file sbf_structs.hpp.
|
static |
Maximum number of antennas that mosaic etc. can handle.
Definition at line 44 of file sbf_structs.hpp.
|
static |
Max number of vector info sub-blocks.
Definition at line 59 of file sbf_structs.hpp.
|
static |
Using maximum value of NR_OF_ANTENNAS for SBF definitions.
Definition at line 42 of file sbf_structs.hpp.
|
static |
Using maximum value of NR_OF_LOGICALCHANNELS for SBF definitions.
Definition at line 36 of file sbf_structs.hpp.
|
static |
0x24 is ASCII for $ - 1st byte in each message
Definition at line 62 of file sbf_structs.hpp.
|
static |
0x40 is ASCII for @ - 2nd byte to indicate SBF block
Definition at line 64 of file sbf_structs.hpp.