ps.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #ifndef PS_H
  2. #define PS_H
  3. #include <QObject>
  4. #include "includes.h"
  5. #include "pspublic.h"
  6. typedef struct
  7. {
  8. quint8 byHeadFlag;
  9. quint8 byTailFlag;
  10. quint16 wGenerateIndex;
  11. quint16 wConsumeIndex;
  12. quint16 wFrameHeadIndex;
  13. quint8 abyDataList[PS_FRAME_MAX_LEN];
  14. quint16 wListLen;
  15. }PS_DATA_BUF_T;
  16. class MainDlg;//声明主窗口类
  17. class Ps : public QObject
  18. {
  19. Q_OBJECT
  20. public:
  21. explicit Ps(QObject *parent = nullptr);
  22. void PsInit();
  23. quint8 PsReceiveData(QByteArray bydataList, quint16 wLen);
  24. quint8 PsGenApMsg(quint8 byMcpType, quint8 byMsgType, quint8 *pbyData, quint16 wLen, quint8 *pbyApFrame,quint16 *pwApFrameLen);
  25. quint8 PsGenUpgradeMsg(quint8 byMsgType, quint8 *pbyData, quint16 wLen, quint8 *pbyOamData);
  26. private:
  27. MainDlg *m_pMainDlg;
  28. quint8 m_abyPsBuf[PS_FRAME_MAX_LEN];//数据缓存
  29. quint8 m_abyTempData[PS_FRAME_MAX_LEN];//临时缓存
  30. quint16 m_wListLen;
  31. quint8 m_abyPsMsg[PS_FRAME_MAX_LEN];//协议报文(已经成帧)
  32. qint8 m_byPacketNo;
  33. PS_DATA_BUF_T m_stDataBuf;
  34. quint8 PsUlMain(quint8 *pbyData, quint16 wLen);//协议栈模块主函数
  35. quint8 PsUlAp(quint8 *pbyData, quint16 *pwLen);//AP层处理主函数
  36. quint8 psApTransfer(quint8 *pbyData, quint16 *wLen);
  37. quint8 psApTransferReverse(quint8 *pbyData, quint16 *wLen);
  38. quint16 PsApGenCrc16(quint8 *data, quint16 len, quint16 def_crc);
  39. signals:
  40. void PsUlRespSignalQueryOk(quint8 *pbyData, quint16 wLen);//上行响应查询成功信号
  41. void PsUlRespSignalQueryFail();//上行响应查询成功失败
  42. void PsUlRespSignalConfigOk(quint8 *pbyData, quint16 wLen);//上行响应设置成功信号
  43. void PsUlRespSignalConfigFail();//上行响应设置失败信号
  44. void PsUlRespSignal(quint8 *pbyData, quint16 wLen);//上行响应信号
  45. void PsUlRespSignalUpgradeSuccess(quint8 *pbyData);//升级响应成功
  46. void PsUlRespSignalUpgradeFail();//升级响应失败
  47. };
  48. #endif // PS_H