From cbe3b0a4c27e0d28628e4c57a7835526591c6201 Mon Sep 17 00:00:00 2001
From: yincheng.zhong <634916154@qq.com>
Date: 星期三, 06 三月 2024 22:10:15 +0800
Subject: [PATCH] V1.5 增加电量,心跳包功能,但是好像有bug,一段时间后UWB不测距。

---
 Src/application/dw_mbx_anc.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/Src/application/dw_mbx_anc.c b/Src/application/dw_mbx_anc.c
index fcb8a44..25a62aa 100644
--- a/Src/application/dw_mbx_anc.c
+++ b/Src/application/dw_mbx_anc.c
@@ -75,17 +75,16 @@
 {
 
 }
-#define HEATBEAT_UPDATE_TIME_S 3600  //心跳包一个小时上传一次
+#define HEATBEAT_UPDATE_TIME_S 600  //心跳包一个小时上传一次
 static uint16_t current_count,target_count,wg_report_id;
-uint16_t heartbeat_count;
+uint16_t heartbeat_count = HEATBEAT_UPDATE_TIME_S;
 static uint8_t heatbeat_buffer[100];
-uint8_t diyicichongqi=1;
+
 void HeartbeatPoll(uint16_t wangguanid)
 {//心跳包上传 ID 版本号 小组 UWB功率 LORA功率 UWB发送时间 
     heartbeat_count+=sync_interval_s;
-    if(heartbeat_count>HEATBEAT_UPDATE_TIME_S||diyicichongqi)
-    {   
-        diyicichongqi=0;
+    if(heartbeat_count>HEATBEAT_UPDATE_TIME_S)
+    {     
         uint16_t checksum1 = 0;
         heartbeat_count = 0;
         heatbeat_buffer[MSG_TYPE_IDX] = LORA_MSGTYPE_ANC_HEARTBEAT;
@@ -109,9 +108,9 @@
 void LoraSendComMap(uint8_t cmd)
 {
 	uint16_t checksum = 0;
-    data_length = 0x50;
+    data_length = 80;
 	lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_READPARARESP;
-	lora_sendbuffer[MSG_LENGTH] = data_length+9;
+	lora_sendbuffer[MSG_LENGTH] = data_length+11;
     memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
     memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
 	lora_sendbuffer[RP_CMD_IDX] = cmd;
@@ -171,6 +170,7 @@
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
        if(flag_sync_success)  //同步成功
        {   uint16_t wangguanid,checksum1;
+           printf("同步成功\r\n");
            lora_recbuffer_len = GetLoraBufferAndLen(lora_recbuffer,&rec_sync_count);//获取LORA收到的数据和长度
            checksum1=Checksum_u16(lora_recbuffer,lora_recbuffer_len-2);
         if(!memcmp(&checksum1,&lora_recbuffer[lora_recbuffer_len-2],2))  //CRC16校验是否通过
@@ -227,6 +227,7 @@
        }
        }else{
          //  LED_LR_ON;
+           printf("同步失败\r\n");
             if(sync_lost_count++>SYNCLOST_THRES)
             {
                 sync_state = Sync_Lost;
@@ -506,7 +507,7 @@
             HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
             Anchor_Vcc_Flag=0;
             MX_ADC_DeInit();
-            bat_volt = 3*(float)verfint_cal/AD_value[50]-0.28;
+            bat_volt = 3*(float)verfint_cal/AD_value[21]-0.1;
             bat_percent=bat_volt*100-200;
         }
 #ifdef _USE_BAR_

--
Gitblit v1.9.3