use QSerialPort for IO
This commit is contained in:
parent
9f6968c915
commit
d68c37fa82
@ -25,6 +25,32 @@
|
||||
|
||||
DmxWidget::DmxWidget(QObject *parent)
|
||||
: QObject{parent}
|
||||
, port_(new QSerialPort(this))
|
||||
, connected_(false)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
DmxWidget::~DmxWidget()
|
||||
{
|
||||
DmxWidget::disconnect();
|
||||
}
|
||||
|
||||
|
||||
void DmxWidget::connect()
|
||||
{
|
||||
ENTTEC::Widget::connect();
|
||||
|
||||
connected_ = true;
|
||||
emit connectedChanged(true);
|
||||
}
|
||||
|
||||
|
||||
void DmxWidget::disconnect()
|
||||
{
|
||||
ENTTEC::Widget::disconnect();
|
||||
|
||||
connected_ = false;
|
||||
emit connectedChanged(false);
|
||||
}
|
||||
|
@ -24,6 +24,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QSerialPort>
|
||||
#include <QSerialPortInfo>
|
||||
#include <widget.h>
|
||||
|
||||
class DmxWidget
|
||||
@ -33,7 +35,24 @@ class DmxWidget
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DmxWidget(QObject *parent = nullptr);
|
||||
virtual ~DmxWidget();
|
||||
|
||||
virtual void connect() override;
|
||||
virtual void disconnect() override;
|
||||
|
||||
bool isConnected() const { return connected_; }
|
||||
|
||||
void setPort(const QSerialPortInfo &port) { port_->setPort(port); emit portNameChanged(); }
|
||||
void setPortName(const QString &name) { port_->setPortName(name); emit portNameChanged(); }
|
||||
const QString portName() const { return port_->portName(); }
|
||||
|
||||
Q_PROPERTY(bool isConnected READ isConnected NOTIFY connectedChanged)
|
||||
Q_PROPERTY(QString portName READ portName NOTIFY portNameChanged)
|
||||
signals:
|
||||
void connectedChanged(bool);
|
||||
void portNameChanged();
|
||||
|
||||
private:
|
||||
QSerialPort *port_;
|
||||
bool connected_;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user