QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
UBXConfigKeys.h File Reference
#include <array>
#include <cstddef>
#include <cstdint>
#include <optional>
#include <span>
#include <type_traits>
#include "LittleEndian.h"
+ Include dependency graph for UBXConfigKeys.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UBX::CfgKey< T >
 A configuration key whose value is written and read as T. More...
 
struct  UBX::MsgOutKey
 A CFG-MSGOUT output rate key family, named by its I2C key. More...
 
struct  UBX::ConfigurationValue
 
class  UBX::ConfigurationValueCursor
 Reads only key/value entries; VALSET and VALGET validate their different headers separately. More...
 
struct  UBX::ConfigurationValues
 The values of one CFG-VALGET poll or response. More...
 
struct  UBX::CheckedValsetBatch< Capacity >
 

Namespaces

namespace  UBX
 u-blox receivers over UBX: CFG-VALSET configuration from protocol 27, CFG-MSG and CFG-TMODE3 before it.
 
namespace  UBX::Cfg
 

Enumerations

enum class  UBX::MsgOutPort : uint32_t { UBX::UART1 = 1 , UBX::USB = 3 }
 A port's CFG-MSGOUT key is the family's I2C key id plus the port's offset. More...
 

Functions

constexpr size_t UBX::cfgKeyValueBytes (uint32_t keyId)
 Value size in bytes from bits 28-30 of a configuration key id, or 0 for a reserved size.
 
template<typename T , uint32_t Id>
consteval CfgKey< T > UBX::cfgKey ()
 Builds every key below, so each one checks its value type against the size bits of its id.
 
constexpr unsigned UBX::configurationValueBytes (uint32_t key)
 Value width in bytes of key; 0 for reserved sizes and for 8-byte values, which QGC never reads or writes.
 
std::optional< ConfigurationValues > UBX::decodeConfigurationValues (std::span< const uint8_t > payload)
 Decodes a CFG-VALGET response (version 1, RAM layer) of at most ConfigurationValues::MAX_KEYS values.
 

Variables

constexpr auto UBX::Cfg::ITFM_ENABLE = cfgKey<uint8_t, 0x1041000d>()
 
constexpr auto UBX::Cfg::NAVHPG_DGNSSMODE = cfgKey<uint8_t, 0x20140011>()
 
constexpr auto UBX::Cfg::NAVSPG_DYNMODEL = cfgKey<uint8_t, 0x20110021>()
 
constexpr auto UBX::Cfg::NAVSPG_FIXMODE = cfgKey<uint8_t, 0x20110011>()
 
constexpr auto UBX::Cfg::NAVSPG_UTCSTANDARD = cfgKey<uint8_t, 0x2011001c>()
 
constexpr auto UBX::Cfg::ODO_OUTLPCOG = cfgKey<uint8_t, 0x10220004>()
 
constexpr auto UBX::Cfg::ODO_OUTLPVEL = cfgKey<uint8_t, 0x10220003>()
 
constexpr auto UBX::Cfg::ODO_USE_COG = cfgKey<uint8_t, 0x10220002>()
 
constexpr auto UBX::Cfg::ODO_USE_ODO = cfgKey<uint8_t, 0x10220001>()
 
constexpr auto UBX::Cfg::RATE_MEAS = cfgKey<uint16_t, 0x30210001>()
 
constexpr auto UBX::Cfg::RATE_NAV = cfgKey<uint16_t, 0x30210002>()
 
constexpr auto UBX::Cfg::RATE_TIMEREF = cfgKey<uint8_t, 0x20210003>()
 
constexpr auto UBX::Cfg::SEC_JAMDET_SENSITIVITY_HI = cfgKey<uint8_t, 0x10f60051>()
 
constexpr auto UBX::Cfg::SIGNAL_HEALTH_L5 = cfgKey<uint8_t, 0x10320001>()
 
constexpr auto UBX::Cfg::TMODE_FIXED_POS_ACC = cfgKey<uint32_t, 0x4003000f>()
 
constexpr auto UBX::Cfg::TMODE_HEIGHT = cfgKey<int32_t, 0x4003000b>()
 
constexpr auto UBX::Cfg::TMODE_HEIGHT_HP = cfgKey<int8_t, 0x2003000e>()
 
constexpr auto UBX::Cfg::TMODE_LAT = cfgKey<int32_t, 0x40030009>()
 
constexpr auto UBX::Cfg::TMODE_LAT_HP = cfgKey<int8_t, 0x2003000c>()
 
constexpr auto UBX::Cfg::TMODE_LON = cfgKey<int32_t, 0x4003000a>()
 
