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