Code to let Gr20's BioRobotics2017 robot come to live.

Dependencies:   FastPWM MODSERIAL QEI mbed

ui.h

Committer:
megrootens
Date:
2017-11-13
Revision:
5:088917beb5e4
Parent:
2:df0c6af898ac
Child:
7:b9a209f889f5

File content as of revision 5:088917beb5e4:

#ifndef _UI_H_
#define _UI_H_

#include "MODSERIAL.h"

#define LED_ON 0

/**
 * User interface
 *
 * Implementation can be found in main.cpp
 */
namespace ui
{
// Sample time
const double kSampleTime = 0.5;

// UI states
enum State {
    IGNORE,
    STATE_SWITCHING,
    ROBOT_CONTROL
};

// UI state description
const char *StateNames[] = {
    "Ignore user input",
    "State switching",
    "Control robot"
};

// Change state
void SwitchState(State new_state);

// Current state
State state = IGNORE;

// LEDs and Serial
DigitalOut rgb_led[] {LED_RED, LED_GREEN, LED_BLUE};
MODSERIAL serial(USBTX,USBRX);

// Interrupt switches
void InterruptSwitch2();
void InterruptSwitch3();

// Display robot status through LEDs
void StatusDisplay();
}

#endif