From 815ea18d897111c4bf70861277acf94201ccf60a Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期五, 14 十月 2022 16:25:59 +0800
Subject: [PATCH] V1.72 增加滤波器 增加频率可调

---
 源码/核心板/Src/application/dw_app.c |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
index efe02fb..72fcfc2 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
@@ -319,6 +319,7 @@
 u8 exsistbase_list[MAX_NEARBASE_NUM],report_num,get_newbase=0,rec_extratag_battary;
 u16 temp_sync_timer1,temp_sync_timer2,rec_extratag_id,success_ancid;
 int32_t rec_extratag_dist;
+uint8_t usart_send_array[5][21],usart_array_num;
  void NearPoll(void)
 {
 	static u8 mainbase_lost_count=0,flag_finalsend,flag_rxon;
@@ -494,7 +495,8 @@
 										usart_send[14] = button;
 										checksum = Checksum_u16(&usart_send[2],17);
 										memcpy(&usart_send[19],&checksum,2);
-										UART_PushFrame(usart_send,21);
+										//UART_PushFrame(usart_send,21);
+                                        memcpy(&usart_send_array[usart_array_num++],usart_send,21);
                                         usartoutput_count++;
 										#endif
 									
@@ -511,7 +513,8 @@
 										usart_send[14] = button;
 										checksum = Checksum_u16(&usart_send[2],17);
 										memcpy(&usart_send[19],&checksum,2);
-										UART_PushFrame(usart_send,21);
+                                         memcpy(&usart_send_array[usart_array_num++],usart_send,21);
+										//UART_PushFrame(usart_send,21);
 										#endif
 									}
                                 }
@@ -566,7 +569,8 @@
 										usart_send[14] = button;
 										checksum = Checksum_u16(&usart_send[2],17);
 										memcpy(&usart_send[19],&checksum,2);
-										UART_PushFrame(usart_send,21);
+										//UART_PushFrame(usart_send,21);
+                                         memcpy(&usart_send_array[usart_array_num++],usart_send,21);
                                         usartoutput_count++;
 										#endif
                                     
@@ -593,7 +597,8 @@
 										usart_send[14] = button;
 										checksum = Checksum_u16(&usart_send[2],17);
 										memcpy(&usart_send[19],&checksum,2);
-										UART_PushFrame(usart_send,21);
+                                        memcpy(&usart_send_array[usart_array_num++],usart_send,21);
+										//UART_PushFrame(usart_send,21);
 										#endif
 									}
                                 }
@@ -934,6 +939,7 @@
 u8 misdist_num[TAG_NUM_IN_SYS],seize_anchor,getrange_success=0;
 int32_t filter_dist,filter_speed;
 u8 newmeasure,recpoll_len;
+float fiter_p;
 u8 Anchor_RecNearPoll(u8 ancrec_nearbasepos) //0 mainbase  1 first near_base
 {
 	u8 motorstate;
@@ -1074,7 +1080,12 @@
                         //filter_speed = vel_predict[taglist_pos];
                         newmeasure = 1;
 						#else
-						filter_dist=hex_dist/10;
+                        if(tagdist_list[taglist_pos]>0&&tagdist_list[taglist_pos]<50000)
+						{
+                            filter_dist=(hex_dist/10)*fiter_p+(1-fiter_p)*tagdist_list[taglist_pos];
+                        }else{
+                            filter_dist = hex_dist/10;
+                        }
 						#endif
 						misdist_num[taglist_pos]=0;
 					tagdist_list[taglist_pos] = filter_dist;

--
Gitblit v1.9.3