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