constexpr auto UBX::Cfg::TMODE_LON_HP = cfgKey<int8_t, 0x2003000d>()
 
constexpr auto UBX::Cfg::TMODE_MODE = cfgKey<uint8_t, 0x20030001>()
 
constexpr auto UBX::Cfg::TMODE_POS_TYPE = cfgKey<uint8_t, 0x20030002>()
 
constexpr auto UBX::Cfg::TMODE_SVIN_ACC_LIMIT = cfgKey<uint32_t, 0x40030011>()
 
constexpr auto UBX::Cfg::TMODE_SVIN_MIN_DUR = cfgKey<uint32_t, 0x40030010>()
 
constexpr auto UBX::Cfg::UART1INPROT_NMEA = cfgKey<uint8_t, 0x10730002>()
 
constexpr auto UBX::Cfg::UART1INPROT_RTCM3X = cfgKey<uint8_t, 0x10730004>()
 
constexpr auto UBX::Cfg::UART1INPROT_SPARTN = cfgKey<uint8_t, 0x10730005>()
 
constexpr auto UBX::Cfg::UART1INPROT_UBX = cfgKey<uint8_t, 0x10730001>()
 
constexpr auto UBX::Cfg::UART1OUTPROT_NMEA = cfgKey<uint8_t, 0x10740002>()
 
constexpr auto UBX::Cfg::UART1OUTPROT_RTCM3X = cfgKey<uint8_t, 0x10740004>()
 
constexpr auto UBX::Cfg::UART1OUTPROT_UBX = cfgKey<uint8_t, 0x10740001>()
 
constexpr auto UBX::Cfg::UART1_BAUDRATE = cfgKey<uint32_t, 0x40520001>()
 
constexpr auto UBX::Cfg::UART1_DATABITS = cfgKey<uint8_t, 0x20520003>()
 
constexpr auto UBX::Cfg::UART1_PARITY = cfgKey<uint8_t, 0x20520004>()
 
constexpr auto UBX::Cfg::UART1_STOPBITS = cfgKey<uint8_t, 0x20520002>()
 
constexpr auto UBX::Cfg::USBINPROT_NMEA = cfgKey<uint8_t, 0x10770002>()
 
constexpr auto UBX::Cfg::USBINPROT_RTCM3X = cfgKey<uint8_t, 0x10770004>()
 
constexpr auto UBX::Cfg::USBINPROT_SPARTN = cfgKey<uint8_t, 0x10770005>()
 
constexpr auto UBX::Cfg::USBINPROT_UBX = cfgKey<uint8_t, 0x10770001>()
 
constexpr auto UBX::Cfg::USBOUTPROT_NMEA = cfgKey<uint8_t, 0x10780002>()
 
constexpr auto UBX::Cfg::USBOUTPROT_RTCM3X = cfgKey<uint8_t, 0x10780004>()
 
constexpr auto UBX::Cfg::USBOUTPROT_UBX = cfgKey<uint8_t, 0x10780001>()
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1005 {cfgKey<uint8_t, 0x209102bd>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1074 {cfgKey<uint8_t, 0x2091035e>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1077 {cfgKey<uint8_t, 0x209102cc>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1084 {cfgKey<uint8_t, 0x20910363>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1087 {cfgKey<uint8_t, 0x209102d1>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1094 {cfgKey<uint8_t, 0x20910368>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1097 {cfgKey<uint8_t, 0x20910318>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1124 {cfgKey<uint8_t, 0x2091036d>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1127 {cfgKey<uint8_t, 0x209102d6>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_RTCM_3X_TYPE1230 {cfgKey<uint8_t, 0x20910303>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_MON_RF {cfgKey<uint8_t, 0x20910359>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_DOP {cfgKey<uint8_t, 0x20910038>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_EOE {cfgKey<uint8_t, 0x2091015f>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_HPPOSLLH {cfgKey<uint8_t, 0x20910033>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_PVT {cfgKey<uint8_t, 0x20910006>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_RELPOSNED {cfgKey<uint8_t, 0x2091008d>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_SAT {cfgKey<uint8_t, 0x20910015>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_STATUS {cfgKey<uint8_t, 0x2091001a>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_SVIN {cfgKey<uint8_t, 0x20910088>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_NAV_TIMEGPS {cfgKey<uint8_t, 0x20910047>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_RXM_RAWX {cfgKey<uint8_t, 0x209102a4>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_RXM_SFRBX {cfgKey<uint8_t, 0x20910231>()}
 
constexpr MsgOutKey UBX::Cfg::MSGOUT_UBX_SEC_SIG {cfgKey<uint8_t, 0x20910634>()}