chen
3 天以前 d715e84d0578eebc57d6393fb8eff70ff58acad1
keil/include/main/main.c
@@ -118,6 +118,7 @@
uint8_t group_id,enable_sleep_count;
uint32_t dev_id;
uint16_t disoffset;
uint16_t set_mk_time;
uint8_t flag_sleeptimer,flag_secondtask,secondtask_count;
float nomove_count;
// Default pool descriptor.
@@ -129,6 +130,8 @@
{
    // LOG_INFO(TRACE_MODULE_APP, "Wake up by sleep timer %d\r\n", time);
}
extern uint8_t start_wait_flag;
extern int16_t end_count1;
static void sleep_timer_callback_normal(void *dev, uint32_t time)
{
   if(secondtask_count++%2==0)
@@ -137,7 +140,11 @@
    }else{
        flag_secondtask = 0;
    }
      if(start_wait_flag)//lora升级等待超时标志
      {
      if(end_count1--<=0)
      start_wait_flag=0;
      }
// if(delaysleep_count>0)
//     delaysleep_count--;
}
@@ -306,10 +313,10 @@
#else
      spi_init();
    // 模式判断脚和spi nrst脚初始化
//    // 模式判断脚和spi nrst脚初始化
    board_mode_pin_init();
            Program_Init();
//    board_led_on(BOARD_LED_1);
    //board_led_on(BOARD_LED_1);
#endif
      Board_LORA_NVIC_Init(Lora_irq_handler);
    board_configure();
@@ -351,6 +358,8 @@
}
uint8_t bat_percent;
uint8_t  stationary_flag;
extern uint8_t send_flag;
extern uint8_t txdone;
void mcu_deep_sleep(void)
{
            uint32_t lock;
@@ -368,7 +377,10 @@
    // Disable watchdog timer
    wdt_close(WDT_ID0);
    LOG_INFO(TRACE_MODULE_APP, "UCI FiRa example\r\n");
   //delay_ms(300);//使log打印完毕
//   delay_ms(500);
//   lora_in_sleep();
//    power_init();
//   mcu_deep_sleep();
   if(gpio_pin_get_val(SLEEP_PIN))
   {
   if(gpio_pin_get_val(MODE_CHANGE_PIN))//记得改回来与正式的相反
@@ -472,14 +484,20 @@
        power_manage();
            if(!gpio_pin_get_val(SLEEP_PIN))
            {
            LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");
            mcu_deep_sleep();
            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{
      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");
      SwitchLoraSettings(478,7,22);
      Uwb_init();//默认为我们测距配置
      OpenUWB();
@@ -490,6 +508,11 @@
      sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试
          while (1)
            {
               if(send_flag)
               {
                  LOG_INFO(TRACE_MODULE_APP,"发送数量%d. \r\n",txdone);
                  send_flag=0;
               }
            uwb_app_poll();//我们的测距逻辑
            if(flag_secondtask)
        {
@@ -498,17 +521,27 @@
               //Lora_Tx_Poll();
        }
            Lora_Tx_Poll();   
            //LoraUp_Poll();//网关升级
            if(!gpio_pin_get_val(SLEEP_PIN))
            {
            LOG_INFO(TRACE_MODULE_APP, "进入休眠模式\r\n");
               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");
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();
}