From 5ee4fd97245fed0d45fb60d1aa38cca83e788ed5 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期二, 20 五月 2025 16:13:14 +0800 Subject: [PATCH] 修改了计步逻辑还有蓝牙上传逻辑 --- keil/include/src/Radio/lora_1268.c | 46 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 36 insertions(+), 10 deletions(-) diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c index d5e534b..3141d79 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 { @@ -172,7 +173,7 @@ extern uint8_t DMA_RXBuf_BT[200]; extern uint8_t report_ancnum; extern uint8_t report_ancnum_bt; -uint32_t BT_SEND_flag=0; +uint32_t BT_SEND_lenth=0; uint8_t BT_NUM=0; extern uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM]; extern uint8_t bat_percent; @@ -183,6 +184,11 @@ 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; +extern uint8_t uwbled,gpsled,loraled,powerled; +extern uint8_t exercise_state; void LoraReportPoll(void) { // delay_ms(100); @@ -200,8 +206,8 @@ 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; @@ -247,7 +253,8 @@ memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2); memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2); lora_sendbuffer[SEQNUM_IDX] = seq_num++; - lora_sendbuffer[BAT_IDX] = bat_percent; + lora_sendbuffer[BAT_IDX] = bat_percent;//(uint8_t)(step_count % 256); +// lora_sendbuffer[BAT_IDX] = (uint8_t)(step_count % 256); lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1; //GET_USERKEY这个是那个lora——busy那个引脚 // lora_sendbuffer[STATE_IDX]=0x01; @@ -278,13 +285,21 @@ 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; + + //保留位3 + if(step_count < 0) + step_count=0; + lora_sendbuffer[STEP_COUNT] = (uint8_t)(step_count % 256); + lora_sendbuffer[EXERCISE_STATE]=exercise_state; + lora_sendbuffer[RESERVED_POSITION]=0; // } // 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); + BT_SEND_lenth=BT_ANCID_IDX+report_ancnum*4+BT_NUM*4+5; + + Radio.Send(lora_sendbuffer,BT_SEND_lenth); LORA_POLL_COUNT++; // LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0); // } @@ -300,7 +315,7 @@ memset(DMA_RXBuf_BT, 0,200); memset(&lora_sendbuffer[ANCID_IDX],0,200); //LED_TB_ON; - LORA_LED_ON; + loraled=1; for(uint8_t i=0;i<3;i++) recnum[i] = 0; @@ -314,7 +329,7 @@ //uint16_t rec_value,rec_delaytime,rx_count,datalen_offset; uint8_t shengji_flag,time=5; -extern uint32_t uwbled,gpsled,loraled,powerled; +//extern uint32_t uwbled,gpsled,loraled,powerled; extern struct RxDoneMsg RxDoneParams; //extern uint8_t Lora_tx_ancnum; @@ -442,7 +457,7 @@ else { Radio.Rx( 50 ); - LORA_LED_OFF; + } } #define BUFFER_SIZE 255 // Define the payload size here @@ -543,7 +558,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 +607,17 @@ break; } } + if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_RANGEPOLL) + { + +// uwb_open(); + +//// UwbRange(); + +// uwb_ceju_count++; + } + + } } -- Gitblit v1.9.3