The subsystem design/basis for the final project
Dependencies: mbed-rtos mbed-src pixylib
main.cpp@2:2bc519e14bae, 2016-03-13 (annotated)
- Committer:
- balsamfir
- Date:
- Sun Mar 13 17:55:42 2016 +0000
- Revision:
- 2:2bc519e14bae
- Parent:
- 1:cc5636894b95
- Child:
- 3:dfb6733ae397
First compile of big ass change
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
balsamfir | 2:2bc519e14bae | 1 | // Includes |
balsamfir | 2:2bc519e14bae | 2 | // ---------------------------------------------------------------- |
JamesMacLean | 0:80a37292f6b2 | 3 | |
balsamfir | 2:2bc519e14bae | 4 | #include "global.h" |
balsamfir | 2:2bc519e14bae | 5 | #include "robot.h" |
balsamfir | 2:2bc519e14bae | 6 | #include "response.h" |
balsamfir | 2:2bc519e14bae | 7 | #include "tuning.h" |
JamesMacLean | 0:80a37292f6b2 | 8 | |
JamesMacLean | 0:80a37292f6b2 | 9 | |
balsamfir | 2:2bc519e14bae | 10 | // Definitions |
balsamfir | 2:2bc519e14bae | 11 | // ---------------------------------------------------------------- |
balsamfir | 2:2bc519e14bae | 12 | enum Mode { |
balsamfir | 2:2bc519e14bae | 13 | AUTO_TRACK, |
balsamfir | 2:2bc519e14bae | 14 | MANUAL_CONTROL, |
balsamfir | 2:2bc519e14bae | 15 | PIXY_SUBSYSTEM, |
balsamfir | 2:2bc519e14bae | 16 | MOTOR_RESPONSE, |
balsamfir | 2:2bc519e14bae | 17 | SPEED_RESPONSE, |
balsamfir | 2:2bc519e14bae | 18 | STEERING_RESPONSE, |
balsamfir | 2:2bc519e14bae | 19 | TILT_RESPONSE, |
balsamfir | 2:2bc519e14bae | 20 | MOTOR_TUNING, |
balsamfir | 2:2bc519e14bae | 21 | SPEED_TUNING, |
balsamfir | 2:2bc519e14bae | 22 | STEERING_TUNING, |
balsamfir | 2:2bc519e14bae | 23 | TILT_TUNING |
balsamfir | 2:2bc519e14bae | 24 | }; |
JamesMacLean | 0:80a37292f6b2 | 25 | |
balsamfir | 2:2bc519e14bae | 26 | void PrintMenu(Serial *pc); |
JamesMacLean | 0:80a37292f6b2 | 27 | |
JamesMacLean | 0:80a37292f6b2 | 28 | |
balsamfir | 2:2bc519e14bae | 29 | // Wiring - TODO |
balsamfir | 2:2bc519e14bae | 30 | // ---------------------------------------------------------------- |
balsamfir | 2:2bc519e14bae | 31 | // |
balsamfir | 2:2bc519e14bae | 32 | // |
balsamfir | 2:2bc519e14bae | 33 | // |
balsamfir | 2:2bc519e14bae | 34 | // |
balsamfir | 2:2bc519e14bae | 35 | // |
balsamfir | 2:2bc519e14bae | 36 | // |
JamesMacLean | 0:80a37292f6b2 | 37 | |
balsamfir | 2:2bc519e14bae | 38 | // Main Program |
balsamfir | 2:2bc519e14bae | 39 | // ---------------------------------------------------------------- |
balsamfir | 2:2bc519e14bae | 40 | int main() { |
balsamfir | 2:2bc519e14bae | 41 | char mode; |
JamesMacLean | 0:80a37292f6b2 | 42 | while (1) { |
balsamfir | 2:2bc519e14bae | 43 | PrintMenu(&pc); |
balsamfir | 2:2bc519e14bae | 44 | mode = pc.getc(); |
balsamfir | 2:2bc519e14bae | 45 | switch (mode) { |
balsamfir | 2:2bc519e14bae | 46 | case AUTO_TRACK: |
balsamfir | 2:2bc519e14bae | 47 | AutoTrack(); |
balsamfir | 2:2bc519e14bae | 48 | break; |
balsamfir | 2:2bc519e14bae | 49 | case MANUAL_CONTROL: |
balsamfir | 2:2bc519e14bae | 50 | ManualControl(); |
balsamfir | 2:2bc519e14bae | 51 | break; |
balsamfir | 2:2bc519e14bae | 52 | case PIXY_SUBSYSTEM: |
balsamfir | 2:2bc519e14bae | 53 | PixySubsystem(); |
balsamfir | 2:2bc519e14bae | 54 | break; |
balsamfir | 2:2bc519e14bae | 55 | case MOTOR_RESPONSE: |
balsamfir | 2:2bc519e14bae | 56 | MotorResponse(); |
balsamfir | 2:2bc519e14bae | 57 | break; |
balsamfir | 2:2bc519e14bae | 58 | case SPEED_RESPONSE: |
balsamfir | 2:2bc519e14bae | 59 | SpeedResponse(); |
balsamfir | 2:2bc519e14bae | 60 | break; |
balsamfir | 2:2bc519e14bae | 61 | case STEERING_RESPONSE: |
balsamfir | 2:2bc519e14bae | 62 | SteeringResponse(); |
balsamfir | 2:2bc519e14bae | 63 | break; |
balsamfir | 2:2bc519e14bae | 64 | case TILT_RESPONSE: |
balsamfir | 2:2bc519e14bae | 65 | TiltResponse(); |
balsamfir | 2:2bc519e14bae | 66 | break; |
balsamfir | 2:2bc519e14bae | 67 | case MOTOR_TUNING: |
balsamfir | 2:2bc519e14bae | 68 | MotorTuning(); |
balsamfir | 2:2bc519e14bae | 69 | break; |
balsamfir | 2:2bc519e14bae | 70 | case SPEED_TUNING: |
balsamfir | 2:2bc519e14bae | 71 | SpeedTuning(); |
balsamfir | 2:2bc519e14bae | 72 | break; |
balsamfir | 2:2bc519e14bae | 73 | case STEERING_TUNING: |
balsamfir | 2:2bc519e14bae | 74 | SteeringTuning(); |
balsamfir | 2:2bc519e14bae | 75 | break; |
balsamfir | 2:2bc519e14bae | 76 | case TILT_TUNING: |
balsamfir | 2:2bc519e14bae | 77 | TiltTuning(); |
balsamfir | 2:2bc519e14bae | 78 | break; |
balsamfir | 2:2bc519e14bae | 79 | default: |
balsamfir | 2:2bc519e14bae | 80 | pc.printf("\r\n\r\n Error: Invalid Selection \r\n\r\n"); |
balsamfir | 2:2bc519e14bae | 81 | wait_ms(2000); |
balsamfir | 2:2bc519e14bae | 82 | break; |
JamesMacLean | 0:80a37292f6b2 | 83 | } |
balsamfir | 2:2bc519e14bae | 84 | PrintMenu(&pc); |
JamesMacLean | 0:80a37292f6b2 | 85 | } |
JamesMacLean | 0:80a37292f6b2 | 86 | } |
JamesMacLean | 0:80a37292f6b2 | 87 | |
balsamfir | 2:2bc519e14bae | 88 | // Other Functions |
balsamfir | 2:2bc519e14bae | 89 | // ---------------------------------------------------------------- |
balsamfir | 2:2bc519e14bae | 90 | void PrintMenu(Serial *pc){ |
balsamfir | 2:2bc519e14bae | 91 | pc->printf("---------------------------------------------------------------- \r\n"); |
balsamfir | 2:2bc519e14bae | 92 | pc->printf("0. Automated Tracking \r\n"); |
balsamfir | 2:2bc519e14bae | 93 | pc->printf("1. Manual Control \r\n"); |
balsamfir | 2:2bc519e14bae | 94 | pc->printf("2. Pixy Subsystem \r\n"); |
balsamfir | 2:2bc519e14bae | 95 | pc->printf("3. Motor Response \r\n"); |
balsamfir | 2:2bc519e14bae | 96 | pc->printf("4. Speed Response \r\n"); |
balsamfir | 2:2bc519e14bae | 97 | pc->printf("5. Steering Response \r\n"); |
balsamfir | 2:2bc519e14bae | 98 | pc->printf("6. Tilt Response \r\n"); |
balsamfir | 2:2bc519e14bae | 99 | pc->printf("7. Tune Motor \r\n"); |
balsamfir | 2:2bc519e14bae | 100 | pc->printf("8. Tune Speed \r\n"); |
balsamfir | 2:2bc519e14bae | 101 | pc->printf("9. Tune Steering \r\n"); |
balsamfir | 2:2bc519e14bae | 102 | pc->printf("a. Tune Tilt \r\n"); |
balsamfir | 2:2bc519e14bae | 103 | pc->printf("---------------------------------------------------------------- \r\n\r\n"); |
JamesMacLean | 0:80a37292f6b2 | 104 | |
balsamfir | 2:2bc519e14bae | 105 | pc->printf("=> "); |
JamesMacLean | 0:80a37292f6b2 | 106 | } |