| | |
| | | #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) //主é»è¾å¨è¿éæ§è¡ |
| | | {uint16_t i, min_dist; |
| | | //é¤UWBä¹å¤çå
¶ä»ä»£ç ... |
| | | static uint16_t beep_judge_cnt = 0; |
| | | if(beep_judge_cnt++ >= 200) |
| | | { |
| | | beep_judge_cnt = 0; |
| | | min_dist=0xffff; |
| | | for(i = 0; i < 255;i++) |
| | | { |
| | | if(g_Tagdist[i] < min_dist) |
| | | { |
| | | min_dist=g_Tagdist[i]; |
| | | } |
| | | |
| | | } |
| | | if(min_dist <= 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; |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | |