zhyinch
2021-05-10 95e4a4995ac7403d06ebb13e706ac0c4c7d47f4f
Ô´Âë/ºËÐİå/Src/application/beep_logic_app.c
@@ -20,70 +20,89 @@
   uint16_t i;
   //除UWB之外的其他代码...
   static uint16_t beep_judge_cnt = 0;
   if(beep_judge_cnt++ >= 100)
   {
      beep_judge_cnt = 0;
      min_dist=0xffff;
      for(i = 0; i < 255;i++)
      {
         if(g_Tagdist[i] < min_dist&&g_Tagdist[i]>g_com_map[ALARM_DISTANCE1])
         {
            min_dist=g_Tagdist[i];
         }
      }
 if (min_dist <= g_com_map[ALARM_DISTANCE2]+distoffset1)
      {
         beep_ontime = ONTIME2;
         beep_offtime = OFFTIME2;
         beep_state=2;
         distoffset1=0;
         distoffset2=0;
      }
 else if (min_dist <= g_com_map[ALARM_DISTANCE3]+distoffset2)
      {
         beep_ontime = ONTIME3;
         beep_offtime = OFFTIME3;
         beep_state=1;
         distoffset1=0;
         distoffset2=0;
      }
      else{
         beep_state=0;
         distoffset1=0;
         distoffset2=0;
      }
      if(beep_state!=0)
      {
         if(timer_state==1)
         {
            if(beep_timer++ < beep_ontime)
            {
               RELAY1_ON;
               RELAY2_ON;
            }else{
               timer_state=0;
               beep_timer=0;
            }
         }else{
             if(beep_timer++ < beep_offtime)
               {
                  RELAY1_OFF;
                  RELAY2_OFF;
               }else{
                     timer_state=1;
                     beep_timer=0;
               }
         }
      }   else {
         RELAY1_OFF;
          RELAY2_OFF;
      }
   }
    if(g_com_map[ALARM_DISTANCE1]!=0||g_com_map[ALARM_DISTANCE2]!=0||g_com_map[ALARM_DISTANCE3]!=0)
    {
            if(beep_judge_cnt++ >= 100)
            {
                beep_judge_cnt = 0;
                min_dist=0xffff;
                for(i = 0; i < 255;i++)
                {
                    if(g_Tagdist[i] < min_dist&&g_Tagdist[i]>g_com_map[ALARM_DISTANCE1])
                    {
                        min_dist=g_Tagdist[i];
                    }
                }
         if (min_dist <= g_com_map[ALARM_DISTANCE2]+distoffset1)
                {
                    beep_ontime = ONTIME2;
                    beep_offtime = OFFTIME2;
                    beep_state=2;
                    distoffset1=0;
                    distoffset2=0;
                }
         else if (min_dist <= g_com_map[ALARM_DISTANCE3]+distoffset2)
                {
                    beep_ontime = ONTIME3;
                    beep_offtime = OFFTIME3;
                    beep_state=1;
                    distoffset1=0;
                    distoffset2=0;
                }
                else{
                    beep_state=0;
                    distoffset1=0;
                    distoffset2=0;
                }
                if(beep_state!=0)
                {
                    if(timer_state==1)
                    {
                        if(beep_timer++ < beep_ontime)
                        {
                            RELAY1_ON;
                            RELAY2_ON;
                        }else{
                            timer_state=0;
                            beep_timer=0;
                        }
                    }else{
                        if(beep_timer++ < beep_offtime)
                            {
                                RELAY1_OFF;
                                RELAY2_OFF;
                            }else{
                                    timer_state=1;
                                    beep_timer=0;
                            }
                    }
                }   else {
                    RELAY1_OFF;
                     RELAY2_OFF;
                }
            }
    }else{
        if(g_com_map[RELAY1ON_INDEX]==1)
            {
             RELAY1_ON;
            }else if(g_com_map[RELAY1ON_INDEX]==0)
            {
             RELAY1_OFF;
            }
        if(g_com_map[RELAY2ON_INDEX]==1)
            {
             RELAY2_ON;
            }else if(g_com_map[RELAY2ON_INDEX]==0)
            {
             RELAY2_OFF;
            }
    }
}