Code to let Gr20's BioRobotics2017 robot come to live.

Dependencies:   FastPWM MODSERIAL QEI mbed

Committer:
megrootens
Date:
Sun Nov 12 00:14:05 2017 +0000
Revision:
0:caa8ee3bd882
Child:
2:df0c6af898ac
setup code. too much play in gears and axles slip. But performance already better than bio robotics.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
megrootens 0:caa8ee3bd882 1 #include "MODSERIAL.h"
megrootens 0:caa8ee3bd882 2
megrootens 0:caa8ee3bd882 3 #define LED_ON 0
megrootens 0:caa8ee3bd882 4
megrootens 0:caa8ee3bd882 5 /**
megrootens 0:caa8ee3bd882 6 * User interface
megrootens 0:caa8ee3bd882 7 */
megrootens 0:caa8ee3bd882 8 namespace ui
megrootens 0:caa8ee3bd882 9 {
megrootens 0:caa8ee3bd882 10
megrootens 0:caa8ee3bd882 11 enum State {
megrootens 0:caa8ee3bd882 12 IGNORE,
megrootens 0:caa8ee3bd882 13 STATE_SWITCHING,
megrootens 0:caa8ee3bd882 14 ROBOT_CONTROL
megrootens 0:caa8ee3bd882 15 };
megrootens 0:caa8ee3bd882 16
megrootens 0:caa8ee3bd882 17 const char *StateNames[] = {
megrootens 0:caa8ee3bd882 18 "Ignore user input",
megrootens 0:caa8ee3bd882 19 "State switching",
megrootens 0:caa8ee3bd882 20 "Control robot"
megrootens 0:caa8ee3bd882 21 };
megrootens 0:caa8ee3bd882 22
megrootens 0:caa8ee3bd882 23 void SwitchState(State new_state);
megrootens 0:caa8ee3bd882 24
megrootens 0:caa8ee3bd882 25 State state = IGNORE;
megrootens 0:caa8ee3bd882 26
megrootens 0:caa8ee3bd882 27 const double kSampleTime = 0.5;
megrootens 0:caa8ee3bd882 28
megrootens 0:caa8ee3bd882 29 DigitalOut rgb_led[] {LED_RED, LED_GREEN, LED_BLUE};
megrootens 0:caa8ee3bd882 30
megrootens 0:caa8ee3bd882 31 MODSERIAL serial(USBTX,USBRX);
megrootens 0:caa8ee3bd882 32
megrootens 0:caa8ee3bd882 33 void InterruptSwitch2();
megrootens 0:caa8ee3bd882 34 void InterruptSwitch3();
megrootens 0:caa8ee3bd882 35
megrootens 0:caa8ee3bd882 36 void StatusDisplay();
megrootens 0:caa8ee3bd882 37 }