From 4ac8869c86534136e97ed4bf738a83e65cdefafa Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期五, 14 三月 2025 10:31:03 +0800 Subject: [PATCH] 添加了新的协议内容,还添加了保留位 --- keil/include/src/Radio/lora_1268.c | 70 ++++++++++++++++------------------- 1 files changed, 32 insertions(+), 38 deletions(-) diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c index 6e0f48b..7dcbd08 100644 --- a/keil/include/src/Radio/lora_1268.c +++ b/keil/include/src/Radio/lora_1268.c @@ -180,6 +180,7 @@ extern uint16_t REV_POLL_NUM; extern uint16_t REPLY_POLL_NUM; uint16_t num[3]={0,0,0}; +extern uint8_t stationary_flag; void LoraReportPoll(void) { // delay_ms(100); @@ -240,18 +241,21 @@ lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_GPS; lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+30; #else - lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG; - lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+ANCID_IDX; + BT_NUM=DMA_RXBuf_BT[0]; +// lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG; + lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT; + lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+3; #endif 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[STATE_IDX] = !GET_USERKEY|stationary_flag<<1; //GET_USERKEY这个是那个lora——busy那个引脚 // lora_sendbuffer[STATE_IDX]=0x01; // lora_sendbuffer[GATEWAY_CHANL]=0x02; // lora_sendbuffer[CHANL_NUM]=0x03; - // lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1; + #ifdef USE_GPS memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8); memcpy(&lora_sendbuffer[GPS_WEIDU_IDX],&gps_jingdu,8); @@ -261,46 +265,36 @@ lora_sendbuffer[GPS_SPOWER_IDX] = gps_signalpower; lora_sendbuffer[GPS_CHAFENLINGQI] = gps_chafenlingqi; #endif - // memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&bar_height,2); -// memcpy(&report_ancid,test_temp,10); -// memcpy(&report_ancdist,test_temp2,10); - - lora_sendbuffer[ANCNUM_IDX] = report_ancnum; - memcpy(&lora_sendbuffer[ANCID_IDX],report_ancid,report_ancnum*2); - memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],report_ancdist,report_ancnum*2); + memcpy(&lora_sendbuffer[BAR_HEIGHT_IDX],&intheight,2); + lora_sendbuffer[BT_ANCID_IDX] = report_ancnum; + memcpy(&lora_sendbuffer[BT_ANCID_IDX+1],report_ancid,report_ancnum*2); + memcpy(&lora_sendbuffer[BT_ANCID_IDX+report_ancnum*2+1],report_ancdist,report_ancnum*2); uint8_t LORA_RETRANSNUSSION_BT=0; - BT_NUM=DMA_RXBuf_BT[0]; - num[0]=REV_RX_NUM; - num[1]=REV_POLL_NUM; - num[2]=REPLY_POLL_NUM; -// REV_RX_NUM=0; -// REV_POLL_NUM=0; -// REPLY_POLL_NUM=0; - if(0<BT_NUM&&BT_NUM<11) - { - lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT; - LORA_RETRANSNUSSION_BT=ANCID_IDX+report_ancnum*4; - //LORA_RETRANSNUSSION_BT report_ancnum_bt - +// +// num[0]=REV_RX_NUM; +// num[1]=REV_POLL_NUM; +// num[2]=REPLY_POLL_NUM; + LORA_RETRANSNUSSION_BT=BT_ANCID_IDX+report_ancnum*4+1; lora_sendbuffer[LORA_RETRANSNUSSION_BT] = 0x2D; //蓝牙上传标识符 + 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] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+2; - } - if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D) - { - checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+ANCID_IDX+2); - memcpy(&lora_sendbuffer[ANCID_IDX+BT_NUM*4+report_ancnum*4+2],&checksum,2); - BT_SEND_flag++; - Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4); + lora_sendbuffer[MSG_LENGTH] = LORA_RETRANSNUSSION_BT+4*BT_NUM+1; +// } +// 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_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0); - } - else - { - checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX); - memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2); - Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2); - } +// } +// else +// { +// checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX); +// memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2); +// Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2); +// } // LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0); -- Gitblit v1.9.3