| | |
| | | adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 |
| | | } |
| | | void SecondTask(void) |
| | | {static uint8_t second_count; |
| | | if(second_count++>60) |
| | | { |
| | | second_count = 0; |
| | | MinuteTask(); |
| | | } |
| | | //UWB状态检测 |
| | | if(!power_low_flag)//低供电下不需要检测重连 |
| | | { |
| | | if(IfTCPConnected()) |
| | | { |
| | | TCP_reconnect_timer =0; |
| | | flag_TCP_reconnectting = 0; |
| | | } else { |
| | | if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒 |
| | | { |
| | | flag_TCP_reconnectting = 1; |
| | | } else { |
| | | flag_TCP_reconnectting = 0; |
| | | } |
| | | if(TCP_reconnect_timer++>600) |
| | | { |
| | | TCP_reconnect_timer = 0; |
| | | } |
| | | { |
| | | // static uint8_t second_count; |
| | | // if(second_count++>60) |
| | | // { |
| | | // second_count = 0; |
| | | // MinuteTask(); |
| | | // } |
| | | // //UWB状态检测 |
| | | //if(!power_low_flag)//低供电下不需要检测重连 |
| | | // { |
| | | // if(IfTCPConnected()) |
| | | // { |
| | | // TCP_reconnect_timer =0; |
| | | // flag_TCP_reconnectting = 0; |
| | | // } else { |
| | | // if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒 |
| | | // { |
| | | // flag_TCP_reconnectting = 1; |
| | | // } else { |
| | | // flag_TCP_reconnectting = 0; |
| | | // } |
| | | // if(TCP_reconnect_timer++>600) |
| | | // { |
| | | // TCP_reconnect_timer = 0; |
| | | // } |
| | | |
| | | } |
| | | } |
| | | // } |
| | | // } |
| | | HIDO_TimerTick(); |
| | | // if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出 |
| | | nomove_count++; |
| | | // nomove_count++; |
| | | // else{ |
| | | // nomove_count=g_com_map[NOMOVESLEEP_TIME]+1; |
| | | // } |
| | |
| | | parameter_init_anchor();//g_com_map表初始化角色默认为基站 |
| | | dev_id=g_com_map[DEV_ID];//这里不太对 |
| | | // g_com_map[GROUP_ID]=9; |
| | | group_id=g_com_map[GROUP_ID];//组ID |
| | | memcpy(&disoffset,&g_com_map[DIST_OFFSET],2); |
| | | warning_distance=g_com_map[ALARM_DISTANCE1]; |
| | | prewarning_distance=g_com_map[ALARM_DISTANCE2]; |
| | | send_struct.warnDistence=warning_distance; |
| | | send_struct.alarmDistence=prewarning_distance;//更新报警距离 |
| | | memcpy(&send_struct.gunLableId,&g_com_map[BIND_DEV_ID],2);//更新绑定ID |
| | | send_struct.tagId=dev_id;//更新设备ID |
| | | // group_id=g_com_map[GROUP_ID];//组ID |
| | | // memcpy(&disoffset,&g_com_map[DIST_OFFSET],2); |
| | | // warning_distance=g_com_map[ALARM_DISTANCE1]; |
| | | // prewarning_distance=g_com_map[ALARM_DISTANCE2]; |
| | | // send_struct.warnDistence=warning_distance; |
| | | // send_struct.alarmDistence=prewarning_distance;//更新报警距离 |
| | | // memcpy(&send_struct.gunLableId,&g_com_map[BIND_DEV_ID],2);//更新绑定ID |
| | | // send_struct.tagId=dev_id;//更新设备ID |
| | | |
| | | // g_com_map[IP_0]=111; |
| | | // g_com_map[IP_1]=198; |
| | |
| | | // snprintf((char *)&g_com_map[NTRIP_SOURCENAME_INDEX], 32, "RTCM32_GNSS2"); |
| | | |
| | | |
| | | if(g_com_map[BIND_DEV_ID]==0) |
| | | { |
| | | UWB_work_state = UN_BIND; |
| | | }else{ |
| | | UWB_work_state = SEARCH_DEV; |
| | | } |
| | | //g_com_map[SEND_4G_SECOND] |
| | | if(g_com_map[SEND_4G_SECOND]<30) |
| | | { |
| | | gps_open_flag=0; |
| | | }else{ |
| | | gps_open_flag=1; |
| | | } |
| | | // if(g_com_map[BIND_DEV_ID]==0) |
| | | // { |
| | | // UWB_work_state = UN_BIND; |
| | | // }else{ |
| | | // UWB_work_state = SEARCH_DEV; |
| | | // } |
| | | // //g_com_map[SEND_4G_SECOND] |
| | | // if(g_com_map[SEND_4G_SECOND]<30) |
| | | // { |
| | | // gps_open_flag=0; |
| | | // }else{ |
| | | // gps_open_flag=1; |
| | | // } |
| | | g_com_map[MODBUS_MODE] = 0; |
| | | log_4g_enable_flag=g_com_map[LOG_4G_ENABLE]; |
| | | g_com_map[VERSION] = (1<<8)|3; |
| | | |
| | | |
| | | LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); |
| | | LOG_INFO(TRACE_MODULE_APP,"跳转OTA升级固件启动成功\r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); |
| | | LOG_INFO(TRACE_MODULE_APP,"OTA版本:加入OTA语音芯片,兼容OTA升级。跳转OTA升级固件启动成功\r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff); |
| | | // LOG_INFO(TRACE_MODULE_APP,"服务器地址: %d.%d.%d.%d:%d.\r\n",g_com_map[IP_0],g_com_map[IP_1],g_com_map[IP_2],g_com_map[IP_3],g_com_map[PORT]); |
| | | delay_ms(500); |
| | | } |
| | |
| | | extern uint8_t receive_flag; |
| | | extern uint8_t YUANGPS_ParseGGA_data[256]; |
| | | extern uint8_t YUANGPS_ParseGGA_changdu; |
| | | static HIDO_CHAR url[256 + 1]="http://123.57.87.125:7001/hfs/MK8000-4G工卡V1.2.Bin"; |
| | | static HIDO_CHAR url[256 + 1]/*="http://123.57.87.125:7001/hfs/MK8000-4G工卡V1.2.Bin"*/; |
| | | //static HIDO_CHAR url[256 + 1]="http://123.57.87.125:7001/hfs/MK4G工卡-V1.6.Bin"; |
| | | //static HIDO_CHAR url[256 + 1]="http://123.57.87.125:7001/hfs/r4.bin"; |
| | | //$download_audio,7342,http://39.106.210.13:280/hfs/russiavoice_20241213_1.bin |
| | | //void OTA_MODE(void) |
| | | //{ |
| | | // if(g_com_map[OTA_FLAG]) |
| | |
| | | //} |
| | | int main(void) |
| | | { |
| | | __enable_irq(); |
| | | board_clock_run(); |
| | | boot_deinit(); |
| | | board_pins_config(); |
| | |
| | | gpio_open(); |
| | | LED_output_init();//配置彩色灯引脚 |
| | | IIC2_Init(); |
| | | Accelerometer_Init(); |
| | | // Accelerometer_Init(); |
| | | PCA9555_init(); |
| | | WT588E02B_Init(); |
| | | adc_open(&usr_adc_cfg); |
| | | uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); |
| | | power_init(); |
| | |
| | | uart1_change_from_gps_to_debug();//测试 |
| | | PCA9555_Set_One_Value_Output(MCU_A,1);//输出高电平切换为5V输入 |
| | | |
| | | // memcpy(/*(HIDO_UINT8 *)*/url,(void *)APP_CONFIG_IAP_PARAM_MAP,256); |
| | | OTA_Start((HIDO_UINT8 *)url); |
| | | HIDO_UINT8 type = 0; |
| | | // type=1; |
| | | memcpy(&type, (void *)APP_CONFIG_IAP_PARAM_MAP,1); |
| | | memcpy(/*(HIDO_UINT8 *)*/url,(void *)APP_CONFIG_IAP_PARAM_MAP+1,255); |
| | | OTA_Start(type, (HIDO_UINT8 *)url); |
| | | LOG_INFO(TRACE_MODULE_APP,"获取固件地址为:%s\r\n",url); |
| | | while (1) |
| | | { |
| | | { |
| | | OTA_Poll(); |
| | | HTTPClient_Poll(); |
| | | Internet_Poll(); |
| | |
| | | // { |
| | | // TCPClient_Poll_1(); |
| | | // } |
| | | // if(flag_secondtask) |
| | | // { |
| | | // flag_secondtask = 0; |
| | | // SecondTask(); |
| | | // } |
| | | if(flag_secondtask) |
| | | { |
| | | flag_secondtask = 0; |
| | | SecondTask(); |
| | | } |
| | | // PowerTask(); |
| | | // IMUTask(); |
| | | // UserKeyTask(); |