7#include <QtCore/QString>
11#include <QtSerialPort/QSerialPort>
54 void loadSettings(QSettings &settings,
const QString &root)
override;
55 void saveSettings(QSettings &settings,
const QString &root)
const override;
56 QString
settingsURL()
const override {
return QStringLiteral(
"SerialSettings.qml"); }
57 QString
settingsTitle()
const override {
return tr(
"Serial Link Settings"); }
59 qint32
baud()
const {
return _baud; }
113 QString _portDisplayName;
114 bool _usbDirect =
false;
115 bool _sikRadio =
false;
116 bool _dtrForceLow =
false;
127 QObject* parent =
nullptr);
148 void _onPortConnected();
149 void _onPortDisconnected();
150 void _onPortReadyRead();
151 void _onPortBytesWritten(qint64 bytes)
const;
155 bool _configurePort();
160 std::atomic<bool> _isConnected{
false};
161 bool _errorEmitted =
false;
172 QObject* parent =
nullptr);
186 void _onDisconnected();
187 void _onDataReceived(
const QByteArray &data);
188 void _onDataSent(
const QByteArray &data);
192 bool _connect()
override;
193 void _writeBytes(
const QByteArray &data)
override;
198 QThread *_workerThread =
nullptr;
199 std::atomic<bool> _disconnectedEmitted{
false};
std::shared_ptr< LinkConfiguration > SharedLinkConfigurationPtr
Interface holding link specific settings.
The link interface defines the interface for all links used to communicate with the ground station ap...
virtual bool isRadioLink() const
Provides functions to access serial ports.
DataBits
This enum describes the number of data bits used.
Parity
This enum describes the parity scheme used.
SerialPortError
This enum describes the errors that may be contained by the QSerialPort::error property.
StopBits
This enum describes the number of stop bits used.
FlowControl
This enum describes the flow control used.
void setParity(QSerialPort::Parity parity)
QSerialPort::FlowControl flowControl() const
void portDisplayNameChanged()
bool sikRadio() const
Port was identified as a SiK radio by USB VID/PID at auto-connect. Runtime only, not persisted.
QString settingsTitle() const override
Settings Title, Pure virtual method providing the Title for the (QML) settings dialog.
void loadSettings(QSettings &settings, const QString &root) override
QSerialPort::StopBits stopBits() const
void saveSettings(QSettings &settings, const QString &root) const override
SerialConnectionSettings connectionSettings() const
void setStopBits(QSerialPort::StopBits stopBits)
void setPortDisplayName(const QString &portDisplayName)
void setBaud(qint32 baud)
void setDataBits(QSerialPort::DataBits databits)
void setdtrForceLow(bool dtrForceLow)
static QStringList supportedBaudRates()
QString portDisplayName() const
QSerialPort::Parity parity() const
void setUsbDirect(bool usbDirect)
void dtrForceLowChanged()
LinkType type() const override
QSerialPort::DataBits dataBits() const
void copyFrom(const LinkConfiguration *source) override
static QString cleanPortDisplayName(const QString &name)
void flowControlChanged()
void setFlowControl(QSerialPort::FlowControl flowControl)
void setSikRadio(bool sikRadio)
QString settingsURL() const override
Settings URL, Pure virtual method providing the URL for the (QML) settings dialog.
void setPortName(const QString &name)
virtual ~SerialConfiguration()
bool isRadioLink() const override
const QSerialPort * port() const
void disconnect() override
bool isConnected() const override
bool isSecureConnection() const override
std::shared_ptr< const Reservation > ReservationPtr
void dataReceived(const QByteArray &data)
void disconnectFromPort()
void checkPortAvailability(const QStringList &availablePorts)
void dataSent(const QByteArray &data)
void writeData(const QByteArray &data)
const QSerialPort * port() const
void errorOccurred(const QString &errorString)
Captured on the application thread; changes take effect on the next connection.
QSerialPort::StopBits stopBits
QSerialPort::DataBits dataBits
QSerialPort::FlowControl flowControl
QSerialPort::Parity parity