6#include <QtCore/QString>
10#include <QtSerialPort/QSerialPort>
40 void loadSettings(QSettings &settings,
const QString &root)
override;
41 void saveSettings(QSettings &settings,
const QString &root)
const override;
42 QString
settingsURL()
const override {
return QStringLiteral(
"SerialSettings.qml"); }
43 QString
settingsTitle()
const override {
return tr(
"Serial Link Settings"); }
45 qint32
baud()
const {
return _baud; }
93 QString _portDisplayName;
94 bool _usbDirect =
false;
95 bool _dtrForceLow =
false;
125 void _onPortConnected();
126 void _onPortDisconnected();
127 void _onPortReadyRead();
128 void _onPortBytesWritten(qint64 bytes)
const;
130 void _checkPortAvailability();
135 QTimer *_timer =
nullptr;
136 bool _errorEmitted =
false;
159 void _onDisconnected();
160 void _onDataReceived(
const QByteArray &data);
161 void _onDataSent(
const QByteArray &data);
165 bool _connect()
override;
166 void _writeBytes(
const QByteArray &data)
override;
170 QThread *_workerThread =
nullptr;
171 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...
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()
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
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)
QString settingsURL() const override
Settings URL, Pure virtual method providing the URL for the (QML) settings dialog.
void setPortName(const QString &name)
virtual ~SerialConfiguration()
const QSerialPort * port() const
void disconnect() override
bool isConnected() const override
bool isSecureConnection() const override
Returns true if the connection is secure (e.g. USB, wired ethernet)
void dataReceived(const QByteArray &data)
void disconnectFromPort()
void dataSent(const QByteArray &data)
void writeData(const QByteArray &data)
const QSerialPort * port() const
void errorOccurred(const QString &errorString)