Code to let Gr20's BioRobotics2017 robot come to live.
Dependencies: FastPWM MODSERIAL QEI mbed
ui.h@0:caa8ee3bd882, 2017-11-12 (annotated)
- 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?
User | Revision | Line number | New 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 | } |