From: d15521469561 <1731678236@qq.com> Date: Thu, 18 Jun 2026 09:57:52 +0000 (+0800) Subject: 1.优化ota升级逻辑 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/code/MouseSdk-iOS/Document/static/git-favicon.png?a=commitdiff_plain;p=mirrors%2FNG455.git 1.优化ota升级逻辑 --- diff --git a/App/src/iap.c b/App/src/iap.c index ce05080..a5cc3a4 100644 --- a/App/src/iap.c +++ b/App/src/iap.c @@ -10,7 +10,9 @@ IAP_CMD_REPLY_T iap_cmd; IAP_CMD_REPLY_T iap_reply; -uint8_t iap_timeout_cnt = 0;//Ä£×éÉý¼¶Ö÷¿ØUSB²»ÔÊÐíÉý¼¶Ö÷¿Ø +uint8_t iap_app_upgrae_mcu_cnt = 0;//APPÉý¼¶Ö÷¿Ø USB²»ÔÊÐíÉý¼¶Ö÷¿Ø + +uint8_t iap_usb_upgrae_mcu_cnt = 0;//USBÉý¼¶Ö÷¿Ø ²»ÔÊÐíÄ£×éÉý¼¶Ö÷¿Ø uint8_t iap_end_flag = 0; @@ -131,7 +133,7 @@ void Iap_Process(uint8_t* data, uint8_t len) memcpy(iap_cmd.other.buf, data, len); memcpy(iap_reply.other.buf, iap_cmd.other.buf, 3); iap_reply.cmd.status = REPLY_STATUS_NO_CMD; - if(iap_cmd.cmd.cmd1 != CMD1_IAP_PANEL || iap_timeout_cnt > 0) + if(iap_cmd.cmd.cmd1 != CMD1_IAP_PANEL || iap_app_upgrae_mcu_cnt > 0) { return; } @@ -139,6 +141,7 @@ void Iap_Process(uint8_t* data, uint8_t len) if(iap_cmd.cmd.cmd2 == CMD2_IAP_FETCH || iap_cmd.cmd.cmd2 == CMD2_IAP_CERTIFICATE || iap_cmd.cmd.cmd2 == CMD2_IAP_END || iap_auth == 1) { // ·ÖÎöÃüÁîÂë + iap_usb_upgrae_mcu_cnt = 20; switch(iap_cmd.cmd.cmd2) { // »ñÈ¡ÐÅÏ¢ @@ -491,9 +494,13 @@ uint8_t Iap_Lite_Verify(uint32_t addr, uint8_t packet_size, uint8_t* data) void Iap_Lite_Check_TimeOut(void) { - if(iap_timeout_cnt > 0) + if(iap_app_upgrae_mcu_cnt > 0) + { + iap_app_upgrae_mcu_cnt--; + } + if(iap_usb_upgrae_mcu_cnt > 0) { - iap_timeout_cnt--; + iap_usb_upgrae_mcu_cnt--; } } @@ -505,10 +512,14 @@ void Iap_Lite_Process(uint8_t* data, uint16_t len, uint8_t host_type) iap_lite_reply.payload.reply = REPLY_STATUS_NONE; iap_lite_reply.payload.sub_cmd = iap_lite_cmd->payload.sub_cmd; + if(iap_usb_upgrae_mcu_cnt > 0) + { + return; + } // ¼ì²éЭÒé°æ±¾ if(iap_lite_cmd->payload.protocol_version == 0x01) { - iap_timeout_cnt=10; + iap_app_upgrae_mcu_cnt=10; // ·ÖÎöÃüÁîÂë switch(iap_lite_cmd->payload.sub_cmd) { diff --git a/App/src/iot.c b/App/src/iot.c index 9db21e5..866a28f 100644 --- a/App/src/iot.c +++ b/App/src/iot.c @@ -302,11 +302,7 @@ void Iot_Uart_Rx_Handle(uint8_t *data ,uint8_t len) case 0x0D: { -// get_key_led_replay_flag = 1; -// // Iot_Stop_Send_Key_Color(); -// // Iot_Send_Button_Color_Info(); -// iot_stop_send(0); -// iot_send_process(0,(uint8_t *)&led_key_profile[0],5); + } break;