#ifndef MICROCONTROLLER_H #define MICROCONTROLLER_H #include #include #include #include #include #include #include #include #include #include class Microcontroller: public QObject { Q_OBJECT private: std::vector _relayStates; //ugh vector of bools QIODevice* _port = nullptr; QScopedPointer loop; QString _buffer; void processMicroReturn(); void getState(); public: Microcontroller(QIODevice* port); Microcontroller(); ~Microcontroller(); bool connected(); void setIODevice(QIODevice* port); public slots: void rgbOn(); void rgbOff(); void changeRgbColor(const QColor color); void setPattern(int pattern); void relayToggle(int state, int id); void relayOn(int relay); void relayOff(int relay); void run(); void abort(); void doTick(); signals: void textRecived(const QString string); void relayStateChanged(std::vector relayStates); }; #endif // MICROCONTROLLER_H