85 [[nodiscard]] std::chrono::milliseconds
nextReadSlice(std::chrono::milliseconds timeout)
const override;
95 bool navigation =
false;
97 bool corrections =
false;
104 bool rtcmActivation =
false;
106 uint16_t disableMessage = 0;
110 enum class RTCMActivation : uint8_t
118 struct RateConfirmation
126 struct LegacyRTCMProgress
129 bool stationPosition =
false;
130 bool observations =
false;
137 GPSReceiveUpdates _decode(uint16_t message, std::span<const uint8_t> payload,
GPSDecodeContext& context);
139 bool _accept(uint16_t message, std::span<const uint8_t> payload);
140 void _decodeEpoch(uint16_t message, std::span<const uint8_t> payload, EpochAssembler::Epoch& epoch);
141 GPSReceiveUpdates _decodeHandled(uint16_t message, std::span<const uint8_t> payload,
GPSDecodeContext& context);
142 GPSReceiveUpdates _decodeSurveyIn(std::span<const uint8_t> payload,
GPSDecodeContext& context);
143 void _decodeMonVer(std::span<const uint8_t> payload);
144 void _decodeSatellites(uint16_t message, std::span<const uint8_t> payload);
148 [[nodiscard]]
bool _baseStationUnsupported()
const;
150 bool _setUpPort(
GPSCommandChannel& channel,
unsigned detectedBaud,
unsigned desiredBaud);
163 bool _send(
GPSCommandChannel& channel, MessageId message, std::span<const uint8_t> payload,
165 bool _sendAcknowledged(
GPSCommandChannel& channel, MessageId message, std::span<const uint8_t> payload);
168 bool _setMessageRateAcknowledged(
GPSCommandChannel& channel, Plan::MessageRate rate);
173 RateConfirmation _confirmMessageRate(
GPSCommandChannel& channel, Plan::MessageRate rate);
174 bool _runPlan(
GPSCommandChannel& channel,
const std::vector<Plan::ValsetBatch>& batches);
176 [[nodiscard]]
bool _valsetsRefused()
const;
177 void _load(
const Plan::ValsetBatch& batch);
186 Identity _identity{};
187 ReceiverController _controller{};
189 Requests _requests{};
191 bool _timeModeReadbackPending =
false;
192 std::optional<uint8_t> _timeModeReadback = std::nullopt;
194 bool _surveyStopped =
false;
197 bool _secSigSeen =
false;
200 EpochAssembler _epochs;
204 bool _epochStarted =
false;
206 QString _lastWarning;
207 uint64_t _lastWarningUs = 0;
211 CheckedValsetBatch<Plan::VALSET_CAPACITY> _valset;
214 bool _valsetAckAmbiguous =
false;
215 LegacyRTCMProgress _legacyRTCM;
216 uint64_t _lastDisableUs = 0;
QString gpsReceiverIdentity(const QByteArray &model, const QByteArray &firmware)
A receiver identity as GPSFamilyProtocol::identity() reports it: "<model> <firmware>",...
bool armDecodeOnly(const GPSConfig &config, GPSDecodeContext &context) override
The decoder state a successful configure() leaves: navigation, survey and corrections decoding.