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/main.c | 29 +++++++++++++++++------------ 1 files changed, 17 insertions(+), 12 deletions(-) diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" index b592840..5df77bb 100644 --- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" +++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" @@ -82,10 +82,10 @@ void ComMapCheck(void) { - if(g_com_map[ANT_LENGTH]>10000) - { - g_com_map[ANT_LENGTH] = 0; - } +// if(g_com_map[ANT_LENGTH]>10000) +// { +// g_com_map[ANT_LENGTH] = 0; +// } if(g_com_map[WAR_JDQ_TIME]>1000||g_com_map[WAR_JDQ_TIME]<0) { g_com_map[WAR_JDQ_TIME] = 1; @@ -99,8 +99,9 @@ if(dist_threshold>15000) {dist_threshold = 15000;} } -u16 JDQ_time; +u16 JDQ_time,supergroupid; int16_t g_commap_antdelay; +extern float fiter_p; void Program_Init(void) { float temp; u16 temp2; @@ -145,7 +146,8 @@ OUT485_ENABLE; ComMapCheck(); - g_com_map[VERSION] = 0x013a; + g_com_map[VERSION] = (1<<8)|72; + supergroupid = g_com_map[IMU_THRES]; FLASH_Read(FLASH_HARDWARE_FLAG, (uint8_t*)&g_com_map[HARDWAREFLAG_INDEX], 16); dist_threshold = (g_com_map[SPEEDFILTER_THRES]*10)/(1000/g_com_map[COM_INTERVAL]); g_commap_antdelay = g_com_map[ANT_LENGTH]; @@ -158,9 +160,11 @@ tyncpoll_time=(g_com_map[DEV_ID]%max_slotpos)*slottime; module_power = g_com_map[POWER]; total_slotnum = 1000/g_com_map[COM_INTERVAL]; - vel_factor=g_com_map[FILTER_COEFFICIENT]; - pos_factor=g_com_map[FILTER_COEFFICIENT]; - + vel_factor=g_com_map[FILTER_COEFFICIENT]; + pos_factor=g_com_map[FILTER_COEFFICIENT]; + if(g_com_map[FILTER_COEFFICIENT]>100) + g_com_map[FILTER_COEFFICIENT] = 100; + fiter_p = (float)g_com_map[FILTER_COEFFICIENT]/100; if(module_power>67) { module_power=67; @@ -305,7 +309,7 @@ } } - +extern uint8_t dissucc_times; int main(void) { @@ -327,8 +331,9 @@ g_start_sync_flag=0; if(g_start_send_flag) { - g_start_send_flag = 0; - Tag_App(); + g_start_send_flag = 0; + if(dissucc_times<2) + Tag_App(); } IdleTask(); if(g_com_map[DEV_ROLE]==0) -- Gitblit v1.9.3