|
QGroundControl
Ground Control Station for MAVLink Drones
|
Classes | |
| struct | MessageRate |
| CFG-MSG output rate of one message, as a divisor of the measurement rate. More... | |
| struct | RTCMOutput |
| struct | UnexpectedOutput |
| Messages a protocol 27+ receiver can send unasked and their CFG-MSGOUT keys, which a message ID does not imply. More... | |
| struct | ValsetBatch |
| struct | ValsetItem |
Enumerations | |
| enum class | NakPolicy : uint8_t { Fail , Tolerate , Warn , WriteOnly } |
| What a batch that is rejected, unanswered or not written means for configuration. More... | |
| enum class | RTCMContent : uint8_t { StationPosition , Observations , Optional } |
Functions | |
| ValsetBatch | uart1Protocols () |
| Protocol 27+ port setup at the detected baud rate: UBX only on UART1, 8N1. | |
| ValsetBatch | uart1Baudrate (uint32_t baudrate) |
| std::vector< ValsetBatch > | portsAndNavigation (const ReceiverProfile &profile) |
| Protocol 27+ configuration before jamming detection: ports, navigation, odometer and RTK. | |
| ValsetBatch | jammingDetection () |
| Probes CFG-SEC-JAMDET, which F9 HPG 1.50+, F9 L1L5 and X20 have instead of CFG-ITFM. | |
| ValsetBatch | interferenceMonitor () |
| Enables the interference monitor of firmware without CFG-SEC-JAMDET. | |
| std::vector< ValsetBatch > | messageOutput (const ReceiverProfile &profile) |
| Protocol 27+ configuration after jamming detection: message output and receiver-specific extras. | |
| ValsetBatch | disableRTCMOutput () |
| Stops RTCM output, including observations a previous session left in the other MSM format. | |
| ValsetBatch | disableTimeMode () |
| ValsetBatch | surveyIn (const GPSBaseStationConfig::SurveyIn &survey) |
| ValsetBatch | fixedBase (const GPSBaseStationConfig::Fixed &fixed) |
| ValsetBatch | rtcmOutput (bool compactObservations) |
| Base output at 1 Hz: station position, observations in the selected MSM format and GLONASS biases. | |
| ValsetBatch | disableMessage (MsgOutKey key) |
| Disables unexpected output; the reply is not awaited. | |
| std::array< uint8_t, 2 *WIRE_SIZE< CfgPrt > > | legacyPorts (uint32_t baudrate) |
| std::array< MessageRate, 5 > | legacyMessageOutput () |
| NAV-PVT, status, satellite and MON-HW (antenna and jamming) rates during the survey. | |
| std::array< MessageRate, 10 > | legacyDisableRTCMOutput () |
| Written without waiting for acknowledgements. | |
| std::array< MessageRate, 2 > | legacyBaseStatus () |
| Survey status and satellite rates for the 1 Hz base; rejections are ignored. | |
| std::array< RTCMOutput, 6 > | legacyRTCMOutput (bool compactObservations) |
| CfgTmode3 | legacySurveyIn (const GPSBaseStationConfig::SurveyIn &survey) |
| CfgTmode3 | legacyFixedBase (const GPSBaseStationConfig::Fixed &fixed) |
Variables | |
| constexpr std::chrono::milliseconds | CONFIG_TIMEOUT {250} |
| Acknowledgement timeout of one configuration command. | |
| constexpr std::chrono::milliseconds | LEGACY_REPLY_TIMEOUT {1000} |
| The u-blox 8 protocol has CFG commands acknowledged within one second. | |
| constexpr std::chrono::milliseconds | IDENTITY_TIMEOUT {2000} |
| Slow factory NMEA output can delay a MON-VER response by over a second. | |
| constexpr std::chrono::milliseconds | PORT_TIMEOUT {2000} |
| constexpr std::chrono::milliseconds | BAUD_PROBE_DRAIN {20} |
| Traffic the baud probe drains before polling MON-VER. | |
| constexpr std::chrono::milliseconds | SURVEY_STOP_TIMEOUT {3000} |
| constexpr std::chrono::milliseconds | SURVEY_STOP_POLL {100} |
| constexpr std::chrono::microseconds | DISABLE_MESSAGE_INTERVAL = std::chrono::seconds(1) |
| An unwanted message is disabled at most this often; some cannot be disabled. | |
| constexpr std::array | BAUD_RATES {38400u, 57600u, 9600u, 115200u, 230400u, 460800u, 921600u} |
| Probing order of the automatic baud detection. | |
| constexpr unsigned | BASE_BAUD = 115200 |
| The link rate a base is moved to when no rate is selected. | |
| constexpr size_t | VALSET_CAPACITY = 256 |
| Bounds a CFG-VALSET independently of received message sizes. | |
| constexpr uint8_t | NO_OUTPUT = 0 |
| constexpr uint8_t | STATIONARY_DYNAMIC_MODEL = 2 |
| Base stations always use the stationary navigation model. | |
| constexpr uint8_t | SURVEY_SATELLITE_RATE = 10 |
| NAV-SAT every tenth survey epoch. | |
| constexpr uint8_t | BASE_SATELLITE_INFO_RATE = 2 |
| constexpr uint8_t | SURVEY_STATUS_RATE = 5 |
| constexpr uint16_t | BASE_MEASUREMENT_PERIOD_MS = 1000 |
| RTCM output only needs 1 Hz; the survey keeps the faster navigation rate because it converges faster. | |
| constexpr std::array< UnexpectedOutput, 3 > | UNEXPECTED_OUTPUT |
| constexpr uint16_t | LEGACY_PORT_UART1 = 1 |
| constexpr uint16_t | LEGACY_PORT_USB = 3 |
| constexpr CfgRate | LEGACY_SURVEY_RATE {.measRate = 200, .navRate = 1, .timeRef = 0} |
| 5 Hz, UTC-aligned. | |
| constexpr CfgRate | LEGACY_BASE_RATE {.measRate = BASE_MEASUREMENT_PERIOD_MS, .navRate = 1, .timeRef = 0} |
| constexpr CfgNav5 | LEGACY_NAVIGATION {.mask = 0x0005, .dynModel = STATIONARY_DYNAMIC_MODEL, .fixMode = 2} |
| Updates only the dynamic model and the fix mode (3D only). | |
| constexpr MessageRate | LEGACY_SURVEY_STATUS {Msg::NAV_SVIN, SURVEY_STATUS_RATE} |
u-blox receiver configuration as data: the CFG-VALSET batches of protocol 27 and later, the CFG-PRT, CFG-RATE, CFG-NAV5, CFG-MSG and CFG-TMODE3 commands of older receivers, and the timeouts and values they use. Every VALSET batch is one message on the wire, so its boundaries are part of the configuration.
|
strong |
What a batch that is rejected, unanswered or not written means for configuration.
|
strong |
| ValsetBatch UBX::Plan::disableMessage | ( | MsgOutKey | key | ) |
Disables unexpected output; the reply is not awaited.
Definition at line 208 of file UBXPlan.cc.
References NO_OUTPUT, UBX::Plan::ValsetBatch::policy, and WriteOnly.
| ValsetBatch UBX::Plan::disableRTCMOutput | ( | ) |
Stops RTCM output, including observations a previous session left in the other MSM format.
Definition at line 146 of file UBXPlan.cc.
References UBX::Cfg::MSGOUT_RTCM_3X_TYPE1005, UBX::Cfg::MSGOUT_RTCM_3X_TYPE1230, NO_OUTPUT, UBX::Plan::ValsetBatch::policy, and Tolerate.
| ValsetBatch UBX::Plan::disableTimeMode | ( | ) |
Definition at line 161 of file UBXPlan.cc.
References UBX::Plan::ValsetBatch::items, and UBX::Cfg::TMODE_MODE.
| ValsetBatch UBX::Plan::fixedBase | ( | const GPSBaseStationConfig::Fixed & | fixed | ) |
Definition at line 174 of file UBXPlan.cc.
References GPSBaseStationConfig::Fixed::accuracyMeters, GPSBaseStationConfig::Fixed::position, UBX::Cfg::TMODE_FIXED_POS_ACC, UBX::Cfg::TMODE_HEIGHT, UBX::Cfg::TMODE_HEIGHT_HP, UBX::Cfg::TMODE_LAT, UBX::Cfg::TMODE_LAT_HP, UBX::Cfg::TMODE_LON, UBX::Cfg::TMODE_LON_HP, UBX::Cfg::TMODE_MODE, and UBX::Cfg::TMODE_POS_TYPE.
| ValsetBatch UBX::Plan::interferenceMonitor | ( | ) |
Enables the interference monitor of firmware without CFG-SEC-JAMDET.
Definition at line 111 of file UBXPlan.cc.
References UBX::Cfg::ITFM_ENABLE, UBX::Plan::ValsetBatch::policy, and Warn.
| ValsetBatch UBX::Plan::jammingDetection | ( | ) |
Probes CFG-SEC-JAMDET, which F9 HPG 1.50+, F9 L1L5 and X20 have instead of CFG-ITFM.
Definition at line 106 of file UBXPlan.cc.
References UBX::Plan::ValsetBatch::policy, UBX::Cfg::SEC_JAMDET_SENSITIVITY_HI, and Tolerate.
| std::array< MessageRate, 2 > UBX::Plan::legacyBaseStatus | ( | ) |
Survey status and satellite rates for the 1 Hz base; rejections are ignored.
Definition at line 249 of file UBXPlan.cc.
References BASE_SATELLITE_INFO_RATE, UBX::Msg::NAV_SVIN, UBX::Msg::NAV_SVINFO, and NO_OUTPUT.
| std::array< MessageRate, 10 > UBX::Plan::legacyDisableRTCMOutput | ( | ) |
Written without waiting for acknowledgements.
Definition at line 235 of file UBXPlan.cc.
References NO_OUTPUT, UBX::Msg::RTCM3_1005, and UBX::Msg::RTCM3_1230.
| CfgTmode3 UBX::Plan::legacyFixedBase | ( | const GPSBaseStationConfig::Fixed & | fixed | ) |
Definition at line 272 of file UBXPlan.cc.
References GPSBaseStationConfig::Fixed::accuracyMeters, and GPSBaseStationConfig::Fixed::position.
| std::array< MessageRate, 5 > UBX::Plan::legacyMessageOutput | ( | ) |
NAV-PVT, status, satellite and MON-HW (antenna and jamming) rates during the survey.
Definition at line 230 of file UBXPlan.cc.
References UBX::Msg::MON_HW, UBX::Msg::NAV_DOP, UBX::Msg::NAV_PVT, UBX::Msg::NAV_STATUS, and UBX::Msg::NAV_SVINFO.
CFG-PRT of UART1 and USB as one message, which older receivers take: UBX in, UBX and RTCM3 out, and NMEA out on USB as the protocol 27+ configuration keeps it.
Definition at line 213 of file UBXPlan.cc.
References Wire::encode(), LEGACY_PORT_UART1, LEGACY_PORT_USB, and UBX::CfgPrt::portID.
| std::array< RTCMOutput, 6 > UBX::Plan::legacyRTCMOutput | ( | bool | compactObservations | ) |
Definition at line 254 of file UBXPlan.cc.
References Observations, Optional, UBX::Msg::RTCM3_1005, UBX::Msg::RTCM3_1230, and StationPosition.
| CfgTmode3 UBX::Plan::legacySurveyIn | ( | const GPSBaseStationConfig::SurveyIn & | survey | ) |
Definition at line 265 of file UBXPlan.cc.
References GPSBaseStationConfig::SurveyIn::accuracyMeters, GPSBaseStationConfig::SurveyIn::duration, and UBX::CfgTmode3::flags.
| std::vector< ValsetBatch > UBX::Plan::messageOutput | ( | const ReceiverProfile & | profile | ) |
Protocol 27+ configuration after jamming detection: message output and receiver-specific extras.
Definition at line 118 of file UBXPlan.cc.
References UBX::ReceiverProfile::l5HealthOverride, UBX::Cfg::MSGOUT_UBX_MON_RF, UBX::Cfg::MSGOUT_UBX_NAV_DOP, UBX::Cfg::MSGOUT_UBX_NAV_EOE, UBX::Cfg::MSGOUT_UBX_NAV_HPPOSLLH, UBX::Cfg::MSGOUT_UBX_NAV_PVT, UBX::Cfg::MSGOUT_UBX_NAV_RELPOSNED, UBX::Cfg::MSGOUT_UBX_NAV_SAT, UBX::Cfg::MSGOUT_UBX_NAV_STATUS, UBX::Cfg::MSGOUT_UBX_NAV_TIMEGPS, UBX::Cfg::MSGOUT_UBX_RXM_RAWX, UBX::Cfg::MSGOUT_UBX_RXM_SFRBX, UBX::Cfg::MSGOUT_UBX_SEC_SIG, NO_OUTPUT, UBX::Cfg::SIGNAL_HEALTH_L5, SURVEY_SATELLITE_RATE, Tolerate, and Warn.
| std::vector< ValsetBatch > UBX::Plan::portsAndNavigation | ( | const ReceiverProfile & | profile | ) |
Protocol 27+ configuration before jamming detection: ports, navigation, odometer and RTK.
Definition at line 77 of file UBXPlan.cc.
References UBX::ReceiverProfile::measurementPeriodMs, UBX::Cfg::NAVHPG_DGNSSMODE, UBX::Cfg::NAVSPG_DYNMODEL, UBX::Cfg::NAVSPG_FIXMODE, UBX::Cfg::NAVSPG_UTCSTANDARD, UBX::Cfg::ODO_OUTLPCOG, UBX::Cfg::ODO_OUTLPVEL, UBX::Cfg::ODO_USE_COG, UBX::Cfg::ODO_USE_ODO, UBX::Cfg::RATE_MEAS, UBX::Cfg::RATE_NAV, UBX::Cfg::RATE_TIMEREF, STATIONARY_DYNAMIC_MODEL, Tolerate, UBX::Cfg::UART1INPROT_RTCM3X, UBX::Cfg::UART1INPROT_SPARTN, UBX::Cfg::UART1OUTPROT_RTCM3X, UBX::Cfg::USBINPROT_NMEA, UBX::Cfg::USBINPROT_RTCM3X, UBX::Cfg::USBINPROT_SPARTN, UBX::Cfg::USBINPROT_UBX, UBX::Cfg::USBOUTPROT_NMEA, UBX::Cfg::USBOUTPROT_RTCM3X, and UBX::Cfg::USBOUTPROT_UBX.
| ValsetBatch UBX::Plan::rtcmOutput | ( | bool | compactObservations | ) |
Base output at 1 Hz: station position, observations in the selected MSM format and GLONASS biases.
Definition at line 188 of file UBXPlan.cc.
References BASE_MEASUREMENT_PERIOD_MS, BASE_SATELLITE_INFO_RATE, UBX::Cfg::MSGOUT_RTCM_3X_TYPE1005, UBX::Cfg::MSGOUT_RTCM_3X_TYPE1230, UBX::Cfg::MSGOUT_UBX_NAV_SAT, UBX::Cfg::MSGOUT_UBX_NAV_SVIN, NO_OUTPUT, UBX::Plan::ValsetBatch::policy, UBX::Cfg::RATE_MEAS, and Tolerate.
| ValsetBatch UBX::Plan::surveyIn | ( | const GPSBaseStationConfig::SurveyIn & | survey | ) |
Definition at line 166 of file UBXPlan.cc.
References GPSBaseStationConfig::SurveyIn::accuracyMeters, GPSBaseStationConfig::SurveyIn::duration, UBX::Plan::ValsetBatch::items, UBX::Cfg::MSGOUT_UBX_NAV_SVIN, SURVEY_STATUS_RATE, UBX::Cfg::TMODE_MODE, UBX::Cfg::TMODE_SVIN_ACC_LIMIT, and UBX::Cfg::TMODE_SVIN_MIN_DUR.
| ValsetBatch UBX::Plan::uart1Baudrate | ( | uint32_t | baudrate | ) |
Definition at line 72 of file UBXPlan.cc.
References UBX::Plan::ValsetBatch::policy, Tolerate, and UBX::Cfg::UART1_BAUDRATE.
| ValsetBatch UBX::Plan::uart1Protocols | ( | ) |
Protocol 27+ port setup at the detected baud rate: UBX only on UART1, 8N1.
Definition at line 60 of file UBXPlan.cc.
References PORT_TIMEOUT, UBX::Plan::ValsetBatch::timeout, UBX::Cfg::UART1_DATABITS, UBX::Cfg::UART1_PARITY, UBX::Cfg::UART1_STOPBITS, UBX::Cfg::UART1INPROT_NMEA, UBX::Cfg::UART1INPROT_UBX, UBX::Cfg::UART1OUTPROT_NMEA, and UBX::Cfg::UART1OUTPROT_UBX.
|
inlineconstexpr |
|
inlineconstexpr |
RTCM output only needs 1 Hz; the survey keeps the faster navigation rate because it converges faster.
Definition at line 141 of file UBXPlan.h.
Referenced by rtcmOutput().
|
inlineconstexpr |
Satellites every 2 s at the 1 Hz base rate, as during a 5 Hz survey; the survey divisor would exceed the 5 s freshness of satellite reports.
Definition at line 138 of file UBXPlan.h.
Referenced by legacyBaseStatus(), and rtcmOutput().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Acknowledgement timeout of one configuration command.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 229 of file UBXPlan.h.
Referenced by legacyPorts().
|
inlineconstexpr |
Definition at line 230 of file UBXPlan.h.
Referenced by legacyPorts().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Definition at line 131 of file UBXPlan.h.
Referenced by disableMessage(), disableRTCMOutput(), legacyBaseStatus(), legacyDisableRTCMOutput(), messageOutput(), and rtcmOutput().
|
inlineconstexpr |
Definition at line 115 of file UBXPlan.h.
Referenced by uart1Protocols().
|
inlineconstexpr |
Base stations always use the stationary navigation model.
Definition at line 133 of file UBXPlan.h.
Referenced by portsAndNavigation().
|
inlineconstexpr |
NAV-SAT every tenth survey epoch.
Definition at line 135 of file UBXPlan.h.
Referenced by messageOutput().
|
inlineconstexpr |
Definition at line 139 of file UBXPlan.h.
Referenced by surveyIn().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |