diff options
Diffstat (limited to 'robot/mode_grid.c')
-rw-r--r-- | robot/mode_grid.c | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/robot/mode_grid.c b/robot/mode_grid.c index 4364b67..7e6db49 100644 --- a/robot/mode_grid.c +++ b/robot/mode_grid.c @@ -19,12 +19,11 @@ w2_s_grid_coordinate g_w2_destination; w2_e_orientation g_w2_direction; int g_w2_detection = 0; -int g_w2_transition; //used for the crosswalk, used to count black lines -char g_w2_x_location = 0; //current location in grid +int g_w2_transition; // used for the crosswalk, used to count black lines +char g_w2_x_location = 0; // current location in grid char g_w2_y_location = 0; - -//used for the crosswalk from maze to grid +// used for the crosswalk from maze to grid void w2_crosswalk_stroll() { while (g_w2_sensors[0] < 100 && g_w2_sensors[1] < 100 && g_w2_sensors[2] < 100 && g_w2_sensors[3] < 100 && g_w2_sensors[4] < 100) { @@ -57,7 +56,7 @@ void w2_grid_crossway_detection() { g_w2_position = read_line(g_w2_sensors, IR_EMITTERS_ON); } -//main function for grid mode +// main function for grid mode void w2_grid_follow_line() { unsigned int last_proportional = 0; long integral = 0; @@ -75,9 +74,10 @@ void w2_grid_follow_line() { if (power_difference < -max) power_difference = -max; if (g_w2_sensors[0] >= 500 && g_w2_sensors[1] >= 250 && g_w2_sensors[2] >= 500 && - g_w2_sensors[3] >= 250 && g_w2_sensors[4] >= 500) { //crossways/intersections + g_w2_sensors[3] >= 250 && g_w2_sensors[4] >= 500) { // crossways/intersections break; - } else if (g_w2_sensors[0] >= 500 && g_w2_sensors[1] >= 200 && g_w2_sensors[4] < 100) { //left corners + } else if (g_w2_sensors[0] >= 500 && g_w2_sensors[1] >= 200 && + g_w2_sensors[4] < 100) { // left corners break; } else if (g_w2_sensors[4] >= 500 && g_w2_sensors[3] >= 200 && g_w2_sensors[0] < 100) { // for the south and west borders of the grid @@ -99,22 +99,20 @@ void w2_grid_follow_line() { } } -//begin location when entering the grid +// begin location when entering the grid void w2_begin_location() { g_w2_location.x = 4; g_w2_location.y = 0; g_w2_direction = W2_ORT_WEST; } - -//location of grid exit +// location of grid exit void w2_end_destination() { g_w2_destination.x = 4; g_w2_destination.y = 4; } - -//turns are used to get the correct orientation when picking up orders +// turns are used to get the correct orientation when picking up orders void w2_turn_north() { switch (g_w2_direction) { case W2_ORT_NORTH: @@ -201,8 +199,7 @@ void w2_turn_east() { g_w2_direction = W2_ORT_EAST; } - -//signals when the product is picked +// signals when the product is picked void w2_arrived_message() { if (g_w2_location.x == g_w2_destination.x && g_w2_location.y == g_w2_destination.y) { play_frequency(400, 500, 7); @@ -210,8 +207,7 @@ void w2_arrived_message() { } } - -//go to correct x coordinate +// go to correct x coordinate void w2_go_to_x() { if (g_w2_location.x != g_w2_destination.x) { while (g_w2_location.x != g_w2_destination.x) { @@ -232,7 +228,7 @@ void w2_go_to_x() { } } -//go to correct y coordinate +// go to correct y coordinate void w2_go_to_y() { if (g_w2_location.y != g_w2_destination.y) { while (g_w2_location.y != g_w2_destination.y) { @@ -253,7 +249,7 @@ void w2_go_to_y() { } } -//main function for grid mode +// main function for grid mode void w2_mode_grid() { set_motors(0, 0); delay(500); |