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.
65 lines
1.2 KiB
C
65 lines
1.2 KiB
C
|
3 years ago
|
#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
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|