修改了装置重启方式,去除了外部调用的校验流程,现在直接在内部自动完成。

新增了装置升级的正式流程。
This commit is contained in:
2026-03-09 19:06:56 +08:00
parent 93def18fbd
commit f727f9ee9c
5 changed files with 556 additions and 11 deletions

View File

@@ -49,7 +49,9 @@ enum class MsgRequestType : unsigned char {
//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>־
Request_Read_Event = 0x0D,
//ִ<>п<EFBFBD><D0BF><EFBFBD><EFBFBD>¼<EFBFBD>
Request_Ctrl = 0x0A
Request_Ctrl = 0x0A,
//ִ<><D6B4>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Request_Upgrade = 0x26
};
// <20><><EFBFBD>ձ<EFBFBD><D5B1>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>
enum class MsgResponseType : unsigned char {
@@ -89,6 +91,8 @@ enum class MsgResponseType : unsigned char {
Response_Read_Event = 0x8D,
//ִ<>п<EFBFBD><D0BF><EFBFBD><EFBFBD>¼<EFBFBD>Ӧ<EFBFBD><D3A6>
Response_Ctrl = 0x8a,
//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>40/41Ĭ<31><C4AC>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>кͽ<D0BA><CDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ר<EFBFBD><D7A8>A6<41><36><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
Response_Upgrade = 0xA6,
//Ĭ<>Ͽ϶<CFBF>Ӧ<EFBFBD><D3A6>
Response_NewACK = 0x40,
//Ĭ<>Ϸ<EFBFBD><CFB7><EFBFBD>Ӧ<EFBFBD><D3A6>
@@ -2416,6 +2420,25 @@ std::vector<unsigned char> generate_machineversion_message();
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
*/
std::vector<unsigned char> generate_preupgrade_message();
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
* @param data <20><>ǰ֡<C7B0><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param updateCount <20><>ǰ֡<C7B0><D6A1><EFBFBD><EFBFBD>
* @param updateSize <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ܴ<EFBFBD>С
* @param count <20><>֡<EFBFBD><D6A1>
* @param crc CRCУ<43><D0A3>ֵ
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
*/
std::vector<unsigned char> generate_upgrade_start_message(const std::vector<unsigned char>& data,
std::uint32_t updateCount,
std::uint32_t updateSize,
std::uint32_t count,
std::uint32_t crc);
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
* @return <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
*/
std::vector<unsigned char> generate_upgrade_end_message();
/**
* @brief <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD>ö<EFBFBD>ʱ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
* @param time <20>·<EFBFBD><C2B7>Ķ<EFBFBD>ʱʱ<CAB1><CAB1> (tmֵ)