Racing Robots Session

Dependencies:   m3pi mbed

Fork of racing_robots by Nico De Witte

Committer:
dwini
Date:
Mon Feb 23 12:24:31 2015 +0000
Revision:
0:c0ae66a0ec7a
Child:
2:356bb8d99326
Define interface of pololu for racing robots.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dwini 0:c0ae66a0ec7a 1 #include "mbed.h"
dwini 0:c0ae66a0ec7a 2 #include "m3pi.h"
dwini 0:c0ae66a0ec7a 3
dwini 0:c0ae66a0ec7a 4 #ifndef H_ROBOT_LOGIC
dwini 0:c0ae66a0ec7a 5 #define H_ROBOT_LOGIC
dwini 0:c0ae66a0ec7a 6
dwini 0:c0ae66a0ec7a 7 //typedef enum {
dwini 0:c0ae66a0ec7a 8 // LED_1 = 0,
dwini 0:c0ae66a0ec7a 9 // LED_2 = 1,
dwini 0:c0ae66a0ec7a 10 // LED_3 = 2,
dwini 0:c0ae66a0ec7a 11 // LED_4 = 3
dwini 0:c0ae66a0ec7a 12 // //.....
dwini 0:c0ae66a0ec7a 13 //} LedIndex;
dwini 0:c0ae66a0ec7a 14
dwini 0:c0ae66a0ec7a 15 typedef enum {
dwini 0:c0ae66a0ec7a 16 LED_ON = 0,
dwini 0:c0ae66a0ec7a 17 LED_OFF = 1,
dwini 0:c0ae66a0ec7a 18 LED_TOGGLE = 2
dwini 0:c0ae66a0ec7a 19 } LedState;
dwini 0:c0ae66a0ec7a 20
dwini 0:c0ae66a0ec7a 21
dwini 0:c0ae66a0ec7a 22 /*
dwini 0:c0ae66a0ec7a 23 * Drive the robot forward or backward.
dwini 0:c0ae66a0ec7a 24 *
dwini 0:c0ae66a0ec7a 25 * @speed The speed percentage with which to drive forward or backward [-100, +100].
dwini 0:c0ae66a0ec7a 26 */
dwini 0:c0ae66a0ec7a 27 void drive(int speed);
dwini 0:c0ae66a0ec7a 28
dwini 0:c0ae66a0ec7a 29 // speed between -100% en +100%
dwini 0:c0ae66a0ec7a 30 void turn(int turnspeed);
dwini 0:c0ae66a0ec7a 31
dwini 0:c0ae66a0ec7a 32 // Stop the robot
dwini 0:c0ae66a0ec7a 33 void stop();
dwini 0:c0ae66a0ec7a 34
dwini 0:c0ae66a0ec7a 35 void sensor_calibrate();
dwini 0:c0ae66a0ec7a 36
dwini 0:c0ae66a0ec7a 37 // Read the value from the line sensor
dwini 0:c0ae66a0ec7a 38 int line_sensor();
dwini 0:c0ae66a0ec7a 39
dwini 0:c0ae66a0ec7a 40 // PID drive control
dwini 0:c0ae66a0ec7a 41 void pid_init(int p, int i, int d);
dwini 0:c0ae66a0ec7a 42
dwini 0:c0ae66a0ec7a 43
dwini 0:c0ae66a0ec7a 44 // returns turnspeed
dwini 0:c0ae66a0ec7a 45 int pid_turn(int line_position);
dwini 0:c0ae66a0ec7a 46
dwini 0:c0ae66a0ec7a 47 // Show drive speed and sensor data
dwini 0:c0ae66a0ec7a 48 void showStats();
dwini 0:c0ae66a0ec7a 49
dwini 0:c0ae66a0ec7a 50 // Show text on display
dwini 0:c0ae66a0ec7a 51 void display(char* fmt, ...);
dwini 0:c0ae66a0ec7a 52
dwini 0:c0ae66a0ec7a 53 // Turn a led on or off
dwini 0:c0ae66a0ec7a 54 //void led(LedIndex i, LedState state);
dwini 0:c0ae66a0ec7a 55
dwini 0:c0ae66a0ec7a 56 // Wait for a number of milliseconds
dwini 0:c0ae66a0ec7a 57 void await(int milliseconds);
dwini 0:c0ae66a0ec7a 58
dwini 0:c0ae66a0ec7a 59 #endif