Dependencies:   biquadFilter FastPWM HIDScope MODSERIAL mbed

Fork of StateMachine by Tommie Verouden

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?

UserRevisionLine numberNew 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