Tommie Verouden / Mbed 2 deprecated StateMachine

Dependencies:   biquadFilter FastPWM MODSERIAL QEI mbed

main.cpp

Committer:
tverouden
Date:
2018-10-31
Revision:
1:d5ff787228fa
Parent:
0:c0c35b95765f
Child:
2:d70795e4e0bf

File content as of revision 1:d5ff787228fa:

// ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡ PREPARATION ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Libraries
#include "mbed.h"
#include "biquadFilter.h"
#include "FastPWM.h"
#include "HIDScope.h"
#include "MODSERIAL.h"

// Inputs & outputs
DigitalOut  redled(LED_RED,1);      // red LED K64F
DigitalOut  greenled(LED_GREEN,1);  // green LED K64F
DigitalOut  blueled(LED_BLUE,1);    // blue LED K64F
InterruptIn buttonbio1(D0);         // button 1 BioRobotics shield
InterruptIn buttonbio2(D1);         // button 2 BioRobotics shield
InterruptIn buttonK64F(SW3);        // button on K64F
InterruptIn emergencybutton(SW2);   // emergency button on K64F

// PC-communication
bool externalPC = true;             // toggle communication with external PC

if externalPC
    {
    MODSERIAL pc(USBTX, USBRX);
    }

// Define & initialise state machine
enum states {   waiting, calibratingMotors, calibratingEMGx, calibratingEMGy,
                homing, operating, flipping, failure, demo };
states currentState = waiting;      // start in waiting mode
bool changeState = true;            // initialise the first state