#include <QCoreApplication>
#include <QSerialPort>
#include <QTimer>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);

    QSerialPort serial;
    serial.setPortName("/dev/ttyUSB0");
    serial.setBaudRate(QSerialPort::Baud115200);
    serial.setDataBits(QSerialPort::Data8);
    serial.setParity(QSerialPort::NoParity);
    serial.setStopBits(QSerialPort::OneStop);
    serial.setFlowControl(QSerialPort::NoFlowControl);

    // Nur zum Schreiben öffnen
    if (!serial.open(QIODevice::WriteOnly)) {
        qCritical() << "Konnte Port nicht öffnen:" << serial.errorString();
        return 1;
    }

    qInfo() << "Port geöffnet. Sende Daten...";

    // Timer sendet alle 2 Sekunden einen Befehl
    QTimer timer;
    QObject::connect(&timer, &QTimer::timeout, [&]() {
        QByteArray cmd = "STATUS?\r\n";
        qint64 written = serial.write(cmd);

        if (written == -1) {
            qCritical() << "Fehler beim Schreiben:" << serial.errorString();
        } else {
            qInfo() << "Gesendet:" << cmd.trimmed();
        }
    });

    timer.start(2000);

    return app.exec();
}
