diff --git a/app/gl_get_corners.c b/app/gl_get_corners.c index 7a0e501..bf5d14a 100644 --- a/app/gl_get_corners.c +++ b/app/gl_get_corners.c @@ -26,13 +26,14 @@ void get_corners() { if (Lpt0_found == true && is_straight0 == false) break; } - if(is_straight0){ - state_type = STRAIGHT_STATE; - } if (is_straight0 == false && Lpt0_found == false) { is_turn0 = is_curve(angle_left ,clip(angle_left_num - 10, 0,angle_left_num),0.05); } + if (is_turn0) + { + state_type = TURN_LEFT_STATE; + } @@ -79,9 +80,10 @@ void get_corners() { if (Lpt1_found == true && is_straight1 == false) break; } - if(is_straight1){ + if(is_straight1 && is_straight0){ state_type = STRAIGHT_STATE; } + if (is_straight1 == false && Lpt1_found == false) { is_turn1 = is_curve(angle_right ,clip(angle_right_num - 10, 0,angle_right_num),0.05); @@ -108,9 +110,9 @@ void get_corners() { } } - if (is_turn0 && is_turn1) + if (is_turn1) { - state_type = TURN_STATE; + state_type = TURN_RIGHT_STATE; } diff --git a/app/gl_state.h b/app/gl_state.h index 9d6df12..ecfa349 100644 --- a/app/gl_state.h +++ b/app/gl_state.h @@ -2,8 +2,9 @@ #define STATE_H_ enum state_type_e { - COMMON_STATE = 0, - TURN_STATE, + COMMON_STATE, + TURN_LEFT_STATE, + TURN_RIGHT_STATE, STRAIGHT_STATE, };