Newer
Older
DevPhaseLib / PhaseProtocolBM.h
TAN YUE on 22 Apr 2022 897 bytes 20220422 初始提交
#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