Jorn Dokter / Mbed 2 deprecated TEB_branch2

Dependencies:   mbed QEI HIDScope biquadFilter MODSERIAL FastPWM

main.cpp

Committer:
JornD
Date:
2019-10-01
Revision:
8:ccd58f78b5cb
Parent:
7:af0c16ae48d7
Child:
9:cb88b16a97d5

File content as of revision 8:ccd58f78b5cb:

//Libraries
#include "mbed.h"

//objects and variables
DigitalOut ledb(LED_BLUE); // ledb=true is led off!!
DigitalOut ledg(LED_GREEN);
DigitalOut ledr(LED_RED);

enum States {MovementIdle, CalibrationIdle, Demo, Startup, CalibrationPhysical, Move, TiltCup, FailState};
States CurrentState; 

char ledcolor; //r is red, b is blue, g is green, t is bluegreen, p is purple
Ticker Tick_Blinky;//used for the blinking of the leds

//Led FLicker
void FlipLED(void)
{
    switch(ledcolor)
    {
        case 'r':
            ledr =! ledr;
            ledg = true;
            ledb = true;
            break;
        case 'b':
            ledr = true;
            ledg = true;
            ledb =! ledb;
            break;
        case 'g':
            ledr = true;
            ledg =! ledg;
            ledb = true;
        case 't':
            ledr = true;
            ledg =! ledg;
            ledb =! ledb;
            break;
        case 'p':
            ledr =! ledr;
            ledg = true;
            ledb =! ledb;
            break;
    }
}

void Run_Demo(void)
{
    
}

void Run_MovementIdle(void)
{
    
}

void Run_CalibrationIdle(void)
{
    
}

void Run_Startup(void)
{
    
}

void Run_CalibrationPhysical(void)
{
    
}

void Run_CalibrationEMG(void)
{
    
}

void Run_Move(void)
{
    
}

void Run_TiltCup(void)
{
    
}

void Run_FailState(void)
{   
    
}

//State Machine
void StateMachine(void)
{
    //Turn off all LEDs
    ledr = true;
    ledg = true;
    ledb = true;
    
    switch(CurrentState)
    {
        case Demo:
            Run_Demo;
            ledcolor='t';
            break;
        case MovementIdle:
            Run_MovementIdle;
            ledcolor='b';
            break;
        case CalibrationIdle:
            Run_CalibrationIdle;
            ledcolor='b';
            break;
        case Startup;
            Run_Startup;
            ledcolor='b';
            break;
        case CalibrationPhysical:
            Run_CalibrationPhysical;
            ledcolor='g';
            break;
        case CalibrationEMG:
            Run_CalibrationEMG;
            ledcolor='g';
            break;
        case Move:
            Run_Move;
            ledcolor='p';
            break;
        case TiltCup:
            Run_TiltCup;
            ledcolor='t';
            break;
        case FailState:
            Run_FailState;
            ledcolor='r';
            break;
    }
}

//Main Loop
void mainloop()
{
        Statemachine(); 
}

int main()
{   
    //Initialize
        
    Tick_Blinky.attach(FlipLED,1);
    CurrentState = Startup;

    while(true)
    {

    }
}