日常更新

This commit is contained in:
Glz
2024-07-13 19:00:45 +08:00
parent af031e23d8
commit b88aaf47e5
13 changed files with 171 additions and 89 deletions

View File

@@ -3,7 +3,7 @@
enum barrier_type_e barrier_type = BARRIER_NONE;
enum s_type_e s_type = S_NONE;
enum shield_type_e shield_type = SHIELD_NONE;
enum shield_type_e shield_type = SHIELD_NONE;
float (*mid_track_s)[2];
int32_t mid_track_count_s;
int temp_min_s;
@@ -13,18 +13,38 @@ int barrier_count = 0;
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;
}
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;
}
}
void RunBarrier()
{
if (barrier_type == BARRIER_LEFT_BEGIN||barrier_type == BARRIER_LEFT_RUNNING) {
if (barrier_type == BARRIER_LEFT_BEGIN || barrier_type == BARRIER_LEFT_RUNNING) {
track_type = TRACK_RIGHT;
if (barrier_type == BARRIER_LEFT_BEGIN)
{
timer_clear(TIM_2);
timer_start(TIM_2);
barrier_type = BARRIER_LEFT_RUNNING;
}
if (barrier_type == BARRIER_LEFT_RUNNING)
{
if (timer_get(TIM_2) >= 500)
{
barrier_type = BARRIER_NONE;
timer_stop(TIM_2);
timer_clear(TIM_2);
}
else{
barrier_type = BARRIER_LEFT_RUNNING;
}
}
// if (barrier_begin_flag == 0) {
// timer_clear(TIM_3);
// timer_start(TIM_3);
@@ -46,32 +66,36 @@ void RunBarrier()
// }
// }
// }
if (pts_resample_left_count >= 5)
{
if (Lpt0_found) {
Lpt0_found_count++;
}
if (Lpt0_found_count >= 1 && barrier_type == BARRIER_LEFT_BEGIN) {
Lpt0_found_count = 0;
barrier_type = BARRIER_LEFT_RUNNING;
track_type = TRACK_RIGHT;
timer_clear(TIM_2);
timer_start(TIM_2);
} else if (barrier_type == BARRIER_LEFT_RUNNING) {
track_type = TRACK_RIGHT;
if (timer_get(TIM_2) >= 500) {
barrier_type = BARRIER_NONE;
track_type = TRACK_RIGHT;
timer_stop(TIM_2);
timer_clear(TIM_2);
}
}
}
else{
track_type = TRACK_RIGHT;
barrier_type = BARRIER_NONE;
}
// if (pts_resample_left_count >= 5) {
// if (Lpt0_found) {
// Lpt0_found_count++;
// }
// if (Lpt0_found_count >= 1 && barrier_type == BARRIER_LEFT_BEGIN) {
// Lpt0_found_count = 0;
// barrier_type = BARRIER_LEFT_RUNNING;
// track_type = TRACK_RIGHT;
// timer_clear(TIM_2);
// timer_start(TIM_2);
// } else if (barrier_type == BARRIER_LEFT_RUNNING) {
// track_type = TRACK_RIGHT;
// if (timer_get(TIM_2) >= 500) {
// barrier_type = BARRIER_NONE;
// track_type = TRACK_RIGHT;
// timer_stop(TIM_2);
// timer_clear(TIM_2);
// }
// }
// } else {
// track_type = TRACK_RIGHT;
// barrier_type = BARRIER_NONE;
// }
// if (barrier_type == BARRIER_LEFT_RUNNING) {
// if (pts_resample_left_count >= 5 && pts_resample_right_count >= 5) {
// barrier_type = BARRIER_NONE;
// }
// }
// if (Lpt0_found) {
// Lpt0_found_count++;
// }
@@ -92,8 +116,26 @@ void RunBarrier()
// }
}
if (barrier_type == BARRIER_RIGHT_BEGIN||barrier_type == BARRIER_RIGHT_RUNNING) {
if (barrier_type == BARRIER_RIGHT_BEGIN || barrier_type == BARRIER_RIGHT_RUNNING) {
track_type = TRACK_LEFT;
if (barrier_type == BARRIER_RIGHT_BEGIN)
{
timer_clear(TIM_2);
timer_start(TIM_2);
barrier_type = BARRIER_RIGHT_RUNNING;
}
if (barrier_type == BARRIER_RIGHT_RUNNING)
{
if (timer_get(TIM_2) >= 500)
{
barrier_type = BARRIER_NONE;
timer_stop(TIM_2);
timer_clear(TIM_2);
}
else{
barrier_type = BARRIER_RIGHT_RUNNING;
}
}
// if (barrier_begin_flag == 0) {
// timer_clear(TIM_3);
// timer_start(TIM_3);
@@ -115,31 +157,35 @@ void RunBarrier()
// }
// }
// }
if (pts_resample_right_count >= 5)
{
if (Lpt1_found) {
Lpt1_found_count++;
}
if (Lpt1_found_count >= 1 && barrier_type == BARRIER_RIGHT_BEGIN) {
Lpt1_found_count = 0;
barrier_type = BARRIER_RIGHT_RUNNING;
track_type = TRACK_LEFT;
timer_clear(TIM_2);
timer_start(TIM_2);
} else if (barrier_type == BARRIER_RIGHT_RUNNING) {
track_type = TRACK_LEFT;
if (timer_get(TIM_2) >= 500) {
timer_stop(TIM_2);
timer_clear(TIM_2);
barrier_type = BARRIER_NONE;
track_type = TRACK_LEFT;
}
}
}
else{
track_type = TRACK_LEFT;
barrier_type = BARRIER_NONE;
}
// if (pts_resample_right_count >= 5) {
// if (Lpt1_found) {
// Lpt1_found_count++;
// }
// if (Lpt1_found_count >= 1 && barrier_type == BARRIER_RIGHT_BEGIN) {
// Lpt1_found_count = 0;
// barrier_type = BARRIER_RIGHT_RUNNING;
// track_type = TRACK_LEFT;
// timer_clear(TIM_2);
// timer_start(TIM_2);
// } else if (barrier_type == BARRIER_RIGHT_RUNNING) {
// track_type = TRACK_LEFT;
// if (timer_get(TIM_2) >= 500) {
// timer_stop(TIM_2);
// timer_clear(TIM_2);
// barrier_type = BARRIER_NONE;
// track_type = TRACK_LEFT;
// }
// }
// } else {
// track_type = TRACK_LEFT;
// barrier_type = BARRIER_NONE;
// }
// if (barrier_type == BARRIER_RIGHT_RUNNING) {
// if (pts_resample_left_count >= 5 && pts_resample_right_count >= 5) {
// barrier_type = BARRIER_NONE;
// }
// }
}
}
@@ -180,7 +226,6 @@ void RunS()
}
}
// void Check_shield(){
// if (begin_flag == 1)
// {
@@ -195,7 +240,5 @@ void RunS()
// timer_stop(TIM_3);
// timer_clear(TIM_3);
// }
// }