From da40b9334eefb7e7de0ee8420302e314b4f179b8 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期一, 11 八月 2025 17:06:50 +0800 Subject: [PATCH] 加入升级功能 --- keil/include/main/main.c | 47 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 33 insertions(+), 14 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 6aa3fef..7c88cad 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -130,6 +130,8 @@ { // LOG_INFO(TRACE_MODULE_APP, "Wake up by sleep timer %d\r\n", time); } +extern uint8_t start_wait_flag; +extern int16_t end_count1; static void sleep_timer_callback_normal(void *dev, uint32_t time) { if(secondtask_count++%2==0) @@ -138,7 +140,11 @@ }else{ flag_secondtask = 0; } - + if(start_wait_flag)//lora升级等待超时标志 + { + if(end_count1--<=0) + start_wait_flag=0; + } // if(delaysleep_count>0) // delaysleep_count--; } @@ -169,7 +175,7 @@ ip2 = (g_com_map[TCP_IP_2]>>12&0xf)*1000+(g_com_map[TCP_IP_2]>>8&0xf)*100+(g_com_map[TCP_IP_2]>>4&0xf)*10+(g_com_map[TCP_IP_2]&0xf); ip3 = (g_com_map[TCP_IP_3]>>12&0xf)*1000+(g_com_map[TCP_IP_3]>>8&0xf)*100+(g_com_map[TCP_IP_3]>>4&0xf)*10+(g_com_map[TCP_IP_3]&0xf); port = g_com_map[TCP_PORT]; - g_com_map[VERSION] = (1<<8)|0; + g_com_map[VERSION] = (2<<8)|0; LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); // if(gpio_pin_get_val(MODE_CHANGE_PIN)) // LOG_INFO(TRACE_MODULE_APP,"固件版本:MK_Air_tag模式 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); @@ -365,7 +371,7 @@ int_unlock(lock); } int main(void) -{ +{ // Initialize MCU system board_init(); // Disable watchdog timer @@ -376,8 +382,10 @@ // power_init(); // mcu_deep_sleep(); if(gpio_pin_get_val(SLEEP_PIN)) - { +// if(1) + { if(gpio_pin_get_val(MODE_CHANGE_PIN))//记得改回来与正式的相反 +// if(0)//记得改回来与正式的相反 { LOG_INFO(TRACE_MODULE_APP,"固件版本:MK_Air_tag模式 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); // Platform init for WSF @@ -478,15 +486,20 @@ power_manage(); if(!gpio_pin_get_val(SLEEP_PIN)) { - gpio_pin_clr(LORA_NRST);//lora休眠 - LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n"); - mcu_deep_sleep(); + delay_ms(300); + //LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");//会打断休眠 + //gpio_pin_clr(LORA_NRST);//lora休眠 + //spi_close(SPI_ID0); + lora_in_sleep(); + power_init(); + mcu_deep_sleep(); } } }else{ LOG_INFO(TRACE_MODULE_APP,"固件版本:MK_免布线模式 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); uart0_Init_normal(); Lora_1268_Init(); + //LOG_INFO(TRACE_MODULE_APP," 切换6\r\n"); SwitchLoraSettings(478,7,22); Uwb_init();//默认为我们测距配置 OpenUWB(); @@ -503,23 +516,29 @@ send_flag=0; } uwb_app_poll();//我们的测距逻辑 - if(flag_secondtask) - { - flag_secondtask = 0; - SecondTask(); - //Lora_Tx_Poll(); - } + if(flag_secondtask) + { + flag_secondtask = 0; + SecondTask(); + //Lora_Tx_Poll(); + } Lora_Tx_Poll(); +// LoraUp_Poll();//网关升级 // if(!gpio_pin_get_val(SLEEP_PIN)) // { +// delay_ms(300); +// //LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");//会打断休眠 // //gpio_pin_clr(LORA_NRST);//lora休眠 -// LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n"); +// //spi_close(SPI_ID0); +// lora_in_sleep(); +// power_init(); // mcu_deep_sleep(); // } IdleTask(); } } }else{ + delay_ms(300); //LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");//会打断休眠 //gpio_pin_clr(LORA_NRST);//lora休眠 -- Gitblit v1.9.3