zhyinch
2022-07-29 038ffb0327e40886b4db2eb8b3fcd1653aa264a3
Ô´Âë/ºËÐİå/Src/application/beep_logic_app.c
@@ -13,7 +13,7 @@
#define ONTIME3 5   // 500ms
#define OFFTIME3 5  // 500ms
uint16_t min_dist1,min_dist2;
int32_t min_dist1,min_dist2;
extern u16 JDQ_time;
void Relay1Task(u16 min_dist)
{
@@ -21,11 +21,13 @@
    static uint8_t beep_state,timer_state,beep_timer,beep_ontime,beep_offtime;
         if (min_dist <= g_com_map[ALARM_DISTANCE2]+distoffset1)
                {
                    beep_ontime = JDQ_time;
                    beep_offtime = JDQ_time;
                    beep_ontime = 1;
                    beep_offtime = 0;
                    beep_state=2;
                    distoffset1=0;
                    distoffset2=0;
                    beep_timer = 0;
                    timer_state = 1;
                }
         else if (min_dist <= g_com_map[ALARM_DISTANCE3]+distoffset2)
                {
@@ -39,6 +41,8 @@
                    beep_state=0;
                    distoffset1=0;
                    distoffset2=0;
                    beep_timer = 0;
                    timer_state = 1;
                }
                
                if(beep_state!=0)
@@ -64,6 +68,9 @@
                            }
                        
                    }
                }else {
                    RELAY1_OFF;
                 //    RELAY2_OFF;
                }
}
void Relay2Task(u16 min_dist)
@@ -72,11 +79,13 @@
    static uint8_t beep_state2,timer_state2,beep_timer2,beep_ontime2,beep_offtime2;
         if (min_dist <= g_com_map[RELAY2_DISTANCE2]+distoffset12)
                {
                    beep_ontime2 = JDQ_time;
                    beep_offtime2 = JDQ_time;
                    beep_ontime2 = 1;
                    beep_offtime2 = 0;
                    beep_state2=2;
                    distoffset12=0;
                    distoffset22=0;
                    timer_state2=1;
                    beep_timer2=0;
                }
         else if (min_dist <= g_com_map[RELAY2_DISTANCE3]+distoffset22)
                {
@@ -90,6 +99,8 @@
                    beep_state2=0;
                    distoffset12=0;
                    distoffset22=0;
                    timer_state2=1;
                    beep_timer2=0;
                }
                
                if(beep_state2!=0)
@@ -115,6 +126,9 @@
                            }
                        
                    }
                }else {
                   // RELAY1_OFF;
                     RELAY2_OFF;
                }
}
void main_logic(void)   //主逻辑在这里执行
@@ -122,13 +136,13 @@
   uint16_t i;
   //除UWB之外的其他代码...
   static uint16_t beep_judge_cnt = 0;
    if(g_com_map[ALARM_DISTANCE1]!=0||g_com_map[ALARM_DISTANCE2]!=0||g_com_map[ALARM_DISTANCE3]!=0)
    if(g_com_map[ALARM_DISTANCE1]!=0||g_com_map[ALARM_DISTANCE2]!=0||g_com_map[ALARM_DISTANCE3]!=0||g_com_map[RELAY2_DISTANCE1]!=0||g_com_map[RELAY2_DISTANCE2]!=0||g_com_map[RELAY2_DISTANCE3]!=0)
    {
            if(beep_judge_cnt++ >= 100)
            {   
                beep_judge_cnt = 0;
                min_dist1=0xffff;
                min_dist2=0xffff;
                min_dist1=0x1ffff;
                min_dist2=0x1ffff;
                for(i = 0; i < 255;i++)
                {
                    if(g_Tagdist[i] < min_dist1&&g_Tagdist[i]>g_com_map[ALARM_DISTANCE1])