#pragma once #include #include #include #include #include enum lightSourceChannel { AChannel, BChannel, CChannel, DChannel }; class lightSource { public: QSerialPort* serialPort = new QSerialPort(); lightSource(std::string comName, int baudRate, std::string initStr); ~lightSource(); lightSource(const lightSource&) = delete; lightSource& operator=(const lightSource&) = delete; void setValue(lightSourceChannel channelIn, unsigned char value); }; class lightSourceManager : public QThread { public: lightSourceManager(); ~lightSourceManager() override; void run() override; void init(); void insertLightSource(std::string comName, int baudRate, std::string initStr); lightSource* getLightSourcePtr(std::string comName); std::unordered_map lightSources; };