#ifndef PHASEPROTOCOLBM_H #define PHASEPROTOCOLBM_H #include "PhaseDataDto.h" #include "ByteUtil.h" static const QByteArray PHASE_FRAME_TAIL("\xEE\xEE\xEE\xEE", 4); // 帧尾 static const int PHASE_FRAME_ID_LENGTH = 4; // 帧头id计数器为4个字节 static const int PHASE_MESSURE_CHANNEL = 16; static const int PHASE_MESSURE_SIZE = 8; static const int PHASE_FRAM_LENGTH = 4 + 4 + 16 * 8; static const qulonglong CALCULATE_OFFSET = 0X0080000000000000; static const double CALCULATE_FACTOR = 1.6810E-15; class PhaseProtocolBM { public: PhaseProtocolBM(); ~PhaseProtocolBM(); // 解析比相仪测量数据 static bool parseMessureData(QByteArray rawData, PhaseDataDto * phaseData); // 检测帧格式,帧头帧尾 static bool checkFrame(QByteArray rawData); static QString startMessure(); static QString stopMessure(); }; #endif // PHASEROTOCOLBM_H