test

Dependencies:   mbed

Fork of State_machine by Rik Schrijver

Committer:
R_Schrijver
Date:
Mon Oct 22 14:36:33 2018 +0000
Revision:
0:65476dd9173d
Child:
1:fc6a544d77d9
Start of the coding;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
R_Schrijver 0:65476dd9173d 1 #include "mbed.h"
R_Schrijver 0:65476dd9173d 2 ticker update;
R_Schrijver 0:65476dd9173d 3 InterruptIn DemoButton(button...);
R_Schrijver 0:65476dd9173d 4 InterruptIn EMGCalibrationButton(Button...);
R_Schrijver 0:65476dd9173d 5 InterruptIn MotorCalibration(Button...);
R_Schrijver 0:65476dd9173d 6
R_Schrijver 0:65476dd9173d 7 // Inputs
R_Schrijver 0:65476dd9173d 8 AnalogIn EMGIn1Biceps(...);
R_Schrijver 0:65476dd9173d 9 AnalogIn EMGIn1Triceps(...);
R_Schrijver 0:65476dd9173d 10 AnalogIn EMGIn2Bicepcs(...);
R_Schrijver 0:65476dd9173d 11 AnalogIn EMGIn2Triceps(...);
R_Schrijver 0:65476dd9173d 12
R_Schrijver 0:65476dd9173d 13
R_Schrijver 0:65476dd9173d 14 //Define variables
R_Schrijver 0:65476dd9173d 15 float xPosition;
R_Schrijver 0:65476dd9173d 16 float yPosition;
R_Schrijver 0:65476dd9173d 17 float
R_Schrijver 0:65476dd9173d 18
R_Schrijver 0:65476dd9173d 19
R_Schrijver 0:65476dd9173d 20
R_Schrijver 0:65476dd9173d 21
R_Schrijver 0:65476dd9173d 22
R_Schrijver 0:65476dd9173d 23 float TickerFrequency = 1000.0;
R_Schrijver 0:65476dd9173d 24 enum states {MotorCalibration, EMGCalibration, DemoMode, OperationMode, FailureMode, Reset};
R_Schrijver 0:65476dd9173d 25 states state =
R_Schrijver 0:65476dd9173d 26 // button 1;
R_Schrijver 0:65476dd9173d 27 // button 2;
R_Schrijver 0:65476dd9173d 28
R_Schrijver 0:65476dd9173d 29
R_Schrijver 0:65476dd9173d 30 // function: DetermineState
R_Schrijver 0:65476dd9173d 31 // Switch statement: in each state functions are executed corresponding to the state
R_Schrijver 0:65476dd9173d 32 // don't forget the breaks
R_Schrijver 0:65476dd9173d 33 void DetermineState(){
R_Schrijver 0:65476dd9173d 34 switch (state)
R_Schrijver 0:65476dd9173d 35 {
R_Schrijver 0:65476dd9173d 36 case MotorCalibration:
R_Schrijver 0:65476dd9173d 37 // Execute some functions
R_Schrijver 0:65476dd9173d 38 break;
R_Schrijver 0:65476dd9173d 39 case EMGCalibration:
R_Schrijver 0:65476dd9173d 40 break;
R_Schrijver 0:65476dd9173d 41 case DemoMode:
R_Schrijver 0:65476dd9173d 42 break;
R_Schrijver 0:65476dd9173d 43 case OperationMode:
R_Schrijver 0:65476dd9173d 44 break;
R_Schrijver 0:65476dd9173d 45 case FailureMode:
R_Schrijver 0:65476dd9173d 46 break;
R_Schrijver 0:65476dd9173d 47 case Reset:
R_Schrijver 0:65476dd9173d 48 break;
R_Schrijver 0:65476dd9173d 49 default:
R_Schrijver 0:65476dd9173d 50 }
R_Schrijver 0:65476dd9173d 51
R_Schrijver 0:65476dd9173d 52 int main()
R_Schrijver 0:65476dd9173d 53 {
R_Schrijver 0:65476dd9173d 54 // Execute 'Wait'
R_Schrijver 0:65476dd9173d 55 update.attach(DetermineState, 1.0/ TickerFrequency);
R_Schrijver 0:65476dd9173d 56 //include interrupt for switching the states with a button
R_Schrijver 0:65476dd9173d 57 while (true){
R_Schrijver 0:65476dd9173d 58 }
R_Schrijver 0:65476dd9173d 59 }