From 9a51eb7d3ad95c533c29cf657433a7f62f2106da Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期五, 25 四月 2025 10:30:13 +0800 Subject: [PATCH] 加入上传从小到大排序,最多6个基站跟升级完善 --- keil/uwb_app.c | 43 +++++++++++++++++++++++++++++++++++++++---- 1 files changed, 39 insertions(+), 4 deletions(-) diff --git a/keil/uwb_app.c b/keil/uwb_app.c index 1b87047..d6a5764 100644 --- a/keil/uwb_app.c +++ b/keil/uwb_app.c @@ -230,6 +230,8 @@ extern uint16_t mubiao_anchor_ID; uint8_t Lora_qingqiu_flag; extern uint16_t Lora_qingqiu_bao; +uint8_t shengji_flag; +extern uint8_t Dtu_shengji_jindu[20]; static void rx_int_callback(struct MAC_HW_REPORT_T *rx_report) { uint8_t valid_sts=0; uint16_t checksum1 = 0,dest_id; @@ -252,7 +254,7 @@ receive_flag=1; // uart_send(UART_ID0, rx_buf,rx_length, NULL); gpio_pin_toggle(IO_PIN_4); - if(rx_buf[MESSAGE_TYPE_IDX]==MBX_POLL) + if(rx_buf[MESSAGE_TYPE_IDX]==MBX_POLL&&!shengji_flag) { Anchor_App(); } @@ -265,6 +267,7 @@ { if(!memcmp(&dev_id,&dest_id,2)/*||dest_id==0xffff||(dest_id==0xfffe&&get_channel==5)*/) { + shengji_flag=1; switch(rx_buf[MSG_TYPE_IDX]) { case LORA_MSGTYPE_UPDATE_CONFIRM: @@ -286,8 +289,13 @@ break; case 0x99: - LOG_INFO(TRACE_MODULE_APP, "收到结束升级请求\r\n",Lora_qingqiu_bao); - delay_ms(500); +// LOG_INFO(TRACE_MODULE_APP, "收到结束升级请求\r\n",Lora_qingqiu_bao); + delay_ms(200); + Dtu_shengji_jindu[4]=100; + memcpy(&Dtu_shengji_jindu[5],&mubiao_anchor_ID,2); + uart_send(UART_ID0, Dtu_shengji_jindu,9, NULL); + + delay_ms(1000); // Lora_upanc_flag=0; Lora_qingqiu_flag=0; NVIC_SystemReset(); @@ -650,6 +658,33 @@ if(HIDO_TimerGetTick()-uwbtasktimer >=1) { + + for(uint16_t i=0;i<taglist_num-1;i++) + { + for(uint16_t j=0;j<taglist_num-1-i;j++) + { + if(tagdist_list[j]>tagdist_list[j+1]) + { + uint16_t id,dist,version; + uint8_t bat; + id = tagid_list[j]; + dist = tagdist_list[j]; + version = anchordata_version[j]; + tagid_list[j] = tagid_list[j+1]; + tagdist_list[j] = tagdist_list[j+1]; + anchordata_version[j] = anchordata_version[j+1]; + tagid_list[j+1] = id; + tagdist_list[j+1] = dist; + anchordata_version[j+1] = version; + } + } + + } + + if(taglist_num>6) + { + taglist_num=6; + } uwbtasktimer = HIDO_TimerGetTick(); UWBOneSecondTask(); uwbsend[0]=0x55; @@ -886,7 +921,7 @@ phy_rx_ant_mode_set(RX_ANT_PORTS_COMBINATION); #endif // Set calibration parameters - config.phy_cfg.ch_num=g_com_map[NEARBASE_ID1]; +// config.phy_cfg.ch_num=g_com_map[NEARBASE_ID1]; uwb_calibration_params_set(config.phy_cfg.ch_num); #ifndef STS_MODE // set advanced parameters -- Gitblit v1.9.3