From 28f37df5dd32d6630dbcc23dca88f6a3ae063d7f Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期五, 23 五月 2025 18:03:21 +0800 Subject: [PATCH] 移植了国产加速度计的计步逻辑,逻辑是30s没有步数进入休眠模式1分钟上传一次 --- keil/uwb_app.c | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/keil/uwb_app.c b/keil/uwb_app.c index b15bdfe..75ff6dd 100644 --- a/keil/uwb_app.c +++ b/keil/uwb_app.c @@ -64,6 +64,7 @@ int16_t elevation = 0; int16_t azimuth = 0; uint8_t fom = 0; +extern CountState_t current_state; int32_t distance; uint8_t taglist_num; float *sts_rssi=NULL; @@ -160,7 +161,7 @@ .phy_cfg.rx_ant_id = UWB_RX_ANT_3, /* UWB RX antenna port */ }; #endif -#ifdef UWB_DW1000_MBXJZ +#ifdef UWB_DW1000_MBXJZ_OLD static struct mk_uwb_configure config = { .phy_work_mode = (uint8_t)(PHY_TX | PHY_RX), .phy_cfg.ch_num = 5, /* Channel number. */ @@ -358,9 +359,7 @@ Anchor_App(); if(resp_tx_flag==0) { - OpenUWB(); - } // #ifdef STS_MODE // valid_sts= sts_valid_check(); @@ -711,8 +710,8 @@ // } // Set4LEDColor(uwbled,rtkled,led4g,powerled); - if(taglist_num>20) //最多上传20个基站数据,距离最近的20个 - taglist_num = 20; + if(taglist_num>14) //最多上传20个基站数据,距离最近的20个 + taglist_num = 14; usart_send[0]= 0x55; usart_send[1]= 0xaa; usart_send[2] = 0x12;//正常模式 @@ -739,6 +738,7 @@ // taglist_num = 0; // rxnum=0; } +extern uint32_t step_count; void UWBIdleTask(void) { // if(receive_flag) @@ -754,9 +754,13 @@ // } if(HIDO_TimerGetTick()-uwbtasktimer >=1) { + step_count = mir3da_get_step(); // 获取步数 uwbtasktimer = HIDO_TimerGetTick(); UWBOneSecondTask(); -// UWBSendUDPTask(); + if(g_com_map[UWBFrequency]==1) + { + UWBSendUDPTask(); + } } } int uwb_app_poll(void) @@ -768,6 +772,10 @@ { uint8_t i; uint16_t tempid; + uwb_offtime_count=0; + #ifdef CEJU_ZIUMIAN + current_state = STATE_NORMAL; + #endif if(group_id==rx_buf[GROUP_ID_IDX]&&rx_buf[MESSAGE_TYPE_IDX] == MBX_POLL)//判断是否是和自己是同一组通讯的且为poll包 { flag_recsuccess = 1; wltag_state=RANGE;//成功后从search切换为range @@ -782,8 +790,8 @@ memcpy(rec_ancdistlist,&rx_buf[FZ_NEARBASEID_INDEX+2*rec_nearbase_num],2*rec_nearbase_num); memcpy(&rec_antdelay,&rx_buf[FZ_NEARBASEID_INDEX+rec_nearbase_num*4],2); uwbled=BLUE; - uwb_offtime_count=0; - CountState_t current_state = STATE_SLEEP; + + // for(i=0; i<rec_nearbase_num; i++) // { // if(rec_ancidlist[i] == dev_id) -- Gitblit v1.9.3