Fixposition SDK 0.0.0-heads/main-0-g90a51ff
Collection of c++ libraries and apps for use with Fixposition products
|
Parser NOV_B routines and types. More...
Classes | |
struct | NovbBestgnsspos |
NOV_B-BESTGNSSPOS payload. More... | |
struct | NovbBestvel |
NOV_B-BESTVEL payload. More... | |
struct | NovbHeader |
Union of NOV_B long and short header. More... | |
struct | NovbHeading2 |
NOV_B-HEADING2 payload. More... | |
struct | NovbInspvax |
NOV_B-INSPVAX payload. More... | |
struct | NovbLongHeader |
NOV_B frame long header. More... | |
struct | NovbRawdmi |
NOV_B-RAWDMI payload. More... | |
struct | NovbRawimu |
NOV_B-RAWIMU payload. More... | |
struct | NovbShortHeader |
NOV_B frame short header. More... | |
Enumerations | |
enum class | NovbMsgTypeSource : uint8_t { PRIMARY = 0b00000000 , SECONDARY = 0b00000001 , _MASK = 0b00011111 } |
Message type measurement source (bits 4..0 of NovbLongHeader.message_type) More... | |
enum class | NovbMsgTypeFormat : uint8_t { BINARY = 0b00000000 , ASCII = 0b00100000 , AASCII_NMEA = 0b01000000 , RESERVED = 0b01100000 , _MASK = 0b01100000 } |
Message type format (bits 6..5 of NovbLongHeader.message_type) More... | |
enum class | NovbMsgTypeResp : uint8_t { ORIGINAL = 0b00000000 , RESPONSE = 0b10000000 , _MASK = 0b10000000 } |
Message type format (bit 7 of NovbLongHeader.message_type) More... | |
enum class | NovbTimeStatus : uint8_t { UNKNOWN = 20 , APPROXIMATE = 60 , COARSEADJUSTING = 80 , COARSE = 100 , COARSESTEERING = 120 , FREEWHEELING = 130 , FINEADJUSTING = 140 , FINE = 160 , FINEBACKUPSTEERING = 170 , FINESTEERING = 180 , SATTIME = 200 } |
Message time status (NovbLongHeader.time_status) More... | |
enum class | NovbPortAddr : uint8_t { NO_PORTS = 0x00 , ALL_PORTS = 0x80 , THISPORT = 0xc0 } |
Message port address (NovbLongHeader.port_address) More... | |
enum class | NovbGnssSolStat : uint32_t { SOL_COMPUTED = 0 , INSUFFICIENT_OBS = 1 , NO_CONVERGENCE = 2 , SINGULARITY = 3 , COV_TRACE = 4 , TEST_DIST = 5 , COLD_START = 6 , V_H_LIMIT = 7 , VARIANCE = 8 , RESIDUALS = 9 } |
Solution status. More... | |
enum class | NovbGnssSolExtStat : uint8_t { SOL_VERIFIED = 0b00000001 } |
Extended solution status (bits) More... | |
enum class | NovbSolSource : uint8_t { PRIMARY = 0b00000100 , SECONDARY = 0b00001000 , _MASK = 0b00001100 } |
Solution source (bits) More... | |
enum class | NovbDatumId : uint32_t { WGS84 = 61 , USER = 63 } |
Datum ID. More... | |
enum class | NovbPosOrVelType : uint32_t { NONE = 0 , FIXEDPOS = 1 , FIXEDHEIGHT = 2 , DOPPLER_VELOCITY = 8 , SINGLE = 16 , PSRDIFF = 17 , WAAS = 18 , PROPAGATED = 19 , L1_FLOAT = 32 , NARROW_FLOAT = 34 , L1_INT = 48 , WIDE_INT = 49 , NARROW_INT = 50 , RTK_DIRECT_INS = 51 , INS_SBAS = 52 , INS_PSRSP = 53 , INS_PSRDIFF = 54 , INS_RTKFLOAT = 55 , INS_RTKFIXED = 56 , PPP_CONVERGING = 68 , PPP = 69 , OPERATIONAL = 70 , WARNING = 71 , OUT_OF_BOUNDS = 72 , INS_PPP_CONVERGING = 73 , INS_PPP = 74 , PPP_BASIC_CONVERGING = 77 , PPP_BASIC = 78 , INS_PPP_BASIC_CONVERGING = 79 , INS_PPP_BASIC = 80 } |
Position or velocity type. More... | |
enum class | NovbSigUsedGpsGlo : uint8_t { GPS_L1 = 0x01 , GPS_L2 = 0x02 , GPS_L5 = 0x04 , GLONASS_L1 = 0x10 , GLONASS_L2 = 0x20 , GLONASS_L5 = 0x40 } |
GPS and GLONASS signals used (bits) More... | |
enum class | NovbSigUsedGalBds : uint8_t { GALILEO_L1 = 0x01 , GALILEO_L2 = 0x02 , GALILEO_L5 = 0x04 , GALILEO_ALTBOC = 0x08 , BEIDOU_L1 = 0x10 , BEIDOU_L2 = 0x20 , BEIDOU_L5 = 0x40 , GALILEO_E6 = 0x80 } |
Gelileo and BeiDou signals used (bits) More... | |
enum class | NovbInsSolStatus : uint32_t { INS_INACTIVE = 0 , INS_ALIGNING = 1 , INS_HIGH_VARIANCE = 2 , INS_SOLUTION_GOOD = 3 , INS_SOLUTION_FREE = 6 , INS_ALIGNMENT_COMPLETE = 7 , DETERMINING_ORIENTATION = 8 , WAITING_INITIAL_POS = 9 , WAITING_AZIMUTH = 10 , INITIALIZING_BIASES = 11 , MOTION_DETECT = 12 , WAITING_ALIGNMENTORIENTATION = 14 } |
Intertial solution status. More... | |
enum class | NovbInsSolExtStatus : uint32_t { POSITION_UPDATE = 0x00000001 , PHASE_UPDATE = 0x00000002 , ZERO_VELOCITY_UPDATE = 0x00000004 , WHEEL_SENSOR_UPDATE = 0x00000008 , HEADING_UPDATE = 0x00000010 , EXTERNAL_POSITION_UPDATE = 0x00000020 , INS_SOLUTION_CONVERGENCE = 0x00000040 , DOPPLER_UPDATE = 0x00000080 , PSEUDORANGE_UPDATE = 0x00000100 , VELOCITY_UPDATE = 0x00000200 , DR_UPDATE = 0x00000800 , PHASE_WINDUP_UPDATE = 0x00001000 , COURSE_OVER_GROUND_UPDATE = 0x00002000 , EXTERNAL_VELOCITY_UPDATE = 0x00004000 , EXTERNAL_ATTITUDE_UPDATE = 0x00008000 , EXTERNAL_HEADING_UPDATE = 0x00010000 , EXTERNAL_HEIGHT_UPDATE = 0x00020000 , SECONDARY_INS_USED = 0x00400000 , TURN_ON_BIAS_ESTIMATED = 0x01000000 , ALIGNMENT_DIRECTION_VERIFIED = 0x02000000 , ALIGNMENT_INDICATION_1 = 0x04000000 , ALIGNMENT_INDICATION_2 = 0x08000000 , ALIGNMENT_INDICATION_3 = 0x10000000 , NVM_SEED_INDICATION_1 = 0x20000000 , NVM_SEED_INDICATION_2 = 0x40000000 , NVM_SEED_INDICATION_3 = 0x80000000 } |
Extended intertial solution status (bits) More... | |
Functions | |
constexpr uint16_t | NovbMsgId (const uint8_t *msg) |
Get message ID. | |
constexpr bool | NovbIsLongHeader (const uint8_t *msg) |
Check if message has the long header. | |
constexpr bool | NovbIsShortHeader (const uint8_t *msg) |
Check if message has the short header. | |
bool | NovbGetMessageName (char *name, const std::size_t size, const uint8_t *msg, const std::size_t msg_size) |
Get NOV_B message name. | |
bool | NovbGetMessageInfo (char *info, const std::size_t size, const uint8_t *msg, const std::size_t msg_size) |
Get NOV_B message info. | |
const char * | NovbMsgTypeSourceStr (const uint8_t message_type) |
Stringify message type measurement source. | |
const char * | NovbTimeStatusStr (const NovbTimeStatus time_status) |
Stringify time status. | |
Variables | |
static constexpr uint8_t | NOV_B_SYNC_1 = 0xaa |
Sync char 1. | |
static constexpr uint8_t | NOV_B_SYNC_2 = 0x44 |
Sync char 2. | |
static constexpr uint8_t | NOV_B_SYNC_3_LONG = 0x12 |
Sync char 3 (long header) | |
static constexpr uint8_t | NOV_B_SYNC_3_SHORT = 0x13 |
Sync char 3 (short header) | |
static constexpr std::size_t | NOV_B_HEAD_SIZE_LONG = 28 |
Size of the NOV_B long header (NovbLongHeader) | |
static constexpr std::size_t | NOV_B_HEAD_SIZE_SHORT = 12 |
Size of the NOV_B short header (NovbShortHeader) | |
NOV_B messages (names and IDs) | |
static constexpr uint16_t | NOV_B_BESTGNSSPOS_MSGID = 1429 |
NOV_B-BESTGNSSPOS message ID. | |
static constexpr const char * | NOV_B_BESTGNSSPOS_STRID = "NOV_B-BESTGNSSPOS" |
NOV_B-BESTGNSSPOS message name. | |
static constexpr uint16_t | NOV_B_BESTPOS_MSGID = 42 |
NOV_B-BESTPOS message ID. | |
static constexpr const char * | NOV_B_BESTPOS_STRID = "NOV_B-BESTPOS" |
NOV_B-BESTPOS message name. | |
static constexpr uint16_t | NOV_B_BESTUTM_MSGID = 726 |
NOV_B-BESTUTM message ID. | |
static constexpr const char * | NOV_B_BESTUTM_STRID = "NOV_B-BESTUTM" |
NOV_B-BESTUTM message name. | |
static constexpr uint16_t | NOV_B_BESTVEL_MSGID = 99 |
NOV_B-BESTVEL message ID. | |
static constexpr const char * | NOV_B_BESTVEL_STRID = "NOV_B-BESTVEL" |
NOV_B-BESTVEL message name. | |
static constexpr uint16_t | NOV_B_BESTXYZ_MSGID = 241 |
NOV_B-BESTXYZ message ID. | |
static constexpr const char * | NOV_B_BESTXYZ_STRID = "NOV_B-BESTXYZ" |
NOV_B-BESTXYZ message name. | |
static constexpr uint16_t | NOV_B_CORRIMUS_MSGID = 2264 |
NOV_B-CORRIMUS message ID. | |
static constexpr const char * | NOV_B_CORRIMUS_STRID = "NOV_B-CORRIMUS" |
NOV_B-CORRIMUS message name. | |
static constexpr uint16_t | NOV_B_HEADING2_MSGID = 1335 |
NOV_B-HEADING2 message ID. | |
static constexpr const char * | NOV_B_HEADING2_STRID = "NOV_B-HEADING2" |
NOV_B-HEADING2 message name. | |
static constexpr uint16_t | NOV_B_IMURATECORRIMUS_MSGID = 1362 |
NOV_B-IMURATECORRIMUS message ID. | |
static constexpr const char * | NOV_B_IMURATECORRIMUS_STRID = "NOV_B-IMURATECORRIMUS" |
NOV_B-IMURATECORRIMUS message name. | |
static constexpr uint16_t | NOV_B_INSCONFIG_MSGID = 1945 |
NOV_B-INSCONFIG message ID. | |
static constexpr const char * | NOV_B_INSCONFIG_STRID = "NOV_B-INSCONFIG" |
NOV_B-INSCONFIG message name. | |
static constexpr uint16_t | NOV_B_INSPVA_MSGID = 507 |
NOV_B-INSPVA message ID. | |
static constexpr const char * | NOV_B_INSPVA_STRID = "NOV_B-INSPVA" |
NOV_B-INSPVA message name. | |
static constexpr uint16_t | NOV_B_INSPVAS_MSGID = 508 |
NOV_B-INSPVAS message ID. | |
static constexpr const char * | NOV_B_INSPVAS_STRID = "NOV_B-INSPVAS" |
NOV_B-INSPVAS message name. | |
static constexpr uint16_t | NOV_B_INSPVAX_MSGID = 1465 |
NOV_B-INSPVAX message ID. | |
static constexpr const char * | NOV_B_INSPVAX_STRID = "NOV_B-INSPVAX" |
NOV_B-INSPVAX message name. | |
static constexpr uint16_t | NOV_B_INSSTDEV_MSGID = 2051 |
NOV_B-INSSTDEV message ID. | |
static constexpr const char * | NOV_B_INSSTDEV_STRID = "NOV_B-INSSTDEV" |
NOV_B-INSSTDEV message name. | |
static constexpr uint16_t | NOV_B_PSRDOP2_MSGID = 1163 |
NOV_B-PSRDOP2 message ID. | |
static constexpr const char * | NOV_B_PSRDOP2_STRID = "NOV_B-PSRDOP2" |
NOV_B-PSRDOP2 message name. | |
static constexpr uint16_t | NOV_B_RAWDMI_MSGID = 2269 |
NOV_B-RAWDMI message ID. | |
static constexpr const char * | NOV_B_RAWDMI_STRID = "NOV_B-RAWDMI" |
NOV_B-RAWDMI message name. | |
static constexpr uint16_t | NOV_B_RAWIMU_MSGID = 268 |
NOV_B-RAWIMU message ID. | |
static constexpr const char * | NOV_B_RAWIMU_STRID = "NOV_B-RAWIMU" |
NOV_B-RAWIMU message name. | |
static constexpr uint16_t | NOV_B_RAWIMUSX_MSGID = 1462 |
NOV_B-RAWIMUSX message ID. | |
static constexpr const char * | NOV_B_RAWIMUSX_STRID = "NOV_B-RAWIMUSX" |
NOV_B-RAWIMUSX message name. | |
static constexpr uint16_t | NOV_B_RXSTATUS_MSGID = 93 |
NOV_B-RXSTATUS message ID. | |
static constexpr const char * | NOV_B_RXSTATUS_STRID = "NOV_B-RXSTATUS" |
NOV_B-RXSTATUS message name. | |
static constexpr uint16_t | NOV_B_TIME_MSGID = 101 |
NOV_B-TIME message ID. | |
static constexpr const char * | NOV_B_TIME_STRID = "NOV_B-TIME" |
NOV_B-TIME message name. | |
Parser NOV_B routines and types.
|
strong |
Message type measurement source (bits 4..0 of NovbLongHeader.message_type)
Enumerator | |
---|---|
PRIMARY | Primary antenna. |
SECONDARY | Secondary antenna. |
_MASK | Mask for the source part of the NovbLongHeader.message_type field. |
|
strong |
Message type format (bits 6..5 of NovbLongHeader.message_type)
Enumerator | |
---|---|
BINARY | Binary. |
ASCII | ASCII. |
AASCII_NMEA | Abbreviated ASCII, NMEA. |
RESERVED | Reserved. |
_MASK | Mask for the format part of the NovbLongHeader.message_type field. |
|
strong |
Message type format (bit 7 of NovbLongHeader.message_type)
Enumerator | |
---|---|
ORIGINAL | Primary GNSS receiver. |
RESPONSE | Secondary GNSS receiver. |
_MASK | Mask for the response part of the NovbLongHeader.message_type field. |
|
strong |
Message time status (NovbLongHeader.time_status)
|
strong |
Message port address (NovbLongHeader.port_address)
See https://docs.novatel.com/OEM7/Content/Messages/Binary.htm#Table_DetailedPortIdentifier
Enumerator | |
---|---|
NO_PORTS | No ports specified. |
ALL_PORTS | All virtual ports for all ports. |
THISPORT | Current COM port. |
|
strong |
Solution status.
See https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#SolutionStatus
|
strong |
Extended solution status (bits)
See https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#ExtendedSolutionStatus
Enumerator | |
---|---|
SOL_VERIFIED | Solution verified. |
|
strong |
Solution source (bits)
See https://docs.novatel.com/OEM7/Content/Logs/HEADING2.htm#SolutionSource
Enumerator | |
---|---|
PRIMARY | Primary antenna. |
SECONDARY | Secondary antenna. |
_MASK | Mask. |
|
strong |
|
strong |
Position or velocity type.
See https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#Position_VelocityType
|
strong |
GPS and GLONASS signals used (bits)
See https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#GPS_GLONASSSignalUsedMask
|
strong |
Gelileo and BeiDou signals used (bits)
See https://docs.novatel.com/OEM7/Content/Logs/BESTPOS.htm#Galileo_BeiDouSignalUsedMask
|
strong |
Intertial solution status.
See https://docs.novatel.com/OEM7/Content/SPAN_Logs/INSATT.htm#InertialSolutionStatus
|
strong |
Extended intertial solution status (bits)
See https://docs.novatel.com/OEM7/Content/SPAN_Logs/INSATTX.htm#ExtendedSolutionStatus
|
constexpr |
|
constexpr |
Check if message has the long header.
[in] | msg | Pointer to the start of the message |
Definition at line 83 of file novb.hpp.
References NOV_B_SYNC_3_LONG.
|
constexpr |
Check if message has the short header.
[in] | msg | Pointer to the start of the message |
Definition at line 97 of file novb.hpp.
References NOV_B_SYNC_3_SHORT.
bool fpsdk::common::parser::novb::NovbGetMessageName | ( | char * | name, |
const std::size_t | size, | ||
const uint8_t * | msg, | ||
const std::size_t | msg_size ) |
Get NOV_B message name.
Generates a name (string) in the form "NOV_B-NAME", where NAME is a suitable stringifications of the message ID if known (for example, "NOV_B-BESTGNSSPOS", respectively "%05u" formatted message ID if unknown (for example, "NOV_B-MSG01234").
[out] | name | String to write the name to |
[in] | size | Size of name (incl. nul termination) |
[in] | msg | Pointer to the NOV_B message |
[in] | msg_size | Size of the msg |
name
buffer was too small bool fpsdk::common::parser::novb::NovbGetMessageInfo | ( | char * | info, |
const std::size_t | size, | ||
const uint8_t * | msg, | ||
const std::size_t | msg_size ) |
Get NOV_B message info.
This stringifies the content of some NOV_B messages, for debugging.
[out] | info | String to write the info to |
[in] | size | Size of name (incl. nul termination) |
[in] | msg | Pointer to the NOV_B message |
[in] | msg_size | Size of the msg |
name
buffer was too small const char * fpsdk::common::parser::novb::NovbMsgTypeSourceStr | ( | const uint8_t | message_type | ) |
Stringify message type measurement source.
[in] | message_type | Message type |
const char * fpsdk::common::parser::novb::NovbTimeStatusStr | ( | const NovbTimeStatus | time_status | ) |
Stringify time status.
[in] | time_status | The time status |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
Sync char 3 (short header)
Definition at line 56 of file novb.hpp.
Referenced by NovbIsShortHeader().
|
staticconstexpr |
Size of the NOV_B long header (NovbLongHeader)
|
staticconstexpr |
Size of the NOV_B short header (NovbShortHeader)
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |