8#include <QtCore/QByteArray>
9#include <QtCore/QByteArrayView>
30inline constexpr std::array
BAUD_RATES{460800u, 115200u, 230400u, 921600u, 57600u, 9600u};
34inline constexpr std::string_view
IDENTIFY =
"PQTMVERNO";
38inline constexpr std::string_view
READ_ROLE =
"PQTMCFGRCVRMODE,R";
48inline constexpr std::string_view
READ_BASE =
"PQTMCFGSVIN,R";
58inline constexpr std::string_view
SAVE =
"PQTMSAVEPAR";
64inline constexpr std::string_view
RESTART =
"PQTMSRR";
std::function< GPSCommandOutcome(std::string_view reply)> GPSTextMatcher
Resolves the outstanding command from one text reply a decoder offers; Pending keeps waiting.
GPSCommandSequence::Command command(QByteArrayView body, GPSTextMatcher reply, std::chrono::milliseconds timeout)
body labelled by its text, framed as a sentence, and completed by reply within timeout.
constexpr std::array BASE_OUTPUT
Base output: survey-in status, RTCM3 station coordinates and MSM observations.
GPSTextMatcher acknowledgement(QByteArrayView body)
Completes the setting body with its "<name>,OK" acknowledgement.
constexpr std::string_view IDENTIFY
constexpr std::chrono::milliseconds RESTART_TIMEOUT
QByteArray writeBase(const GPSBaseStationConfig::Mode &mode, const GPSProtocolMath::Ecef &position, bool distanceField)
constexpr std::string_view SAVE
Saves the current settings to flash.
constexpr std::string_view WRITE_BASE_ROLE
constexpr std::string_view QUALIFIED_FIRMWARE
constexpr std::chrono::milliseconds RESTART_POLL
constexpr unsigned BASE_ROLE
constexpr std::string_view RESTART_SURVEY
Re-runs a survey with exactly the fields READ_BASE reported.
constexpr std::string_view RESTART_SURVEY_LABEL
constexpr std::string_view READ_BASE
GPSCommandSequence messageRates(std::span< const MessageRate > rates)
PQTMCFGMSGRATE,W for each of rates, each followed by its PQTMCFGMSGRATE,R readback.
constexpr std::string_view READ_ROLE
Receiver role: "PQTMCFGRCVRMODE,OK,<role>", where 2 is the base station.
constexpr std::chrono::milliseconds SAVE_TIMEOUT
constexpr std::chrono::milliseconds CONFIGURATION_TIMEOUT
For the whole configuration after validation.
constexpr unsigned FIX_INTERVAL_MS
constexpr std::chrono::milliseconds RESTART_IDENTIFY_TIMEOUT
constexpr std::string_view RESTART
constexpr double MAXIMUM_SURVEY_ACCURACY_METERS
constexpr std::array NMEA_OUTPUT
NMEA output: position, position accuracy, satellites used and satellites in view, every second.
constexpr std::string_view FIXED_BASE_LABEL
Labels for the base writes whose bodies carry ECEF coordinates.
constexpr std::array BAUD_RATES
Rates the identity query probes, in order.
constexpr std::chrono::milliseconds COMMAND_TIMEOUT
Per attempt, unless a command gives its own.
constexpr std::chrono::hours MAXIMUM_SURVEY_DURATION
constexpr std::string_view READ_FIX_RATE
Base positioning runs at 1 Hz: "PQTMCFGFIXRATE,OK,1000".
std::variant< SurveyIn, Fixed, ReceiverAveraging > Mode
std::string_view version
Message version; standard NMEA messages have none.