diff options
Diffstat (limited to 'printerclient.cpp')
| -rw-r--r-- | printerclient.cpp | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/printerclient.cpp b/printerclient.cpp deleted file mode 100644 index 4fed38f..0000000 --- a/printerclient.cpp +++ /dev/null @@ -1,86 +0,0 @@ -#include "printerclient.h" - -#include <exception> - -#include <QDebug> -#include <QFile> -#include <QSerialPort> -#include <QSerialPortInfo> - -QString getFirstTtyUSB() -{ - auto ports = QSerialPortInfo::availablePorts(); - - std::remove_if(ports.begin(), ports.end(), [](const auto& port) { - return !port.portName().contains("ttyUSB"); - }); - - return ports.isEmpty() ? "" : ports.first().portName(); -} - -PrinterClient::PrinterClient(QObject* parent) - : QObject{parent} // , m_serialPort{new QSerialPort{"/dev/ttyUSB0", this}} - , m_serialPort{new QSerialPort{getFirstTtyUSB(), this}} -{ - if (!m_serialPort->setBaudRate(QSerialPort::Baud115200)) { - throw std::runtime_error( - "serial port: cannot set baud rate: " + - m_serialPort->errorString().toStdString()); - - return; - } - - if (!m_serialPort->open(QFile::ReadWrite)) { - throw std::runtime_error( - "cannot open serial port: " + - m_serialPort->errorString().toStdString()); - - return; - } - - qDebug() << "serial port baud rate:" << m_serialPort->baudRate(); - - qDebug() << "serial port data bits:" << m_serialPort->dataBits(); - qDebug() << "serial port parity:" << m_serialPort->parity(); - qDebug() << "serial port stop bits:" << m_serialPort->stopBits(); - - QObject::connect(m_serialPort, &QSerialPort::readyRead, - this, &PrinterClient::onReadyRead); - - QObject::connect(m_serialPort, &QSerialPort::errorOccurred, - this, &PrinterClient::onErrorOccured); - - // m_serialPort->write(QByteArray { "G91\n" }); - // m_serialPort->flush(); - // m_serialPort->write(QByteArray { "G1 Z10\n" }); - // m_serialPort->flush(); - sendCommand("G91"); - // sendCommand("G1 Z10"); - // sendCommand("G1 Z-10"); - - onErrorOccured(QSerialPort::SerialPortError::PermissionError); -} - -void PrinterClient::sendCommand(const QString command) -{ - const auto written = m_serialPort->write(command.toUtf8() + "\n"); - - qDebug() << QString("serialPort: send '%1': (written %2 bytes)") - .arg(command).arg(written); - - m_serialPort->flush(); -} - -void PrinterClient::onReadyRead() -{ - const auto data = m_serialPort->readAll(); - qDebug() << "serialPort: " << data; - - // emit newData(data); -} - -void PrinterClient::onErrorOccured(QSerialPort::SerialPortError error) -{ - qWarning() << "serial port error:" << m_serialPort->errorString() - << "-" << error; -} |
