You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
smokeboxidentification/src/lpSerialStation.h

65 lines
1.2 KiB
C

#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<lpSerialStation>
{
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<QByteArray>);
signals:
void sgNewEmptyCheckResults(QSharedPointer<QByteArray>);
void sgMonitorSensorTriggerStart(eSideID);
void sgMonitorSensorTriggerStop(eSideID);
private:
Q_SLOT void on_open();
Q_SLOT void on_data_receive(const QString& sn, QSharedPointer<LpSerialFrame> data_ptr_);
private:
QQueue<CodeScanResults> m_CodeScanResQ;
QString m_szClientName;
QString m_szPlaneNoLeft;
QString m_szPlaneNoRight;
bool m_bStartEmptyCheck;
QThread* m_pobjThread;
QMap<QString, SerialParam> m_commDeviceMap;
};
#endif // !LP_SERIAL_STATION_H