From 950676ea7305bb90e08ec88bcac40e4c47fcefca Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期四, 15 五月 2025 11:06:38 +0800 Subject: [PATCH] 添加计步以及测距 --- keil/include/src/Radio/lora_1268.c | 29 +++++++++++++++++++++++++---- 1 files changed, 25 insertions(+), 4 deletions(-) diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c index d5e534b..c386211 100644 --- a/keil/include/src/Radio/lora_1268.c +++ b/keil/include/src/Radio/lora_1268.c @@ -15,6 +15,7 @@ #include "HIDO_TypeDef.h" #include "PCA9555.h" #include "mk_misc.h" +//#include "lis3dh_driver.c" /********************************************结构体**************************************************************/ typedef enum { @@ -183,6 +184,9 @@ extern uint8_t stationary_flag; extern uint8_t SOS_KEY_STATE; uint32_t LORA_POLL_COUNT=0; +extern uint32_t step_count; +uint8_t step_count_rep; +//extern u16_m f_step; void LoraReportPoll(void) { // delay_ms(100); @@ -195,13 +199,13 @@ printf("气压值:%d",intheight); #endif -// TagListUpdate(); + TagListUpdate(); LoraReportFreqPoll(); flag_getwgresp = 0; - SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,g_com_map[LORA_POWER]); - + SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22); + mir3da_get_step(); if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包 { heatbeat_count = 0; @@ -278,12 +282,18 @@ memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+1],&DMA_RXBuf_BT[0],BT_NUM*2+1); //基站ID memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*2+2],&DMA_RXBuf_BT[1+BT_NUM*2],BT_NUM*2);//基站距离 lora_sendbuffer[MSG_LENGTH] = LORA_RETRANSNUSSION_BT+4*BT_NUM+2; + + if(step_count < 0) + step_count=0; + lora_sendbuffer[STEP_COUNT] = (uint8_t)(step_count % 256); + // } // if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D) // { checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+BT_ANCID_IDX+3); memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*4+2],&checksum,2); BT_SEND_flag=BT_ANCID_IDX+report_ancnum*4+BT_NUM*4+5; + Radio.Send(lora_sendbuffer,BT_SEND_flag); LORA_POLL_COUNT++; // LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0); @@ -543,7 +553,7 @@ // } // if(abs(sleep_time_count_LAST-sleep_time_count)>2000||REV_WG_pack==1) // { - sleep_timer_start(sleep_time_count); +// sleep_timer_start(sleep_time_count); time_count++; // } break; @@ -592,6 +602,17 @@ break; } } + if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_RANGEPOLL) + { + +// uwb_open(); + +//// UwbRange(); + +// uwb_ceju_count++; + } + + } } -- Gitblit v1.9.3