TomYumBoys / Mbed 2 deprecated MM2017

Dependencies:   mbed

Committer:
kolanery
Date:
Sat May 20 05:17:47 2017 +0000
Revision:
15:151e59899221
Parent:
14:a646667ac9ea
Child:
16:c26d8e007df5
update working version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kolanery 0:cb667de3a336 1 #ifndef __DRIVE_CONTROL_H__
kolanery 0:cb667de3a336 2 #define __DRIVE_CONTROL_H__
kolanery 0:cb667de3a336 3
kolanery 0:cb667de3a336 4 /**
kolanery 0:cb667de3a336 5 * Control mouse movements.
kolanery 0:cb667de3a336 6 * - PID Control based on sensor readings.
kolanery 0:cb667de3a336 7 * - Output PWM signals to motors based on feedback loop.
kolanery 0:cb667de3a336 8 * - Provides directional signals to the main control loop.
kolanery 0:cb667de3a336 9 */
kolanery 0:cb667de3a336 10 class DriveControl {
kolanery 0:cb667de3a336 11
kolanery 0:cb667de3a336 12 public:
kolanery 0:cb667de3a336 13 int y;
kolanery 0:cb667de3a336 14 int x;
szh66 6:1bcfda49e146 15 //float total_error;
kolanery 0:cb667de3a336 16 DriveControl (int start_x, int start_y);
kolanery 0:cb667de3a336 17 ~DriveControl();
kolanery 0:cb667de3a336 18
kolanery 0:cb667de3a336 19 int get_next_direction();
kolanery 0:cb667de3a336 20
kolanery 0:cb667de3a336 21 int get_next_state(int state);
kolanery 0:cb667de3a336 22
kolanery 0:cb667de3a336 23 // Stops both motors. Assume no coasting.
kolanery 0:cb667de3a336 24 void stop();
kolanery 0:cb667de3a336 25
kolanery 15:151e59899221 26 void print_serial_ports();
szh66 8:4a32fc9ee939 27
kolanery 7:7215adbae3da 28 void drive_forward();
kolanery 0:cb667de3a336 29
kolanery 0:cb667de3a336 30 void turn();
kolanery 0:cb667de3a336 31
kolanery 0:cb667de3a336 32 void turn_left();
kolanery 0:cb667de3a336 33
kolanery 0:cb667de3a336 34 void turn_right();
kolanery 0:cb667de3a336 35
kolanery 7:7215adbae3da 36 void turn_around();
kolanery 7:7215adbae3da 37
kolanery 4:73510c7fa316 38 void drive(float speed);
kolanery 4:73510c7fa316 39
kolanery 0:cb667de3a336 40 bool has_front_wall();
kolanery 0:cb667de3a336 41
kolanery 0:cb667de3a336 42 bool has_right_wall();
kolanery 0:cb667de3a336 43
kolanery 0:cb667de3a336 44 bool has_left_wall();
kolanery 14:a646667ac9ea 45
kolanery 14:a646667ac9ea 46 void resetEncoders();
kolanery 14:a646667ac9ea 47
kolanery 14:a646667ac9ea 48 bool should_finish_turn_right();
kolanery 14:a646667ac9ea 49
kolanery 14:a646667ac9ea 50 bool should_finish_turn_left ();
kolanery 14:a646667ac9ea 51
kolanery 14:a646667ac9ea 52 bool should_stop_drive_forward();
kolanery 0:cb667de3a336 53 };
kolanery 0:cb667de3a336 54 #endif