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