Dependencies: biquadFilter FastPWM HIDScope MODSERIAL mbed
Fork of StateMachine by
main.cpp@1:d5ff787228fa, 2018-10-31 (annotated)
- Committer:
- tverouden
- Date:
- Wed Oct 31 10:32:29 2018 +0000
- Revision:
- 1:d5ff787228fa
- Parent:
- 0:c0c35b95765f
- Child:
- 2:d70795e4e0bf
Added toggleable external PC-communication
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tverouden | 0:c0c35b95765f | 1 | // ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ PREPARATION ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ |
tverouden | 0:c0c35b95765f | 2 | // Libraries |
tverouden | 0:c0c35b95765f | 3 | #include "mbed.h" |
tverouden | 0:c0c35b95765f | 4 | #include "biquadFilter.h" |
tverouden | 0:c0c35b95765f | 5 | #include "FastPWM.h" |
tverouden | 0:c0c35b95765f | 6 | #include "HIDScope.h" |
tverouden | 0:c0c35b95765f | 7 | #include "MODSERIAL.h" |
tverouden | 0:c0c35b95765f | 8 | |
tverouden | 0:c0c35b95765f | 9 | // Inputs & outputs |
tverouden | 0:c0c35b95765f | 10 | DigitalOut redled(LED_RED,1); // red LED K64F |
tverouden | 0:c0c35b95765f | 11 | DigitalOut greenled(LED_GREEN,1); // green LED K64F |
tverouden | 0:c0c35b95765f | 12 | DigitalOut blueled(LED_BLUE,1); // blue LED K64F |
tverouden | 0:c0c35b95765f | 13 | InterruptIn buttonbio1(D0); // button 1 BioRobotics shield |
tverouden | 0:c0c35b95765f | 14 | InterruptIn buttonbio2(D1); // button 2 BioRobotics shield |
tverouden | 0:c0c35b95765f | 15 | InterruptIn buttonK64F(SW3); // button on K64F |
tverouden | 0:c0c35b95765f | 16 | InterruptIn emergencybutton(SW2); // emergency button on K64F |
tverouden | 0:c0c35b95765f | 17 | |
tverouden | 1:d5ff787228fa | 18 | // PC-communication |
tverouden | 1:d5ff787228fa | 19 | bool externalPC = true; // toggle communication with external PC |
tverouden | 1:d5ff787228fa | 20 | |
tverouden | 1:d5ff787228fa | 21 | if externalPC |
tverouden | 1:d5ff787228fa | 22 | { |
tverouden | 1:d5ff787228fa | 23 | MODSERIAL pc(USBTX, USBRX); |
tverouden | 1:d5ff787228fa | 24 | } |
tverouden | 1:d5ff787228fa | 25 | |
tverouden | 0:c0c35b95765f | 26 | // Define & initialise state machine |
tverouden | 0:c0c35b95765f | 27 | enum states { waiting, calibratingMotors, calibratingEMGx, calibratingEMGy, |
tverouden | 0:c0c35b95765f | 28 | homing, operating, flipping, failure, demo }; |
tverouden | 0:c0c35b95765f | 29 | states currentState = waiting; // start in waiting mode |
tverouden | 0:c0c35b95765f | 30 | bool changeState = true; // initialise the first state |