From 77d70d856aa5f5afb114379e2a23c7b6224b7535 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期四, 03 十一月 2022 10:13:05 +0800 Subject: [PATCH] V1.38 1.修改电量检测逻辑 2.修改UWB冲突避免逻辑 3.优化代码节省电量 功耗测试: 0hz 0.07ma 1hz 0.8ma 2hz 1.5ma 5hz 3.5ma 10hz 7.1ma --- Src/application/dw_app.c | 24 ++++++++++-------------- 1 files changed, 10 insertions(+), 14 deletions(-) diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c index 0fd9a2a..600566f 100644 --- a/Src/application/dw_app.c +++ b/Src/application/dw_app.c @@ -30,7 +30,7 @@ #include "beep.h" #include "modbus.h" -#define USART_INTEGRATE_OUTPUT +//#define USART_INTEGRATE_OUTPUT /*------------------------------------ Marcos ------------------------------------------*/ /* Inter-ranging delay period, in milliseconds. */ #define RNG_DELAY_MS 100 @@ -78,7 +78,7 @@ NEARPOLL, }tag_state=NEARPOLL; static dwt_config_t config = { - 2, /* Channel number. */ + 5, /* Channel number. */ DWT_PRF_64M, /* Pulse repetition frequency. */ DWT_PLEN_128, /* Preamble length. */ DWT_PAC8, /* Preamble acquisition chunk size. Used in RX only. */ @@ -337,7 +337,7 @@ flag_getresponse=0; start_count=HAL_LPTIM_ReadCounter(&hlptim1); recbase_num=0; - timeout=ceil((float)nearbase_num*SLOT_SCALE)+3; + timeout=nearbase_num*SLOT_SCALE+4; end_count=start_count+(timeout<<5); if(end_count>=32768) {end_count-=32768;} @@ -499,12 +499,7 @@ if(mainbase_lost_count>tag_frequency*BASELOST_STOPMOTOR_TIME) {motor_state=0; } dwt_write32bitreg(SYS_STATUS_ID,SYS_STATUS_RXFCG| SYS_STATUS_ALL_RX_ERR); - nearbase_num=recbase_num; - j=0; - if(mainbase_lost_count>1) - { - last_lpcount+= HAL_LPTIM_ReadCounter(&hlptim1)%(g_com_map[COM_INTERVAL]*16); - } + nearbase_num=recbase_num; // tyncpoll_time=0; next_nearbase_num=0; for(i=0;i<last_nearbase_num+get_newbase;i++) @@ -518,10 +513,11 @@ exsistbase_list[i]--; } } - - if(recbase_num<3) - {next_nearbase_num=next_nearbase_num;} - last_nearbase_num = next_nearbase_num; + if(mainbase_lost_count>1&&exsistbase_list[0] != 0) + { + last_lpcount+= HAL_LPTIM_ReadCounter(&hlptim1)%(g_com_map[COM_INTERVAL]*16); + } + last_nearbase_num = next_nearbase_num; for(i=0;i<last_nearbase_num-1;i++) { for(j=0;j<last_nearbase_num-1;j++) @@ -650,6 +646,6 @@ //GPIO_WriteBit(EU_TX_GPIO, EU_RX_PIN, Bit_RESET); break; } - bat_percent=Get_Battary_UWB(); + bat_percent=Get_VDDVlotage(); dwt_entersleep(); } -- Gitblit v1.9.3