From 1ed0e9100899ee15b4f5da46ff5f65db79b1fdf7 Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期一, 29 六月 2020 23:23:46 +0800 Subject: [PATCH] 远程改参数测试完成 --- Src/application/dw_app.c | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c index 50fba29..77b7804 100644 --- a/Src/application/dw_app.c +++ b/Src/application/dw_app.c @@ -294,6 +294,7 @@ u8 nearbase_num=0,last_nearbase_num,next_nearbase_num,last_slotnum; u32 rec_tagpos_binary; int16_t offset=2700; +u8 motor_state,rec_remotepara_state,rec_remotepara[30]; void NearPoll(void) { @@ -331,7 +332,7 @@ flag_getresponse=0; start_count=HAL_LPTIM_ReadCounter(&hlptim1); recbase_num=0; - timeout=ceil((float)nearbase_num*0.6)+20; + timeout=ceil((float)nearbase_num*0.6)+2; end_count=start_count+(timeout<<5); if(end_count>=32768) {end_count-=32768;} @@ -409,6 +410,8 @@ exsistbase_list[rec_nearbasepos]=KEEP_TIMES; memcpy(&temp_dist,&rx_buffer[DIST_IDX],4); nearbase_distlist[rec_nearbasepos]=temp_dist; + motor_state=rx_buffer[MOTORSTATE_INDEX]&0xf; + rec_remotepara_state=rx_buffer[MOTORSTATE_INDEX]>>4; mainbase_lost_count=0; flag_finalsend=1; @@ -437,6 +440,17 @@ lastsync_timer=sync_timer; offsettimeus=ancsync_time-current_count*LPTIMER_LSB+offset; SetNextPollTime(tyncpoll_time); + if(rec_remotepara_state&&rec_remotepara_state!=g_com_map[REMOTEPARA_STATE]) + { + g_com_map[REMOTEPARA_STATE]=rec_remotepara_state; + 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); + save_com_map_to_flash(); + delay_ms(100); + NVIC_SystemReset(); + + } // count_offset=sync_count-current_count-143; // current_slottimes=(ancsync_time-10000)/(g_com_map[COM_INTERVAL]*1000); @@ -471,6 +485,11 @@ memcpy(&temp_dist,&rx_buffer[DIST_IDX],4); nearbase_distlist[rec_nearbasepos]=temp_dist; + if(motor_state<rx_buffer[MOTORSTATE_INDEX]&&rx_buffer[MOTORSTATE_INDEX]!=3) + { + motor_state=rx_buffer[MOTORSTATE_INDEX]; + } + final_msg_set_ts(&tx_near_msg[FINAL_MSG_RESP_RX_NEARBASE_IDX+(rec_nearbasepos)*4], resp_rx_ts); dwt_writetxdata(28+nearbase_num*4, tx_near_msg, 0);//将发送数据写入DW1000 dwt_writetxfctrl(28+nearbase_num*4, 0);//设定发送数据长度 -- Gitblit v1.9.3