chen
2 天以前 c001d3bc92eac4bb81addd160ced367a25ed7931
增加uwb错误处理逻辑,lora功率正常版
已修改3个文件
102 ■■■■■ 文件已修改
keil/include/drivers/uwb_app.c 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keil/include/main/main.c 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keil/include/src/Radio/lora_1268.c 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
keil/include/drivers/uwb_app.c
@@ -303,6 +303,7 @@
        rssi = rx_report->rssi;
        receive_flag=1;
                Anchor_App();
            if(resp_tx_flag==0)
            {
              OpenUWB();
@@ -620,10 +621,10 @@
    //LOG_INFO(TRACE_MODULE_APP,"关闭uwb_rx\r\n");
}
void OpenUWB(void)
{
{
        flag_temp1=uwb_rx(0, 0,range_timeout_us);//提交接收请求
        uwb_rx_flag=1;
        //LOG_INFO(TRACE_MODULE_APP,"打开uwb_rx\r\n");
        LOG_INFO(TRACE_MODULE_APP,"打开uwb_rx\r\n");
}    
void UWBOneSecondTask(void)
{
keil/include/main/main.c
@@ -381,8 +381,8 @@
//    lora_in_sleep();
//     power_init();
//    mcu_deep_sleep();
//    if(gpio_pin_get_val(SLEEP_PIN))
//    {
    if(gpio_pin_get_val(SLEEP_PIN))
    {
    if(gpio_pin_get_val(MODE_CHANGE_PIN))//记得改回来与正式的相反
    {
        LOG_INFO(TRACE_MODULE_APP,"固件版本:MK_Air_tag模式 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
@@ -497,7 +497,7 @@
        LOG_INFO(TRACE_MODULE_APP,"固件版本:MK_免布线模式 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
        uart0_Init_normal();
        Lora_1268_Init();
         LOG_INFO(TRACE_MODULE_APP," 切换6\r\n");
         //LOG_INFO(TRACE_MODULE_APP," 切换6\r\n");
        SwitchLoraSettings(478,7,22);
        Uwb_init();//默认为我们测距配置
        OpenUWB();
@@ -522,29 +522,29 @@
        }
                Lora_Tx_Poll();    
                //LoraUp_Poll();//网关升级
//                if(!gpio_pin_get_val(SLEEP_PIN))
//                {
//                    delay_ms(300);
//                //LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");//会打断休眠
//                //gpio_pin_clr(LORA_NRST);//lora休眠
//                //spi_close(SPI_ID0);
//                lora_in_sleep();
//                 power_init();
//                mcu_deep_sleep();
//                }
                if(!gpio_pin_get_val(SLEEP_PIN))
                {
                    delay_ms(300);
                //LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");//会打断休眠
                //gpio_pin_clr(LORA_NRST);//lora休眠
                //spi_close(SPI_ID0);
                lora_in_sleep();
                 power_init();
                mcu_deep_sleep();
                }
                IdleTask();
                }
    }    
//}else{
//
//delay_ms(300);
//    //LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");//会打断休眠
//    //gpio_pin_clr(LORA_NRST);//lora休眠
//    //spi_close(SPI_ID0);
//    lora_in_sleep();
//     power_init();
//    mcu_deep_sleep();
//}
}else{
delay_ms(300);
    //LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");//会打断休眠
    //gpio_pin_clr(LORA_NRST);//lora休眠
    //spi_close(SPI_ID0);
    lora_in_sleep();
     power_init();
    mcu_deep_sleep();
}
}
void app_restore_from_power_down(void)
keil/include/src/Radio/lora_1268.c
@@ -187,6 +187,7 @@
extern uint8_t SOS_KEY_STATE;
uint32_t LORA_POLL_COUNT=0;
uint8_t test1,test2;
extern int poll_rx_num;
#define GET_USERKEY gpio_pin_get_val(SOS_PIN)
void LoraReportPoll(void)
{
@@ -206,14 +207,14 @@
    //LOG_INFO(TRACE_MODULE_APP," 切换2\r\n");
    //test1++;
//    LOG_INFO(TRACE_MODULE_APP," 切换9\r\n");
    //SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22);
    SwitchLoraSettings(478,7,22);
//    if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包
//    {
//        heatbeat_count = 0;
//        LoraHeartBeartPoll();
//        return;
//    }
    SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22);
    //SwitchLoraSettings(478,7,22);
    if(heatbeat_count++>HEATBEAT_UPDATE_TIME && WG_Connected == wg_state) //如果心跳包到达上传时间,并且网关处于链接状态,就上传心跳包
    {
        heatbeat_count = 0;
        LoraHeartBeartPoll();
        return;
    }
    for(uint16_t i=0; i<report_ancnum-1; i++)
    {
        for(uint16_t j=0; j<report_ancnum-1-i; j++)
@@ -264,8 +265,15 @@
    //    test2++;   num
//    LOG_INFO(TRACE_MODULE_APP," 切换8\r\n");
    //SwitchLoraSettings(wg_report_freq,REPORT_CHANNEL_SF,22);
   // Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2);
   Radio.Send(num,3);
    Radio.Send(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2);
        LOG_INFO(TRACE_MODULE_APP," 数量%d\r\n",poll_rx_num);
        if(poll_rx_num==0)
        {
        CloseUWB();
        OpenUWB();
        }
        poll_rx_num=0;
   //Radio.Send(num,3);
}
@@ -536,6 +544,7 @@
  return (crc&0xffffu);
}
void LoraUp_Poll()
{    uint16_t  result ;
    uint16_t crc16;
@@ -551,9 +560,10 @@
    huifushengjibao_flag=0;
    LoraUp_flag=1;
    Radio.Send(send_lora_data,8);//基站发送升级确认回复
    delay_ms(1000); 
LOG_INFO(TRACE_MODULE_APP," 切换7\r\n");
   // SwitchLoraSettings(LORA_UPCHANNEL_FRQ,LORA_UPCHANNEL_SF,22); //切换lora升级频点
//LOG_INFO(TRACE_MODULE_APP," 切换7\r\n");
    SwitchLoraSettings(LORA_UPCHANNEL_FRQ,LORA_UPCHANNEL_SF,22); //切换lora升级频点
    delay_ms(200);   
    __disable_irq();
//    FLASH_Read(APP_1OR2_ADRESS,(uint8_t*)&app1_or_app2,2);        
@@ -813,8 +823,9 @@
    if(!no_rx_flag)
    {
        if(lora_jianting_flag&&LoraUp_flag==0)
        {    LOG_INFO(TRACE_MODULE_APP," 切换2\r\n");
//            SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
        {
                    //LOG_INFO(TRACE_MODULE_APP," 切换2\r\n");
            SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
            Radio.Rx(0);
        }
    }
@@ -826,8 +837,8 @@
    Radio.Standby();
    if(lora_jianting_flag)
    {
            LOG_INFO(TRACE_MODULE_APP," 切换3\r\n");
       // SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
//            LOG_INFO(TRACE_MODULE_APP," 切换3\r\n");
        SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
        Radio.Rx(0);
    }
}
@@ -838,8 +849,8 @@
    
    if(lora_jianting_flag)
    {
            LOG_INFO(TRACE_MODULE_APP," 切换4\r\n");
//        SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
            //LOG_INFO(TRACE_MODULE_APP," 切换4\r\n");
        SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
        Radio.Rx(0);
    }
}
@@ -851,8 +862,8 @@
    Radio.Standby();
    if(lora_jianting_flag)
    {
            LOG_INFO(TRACE_MODULE_APP," 切换5\r\n");
    //    SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
            //LOG_INFO(TRACE_MODULE_APP," 切换5\r\n");
        SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
        Radio.Rx(0);
    }
}