keil/uwb_app.c
@@ -13,6 +13,9 @@
#include "WS2812.h"
#include "PCA9555.h"
#include "GPS.h"
#define UWB_TIME_INTERVAL 2
extern int simple_main(void);
extern int temp_main(void);
void Calibration_Time(void);
@@ -143,7 +146,7 @@
    .phy_cfg.code_index = 9,                  /* TRX preamble code                         */
    .phy_cfg.mean_prf = MEAN_PRF_64M,         /* Mean prf 64/128/256M                      */
    .phy_cfg.data_bit_rate = DATA_BR_6M8,     /* Data rate 6.8M                            */
    .phy_cfg.sync_sym = PREAM_LEN_128,        /* Preamble duration, length of preamble 128 */
    .phy_cfg.sync_sym = PREAM_LEN_64,        /* Preamble duration, length of preamble 128 */
    .phy_cfg.sfd_sym = NON_STD_NSFD5_8,          /* Identifier for SFD sequence               */
    .phy_cfg.ranging_bit = 1,                 /* ranging bit set 1                         */
    .phy_cfg.trx_mode = TRX_MODE_15_4A,  /* IEEE802.15.4z - BPRF mode                 */
@@ -649,6 +652,7 @@
}
extern uint8_t heart_upload_time;
uint16_t count_hexupload;
extern uint8_t open_gps_time;
void UWBSendUDPTask(void)
{
   uint16_t checksum,tempdistarray[20];
@@ -713,7 +717,7 @@
                    memcpy(&usart_send[17+taglist_num*4],&anchordata_bat,taglist_num);
               checksum = Checksum_u16(&usart_send[2],15+5*taglist_num);
               memcpy(&usart_send[17+5*taglist_num],&checksum,2);
              if(lounei_flag==0&&heart_upload_time%UPLOAD_4G_TIME==0)
               if((heart_upload_time%UPLOAD_4G_TIME==0&&lounei_flag==0&&open_gps_time>120)||(open_gps_time%UPLOAD_4G_TIME==0&&lounei_flag==0&&open_gps_time<120))
            {
                HexToAsciiSendUDP(usart_send,19+5*taglist_num);
                count_hexupload++;
@@ -748,53 +752,19 @@
//}
//enumwltagstate wltag_state=RANGE;
uint32_t wltag_statetimer,wltag_uwbtimer;
extern uint16_t uwb_time_count;
int uwb_app_poll(void)
{
   switch(wltag_state)
   {
   case RANGE:
//   time_flag=HIDO_TimerGetTick()-wltag_uwbtimer;
   if(HIDO_TimerGetTick()-wltag_uwbtimer>4&&uwb_rx_flag==0)
      {
         wltag_uwbtimer = HIDO_TimerGetTick();
         OpenUWB();
      }
      else if(HIDO_TimerGetTick()-wltag_uwbtimer>1&&uwb_rx_flag==1)
   switch(uwb_time_count)
      {
//         time_flag=HIDO_TimerGetTick()-wltag_uwbtimer;
       wltag_uwbtimer = HIDO_TimerGetTick();
       CloseUWB();
         case 1:
//                  CloseUWB();
         break;
         case UWB_TIME_INTERVAL:
                  OpenUWB();
                  uwb_time_count=0;
         break;
      }
      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;
   }
    UWBIdleTask();
}
uint8_t in_the_room_flag=0;