From 97091dac1bfcad87e0e3f8bb3fc718c1254d97d2 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期五, 15 八月 2025 13:50:06 +0800 Subject: [PATCH] 2.3,加入下发开关uwb接收 --- keil/include/main/main.c | 62 +++++++++++++++++++----------- 1 files changed, 39 insertions(+), 23 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index a4f638e..b34dd9a 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--; } @@ -162,15 +168,15 @@ // }else{ // gps_open_flag=1; // } - g_com_map[MODBUS_MODE] = 0; +// g_com_map[MODBUS_MODE] = 0; log_4g_enable_flag=g_com_map[LOG_4G_ENABLE]; ip0 = (g_com_map[TCP_IP_0]>>12&0xf)*1000+(g_com_map[TCP_IP_0]>>8&0xf)*100+(g_com_map[TCP_IP_0]>>4&0xf)*10+(g_com_map[TCP_IP_0]&0xf); ip1 = (g_com_map[TCP_IP_1]>>12&0xf)*1000+(g_com_map[TCP_IP_1]>>8&0xf)*100+(g_com_map[TCP_IP_1]>>4&0xf)*10+(g_com_map[TCP_IP_1]&0xf); 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; - LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); + g_com_map[VERSION] = (2<<8)|3; + LOG_INFO(TRACE_MODULE_APP,"设备ID: %x 小组id %d .\r\n",dev_id,g_com_map[GROUP_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); // else{ @@ -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 @@ -491,10 +499,17 @@ 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"); + //LOG_INFO(TRACE_MODULE_APP," 切换6\r\n"); SwitchLoraSettings(478,7,22); Uwb_init();//默认为我们测距配置 + if(g_com_map[MODBUS_MODE]==0) + { OpenUWB(); + } + if(g_com_map[MODBUS_MODE]==1) + { + CloseUWB(); + } uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); uart_receive(UART_ID0,m_EUART0_DMA_RXBuf,EUART0_RX_BUF_SIZE,uart0_receive_callback); power_init(); @@ -508,23 +523,24 @@ 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(); - if(!gpio_pin_get_val(SLEEP_PIN)) - { - 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(); - } +// 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休眠 +// //spi_close(SPI_ID0); +// lora_in_sleep(); +// power_init(); +// mcu_deep_sleep(); +// } IdleTask(); } } -- Gitblit v1.9.3