3#include <QtCore/QByteArrayView>
14 return {QByteArrayView(accepted).toByteArray(), QByteArrayView(
REJECTED).toByteArray()};
27 for (
const Command& entry : commands) {
28 result.
steps.emplace_back(command(entry));
35 const QByteArray line =
"FIX POSITION " +
gpsFixedDecimal(position.latitudeDegrees, 8) +
' ' +
GPSCommandSequence::Command gpsCommand(QByteArray wire, std::chrono::milliseconds timeout, std::variant< GPSTextMatcher, GPSCommandSequence::RawReply > reply, GPSCommandOptions options={})
QByteArray gpsFixedDecimal(double value, int decimals)
constexpr std::string_view REJECTED
constexpr std::string_view FIX_POSITION_ACCEPTED
GPSCommandSequence sequence(std::span< const Command > commands)
constexpr Command GGA_OUTPUT
GGA output; the base station uses it only to observe the survey-in.
GPSCommandSequence fixedBase(const GPSEllipsoidPosition &position)
ELLIPSOID_HEIGHTS, FIX_POSITION for position, then GGA_OUTPUT.
constexpr Command ELLIPSOID_HEIGHTS
constexpr std::chrono::milliseconds RESPONSE_TIMEOUT
Per attempt, for every command.
Matched in the raw received bytes, for replies that need not be complete frames (see GPSRawAckMatcher...
std::vector< Command > steps
WGS84 geodetic position with ellipsoid height, not mean-sea-level altitude.