From 7b8a137768f244173209f115738366efa7878b2f Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期五, 28 十月 2022 10:32:55 +0800 Subject: [PATCH] V1.36 1.增加UWB芯片电量检测 2.解决基站轮流丢包的问题。 --- Src/application/dw_app.c | 41 +++++++++++++++++------------------------ 1 files changed, 17 insertions(+), 24 deletions(-) diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c index 52189c7..0fd9a2a 100644 --- a/Src/application/dw_app.c +++ b/Src/application/dw_app.c @@ -78,7 +78,7 @@ NEARPOLL, }tag_state=NEARPOLL; static dwt_config_t config = { - 5, /* Channel number. */ + 2, /* Channel number. */ DWT_PRF_64M, /* Pulse repetition frequency. */ DWT_PLEN_128, /* Preamble length. */ DWT_PAC8, /* Preamble acquisition chunk size. Used in RX only. */ @@ -296,6 +296,7 @@ u32 rec_tagpos_binary; int16_t offset=2700; u8 motor_state,rec_remotepara_state,rec_remotepara[80]; +extern u16 last_lpcount; void NearPoll(void) { @@ -446,18 +447,18 @@ {flag_getresponse=1;} lastsync_timer=sync_timer; offsettimeus=ancsync_time-current_count*LPTIMER_LSB+offset; - SetNextPollTime(tyncpoll_time); - if(rec_remotepara_state==1) - { - memcpy(rec_remotepara,&rx_buffer[REMOTEPARA_INDEX],REMOTEPARA_LEN); - memcpy(&g_com_map[COM_INTERVAL],&rec_remotepara[0],8); - memcpy(&g_com_map[POWER],&rec_remotepara[8],10); - if(g_com_map[COM_INTERVAL]>0&&g_com_map[COM_INTERVAL]<1000&&g_com_map[POWER]<67&&g_com_map[POWER]>0) - {save_com_map_to_flash(); - delay_ms(100); - } - NVIC_SystemReset(); - } +// SetNextPollTime(tyncpoll_time); +// if(rec_remotepara_state==1) +// { +// memcpy(rec_remotepara,&rx_buffer[REMOTEPARA_INDEX],REMOTEPARA_LEN); +// memcpy(&g_com_map[COM_INTERVAL],&rec_remotepara[0],8); +// memcpy(&g_com_map[POWER],&rec_remotepara[8],10); +// if(g_com_map[COM_INTERVAL]>0&&g_com_map[COM_INTERVAL]<1000&&g_com_map[POWER]<67&&g_com_map[POWER]>0) +// {save_com_map_to_flash(); +// delay_ms(100); +// } +// NVIC_SystemReset(); +// } }else{ rec_nearbasepos=FindNearBasePos(rec_nearbaseid); @@ -500,18 +501,9 @@ dwt_write32bitreg(SYS_STATUS_ID,SYS_STATUS_RXFCG| SYS_STATUS_ALL_RX_ERR); nearbase_num=recbase_num; j=0; - if(exsistbase_list[0]==0) + if(mainbase_lost_count>1) { -// u8 temp_adc,random_value; -// random_value=0; -// for(i=0;i<8;i++) -// { -// temp_adc=Get_ADC_Value(); -// random_value=random_value|((temp_adc&0x01)<<i); -// } - tagslotpos=GetRandomSlotPos(rec_tagpos_binary); - tyncpoll_time = (tagslotpos--%max_slotpos)*slottime; - SetNextPollTime(tyncpoll_time); + last_lpcount+= HAL_LPTIM_ReadCounter(&hlptim1)%(g_com_map[COM_INTERVAL]*16); } // tyncpoll_time=0; next_nearbase_num=0; @@ -658,5 +650,6 @@ //GPIO_WriteBit(EU_TX_GPIO, EU_RX_PIN, Bit_RESET); break; } + bat_percent=Get_Battary_UWB(); dwt_entersleep(); } -- Gitblit v1.9.3