|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include <algorithm>#include <array>#include <chrono>#include <cstddef>#include <cstdint>#include <functional>#include <optional>#include <span>#include <string_view>#include <utility>#include <variant>#include <vector>#include <QtCore/QByteArray>#include <QtCore/QByteArrayView>#include "GPSStreamDemux.h"
Include dependency graph for GPSCommand.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | GPSConfigurationEvidence |
| Evidence from one configuration command, not a claim of physical receiver operation. More... | |
| struct | GPSConfigurationStep |
| class | GPSRawAckMatcher |
| Bounded raw-byte matching for receivers whose replies need not be complete ASCII lines. More... | |
| struct | GPSCommandSequence |
| struct | GPSCommandSequence::RawReply |
| Matched in the raw received bytes, for replies that need not be complete frames (see GPSRawAckMatcher). More... | |
| struct | GPSCommandSequence::Command |
| struct | GPSCommandSequence::Result |
| struct | GPSCommandOptions |
Typedefs | |
| using | GPSTextMatcher = std::function< GPSCommandOutcome(std::string_view reply)> |
| Resolves the outstanding command from one text reply a decoder offers; Pending keeps waiting. | |
| using | GPSFrameMatcher = std::function< GPSCommandOutcome(const GPSFrame &frame)> |
| Resolves the outstanding command from each dispatched frame, after the family decoded it; Pending keeps waiting. | |
| using | GPSReplyPoll = std::function< GPSCommandOutcome()> |
| Polled after each decoded chunk, for replies a family tracks in its own decoder state; Pending keeps waiting. | |
Enumerations | |
| enum class | GPSProtocolError : uint8_t { None , Cancelled , Transport , Protocol , InvalidArgument , ConsentRequired } |
| Sticky failure of the current receiver session; I/O and control stop until the next configure(). More... | |
| enum class | GPSCommandOutcome { Pending , Written , Acknowledged , ReadbackVerified , Rejected , TimedOut , Cancelled , TransportError } |
Functions | |
| GPSCommandSequence::Command | gpsCommand (QByteArray wire, std::chrono::milliseconds timeout, std::variant< GPSTextMatcher, GPSCommandSequence::RawReply > reply, GPSCommandOptions options={}) |
| using GPSFrameMatcher = std::function<GPSCommandOutcome(const GPSFrame& frame)> |
Resolves the outstanding command from each dispatched frame, after the family decoded it; Pending keeps waiting.
Definition at line 71 of file GPSCommand.h.
| using GPSReplyPoll = std::function<GPSCommandOutcome()> |
Polled after each decoded chunk, for replies a family tracks in its own decoder state; Pending keeps waiting.
Definition at line 73 of file GPSCommand.h.
| using GPSTextMatcher = std::function<GPSCommandOutcome(std::string_view reply)> |
Resolves the outstanding command from one text reply a decoder offers; Pending keeps waiting.
Definition at line 69 of file GPSCommand.h.
|
strong |
| Enumerator | |
|---|---|
| Pending | |
| Written | |
| Acknowledged | |
| ReadbackVerified | |
| Rejected | |
| TimedOut | |
| Cancelled | |
| TransportError | |
Definition at line 32 of file GPSCommand.h.
|
strong |
Sticky failure of the current receiver session; I/O and control stop until the next configure().
Definition at line 22 of file GPSCommand.h.
|
inline |
One sequence command that writes wire and waits up to timeout for reply. Evidence names it by its label, or by wire without its line ending.
Definition at line 162 of file GPSCommand.h.
Referenced by Quectel::Plan::command(), Femto::Plan::fixedBase(), Ashtech::Plan::fixedPositionCommand(), and Ashtech::Plan::sequence().