Laurence B
/
State_machine
test
Fork of State_machine by
main.cpp@1:fc6a544d77d9, 2018-10-22 (annotated)
- Committer:
- laurencebr
- Date:
- Mon Oct 22 14:38:48 2018 +0000
- Revision:
- 1:fc6a544d77d9
- Parent:
- 0:65476dd9173d
dit is een test;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
R_Schrijver | 0:65476dd9173d | 1 | #include "mbed.h" |
laurencebr | 1:fc6a544d77d9 | 2 | |
laurencebr | 1:fc6a544d77d9 | 3 | wat nou als ik hier wat typ |
laurencebr | 1:fc6a544d77d9 | 4 | |
R_Schrijver | 0:65476dd9173d | 5 | ticker update; |
R_Schrijver | 0:65476dd9173d | 6 | InterruptIn DemoButton(button...); |
R_Schrijver | 0:65476dd9173d | 7 | InterruptIn EMGCalibrationButton(Button...); |
R_Schrijver | 0:65476dd9173d | 8 | InterruptIn MotorCalibration(Button...); |
R_Schrijver | 0:65476dd9173d | 9 | |
R_Schrijver | 0:65476dd9173d | 10 | // Inputs |
R_Schrijver | 0:65476dd9173d | 11 | AnalogIn EMGIn1Biceps(...); |
R_Schrijver | 0:65476dd9173d | 12 | AnalogIn EMGIn1Triceps(...); |
R_Schrijver | 0:65476dd9173d | 13 | AnalogIn EMGIn2Bicepcs(...); |
R_Schrijver | 0:65476dd9173d | 14 | AnalogIn EMGIn2Triceps(...); |
R_Schrijver | 0:65476dd9173d | 15 | |
R_Schrijver | 0:65476dd9173d | 16 | |
R_Schrijver | 0:65476dd9173d | 17 | //Define variables |
R_Schrijver | 0:65476dd9173d | 18 | float xPosition; |
R_Schrijver | 0:65476dd9173d | 19 | float yPosition; |
R_Schrijver | 0:65476dd9173d | 20 | float |
R_Schrijver | 0:65476dd9173d | 21 | |
R_Schrijver | 0:65476dd9173d | 22 | |
R_Schrijver | 0:65476dd9173d | 23 | |
R_Schrijver | 0:65476dd9173d | 24 | |
R_Schrijver | 0:65476dd9173d | 25 | |
R_Schrijver | 0:65476dd9173d | 26 | float TickerFrequency = 1000.0; |
R_Schrijver | 0:65476dd9173d | 27 | enum states {MotorCalibration, EMGCalibration, DemoMode, OperationMode, FailureMode, Reset}; |
R_Schrijver | 0:65476dd9173d | 28 | states state = |
R_Schrijver | 0:65476dd9173d | 29 | // button 1; |
R_Schrijver | 0:65476dd9173d | 30 | // button 2; |
R_Schrijver | 0:65476dd9173d | 31 | |
R_Schrijver | 0:65476dd9173d | 32 | |
R_Schrijver | 0:65476dd9173d | 33 | // function: DetermineState |
R_Schrijver | 0:65476dd9173d | 34 | // Switch statement: in each state functions are executed corresponding to the state |
R_Schrijver | 0:65476dd9173d | 35 | // don't forget the breaks |
R_Schrijver | 0:65476dd9173d | 36 | void DetermineState(){ |
R_Schrijver | 0:65476dd9173d | 37 | switch (state) |
R_Schrijver | 0:65476dd9173d | 38 | { |
R_Schrijver | 0:65476dd9173d | 39 | case MotorCalibration: |
R_Schrijver | 0:65476dd9173d | 40 | // Execute some functions |
R_Schrijver | 0:65476dd9173d | 41 | break; |
R_Schrijver | 0:65476dd9173d | 42 | case EMGCalibration: |
R_Schrijver | 0:65476dd9173d | 43 | break; |
R_Schrijver | 0:65476dd9173d | 44 | case DemoMode: |
R_Schrijver | 0:65476dd9173d | 45 | break; |
R_Schrijver | 0:65476dd9173d | 46 | case OperationMode: |
R_Schrijver | 0:65476dd9173d | 47 | break; |
R_Schrijver | 0:65476dd9173d | 48 | case FailureMode: |
R_Schrijver | 0:65476dd9173d | 49 | break; |
R_Schrijver | 0:65476dd9173d | 50 | case Reset: |
R_Schrijver | 0:65476dd9173d | 51 | break; |
R_Schrijver | 0:65476dd9173d | 52 | default: |
R_Schrijver | 0:65476dd9173d | 53 | } |
R_Schrijver | 0:65476dd9173d | 54 | |
R_Schrijver | 0:65476dd9173d | 55 | int main() |
R_Schrijver | 0:65476dd9173d | 56 | { |
R_Schrijver | 0:65476dd9173d | 57 | // Execute 'Wait' |
R_Schrijver | 0:65476dd9173d | 58 | update.attach(DetermineState, 1.0/ TickerFrequency); |
R_Schrijver | 0:65476dd9173d | 59 | //include interrupt for switching the states with a button |
R_Schrijver | 0:65476dd9173d | 60 | while (true){ |
R_Schrijver | 0:65476dd9173d | 61 | } |
R_Schrijver | 0:65476dd9173d | 62 | } |