From f8fe8c08a399c3b6622f809fda4925851aef2c21 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期三, 23 七月 2025 14:05:45 +0800 Subject: [PATCH] 长庆测试版 --- keil/include/src/Radio/lora_1268.c | 179 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 94 insertions(+), 85 deletions(-) diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c index 851e435..77a3fc2 100644 --- a/keil/include/src/Radio/lora_1268.c +++ b/keil/include/src/Radio/lora_1268.c @@ -3,7 +3,6 @@ #include "sx126x.h" #include "sx126x-board.h" #include "lora_1268.h" -//#include "lora_3029.h"" #include "user.h" #include "sx126x-board.h" #include "string.h" @@ -207,7 +206,7 @@ flag_getwgresp = 0; SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22); - mir3da_get_step(); +// mir3da_get_step(); if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包 { heatbeat_count = 0; @@ -301,6 +300,19 @@ Radio.Send(lora_sendbuffer,BT_SEND_lenth); LORA_POLL_COUNT++; +//#ifdef CESHIGUJIAN +// uint16_t log_info_bt[10]; +// uint16_t log_info_uwb[10]; +// memcpy(log_info_bt,&lora_sendbuffer[LORA_RETRANSNUSSION_BT+1],BT_NUM*2+1); +// memcpy(log_info_uwb,&lora_sendbuffer[BT_ANCID_IDX+1],report_ancnum*2); +// +// uint16_t corrected_value =(log_info_bt[0] << 8) | (log_info_bt[0] >> 8); +// uint16_t corrected_value2 =(log_info_bt[1] << 8) | (log_info_bt[1] >> 8); +// LOG_INFO(TRACE_MODULE_APP,"BTNUM:%d,基站ID1: %04x ,基站ID2: %04x 运动状态:%d,步数: %d\r\n",BT_NUM,corrected_value,corrected_value2,lora_sendbuffer[EXERCISE_STATE],lora_sendbuffer[STEP_COUNT]); +// LOG_INFO(TRACE_MODULE_APP,"UWBNUM:%d,基站ID1: %x,基站ID2: %x \r\n",report_ancnum,log_info_uwb[0],log_info_uwb[1]); +// memset(log_info_uwb,0,10); +// taglist_num==0; +//#endif // LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0); // } // else @@ -357,8 +369,7 @@ memcpy(&lora_sendbuffer[9], &g_com_map[1], data_length); checksum = Checksum_u16(lora_sendbuffer,11+data_length); memcpy(&lora_sendbuffer[11+data_length],&checksum,2); -// LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+13,0); -// Radio.Send(lora_sendbuffer,data_length+13); + Radio.Send(lora_sendbuffer,data_length+13); //++; // Delay_Ms(100); } @@ -376,10 +387,7 @@ memcpy(&lora_sendbuffer[7], &g_com_map[index/2], data_length); checksum = Checksum_u16(lora_sendbuffer,9+data_length); memcpy(&lora_sendbuffer[9+data_length],&checksum,2); -// Radio.Send(lora_sendbuffer,data_length+11); - -// LORA_3029_SINGLE_SEND(lora_sendbuffer,data_length+11,0); - // Delay_Ms(100); + Radio.Send(lora_sendbuffer,data_length+11); } uint8_t t22[20],ti; uint8_t no_yingdaflag; @@ -492,66 +500,67 @@ uint8_t rxdone=0; void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ) { - uint16_t checksum1; + uint16_t checksum1; BufferSize = size; memcpy( RX_Buffer, payload, BufferSize ); RssiValue = rssi; SnrValue = snr; Radio.Standby(); - rxdone++; - no_rx_flag = 0; - lora_up_rec_flag=1; - if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_WGRESPTAG) - { - checksum1=Checksum_u16(RX_Buffer,BufferSize-2); - - memcpy(&DEST_ID,&RX_Buffer[DEST_ID_IDX],2); - memcpy(&CRC16,&RX_Buffer[BufferSize-2],2); - if(!memcmp(&checksum1,&RX_Buffer[BufferSize-2],2)) - if(!memcmp(&dev_id,&RX_Buffer[DEST_ID_IDX],2)) - { - memcpy(&source_id,&RX_Buffer[SOURCE_ID_IDX],2); - if(wg_state==WG_Lost) - { - wg_state = WG_Connected; - wg_report_id = source_id; - } - if(!memcmp(&wg_report_id,&RX_Buffer[SOURCE_ID_IDX],2)) - { - wg_lost_count = 0; - switch(RX_Buffer[PWTAG_RW_FLAG_IDX]) - { - case WGRSP_RWTAG_NONE: - REV_WG_pack++; - wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400; - memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2); + rxdone++; + no_rx_flag = 0; + lora_up_rec_flag=1; + if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_WGRESPTAG) + { + checksum1=Checksum_u16(RX_Buffer,BufferSize-2); + memcpy(&DEST_ID,&RX_Buffer[DEST_ID_IDX],2); + memcpy(&CRC16,&RX_Buffer[BufferSize-2],2); + if(!memcmp(&checksum1,&RX_Buffer[BufferSize-2],2)) + if(!memcmp(&dev_id,&RX_Buffer[DEST_ID_IDX],2)) + { + memcpy(&source_id,&RX_Buffer[SOURCE_ID_IDX],2); + if(wg_state==WG_Lost) + { + wg_state = WG_Connected; + wg_report_id = source_id; + } + if(!memcmp(&wg_report_id,&RX_Buffer[SOURCE_ID_IDX],2)) + { + wg_lost_count = 0; + switch(RX_Buffer[PWTAG_RW_FLAG_IDX]) + { + case WGRSP_RWTAG_NONE: + REV_WG_pack++; + wg_report_freq = RX_Buffer[POLL_FREQ_IDX]+400; + memcpy(&rec_delaytime,&RX_Buffer[NEXTPOLL_TIME_IDX],2); - if(report_ancnum<2) - { - datalen_offset = report_ancnum*85; - }else{ - datalen_offset = (report_ancnum-1)*46+85; - } - rec_secdelay = RX_Buffer[PWTAG_SECDELAY_IDX]; - if(BufferSize!=13||rec_secdelay>20) - { - rec_secdelay = 0; - } + if(report_ancnum<2) + { + datalen_offset = report_ancnum*85; + } + else + { + datalen_offset = (report_ancnum-1)*46+85; + } + rec_secdelay = RX_Buffer[PWTAG_SECDELAY_IDX]; + if(BufferSize!=13||rec_secdelay>20) + { + rec_secdelay = 0; + } if(rec_delaytime<500) - { - int t; - t++; - } + { + int t; + t++; + } // sleep_time_count =(__MS_TO_32K_CNT(rec_delaytime)/10)- delaytime-datalen_offset; - sleep_time_count =(__MS_TO_32K_CNT(rec_delaytime)/10); - while(sleep_time_count>=32768) - { - sleep_time_count-=32768; - } - while(sleep_time_count<2000) - { - sleep_time_count+=10000; - } + sleep_time_count =(__MS_TO_32K_CNT(rec_delaytime)/10); + while(sleep_time_count>=32768) + { + sleep_time_count-=32768; + } + while(sleep_time_count<2000) + { + sleep_time_count+=10000; + } // if(REV_WG_pack==1) // { // sleep_time_count_LAST=sleep_time_count; @@ -561,32 +570,32 @@ // sleep_timer_start(sleep_time_count); time_count++; // } - break; - case WGRSP_RWTAG_READ: - no_rx_flag = 1; - LoraSendComMap(WGRSP_RWTAG_READ); - break; - case WGRSP_RWTAG_WRITE: - rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; - switch(rec_index) - { - case 0xdd: //语音下发 - break; -// case 0x20: //蜂鸣 -// memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); -// motor_keeptime = rec_value; -// break; - default : - memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); - g_com_map[rec_index/2] = rec_value; - save_com_map_to_flash(); - LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA); - //flag_writepara_needreset = 1; - no_rx_flag = 1; - } + break; + case WGRSP_RWTAG_READ: + no_rx_flag = 1; + LoraSendComMap(WGRSP_RWTAG_READ); + break; + case WGRSP_RWTAG_WRITE: + rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; + switch(rec_index) + { + case 0xdd: //语音下发 + break; +// case 0x20: //蜂鸣 +// memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); +// motor_keeptime = rec_value; +// break; + default : + memcpy(&rec_value,&RX_Buffer[PWTAG_WRITE_VALUE_IDX],2); + g_com_map[rec_index/2] = rec_value; + save_com_map_to_flash(); + LoraRspWriteCommap(SUBMSG_WRITE_ANCPARA); + //flag_writepara_needreset = 1; + no_rx_flag = 1; + } - break; - case WGRSP_RWTAG_UPDATE: + break; + case WGRSP_RWTAG_UPDATE: rec_index = RX_Buffer[PWTAG_WRITE_IDX_IDX]; // switch(rec_index) // { -- Gitblit v1.9.3