123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #ifndef OAMUPGRADE_H
- #define OAMUPGRADE_H
- #include <QDialog>
- #include "pspublic.h"
- #define OAM_UPGRADE_SWITCH_SOFT_WORK_MODE 0x0601 // 切换软件工作模式
- #define OAM_UPGRADE_NOTICE_UPGRADE_FILE_INFO 0x0602 // 通知升级文件信息
- #define OAM_UPGRADE_SEND_UPGRADE_FILE 0x0603 // 发送升级升级文件
- #define OAM_UPGRADE_NOTICE_UPGRADE_OVER 0x0604 // 升级结束
- //升级管理结构
- typedef struct{
- quint8 upgradeStatus;//1:升级中,2:升级成功,3:升级失败,4:超时
- quint32 fileSize;//升级文件大小
- quint32 totalTimes;//发送总次数
- quint32 sendingTimes;//当前发送次数
- quint16 remainderLen;//最后一次数据长度
- quint8 *pData;//升级文件
- }OAM_UPGRADE_T;
- //通知文件信息
- typedef struct{
- quint32 fileSize;//文件大小
- quint32 totalTimes;//发送次数
- }OAM_UPGRAD_NOTICE_FILE_INFO_T;
- //升级帧
- typedef struct{
- quint32 sendTimes;//当前发送次数
- quint8 abyData[PS_MCP_B_DATA_LEN];//发送文件
- }OAM_UPGRADE_DATA_PAYLOAD_T;
- class MainDlg;
- namespace Ui {
- class OamUpgrade;
- }
- class OamUpgrade : public QDialog
- {
- Q_OBJECT
- public:
- explicit OamUpgrade(QWidget *parent = nullptr);
- ~OamUpgrade();
- private:
- Ui::OamUpgrade *ui;
- MainDlg *m_pMainDlg;
- QString m_strFilePaht;
- OAM_UPGRADE_T m_stUpgrade;
- LTV_B_T m_stLtvB;
- void configSignalSlot();
- void selectUpgradeFile();
- void startUpgrade();
- void switchSoftWorkMode();
- void noticeUpgradeFileInfo();
- void sendUpgradeFile();
- void noticeUpgradeOver();
- void deinitUpgrade();//反向初始化
- void slotNoticeUpgradeOk(quint16 wTag);
- void slotNoticeUpgradeFail();
- void slotNoticeUpgradeTimeout();
- void upgradeSuccess();
- signals:
- void SignalSendUpgradeMsg(quint8 *pbyData,quint8 byCmdType, quint16 dataLen);
- void SignalSendRestartMsg();//重启设备信号
- };
- #endif // OAMUPGRADE_H
|