| | |
| | | #include "global_param.h" |
| | | #include "board.h" |
| | | #include "lora_1268.h" |
| | | #include "PCA9555.h" |
| | | |
| | | #define TAG_KEEPTIMES 30 |
| | | #define REPORT_TAG_KEEPTIMES 1 |
| | |
| | | //tagofflinetime[i] = 0; |
| | | return i; |
| | | } |
| | | |
| | | |
| | | static void resp_msg_set_ts(uint8_t *ts_field, int64_t ts) |
| | | { |
| | | int i,ts2; |
| | |
| | | uint32_t wltag_statetimer,wltag_uwbtimer; |
| | | int uwb_app_poll(void) |
| | | { |
| | | // switch(wltag_state) |
| | | // { |
| | | // case RANGE: |
| | | // if(HIDO_TimerGetTick()-wltag_uwbtimer>2&&uwb_rx_flag==0) |
| | | // { |
| | | // wltag_uwbtimer = HIDO_TimerGetTick(); |
| | | // OpenUWB(); |
| | | // } |
| | | // else if(HIDO_TimerGetTick()-wltag_uwbtimer>1&&uwb_rx_flag==1) |
| | | // { |
| | | // wltag_uwbtimer = HIDO_TimerGetTick(); |
| | | // CloseUWB(); |
| | | // } |
| | | // if(uwb_losttimer>g_com_map[UWB_RNAGE_TIME]) |
| | | // { |
| | | // wltag_statetimer = HIDO_TimerGetTick(); |
| | | // if(uwb_rx_flag==0)//若要切换到搜索模式时没有开启则开启UWB |
| | | // { |
| | | // OpenUWB(); |
| | | // } |
| | | // wltag_state = SEARCH; |
| | | // } |
| | | // break; |
| | | // case SEARCH: |
| | | // if(HIDO_TimerGetTick()-wltag_statetimer>1) |
| | | // { |
| | | // wltag_statetimer = HIDO_TimerGetTick(); |
| | | // wltag_state = CLOSE; |
| | | // CloseUWB(); |
| | | // } |
| | | // break; |
| | | // case CLOSE: |
| | | // if(HIDO_TimerGetTick()-wltag_statetimer>g_com_map[UWB_WAIT_TIME]) |
| | | // { |
| | | // wltag_statetimer = HIDO_TimerGetTick(); |
| | | // wltag_state = SEARCH; |
| | | // OpenUWB(); |
| | | // } |
| | | // break; |
| | | // } |
| | | switch(wltag_state) |
| | | { |
| | | |
| | | case RANGE: |
| | | // time_flag=HIDO_TimerGetTick()-wltag_uwbtimer; |
| | | if(HIDO_TimerGetTick()-wltag_uwbtimer>2&&uwb_rx_flag==0) |
| | | { |
| | | UWB_LED_ON; |
| | | wltag_uwbtimer = HIDO_TimerGetTick(); |
| | | if(UWB_STATE==UWB_STATE_IDLE) |
| | | { |
| | | UWB_STATE=UWB_RX_STATE_BUSY; |
| | | OpenUWB(); |
| | | } |
| | | } |
| | | else if(HIDO_TimerGetTick()-wltag_uwbtimer>1&&uwb_rx_flag==1) |
| | | { |
| | | // time_flag=HIDO_TimerGetTick()-wltag_uwbtimer; |
| | | UWB_LED_OFF; |
| | | wltag_uwbtimer = HIDO_TimerGetTick(); |
| | | CloseUWB(); |
| | | UWB_STATE=UWB_STATE_IDLE; |
| | | } |
| | | if(uwb_losttimer>g_com_map[UWB_RNAGE_TIME]) |
| | | { |
| | | wltag_statetimer = HIDO_TimerGetTick(); |
| | | if(uwb_rx_flag==0)//若要切换到搜索模式时没有开启则开启UWB |
| | | { |
| | | if(UWB_STATE==UWB_STATE_IDLE) |
| | | { |
| | | UWB_STATE=UWB_RX_STATE_BUSY; |
| | | OpenUWB(); |
| | | } |
| | | } |
| | | wltag_state = SEARCH; |
| | | } |
| | | break; |
| | | case SEARCH: |
| | | if(HIDO_TimerGetTick()-wltag_statetimer>1) |
| | | { |
| | | wltag_statetimer = HIDO_TimerGetTick(); |
| | | wltag_state = CLOSE; |
| | | CloseUWB(); |
| | | UWB_STATE=UWB_STATE_IDLE; |
| | | } |
| | | break; |
| | | case CLOSE: |
| | | if(HIDO_TimerGetTick()-wltag_statetimer>g_com_map[UWB_WAIT_TIME]) |
| | | { |
| | | wltag_statetimer = HIDO_TimerGetTick(); |
| | | wltag_state = SEARCH; |
| | | if(UWB_STATE==UWB_STATE_IDLE) |
| | | { |
| | | UWB_STATE=UWB_RX_STATE_BUSY; |
| | | OpenUWB(); |
| | | } |
| | | } |
| | | break; |
| | | } |
| | | UWBIdleTask(); |
| | | } |
| | | int Anchor_App(void) |