9#include <QtCore/QByteArray>
10#include <QtCore/QFlags>
24Q_DECLARE_OPERATORS_FOR_FLAGS(GPSReceiveUpdates)
44 std::optional<int>
inUse = std::nullopt;
49 for (uint8_t index = 0; index <
count; ++index) {
68 system->inUse = system->inUse.value_or(0) + (used ? 1 : 0);
87 return count && *count < UINT8_MAX ? std::optional<uint8_t>(
static_cast<uint8_t
>(*count)) : std::nullopt;
std::variant< GPSDecodedPosition, GPSIntegrityReport, GPSDecodedSatellites, GPSDecodedSatelliteUsage, GPSSurveyReport, GPSRTCMFrame, GPSInputProtocol > GPSProtocolEvent
std::optional< uint8_t > gpsSatellitesUsed(std::optional< unsigned > count)
A reported used-satellite count; receivers report UINT8_MAX and above when the count is unknown.
Decoded navigation plus whether the producer accepted its velocity solution.
std::optional< int > usedCount
uint64_t inUseTimestampUs
std::optional< int > inUse
GPSConstellation constellation
uint64_t inViewTimestampUs
static constexpr uint8_t MAX_CONSTELLATIONS
static constexpr uint16_t SAT_INFO_MAX_SATELLITES
void addSatellite(GPSConstellation constellation, bool used)
std::array< Constellation, MAX_CONSTELLATIONS > constellations
Constellation * ensureConstellation(GPSConstellation constellation)
Events decoded from one span of received bytes, in publication order.
GPSReceiveUpdates updates
One RTCM3 frame the receiver produced, including its header and CRC.