From 7b81c9f59686b683618cf95bd7f51951cdb1afed Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 08 八月 2025 17:46:41 +0800 Subject: [PATCH] 去掉所有调试打印,改为55AA12URT报文输出 --- keil/uwb_app.c | 63 ++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 15 deletions(-) diff --git a/keil/uwb_app.c b/keil/uwb_app.c index d6a5764..da9c81a 100644 --- a/keil/uwb_app.c +++ b/keil/uwb_app.c @@ -472,7 +472,7 @@ //void TagListUpdate(void) //{ // uint8_t i,j=0; -// for(i=0; i<anchordata_num; i++) +// for(i=0; i<taglist_num; i++) // { // if(tagofflinetime[i]++<QUIT_SLOT_TIME) // { @@ -480,18 +480,18 @@ // tagofflinetime[j++]=tagofflinetime[i]; // } // } -// anchordata_num=j; +// taglist_num=j; //} void TagListUpdate(void) { uint16_t i,j=0,k=0; for(i=0; i<taglist_num; i++) { - if(tagofflinetime[i]++<TAG_KEEPTIMES) + if(tagofflinetime[i]++<10) { tagid_list[j]=tagid_list[i]; tagdist_list[j] = tagdist_list[i]; - anchordata_bat[j]=anchordata_bat[i];//电量随之更新 + anchordata_bat[j]=anchordata_bat[i];//电量随之更新 anchordata_version[j]=anchordata_version[i]; tagofflinetime[j++]=tagofflinetime[i]; } @@ -651,8 +651,10 @@ if(uwb_losttimer>g_com_map[UWB_RNAGE_TIME]) uwb_losttimer=g_com_map[UWB_RNAGE_TIME]+1;//防止溢出 } -uint8_t uwbsend[200]; - +uint8_t uwbsend[1000]; +static uint8_t usart_send[1024]; +extern uint8_t bat_percent; +uint16_t tagseq=0; void UWBIdleTask(void) { @@ -681,10 +683,10 @@ } - if(taglist_num>6) - { - taglist_num=6; - } +// if(taglist_num>6) +// { +// taglist_num=6; +// } uwbtasktimer = HIDO_TimerGetTick(); UWBOneSecondTask(); uwbsend[0]=0x55; @@ -694,11 +696,42 @@ memcpy(&uwbsend[4],&tagid_list,taglist_num*2); memcpy(&uwbsend[4+taglist_num*2],&tagdist_list,taglist_num*2); memcpy(&uwbsend[4+taglist_num*4],&anchordata_version,taglist_num*2); - uart_send(UART_ID0, uwbsend,taglist_num*6+4, NULL); - taglist_num=0; -// for(int i=0;i<anchordata_num;i++) + + //新增URT协议 +if(taglist_num>20) //最多上传20个基站数据,距离最近的20个 +{taglist_num = 20; +} +usart_send[0] = 0x55;//正常6模式 +usart_send[1] = 0xAA;//正常模式 +usart_send[2] = 0x12;//正常模式 +usart_send[3] = 15+5*(taglist_num);//数据段长度 +memcpy(&usart_send[4],&g_com_map[DEV_ID],2); +usart_send[6] = tagseq; +usart_send[7] = (tagseq++)>>8; +usart_send[8] = bat_percent; +//usart_send[9] = userkey_state|stationary_flag<<1|gotosleep_flag<<2|motor_flag<<5|uwb_state<<6; + usart_send[9]=0; +// memcpy(&usart_send[10],&rec_tagheight,2); +usart_send[12] = 0; +usart_send[13] = 0; +usart_send[14] = 0; +usart_send[15] = 0; +usart_send[16] = taglist_num; +uint16_t checksum; +memcpy(&usart_send[17],&tagid_list,2*taglist_num); +memcpy(&usart_send[17+taglist_num*2],&tagdist_list,2*taglist_num); +memcpy(&usart_send[17+taglist_num*4],&anchordata_bat,taglist_num); +checksum = Checksum_u16(&usart_send[2],15+5*taglist_num); +memcpy(&usart_send[17+5*taglist_num],&checksum,2); +uart_send(UART_ID0, &usart_send,19+5*taglist_num, NULL); +while(uart_tx_in_progress(UART_ID0)); + //URT输出协议 +// uart_send(UART_ID0, uwbsend,taglist_num*6+4, NULL); + // taglist_num=0; +// LOG_INFO(TRACE_MODULE_APP,"当前测距基站数量%d.\r\n",taglist_num); +// for(int i=0;i<taglist_num;i++) // { -// LOG_INFO(TRACE_MODULE_APP,"当前测距基站ID:%x,距离:%d.\r\n",tagid_list[0],tagdist_list[0]); +// LOG_INFO(TRACE_MODULE_APP,"当前测距基站ID:%x,距离:%d.\r\n",tagid_list[i],tagdist_list[i]); // } } } @@ -823,7 +856,7 @@ current_count=phy_timer_count_get(); while(mac_is_busy()) { - Calibration_Time(); +// Calibration_Time(); IdleTask(); current_count=phy_timer_count_get(); if(current_count>end_receive_count&¤t_count<end_receive_count+HALF_SECOND_TIME) -- Gitblit v1.9.3