WXK
2 天以前 97091dac1bfcad87e0e3f8bb3fc718c1254d97d2
keil/include/main/main.c
@@ -130,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)
@@ -138,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--;
}
@@ -162,15 +168,15 @@
//      }else{
//      gps_open_flag=1;
//      }
    g_com_map[MODBUS_MODE] = 0;
//    g_com_map[MODBUS_MODE] = 0;
      log_4g_enable_flag=g_com_map[LOG_4G_ENABLE];
    ip0 = (g_com_map[TCP_IP_0]>>12&0xf)*1000+(g_com_map[TCP_IP_0]>>8&0xf)*100+(g_com_map[TCP_IP_0]>>4&0xf)*10+(g_com_map[TCP_IP_0]&0xf);
    ip1 = (g_com_map[TCP_IP_1]>>12&0xf)*1000+(g_com_map[TCP_IP_1]>>8&0xf)*100+(g_com_map[TCP_IP_1]>>4&0xf)*10+(g_com_map[TCP_IP_1]&0xf);
    ip2 = (g_com_map[TCP_IP_2]>>12&0xf)*1000+(g_com_map[TCP_IP_2]>>8&0xf)*100+(g_com_map[TCP_IP_2]>>4&0xf)*10+(g_com_map[TCP_IP_2]&0xf);
    ip3 = (g_com_map[TCP_IP_3]>>12&0xf)*1000+(g_com_map[TCP_IP_3]>>8&0xf)*100+(g_com_map[TCP_IP_3]>>4&0xf)*10+(g_com_map[TCP_IP_3]&0xf);
    port = g_com_map[TCP_PORT];
    g_com_map[VERSION] = (1<<8)|0;
    LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
    g_com_map[VERSION] = (2<<8)|3;
    LOG_INFO(TRACE_MODULE_APP,"设备ID: %x 小组id %d .\r\n",dev_id,g_com_map[GROUP_ID]);
//      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);
//      else{
@@ -365,7 +371,7 @@
            int_unlock(lock);
}
int main(void)
{
{
   // Initialize MCU system
    board_init();
    // Disable watchdog timer
@@ -376,8 +382,10 @@
//    power_init();
//   mcu_deep_sleep();
   if(gpio_pin_get_val(SLEEP_PIN))
   {
//        if(1)
   {
   if(gpio_pin_get_val(MODE_CHANGE_PIN))//记得改回来与正式的相反
//        if(0)//记得改回来与正式的相反
   {
      LOG_INFO(TRACE_MODULE_APP,"固件版本:MK_Air_tag模式 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
      // Platform init for WSF
@@ -491,9 +499,17 @@
      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();//默认为我们测距配置
        if(g_com_map[MODBUS_MODE]==0)
        {
      OpenUWB();
        }
        if(g_com_map[MODBUS_MODE]==1)
        {
        CloseUWB();
        }
      uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
      uart_receive(UART_ID0,m_EUART0_DMA_RXBuf,EUART0_RX_BUF_SIZE,uart0_receive_callback);
    power_init();
@@ -507,23 +523,24 @@
                  send_flag=0;
               }
            uwb_app_poll();//我们的测距逻辑
            if(flag_secondtask)
        {
            flag_secondtask = 0;
            SecondTask();
               //Lora_Tx_Poll();
        }
                if(flag_secondtask)
                {
                    flag_secondtask = 0;
                    SecondTask();
                            //Lora_Tx_Poll();
                }
            Lora_Tx_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();
            }
//            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();
//            }
            IdleTask();
            }
   }