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 | 155 ++++++++++++++++++++++++++------------------------- 1 files changed, 78 insertions(+), 77 deletions(-) diff --git a/keil/include/src/Radio/lora_1268.c b/keil/include/src/Radio/lora_1268.c index 4845108..77a3fc2 100644 --- a/keil/include/src/Radio/lora_1268.c +++ b/keil/include/src/Radio/lora_1268.c @@ -500,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; @@ -569,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