QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
QuectelPlan.h File Reference
#include <array>
#include <chrono>
#include <span>
#include <string_view>
#include <QtCore/QByteArray>
#include <QtCore/QByteArrayView>
#include "GPSCommand.h"
#include "GPSProtocolMath.h"
#include "GPSReceiverConfig.h"
+ Include dependency graph for QuectelPlan.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Quectel::Plan::MessageRate
 

Namespaces

namespace  Quectel
 
namespace  Quectel::Plan
 

Functions

QByteArray Quectel::Plan::writeBase (const GPSBaseStationConfig::Mode &mode, const GPSProtocolMath::Ecef &position, bool distanceField)
 
GPSCommandSequence::Command Quectel::Plan::command (QByteArrayView body, GPSTextMatcher reply, std::chrono::milliseconds timeout=COMMAND_TIMEOUT)
 body labelled by its text, framed as a sentence, and completed by reply within timeout.
 
GPSTextMatcher Quectel::Plan::acknowledgement (QByteArrayView body)
 Completes the setting body with its "<name>,OK" acknowledgement.
 
GPSCommandSequence Quectel::Plan::messageRates (std::span< const MessageRate > rates)
 PQTMCFGMSGRATE,W for each of rates, each followed by its PQTMCFGMSGRATE,R readback.
 

Variables

constexpr std::chrono::milliseconds Quectel::Plan::COMMAND_TIMEOUT {1000}
 Per attempt, unless a command gives its own.
 
constexpr std::chrono::milliseconds Quectel::Plan::CONFIGURATION_TIMEOUT {45000}
 For the whole configuration after validation.
 
constexpr std::array Quectel::Plan::BAUD_RATES {460800u, 115200u, 230400u, 921600u, 57600u, 9600u}
 Rates the identity query probes, in order.
 
constexpr std::string_view Quectel::Plan::IDENTIFY = "PQTMVERNO"
 
constexpr std::string_view Quectel::Plan::QUALIFIED_FIRMWARE = "LG290P03"
 
constexpr std::string_view Quectel::Plan::READ_ROLE = "PQTMCFGRCVRMODE,R"
 Receiver role: "PQTMCFGRCVRMODE,OK,<role>", where 2 is the base station.
 
constexpr unsigned Quectel::Plan::BASE_ROLE = 2
 
constexpr std::string_view Quectel::Plan::WRITE_BASE_ROLE = "PQTMCFGRCVRMODE,W,2"
 
constexpr std::string_view Quectel::Plan::READ_FIX_RATE = "PQTMCFGFIXRATE,R"
 Base positioning runs at 1 Hz: "PQTMCFGFIXRATE,OK,1000".
 
constexpr unsigned Quectel::Plan::FIX_INTERVAL_MS = 1000
 
constexpr std::string_view Quectel::Plan::READ_BASE = "PQTMCFGSVIN,R"
 
constexpr std::chrono::hours Quectel::Plan::MAXIMUM_SURVEY_DURATION {24}
 
constexpr double Quectel::Plan::MAXIMUM_SURVEY_ACCURACY_METERS = 1000
 
constexpr std::string_view Quectel::Plan::RESTART_SURVEY = "PQTMCFGSVIN,W"
 Re-runs a survey with exactly the fields READ_BASE reported.
 
constexpr std::string_view Quectel::Plan::FIXED_BASE_LABEL = "PQTMCFGSVIN,W (fixed position)"
 Labels for the base writes whose bodies carry ECEF coordinates.
 
constexpr std::string_view Quectel::Plan::RESTART_SURVEY_LABEL = "PQTMCFGSVIN,W (survey restart)"
 
constexpr std::string_view Quectel::Plan::SAVE = "PQTMSAVEPAR"
 Saves the current settings to flash.
 
constexpr std::chrono::milliseconds Quectel::Plan::SAVE_TIMEOUT {5000}
 
constexpr std::string_view Quectel::Plan::RESTART = "PQTMSRR"
 
constexpr std::chrono::milliseconds Quectel::Plan::RESTART_TIMEOUT {8000}
 
constexpr std::chrono::milliseconds Quectel::Plan::RESTART_POLL {200}
 
constexpr std::chrono::milliseconds Quectel::Plan::RESTART_IDENTIFY_TIMEOUT {700}
 
constexpr std::array Quectel::Plan::BASE_OUTPUT
 Base output: survey-in status, RTCM3 station coordinates and MSM observations.
 
constexpr std::array Quectel::Plan::NMEA_OUTPUT
 NMEA output: position, position accuracy, satellites used and satellites in view, every second.