|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include <GPSFamilyProtocol.h>
Public Member Functions | |
| uint64_t | nowUs () const |
| GPSStreamDemux & | stream () |
| void | publishPosition (const GPSDecodedPosition &report) |
| void | publishSatellites (const GPSDecodedSatellites &report) |
| void | publishSatelliteUsage (std::optional< int > count) |
| void | publishIntegrity (GPSIntegrityReport &report) |
| Stamps the family's working report with the receipt time and publishes a copy. | |
| void | publishSurvey (GPSSurveyReport &status) |
| Stamps status with the receipt time and publishes a copy. Survey progress is not an update flag. | |
| void | publishSurvey (bool active, bool valid, std::chrono::seconds duration, const GPSEllipsoidPosition &position={}) |
| Publishes survey-in progress; unknown coordinates remain NaN. | |
| void | publishRTCM (std::span< const uint8_t > frame) |
| void | publishAsReceived (GPSProtocolEvent event) |
| void | markUpdates (GPSReceiveUpdates updates) |
| Adds updates a decoder reports for a frame without publishing an event, such as protocol activity. | |
| bool | replyPending () const |
| True while a transact() reply is outstanding and unresolved. | |
| void | resolveReply (GPSCommandOutcome outcome) |
| Resolves the outstanding reply; Pending and later resolutions are ignored. | |
| void | offerReply (std::string_view reply) |
| Passes one decoded text reply to the outstanding text matcher, if any. | |
| bool | failed () const |
| void | failControl (const QString &detail) |
| Records a protocol failure described by detail unless a failure is already recorded, whose detail stays. | |
Friends | |
| class | GPSProtocolRuntime |
What a decoder may touch while it handles a frame or flushes: it publishes the decoded events, resolves the pending command reply, adjusts the stream framers and reads the sticky failure. It never performs I/O.
Definition at line 73 of file GPSFamilyProtocol.h.
| void GPSDecodeContext::failControl | ( | const QString & | detail | ) |
Records a protocol failure described by detail unless a failure is already recorded, whose detail stays.
Definition at line 204 of file GPSProtocolRuntime.cc.
References GPSCommandChannel::failControl().
| bool GPSDecodeContext::failed | ( | ) | const |
Definition at line 199 of file GPSProtocolRuntime.cc.
References GPSCommandChannel::failed().
Referenced by GPSProtocolRuntime::receiverReady().
|
inline |
Adds updates a decoder reports for a frame without publishing an event, such as protocol activity.
Definition at line 142 of file GPSFamilyProtocol.h.
References GPSEventBatch::updates.
| uint64_t GPSDecodeContext::nowUs | ( | ) | const |
Definition at line 174 of file GPSProtocolRuntime.cc.
References GPSCommandChannel::nowUs().
Referenced by UBX::EpochAssembler::expire(), UBX::EpochAssembler::find(), GPSNMEAStream::flush(), publishIntegrity(), GPSSurveyClock::publishProgress(), publishSatelliteUsage(), publishSurvey(), and GPSSurveyClock::start().
| void GPSDecodeContext::offerReply | ( | std::string_view | reply | ) |
Passes one decoded text reply to the outstanding text matcher, if any.
Definition at line 194 of file GPSProtocolRuntime.cc.
|
inline |
Publishes event exactly as given: its timestamps are kept and no update flag is set. For reports a family buffered with their original receipt, such as a Quectel survey status held during boot verification, or decoded elsewhere, as by the protocol decoders of a passive input.
Definition at line 139 of file GPSFamilyProtocol.h.
References GPSEventBatch::events.
|
inline |
Stamps the family's working report with the receipt time and publishes a copy.
Definition at line 104 of file GPSFamilyProtocol.h.
References Activity, GPSEventBatch::events, nowUs(), GPSIntegrityReport::timestampUs, and GPSEventBatch::updates.
|
inline |
Definition at line 85 of file GPSFamilyProtocol.h.
References GPSEventBatch::events, Position, and GPSEventBatch::updates.
|
inline |
Definition at line 130 of file GPSFamilyProtocol.h.
References Activity, GPSEventBatch::events, and GPSEventBatch::updates.
Referenced by UBX::Protocol::onFrame().
|
inline |
Definition at line 91 of file GPSFamilyProtocol.h.
References GPSEventBatch::events, Satellites, and GPSEventBatch::updates.
|
inline |
Definition at line 97 of file GPSFamilyProtocol.h.
References GPSEventBatch::events, nowUs(), Satellites, and GPSEventBatch::updates.
|
inline |
Publishes survey-in progress; unknown coordinates remain NaN.
Definition at line 119 of file GPSFamilyProtocol.h.
|
inline |
Stamps status with the receipt time and publishes a copy. Survey progress is not an update flag.
Definition at line 112 of file GPSFamilyProtocol.h.
References GPSEventBatch::events, nowUs(), and GPSSurveyReport::timestampUs.
Referenced by GPSSurveyClock::publishProgress(), and GPSSurveyClock::start().
| bool GPSDecodeContext::replyPending | ( | ) | const |
True while a transact() reply is outstanding and unresolved.
Definition at line 184 of file GPSProtocolRuntime.cc.
| void GPSDecodeContext::resolveReply | ( | GPSCommandOutcome | outcome | ) |
Resolves the outstanding reply; Pending and later resolutions are ignored.
Definition at line 189 of file GPSProtocolRuntime.cc.
| GPSStreamDemux & GPSDecodeContext::stream | ( | ) |
Definition at line 179 of file GPSProtocolRuntime.cc.
References GPSCommandChannel::stream().
Referenced by UBX::Protocol::armDecodeOnly(), and UBX::Protocol::armNavigationDecode().
|
friend |
Definition at line 159 of file GPSFamilyProtocol.h.