Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed QEI biquadFilter
test_main.cpp@9:3193094ba3b2, 2016-11-03 (annotated)
- Committer:
- Jankoekenpan
- Date:
- Thu Nov 03 08:15:04 2016 +0000
- Revision:
- 9:3193094ba3b2
- Parent:
- main.cpp@8:874fe459b10a
- Child:
- 11:57f0ab4d0e99
cleanup and prepare for integration
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jankoekenpan | 1:7d218e9d2111 | 1 | #include "arm.h" |
Jankoekenpan | 5:23c850380b86 | 2 | #include "mbed.h" |
Jankoekenpan | 8:874fe459b10a | 3 | #include "robot.h" |
Jankoekenpan | 8:874fe459b10a | 4 | #include "filter.h" |
Jankoekenpan | 1:7d218e9d2111 | 5 | |
Jankoekenpan | 1:7d218e9d2111 | 6 | // ====== Hardware stuff ====== |
Jankoekenpan | 1:7d218e9d2111 | 7 | |
Jankoekenpan | 5:23c850380b86 | 8 | Robot robot; |
Jankoekenpan | 1:7d218e9d2111 | 9 | |
Jankoekenpan | 5:23c850380b86 | 10 | AnalogIn emg1(A0); |
Jankoekenpan | 5:23c850380b86 | 11 | AnalogIn emg2(A1); |
Jankoekenpan | 1:7d218e9d2111 | 12 | |
Jankoekenpan | 8:874fe459b10a | 13 | DigitalOut red(LED_RED); |
Jankoekenpan | 8:874fe459b10a | 14 | DigitalOut green(LED_GREEN); |
Jankoekenpan | 8:874fe459b10a | 15 | DigitalOut blue(LED_BLUE); |
Jankoekenpan | 8:874fe459b10a | 16 | |
Jankoekenpan | 8:874fe459b10a | 17 | //====== Constants ===== |
Jankoekenpan | 1:7d218e9d2111 | 18 | |
Jankoekenpan | 9:3193094ba3b2 | 19 | enum DirectionState{NOTHING, UP, DOWN, FORWARD, BACKWARD}; |
Jankoekenpan | 9:3193094ba3b2 | 20 | enum ProgramState{CALIBRATING, UPDOWN, FORBACK}; |
Jankoekenpan | 1:7d218e9d2111 | 21 | |
Jankoekenpan | 8:874fe459b10a | 22 | const float sampleFrequency = 500; |
Jankoekenpan | 8:874fe459b10a | 23 | const float sampleTime = 1.0f/sampleFrequency; |
Jankoekenpan | 8:874fe459b10a | 24 | |
Jankoekenpan | 8:874fe459b10a | 25 | |
Jankoekenpan | 1:7d218e9d2111 | 26 | //====== Program Variables ====== |
Jankoekenpan | 1:7d218e9d2111 | 27 | |
Jankoekenpan | 1:7d218e9d2111 | 28 | ProgramState progState; |
Jankoekenpan | 1:7d218e9d2111 | 29 | DirectionState dirState; |
Jankoekenpan | 1:7d218e9d2111 | 30 | |
Jankoekenpan | 8:874fe459b10a | 31 | |
Jankoekenpan | 1:7d218e9d2111 | 32 | //====== Functions ====== |
Jankoekenpan | 1:7d218e9d2111 | 33 | |
Jankoekenpan | 1:7d218e9d2111 | 34 | |
Jankoekenpan | 1:7d218e9d2111 | 35 | void calibrate(void) { |
Jankoekenpan | 5:23c850380b86 | 36 | //Calibrate function -- blocking. |
Jankoekenpan | 8:874fe459b10a | 37 | //Calculates and sets both emg1threshold and emg2 threshold |
Jankoekenpan | 8:874fe459b10a | 38 | |
Jankoekenpan | 8:874fe459b10a | 39 | |
Jankoekenpan | 1:7d218e9d2111 | 40 | |
Jankoekenpan | 1:7d218e9d2111 | 41 | } |
Jankoekenpan | 1:7d218e9d2111 | 42 | |
Jankoekenpan | 9:3193094ba3b2 | 43 | void run() { |
Jankoekenpan | 9:3193094ba3b2 | 44 | //Run function -- blocking |
Jankoekenpan | 9:3193094ba3b2 | 45 | //runs the calibrated robot |
Jankoekenpan | 9:3193094ba3b2 | 46 | |
Jankoekenpan | 9:3193094ba3b2 | 47 | } |
Jankoekenpan | 9:3193094ba3b2 | 48 | |
Jankoekenpan | 1:7d218e9d2111 | 49 | |
Jankoekenpan | 1:7d218e9d2111 | 50 | int main() { |
Jankoekenpan | 1:7d218e9d2111 | 51 | progState = CALIBRATING; |
Jankoekenpan | 9:3193094ba3b2 | 52 | |
Jankoekenpan | 1:7d218e9d2111 | 53 | calibrate(); |
Jankoekenpan | 1:7d218e9d2111 | 54 | |
Jankoekenpan | 9:3193094ba3b2 | 55 | progState = UPDOWN; |
Jankoekenpan | 9:3193094ba3b2 | 56 | |
Jankoekenpan | 9:3193094ba3b2 | 57 | run(); |
Jankoekenpan | 1:7d218e9d2111 | 58 | |
Jankoekenpan | 1:7d218e9d2111 | 59 | while(true); |
Jankoekenpan | 1:7d218e9d2111 | 60 | return 0; |
Jankoekenpan | 1:7d218e9d2111 | 61 | } |