keil/include/main/main.c
@@ -171,10 +171,10 @@
    .int_tx = false,
#endif
};
void uart_receive_callback(void *dev, uint32_t err_code)
{
    uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
}
//void uart_receive_callback(void *dev, uint32_t err_code)
//{
//    uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
//}
static void adc_callback(void *data, uint32_t number)
{
@@ -351,26 +351,19 @@
     {
       sleep_time++;
      }
      if(!read_5v_input_pca())
    {
       if(bat_percent>15)
        {
               uint8_t state=0;
               state=!state;
               if(state==1)
                  GREEN_LED_ON;
               else
            GREEN_LED_OFF;
             powerled=1;
        }
         else
            {
            powerled=0;
        }
      }
      input5v_time=1;
    //马达震动逻辑
    if(g_com_map[MOTOR_ENABLE])
@@ -449,6 +442,10 @@
   uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);
}
    
void uart1_receive_callback()
{
   uart_receive(UART_ID1,m_EUART_DMA_RXBuf_1,USART_RX_BUF_SIZE,uart1_receive_callback);
}
static void voltage_input_handler(enum IO_PIN_T pin)
{
@@ -467,13 +464,14 @@
void Program_Init(void)
{
    Usart1ParseDataCallback = UsartParseDataHandler;//需改为默认为gps处理,UsartParseDataHandler为升级处理当调试时候改为
     Usart0ParseDataCallback = UsartParseDataHandler_1;
    parameter_init_anchor();//g_com_map表初始化角色默认为基站
    g_com_map[DEV_ID]=0x1234;
//    g_com_map[DEV_ID]=0x0721;
     g_com_map[STATIONARY_TIME] = 10;
//    g_com_map[GROUP_ID]=1;
    dev_id=g_com_map[DEV_ID];//这里不太对
    group_id=g_com_map[GROUP_ID];//组ID
     group_id=0x04;
//     group_id=0x04;
    tag_frequency = 1000/g_com_map[COM_INTERVAL];//测距频率这个存的是测距时间
    memcpy(&disoffset,&g_com_map[DIST_OFFSET],2);
//    g_com_map[ALARM_DISTANCE1] = 40;
@@ -499,7 +497,7 @@
    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)|12;
    g_com_map[VERSION] = (1<<8)|13;
    LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id);
    LOG_INFO(TRACE_MODULE_APP,"固件版本:BGK-mk+蓝牙薄工卡V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
    LOG_INFO(TRACE_MODULE_APP,"服务器地址: %d.%d.%d.%d:%d.\r\n",ip0,ip1,ip2,ip3,port);
@@ -510,6 +508,7 @@
void IdleTask(void)
{   
 UART0_CheckReceive();
 UART_CheckReceive();
if(read_5v_input_pca())
   {
            chongman_time=0;
@@ -628,7 +627,7 @@
}
void IMUTask(void)
{
   if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==2)
   if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&g_com_map[IMU_ENABLE]==1)
   {
      power_wakeup_enable((enum POWER_WAKEUP_SOURCE_T)PCA_INPUT_DETECT, POWER_WAKEUP_LEVEL_LOW);
      mcu_deep_sleep();
@@ -674,6 +673,7 @@
    io_pin_mux_set(UART1_TX, IO_FUNC4);
      
      board_debug_console_open(TRACE_PORT_UART1,BAUD_115200);
      uart_receive(UART_ID1,m_EUART_DMA_RXBuf_1,USART_RX_BUF_SIZE,uart1_receive_callback);//开启dma
}
void spi_init()
{
@@ -767,12 +767,11 @@
                     case UWB_OPEN_COUNT:
                          CloseUWB();                    
                           LoraReportPoll();
                   LEDTask(0,0,0,2);
                     break;
                     
                     case UWB_MEASUREMENT_INTERVAL:
                           LEDTask(uwbled,btled,loraled,powerled);
                           LEDTask(0,0,0,2);
                             PCA9555_Set_One_Value_Output(IO_KONG,0);
                           delay_us(10000);
                           PCA9555_Set_One_Value_Output(IO_KONG,1);   
@@ -791,12 +790,13 @@
                     case UWB_OPEN_COUNT:
                            CloseUWB();                                           
                           LoraReportPoll();
                           LEDTask(0,0,0,2);
                     break;
                     
                     case UWB_MEASUREMENT_INTERVAL_SLEEP:
                           LEDTask(uwbled,btled,loraled,powerled);
                           LEDTask(0,0,0,2);
                             PCA9555_Set_One_Value_Output(IO_KONG,0);
                           delay_us(10000);
                           PCA9555_Set_One_Value_Output(IO_KONG,1);   
@@ -840,17 +840,13 @@
   if(powerled==1)
   {
    GREEN_LED_ON;
    RED_LED_OFF;
   }
   else if(powerled==2)
   {
    RED_LED_OFF;
    GREEN_LED_OFF;
    GREEN_LED_OFF;;
   }
   else if(powerled==0)
   {
    RED_LED_ON;
    GREEN_LED_OFF;
    RED_LED_OFF;
   }
   
//   PCA9555_Set_One_Value_Output(BT_IRQ ,0);