oamupgrade.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #ifndef OAMUPGRADE_H
  2. #define OAMUPGRADE_H
  3. #include <QDialog>
  4. #include "pspublic.h"
  5. #define OAM_UPGRADE_SWITCH_SOFT_WORK_MODE 0x0601 // 切换软件工作模式
  6. #define OAM_UPGRADE_NOTICE_UPGRADE_FILE_INFO 0x0602 // 通知升级文件信息
  7. #define OAM_UPGRADE_SEND_UPGRADE_FILE 0x0603 // 发送升级升级文件
  8. #define OAM_UPGRADE_NOTICE_UPGRADE_OVER 0x0604 // 升级结束
  9. //升级管理结构
  10. typedef struct{
  11. quint8 upgradeStatus;//1:升级中,2:升级成功,3:升级失败,4:超时
  12. quint32 fileSize;//升级文件大小
  13. quint32 totalTimes;//发送总次数
  14. quint32 sendingTimes;//当前发送次数
  15. quint16 remainderLen;//最后一次数据长度
  16. quint8 *pData;//升级文件
  17. }OAM_UPGRADE_T;
  18. //通知文件信息
  19. typedef struct{
  20. quint32 fileSize;//文件大小
  21. quint32 totalTimes;//发送次数
  22. }OAM_UPGRAD_NOTICE_FILE_INFO_T;
  23. //升级帧
  24. typedef struct{
  25. quint32 sendTimes;//当前发送次数
  26. quint8 abyData[PS_MCP_B_DATA_LEN];//发送文件
  27. }OAM_UPGRADE_DATA_PAYLOAD_T;
  28. class MainDlg;
  29. namespace Ui {
  30. class OamUpgrade;
  31. }
  32. class OamUpgrade : public QDialog
  33. {
  34. Q_OBJECT
  35. public:
  36. explicit OamUpgrade(QWidget *parent = nullptr);
  37. ~OamUpgrade();
  38. private:
  39. Ui::OamUpgrade *ui;
  40. MainDlg *m_pMainDlg;
  41. QString m_strFilePaht;
  42. OAM_UPGRADE_T m_stUpgrade;
  43. LTV_B_T m_stLtvB;
  44. void configSignalSlot();
  45. void selectUpgradeFile();
  46. void startUpgrade();
  47. void switchSoftWorkMode();
  48. void noticeUpgradeFileInfo();
  49. void sendUpgradeFile();
  50. void noticeUpgradeOver();
  51. void deinitUpgrade();//反向初始化
  52. void slotNoticeUpgradeOk(quint16 wTag);
  53. void slotNoticeUpgradeFail();
  54. void slotNoticeUpgradeTimeout();
  55. void upgradeSuccess();
  56. signals:
  57. void SignalSendUpgradeMsg(quint8 *pbyData,quint8 byCmdType, quint16 dataLen);
  58. void SignalSendRestartMsg();//重启设备信号
  59. };
  60. #endif // OAMUPGRADE_H