Files
QDAC-firmware/app/gl_barrier.c

38 lines
1.0 KiB
C
Raw Normal View History

2024-03-23 09:43:06 +08:00
#include "zf_common_headfile.h"
#include "gl_headfile.h"
enum barrier_type_e barrier_type = BARRIER_NONE;
void CheckBarrier() {
if (barrier_type == BARRIER_NONE && Lpt0_found_barrier_in && !Lpt1_found_barrier_in && is_straight1) {
barrier_type = BARRIER_LEFT_BEGIN;
}
if (barrier_type == BARRIER_NONE && !Lpt0_found_barrier_in && Lpt1_found_barrier_in && is_straight0) {
barrier_type = BARRIER_RIGHT_BEGIN;
}
}
2024-03-23 17:37:31 +08:00
void RunBarrier() {
if (barrier_type == BARRIER_LEFT_BEGIN) // 左环开始,寻外直道右线
{
track_type = TRACK_RIGHT;
}
else if (barrier_type == BARRIER_LEFT_BEGIN && ((Lpt0_found_barrier && is_straight1) || Lpt0_found) )
{
barrier_type = BARRIER_NONE;
track_type = TRACK_RIGHT;
}
if (barrier_type == BARRIER_RIGHT_BEGIN) // 左环开始,寻外直道右线
{
track_type = TRACK_LEFT;
}
else if (barrier_type == BARRIER_RIGHT_BEGIN && ((Lpt1_found_barrier && is_straight0) || Lpt1_found) )
{
barrier_type = BARRIER_NONE;
track_type = TRACK_LEFT;
}
}