| | |
| | | #include "dw_app_anchor.h" |
| | | #include "ymodem.h" |
| | | #include "mk_phy.h" |
| | | #include "HIDO_Debug.h" |
| | | |
| | | //#define DEBUG_MODE |
| | | extern int simple_main(void); |
| | |
| | | input5v_time=1; |
| | | if(taglist_num==0&&g_com_map[UWBFrequency]==1&&g_com_map[UWBENBLE]==1&&uwb_OpenClose_flag==1&¤t_state == STATE_NORMAL) |
| | | { |
| | | CloseUWB(); |
| | | Uwb_init(); |
| | | OpenUWB(); |
| | | // CloseUWB(); |
| | | // Uwb_init(); |
| | | // OpenUWB(); |
| | | } |
| | | if(g_com_map[UWBENBLE]==1) |
| | | { |
| | | upload_apppoll(); |
| | | } |
| | | // if(g_com_map[UWBENBLE]==1) |
| | | // { |
| | | // upload_apppoll(); |
| | | // } |
| | | } else { |
| | | flag_secondtask = 0; |
| | | } |
| | |
| | | LOG_INFO(TRACE_MODULE_APP,"设备ID: %x .\r\n",dev_id); |
| | | LOG_INFO(TRACE_MODULE_APP,"固件版本:信标升级工卡 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",g_com_map[IP_0],g_com_map[IP_1],g_com_map[IP_2],g_com_map[IP_3],g_com_map[PORT]); |
| | | // LOG_INFO(TRACE_MODULE_APP,"设备UWB状态: %x .\r\n",g_com_map[UWBENBLE]); |
| | | LOG_INFO(TRACE_MODULE_APP,"设备UWB状态: %x .\r\n",g_com_map[UWBENBLE]); |
| | | // LOG_INFO(TRACE_MODULE_APP,"设备GPS状态: %x .\r\n",g_com_map[GPSENBLE]); |
| | | // LOG_INFO(TRACE_MODULE_APP,"设备UWB工作间隔: %x .\r\n",g_com_map[UWBFrequency]); |
| | | LOG_INFO(TRACE_MODULE_APP,"设备UWB工作间隔: %x .\r\n",g_com_map[UWBFrequency]); |
| | | // LOG_INFO(TRACE_MODULE_APP,"设备GPS工作间隔: %x .\r\n",g_com_map[GPSFrequency]); |
| | | // LOG_INFO(TRACE_MODULE_APP,"当前GPS工作波特率: %d .\r\n",gpsbaudrate1); |
| | | #ifdef _4G_115200 |
| | |
| | | } else { |
| | | powerled = RED; |
| | | } |
| | | if(DBG_GetMode() == DBG_MODE_SHELL) |
| | | { |
| | | // if(DBG_GetMode() == DBG_MODE_SHELL) |
| | | // { |
| | | if(ota_flag==1) |
| | | { |
| | | // OTA_Poll(); |
| | |
| | | |
| | | led_offtask(); |
| | | UserKeyTask(); |
| | | } |
| | | // } |
| | | UART_CheckReceive(); |
| | | if(flag_secondtask) |
| | | { |
| | |
| | | } |
| | | else |
| | | { |
| | | Set4LEDColor(0,0,0,powerled); |
| | | // Set4LEDColor(0,0,0,powerled); |
| | | } |
| | | if(input5v_time) |
| | | { |
| | |
| | | uint32_t elapsed_time_jibu; |
| | | extern uint8_t uwb_OpenClose_flag; |
| | | uint8_t uwb_close_count,uwb_close_count1; |
| | | void upload_apppoll() |
| | | { |
| | | //void upload_apppoll() |
| | | //{ |
| | | |
| | | if(current_state==STATE_NORMAL&&uwb_OpenClose_flag==1) |
| | | { |
| | | if(g_com_map[UWBFrequency]>1) |
| | | { |
| | | elapsed_time_jibu = uwb_time_count - state_start_time; |
| | | if(elapsed_time_jibu==1) |
| | | { |
| | | CloseUWB(); |
| | | // UWBSendUDPTask(); |
| | | } |
| | | else if(elapsed_time_jibu==g_com_map[UWBFrequency]) |
| | | { |
| | | taglist_num = 0; |
| | | CloseUWB(); |
| | | Uwb_init(); |
| | | OpenUWB(); |
| | | state_start_time = uwb_time_count; |
| | | } |
| | | } |
| | | else |
| | | {} |
| | | } |
| | | else if(current_state==STATE_SLEEP&&uwb_OpenClose_flag==1) |
| | | { |
| | | elapsed_time_jibu = uwb_time_count - state_start_time; |
| | | switch(elapsed_time_jibu) |
| | | { |
| | | case UWB_OPEN_COUNT: |
| | | CloseUWB(); |
| | | // UWBSendUDPTask(); |
| | | // uwb_close_count++; |
| | | break; |
| | | // if(current_state==STATE_NORMAL&&uwb_OpenClose_flag==1) |
| | | // { |
| | | // if(g_com_map[UWBFrequency]>1) |
| | | // { |
| | | // elapsed_time_jibu = uwb_time_count - state_start_time; |
| | | // if(elapsed_time_jibu==1) |
| | | // { |
| | | // CloseUWB(); |
| | | //// UWBSendUDPTask(); |
| | | // } |
| | | // else if(elapsed_time_jibu==g_com_map[UWBFrequency]) |
| | | // { |
| | | // taglist_num = 0; |
| | | // CloseUWB(); |
| | | // Uwb_init(); |
| | | // OpenUWB(); |
| | | // state_start_time = uwb_time_count; |
| | | // } |
| | | // } |
| | | // else |
| | | // {} |
| | | // } |
| | | // else if(current_state==STATE_SLEEP&&uwb_OpenClose_flag==1) |
| | | // { |
| | | // elapsed_time_jibu = uwb_time_count - state_start_time; |
| | | // switch(elapsed_time_jibu) |
| | | // { |
| | | // case UWB_OPEN_COUNT: |
| | | // CloseUWB(); |
| | | //// UWBSendUDPTask(); |
| | | //// uwb_close_count++; |
| | | // break; |
| | | |
| | | case UWB_MEASUREMENT_INTERVAL_SLEEP: |
| | | taglist_num = 0; |
| | | CloseUWB(); |
| | | Uwb_init(); |
| | | OpenUWB(); |
| | | state_start_time = uwb_time_count; |
| | | // uwb_close_count1++; |
| | | break; |
| | | } |
| | | } |
| | | // case UWB_MEASUREMENT_INTERVAL_SLEEP: |
| | | // taglist_num = 0; |
| | | // CloseUWB(); |
| | | // Uwb_init(); |
| | | // OpenUWB(); |
| | | // state_start_time = uwb_time_count; |
| | | //// uwb_close_count1++; |
| | | // break; |
| | | // } |
| | | // } |
| | | // switch (current_state) |
| | | // { |
| | | ////#ifdef UWB_1_5HZ |
| | |
| | | // break; |
| | | // } |
| | | |
| | | } |
| | | //} |
| | | |
| | | //uint8_t flag_4guart_needinit=0; |
| | | //uint8_t index1,index2,index3; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | char file_name[25]={0}; |
| | | uint8_t file_name_lenth; |
| | | void get_download_file_name() |
| | | { |
| | | uint16_t full_value = 0; |
| | | // memcpy(file_name_lenth,&g_com_map[YAOGEIANC_UPWENJIAN_NAME_LENTH],1); |
| | | memcpy(&full_value, &g_com_map[YAOGEIANC_UPWENJIAN_NAME_LENTH], 2); |
| | | file_name_lenth = full_value & 0xFF; // 提取低字节 |
| | | memcpy(file_name,&g_com_map[YAOGEIANC_UPWENJIAN_NAME],file_name_lenth); |
| | | LOG_INFO(TRACE_MODULE_APP,"文件名: %s .\r\n",file_name); |
| | | LOG_INFO(TRACE_MODULE_APP,"文件名长度: %d .\r\n",file_name_lenth); |
| | | } |
| | | |
| | | uint16_t final_bag_num; |
| | | extern uint8_t Lora_qingqiu_flag; |
| | |
| | | if(jindu>baifenbi) |
| | | { |
| | | uart_send(UART_ID1, Dtu_shengji_jindu,9, NULL); |
| | | TCPClient_Upload_hex(Dtu_shengji_jindu,9); |
| | | baifenbi=baifenbi+10; |
| | | } |
| | | tx_en_start_u32 = phy_timer_count_get()+US_TO_PHY_TIMER_COUNT(100U);//发送必须要延时发送才可以用于测距否则立即发送会获取时间戳不对,需要计算程序运行时间,避免设置过去时间 |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | extern uint8_t shengji_flag; |
| | | int main(void) |
| | | { |
| | | __enable_irq(); |
| | |
| | | power_init(); |
| | | Uwb_init(); |
| | | |
| | | if(g_com_map[KEY_POWERON]==1) |
| | | { |
| | | WT588E_PLAY(0); //播报开机语音 |
| | | g_com_map[KEY_POWERON]=0; |
| | | save_com_map_to_flash(); |
| | | } |
| | | if(g_com_map[UWBFrequency]&&g_com_map[UWBENBLE]) |
| | | { |
| | | OpenUWB(); |
| | | } |
| | | // if(g_com_map[KEY_POWERON]==1) |
| | | // { |
| | | // WT588E_PLAY(0); //播报开机语音 |
| | | // g_com_map[KEY_POWERON]=0; |
| | | // save_com_map_to_flash(); |
| | | // } |
| | | // if(g_com_map[UWBFrequency]&&g_com_map[UWBENBLE]) |
| | | // { |
| | | // OpenUWB(); |
| | | // } |
| | | if(!read_5v_input_pca()) |
| | | { |
| | | Set4LEDColor(BLUE,GREEN,WHITE,RED); |
| | | delay_ms(500); |
| | | delay_ms(200); |
| | | Set4LEDColor(RED,WHITE,RED,WHITE); |
| | | delay_ms(500); |
| | | delay_ms(200); |
| | | Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF); |
| | | } |
| | | g_com_map[MODBUS_MODE] = 0; |
| | |
| | | PCA9555_Set_One_Value_Output(MCU_A,0);//输出低电平切换为GPS |
| | | #endif |
| | | |
| | | if(g_com_map[UWBENBLE]==0) |
| | | { |
| | | CloseUWB(); |
| | | } |
| | | // if(g_com_map[UWBENBLE]==0) |
| | | // { |
| | | // CloseUWB(); |
| | | // } |
| | | sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback); |
| | | sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试 |
| | | Chuanshuwenjian_Poll(); |
| | |
| | | pca_input_detection_init(pca_handler);//pca检测输入 |
| | | // GPS_Init(); |
| | | // gaodu=GetPressAndHeight()*100; |
| | | OpenUWB(); |
| | | get_download_file_name(); |
| | | while (1) |
| | | { |
| | | uwb_app_poll(); |
| | | if(!shengji_flag) |
| | | { |
| | | uwb_app_poll(); |
| | | } |
| | | |
| | | Internet_Poll(); |
| | | HIDO_TimerPoll(); |
| | | HIDO_ATLitePoll(); |
| | |
| | | IMUTask(); |
| | | IdleTask(); |
| | | // check_step_and_update_state(); |
| | | // led_offtask(); |
| | | led_offtask(); |
| | | } |
| | | } |