6#include <QtCore/QString>
7#include <QtCore/QStringList>
13#ifndef QGC_NO_SERIAL_LINK
40#ifdef QGC_NO_SERIAL_LINK
63#ifndef QGC_NO_SERIAL_LINK
76 virtual bool connectTcp(
const QString& host, quint16 port,
GPSType type,
bool allowPersistentChanges) = 0;
78#ifndef QGC_NO_SERIAL_LINK
79 virtual bool connectSerial(
const QString& device,
GPSType type, uint32_t baudRate,
bool allowPersistentChanges,
std::function< GPSReceiverWorker *(GPSReceiverWorker::TransportFactory, GPSType, const GPSReceiverConfig &, QObject *)> GPSReceiverWorkerFactory
Creates a receiver session's worker; tests inject scripted workers.
SerialPortManager::ReservationPtr GPSSerialClaim
Holds a serial device for one receiver session until the last copy is released.
constexpr int GPS_AUTOMATIC_MANUFACTURER
GPSTypes::GPSType GPSType
virtual QStringList rtkReceiverPorts() const =0
virtual GPSSerialClaim claimSerialPort(const QString &device)=0
Claims the device until the last copy is released; empty when it is in use.
virtual bool hasReceiver() const =0
virtual bool serialPortAvailable(const QString &device) const =0
The device is plugged in and not in its bootloader.
virtual void setConnectionError(const QString &message)=0
~GPSReceiverConnector()=default
virtual bool connectSerial(const QString &device, GPSType type, uint32_t baudRate, bool allowPersistentChanges, GPSSerialClaim claim)=0
virtual void endConnection(bool clearError)=0
virtual bool connectUdp(quint16 port, GPSType type)=0
virtual bool connectTcp(const QString &host, quint16 port, GPSType type, bool allowPersistentChanges)=0
std::function< std::unique_ptr< GPSTransport >(GPSCancelToken)> TransportFactory
Consumed on the worker thread, so transport construction, I/O and destruction share that thread.
ConnectionType
Persisted values of connectionType. The storage type keeps any saved value a valid enum value.
ReceiverRole
Persisted values of receiverRole. The storage type keeps any saved value a valid enum value.
std::shared_ptr< const Reservation > ReservationPtr
Configuration used only by the RTK base-station role.
The receiver configuration the application's settings binding supplies as values.
RTKSettings::ReceiverRole receiverRole
Only a configured base is written to by QGroundControl.
bool autoConnect
Keep the saved receiver connected, or discover a configured base on USB when no device is saved.
bool sameConnection(const GPSReceiverConfiguration &other) const
RTKSettings::ConnectionType effectiveConnectionType() const
The connection this configuration uses; builds without serial links connect a serial selection over T...
GPSBaseStationConfig base
int baseReceiverManufacturer
A GPSReceiverDescriptor manufacturer, or GPS_AUTOMATIC_MANUFACTURER to detect the family on every con...
bool forwardReceiverRtcm
A passive receiver's RTCM output becomes a correction source for vehicles.
RTKSettings::ConnectionType connectionType
bool operator==(const GPSReceiverConfiguration &) const =default