yincheng.zhong
2023-08-16 56900ed5464e7cf4215052c706e8c22b00147e4a
Ô´Âë/ºËÐİå/Src/application/beep_logic_app.c
@@ -4,62 +4,87 @@
#include "global_param.h"
#include "dw_app.h"
#define ONTIME1 1   // 100ms
#define OFFTIME1 0  // 100ms
#define ONTIME2 1   // 100ms
#define OFFTIME2 0  // 100ms
#define ONTIME3 5   // 500ms
#define OFFTIME3 5  // 500ms
u8 distoffset1=0,distoffset2=0;
uint16_t min_dist;
void main_logic(void)   //主逻辑在这里执行
{
   //除UWB之外的其他代码...
   static uint16_t beep_judge_cnt = 0;
   if(beep_judge_cnt++ >= 200)
   {
      beep_judge_cnt = 0;
      if(dis_after_filter <= g_com_map[ALARM_DISTANCE])
      {
         switch(g_com_map[ALARM_DEV])
         {
            case 0:
               BEEP2_ON;
               BEEP_OFF;
               OUT2_OFF;
               break;
            case 1:
               BEEP_ON;
               BEEP2_OFF;
               OUT2_OFF;
               break;
            case 2:
               OUT2_ON;
               BEEP_OFF;
               BEEP2_OFF;
               break;
            default:
               BEEP2_ON;
               BEEP_ON;
               OUT2_ON;
               break;
         }
      }
      else
      {
         switch(g_com_map[ALARM_DEV])
         {
            case 0:
               BEEP2_OFF;
               break;
            case 1:
               BEEP_OFF;
               break;
            case 2:
               OUT2_OFF;
               break;
            default:
               BEEP2_OFF;
               BEEP_OFF;
               OUT2_OFF;
               break;
         }
      }
   }
}
//   static uint8_t beep_state,timer_state,beep_timer,beep_ontime,beep_offtime;
//   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;
//      }
//   }
}