State machine

Dependencies:   HIDScope QEI biquadFilter mbed

Fork of State_machine by Kilian Buitenhuis

Committer:
CasperK
Date:
Mon Oct 22 12:25:04 2018 +0000
Revision:
0:1b2c842eca42
Child:
1:afb820c6fc0d
Empty state machine, apart from killswitch

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CasperK 0:1b2c842eca42 1 #include "mbed.h"
CasperK 0:1b2c842eca42 2
CasperK 0:1b2c842eca42 3 enum State(PositionCalibration, EmgCalibration, Movement, KILL);
CasperK 0:1b2c842eca42 4
CasperK 0:1b2c842eca42 5 int main()
CasperK 0:1b2c842eca42 6 {
CasperK 0:1b2c842eca42 7 State = PositionCalibration;
CasperK 0:1b2c842eca42 8
CasperK 0:1b2c842eca42 9 while (true) {
CasperK 0:1b2c842eca42 10 switch(States) {
CasperK 0:1b2c842eca42 11 case PositionCalibration:
CasperK 0:1b2c842eca42 12 if (!KillSwitch) {
CasperK 0:1b2c842eca42 13 State = KILL;
CasperK 0:1b2c842eca42 14 Break;
CasperK 0:1b2c842eca42 15 }
CasperK 0:1b2c842eca42 16
CasperK 0:1b2c842eca42 17 Break;
CasperK 0:1b2c842eca42 18
CasperK 0:1b2c842eca42 19 case EmgCalibration:
CasperK 0:1b2c842eca42 20 if (!KillSwitch) {
CasperK 0:1b2c842eca42 21 State = KILL;
CasperK 0:1b2c842eca42 22 Break;
CasperK 0:1b2c842eca42 23 }
CasperK 0:1b2c842eca42 24
CasperK 0:1b2c842eca42 25 Break;
CasperK 0:1b2c842eca42 26
CasperK 0:1b2c842eca42 27 case Movement:
CasperK 0:1b2c842eca42 28 if (!KillSwitch) {
CasperK 0:1b2c842eca42 29 State = KILL;
CasperK 0:1b2c842eca42 30 Break;
CasperK 0:1b2c842eca42 31 }
CasperK 0:1b2c842eca42 32
CasperK 0:1b2c842eca42 33 Break;
CasperK 0:1b2c842eca42 34
CasperK 0:1b2c842eca42 35 case KILL:
CasperK 0:1b2c842eca42 36 turnoffmotors() //placeholder
CasperK 0:1b2c842eca42 37 flashsos() //placeholder
CasperK 0:1b2c842eca42 38 if (!KillSwitch){
CasperK 0:1b2c842eca42 39 State = PositionCalibration;
CasperK 0:1b2c842eca42 40 }
CasperK 0:1b2c842eca42 41 Break;
CasperK 0:1b2c842eca42 42 }
CasperK 0:1b2c842eca42 43 }