From 5f59088ed121193c358b0c2b95961b66593b79e5 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期五, 25 七月 2025 18:02:04 +0800 Subject: [PATCH] 修复偶尔mk测距不了的bug --- keil/include/src/Radio/lora_1268.c | 52 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 32 insertions(+), 20 deletions(-) diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c index 38c28fd..bd22c2e 100644 --- a/keil/include/src/Radio/lora_1268.c +++ b/keil/include/src/Radio/lora_1268.c @@ -187,6 +187,7 @@ extern uint8_t SOS_KEY_STATE; uint32_t LORA_POLL_COUNT=0; uint8_t test1,test2; +extern int poll_rx_num; #define GET_USERKEY gpio_pin_get_val(SOS_PIN) void LoraReportPoll(void) { @@ -206,14 +207,14 @@ //LOG_INFO(TRACE_MODULE_APP," 切换2\r\n"); //test1++; // LOG_INFO(TRACE_MODULE_APP," 切换9\r\n"); - //SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22); - SwitchLoraSettings(478,7,22); -// if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包 -// { -// heatbeat_count = 0; -// LoraHeartBeartPoll(); -// return; -// } + SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22); + //SwitchLoraSettings(478,7,22); + if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包 + { + heatbeat_count = 0; + LoraHeartBeartPoll(); + return; + } for(uint16_t i=0; i<report_ancnum-1; i++) { for(uint16_t j=0; j<report_ancnum-1-i; j++) @@ -264,8 +265,16 @@ // test2++; num // LOG_INFO(TRACE_MODULE_APP," 切换8\r\n"); //SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22); - // Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2); - Radio.Send(num,3); + Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2); + LOG_INFO(TRACE_MODULE_APP," 数量%d\r\n",poll_rx_num); + if(poll_rx_num==0) + { + CloseUWB(); + Uwb_init();//默认为我们测距配置 + OpenUWB(); + } + poll_rx_num=0; + //Radio.Send(num,3); } @@ -536,6 +545,7 @@ return (crc&0xffffu); } + void LoraUp_Poll() { uint16_t result ; uint16_t crc16; @@ -551,9 +561,10 @@ huifushengjibao_flag=0; LoraUp_flag=1; Radio.Send(send_lora_data,8);//基站发送升级确认回复 + delay_ms(1000); -LOG_INFO(TRACE_MODULE_APP," 切换7\r\n"); - // SwitchLoraSettings(LORA_UPCHANNEL_FRQ,LORA_UPCHANNEL_SF,22); //切换lora升级频点 +//LOG_INFO(TRACE_MODULE_APP," 切换7\r\n"); + SwitchLoraSettings(LORA_UPCHANNEL_FRQ,LORA_UPCHANNEL_SF,22); //切换lora升级频点 delay_ms(200); __disable_irq(); // FLASH_Read(APP_1OR2_ADRESS,(uint8_t*)&app1_or_app2,2); @@ -813,8 +824,9 @@ if(!no_rx_flag) { if(lora_jianting_flag&&LoraUp_flag==0) - { LOG_INFO(TRACE_MODULE_APP," 切换2\r\n"); -// SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); + { + //LOG_INFO(TRACE_MODULE_APP," 切换2\r\n"); + SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); Radio.Rx(0); } } @@ -826,8 +838,8 @@ Radio.Standby(); if(lora_jianting_flag) { - LOG_INFO(TRACE_MODULE_APP," 切换3\r\n"); - // SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); +// LOG_INFO(TRACE_MODULE_APP," 切换3\r\n"); + SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); Radio.Rx(0); } } @@ -838,8 +850,8 @@ if(lora_jianting_flag) { - LOG_INFO(TRACE_MODULE_APP," 切换4\r\n"); -// SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); + //LOG_INFO(TRACE_MODULE_APP," 切换4\r\n"); + SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); Radio.Rx(0); } } @@ -851,8 +863,8 @@ Radio.Standby(); if(lora_jianting_flag) { - LOG_INFO(TRACE_MODULE_APP," 切换5\r\n"); - // SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); + //LOG_INFO(TRACE_MODULE_APP," 切换5\r\n"); + SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0); Radio.Rx(0); } } -- Gitblit v1.9.3