#ifndef LP_SERIAL_STATION_H #define LP_SERIAL_STATION_H #include "lp_serial_manager.h" #include "commonDefine.h" #define DIAGACROSSSENSOR "SensorsCom" enum eSideID { em_LEFT = 0, em_RIGHT, MAX_SIDES }; struct CodeScanResults { eSideID sdID; QByteArray ResData; }; class lpSerialStation : public QObject, public lp_singleton { Q_OBJECT public: lpSerialStation(); ~lpSerialStation(); bool loadParameters(const QString& filePath); void openComs(); void closeComs(); void onControlSideLight(lightCtrl mCmdData); Q_SLOT void onStartEmptyPlaceCheck(QString szClient); Q_SLOT void onStopEmptyPlaceCheck(); Q_SLOT void onNewCodeScanResults(eSideID, QSharedPointer); signals: void sgNewEmptyCheckResults(QSharedPointer); void sgMonitorSensorTriggerStart(eSideID); void sgMonitorSensorTriggerStop(eSideID); private: Q_SLOT void on_open(); Q_SLOT void on_data_receive(const QString& sn, QSharedPointer data_ptr_); private: QQueue m_CodeScanResQ; QString m_szClientName; QString m_szPlaneNoLeft; QString m_szPlaneNoRight; bool m_bStartEmptyCheck; QThread* m_pobjThread; QMap m_commDeviceMap; }; #endif // !LP_SERIAL_STATION_H