yincheng.zhong
2025-04-02 8f191911d62fe7a9a18b23aaa2e27e23dc8bf58f
Src/radio/Lora.c
@@ -176,6 +176,10 @@
        printf("网关下发配置写入完成,重启");
        SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
    }
    if(wg_report_freq==END_FREQ)
    {
        SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
    }
    Radio.Standby();
    if(LoraUp_flag)
    {
@@ -248,6 +252,7 @@
int32_t target_count;
extern uint16_t motor_keeptime;
uint8_t shengji_flag;
void OnRxDone( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr )
{   uint16_t checksum1;
        BufferSize = size;
@@ -259,12 +264,13 @@
    lora_up_rec_flag=1;
    if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_RANGEPOLL)
    {
       // HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
            UWB_Wkup();
      //  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET);
            MbxTagUwbRec();   
      //  HAL_GPIO_WritePin(RADIO_NSS_GPIO_Port, RADIO_NSS_Pin, GPIO_PIN_RESET); //片选lora有效        
            Radio.Rx(0);
          //  Radio.Rx(0);
    }
    if(RX_Buffer[MSG_TYPE_IDX]==LORA_MSGTYPE_WGRESPTAG)
    {
@@ -303,7 +309,7 @@
                        target_count = current_count + rec_delaytime*3.2768 - delaytime-datalen_offset;
                        while(target_count>=32768)
                            target_count-=32768;
                        //__HAL_LPTIM_COMPARE_SET(&hlptim1, target_count);
                        __HAL_LPTIM_COMPARE_SET(&hlptim1, target_count);
                       // rx_count = HAL_LPTIM_ReadCounter(&hlptim1);
                     //   printf("tx %d,rx %d,delay %d",current_count>>5,rx_count>>5,rec_delaytime);
                        break;
@@ -353,6 +359,8 @@
                }
            }
        }
}
    if(!no_rx_flag)
    {
        if(lora_jianting_flag&&LoraUp_flag==0)
@@ -361,7 +369,6 @@
            Radio.Rx(0);
        }
    }
}
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
}
@@ -470,7 +477,7 @@
    if(shengji_flag)
    {
//    memcpy(&wangguan_up_id,&RX_Buffer[SOURCE_ID_IDX],2);//网关ID 占用2个字节
    send_lora_data[MSG_TYPE_IDX]=LORA_MSGTYPE_UPDATE_CONFIRM;
    send_lora_data[MSG_TYPE_IDX]=LORA_MSGTYPE_UPDATE_CONFIRM2;
    memcpy(&send_lora_data[SOURCE_ID_IDX],&dev_id,2);//网关ID 占用2个字节
    memcpy(&send_lora_data[DEST_ID_IDX],&wangguan_up_id,2);//标签或者基站的设备ID 2个字节
//    send_lora_data[MUQIAN_BAG]=0xFF;