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
main.cpp@12:3b83eb9a98bc, 2018-04-22 (annotated)
- Committer:
- KDrainEE
- Date:
- Sun Apr 22 19:22:49 2018 +0000
- Revision:
- 12:3b83eb9a98bc
- Parent:
- 11:c47a34f047d5
probably a dead end
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| KDrainEE | 0:30871514c229 | 1 | #include "mbed.h" |
| KDrainEE | 0:30871514c229 | 2 | #include <iostream> |
| KDrainEE | 11:c47a34f047d5 | 3 | #include "globals.h" |
| ELCT302Honors | 6:1b4a677c468c | 4 | #include "lsc.h" |
| KDrainEE | 11:c47a34f047d5 | 5 | #include "stateMachine.h" |
| KDrainEE | 11:c47a34f047d5 | 6 | #include "control.h" |
| KDrainEE | 0:30871514c229 | 7 | |
| ELCT302Honors | 6:1b4a677c468c | 8 | /***********************************|Pin Declarations|*************************************************************/ |
| ELCT302Honors | 6:1b4a677c468c | 9 | //Communication |
| ELCT302Honors | 6:1b4a677c468c | 10 | Serial bt(PTE22, PTE23); //Serial Pins (Tx, Rx) |
| ELCT302Honors | 6:1b4a677c468c | 11 | //LEDs |
| KDrainEE | 12:3b83eb9a98bc | 12 | |
| ELCT302Honors | 6:1b4a677c468c | 13 | //Checkpoint Interrupts |
| ELCT302Honors | 6:1b4a677c468c | 14 | InterruptIn navRt(PTD2); |
| ELCT302Honors | 6:1b4a677c468c | 15 | InterruptIn navLft(PTD3); |
| KDrainEE | 11:c47a34f047d5 | 16 | |
| KDrainEE | 0:30871514c229 | 17 | |
| ELCT302Honors | 6:1b4a677c468c | 18 | /***********************************|Variable Declarations|*************************************************************/ |
| KDrainEE | 0:30871514c229 | 19 | |
| KDrainEE | 12:3b83eb9a98bc | 20 | //bool lTrig = false; |
| KDrainEE | 12:3b83eb9a98bc | 21 | //bool rTrig = false; |
| KDrainEE | 12:3b83eb9a98bc | 22 | // |
| KDrainEE | 12:3b83eb9a98bc | 23 | //int rightCount; |
| KDrainEE | 12:3b83eb9a98bc | 24 | //int leftCount; |
| ELCT302Honors | 6:1b4a677c468c | 25 | |
| ELCT302Honors | 6:1b4a677c468c | 26 | |
| KDrainEE | 11:c47a34f047d5 | 27 | //void applyBrake() |
| KDrainEE | 11:c47a34f047d5 | 28 | //{ |
| KDrainEE | 11:c47a34f047d5 | 29 | // spHolder = Setpoint; |
| KDrainEE | 11:c47a34f047d5 | 30 | // brake.write(1); |
| KDrainEE | 11:c47a34f047d5 | 31 | // Setpoint = 0.0; |
| KDrainEE | 11:c47a34f047d5 | 32 | //} |
| KDrainEE | 11:c47a34f047d5 | 33 | // |
| KDrainEE | 11:c47a34f047d5 | 34 | //void releaseBrake() |
| KDrainEE | 11:c47a34f047d5 | 35 | //{ |
| KDrainEE | 11:c47a34f047d5 | 36 | // brake.write(0); |
| KDrainEE | 11:c47a34f047d5 | 37 | // Setpoint = spHolder; |
| KDrainEE | 11:c47a34f047d5 | 38 | //} |
| KDrainEE | 11:c47a34f047d5 | 39 | bool paramChanged = false; |
| ELCT302Honors | 6:1b4a677c468c | 40 | |
| KDrainEE | 0:30871514c229 | 41 | void serCb() |
| KDrainEE | 0:30871514c229 | 42 | { |
| KDrainEE | 0:30871514c229 | 43 | char x = bt.getc(); |
| KDrainEE | 0:30871514c229 | 44 | if (x == 'u') |
| KDrainEE | 0:30871514c229 | 45 | { |
| ELCT302Honors | 3:246625f3ceee | 46 | Setpoint += 0.025; |
| KDrainEE | 11:c47a34f047d5 | 47 | paramChanged = true; |
| KDrainEE | 0:30871514c229 | 48 | } |
| KDrainEE | 0:30871514c229 | 49 | else if(x == 'h') |
| KDrainEE | 0:30871514c229 | 50 | { |
| ELCT302Honors | 3:246625f3ceee | 51 | Setpoint -= 0.025; |
| KDrainEE | 11:c47a34f047d5 | 52 | paramChanged = true; |
| ELCT302Honors | 6:1b4a677c468c | 53 | } |
| KDrainEE | 0:30871514c229 | 54 | else |
| KDrainEE | 0:30871514c229 | 55 | { |
| KDrainEE | 2:e87736742f99 | 56 | bt.printf("Invalid input"); |
| KDrainEE | 0:30871514c229 | 57 | } |
| KDrainEE | 0:30871514c229 | 58 | if(Setpoint > MAXM) Setpoint = MAXM; |
| KDrainEE | 2:e87736742f99 | 59 | if(Setpoint < MINM) Setpoint = MINM; |
| KDrainEE | 0:30871514c229 | 60 | } |
| KDrainEE | 0:30871514c229 | 61 | |
| KDrainEE | 12:3b83eb9a98bc | 62 | //void incL() |
| KDrainEE | 12:3b83eb9a98bc | 63 | //{ |
| KDrainEE | 12:3b83eb9a98bc | 64 | // leftCount++; |
| KDrainEE | 12:3b83eb9a98bc | 65 | // lTrig = true; |
| KDrainEE | 12:3b83eb9a98bc | 66 | //} |
| KDrainEE | 12:3b83eb9a98bc | 67 | // |
| KDrainEE | 12:3b83eb9a98bc | 68 | //void incR() |
| KDrainEE | 12:3b83eb9a98bc | 69 | //{ |
| KDrainEE | 12:3b83eb9a98bc | 70 | // rightCount++; |
| KDrainEE | 12:3b83eb9a98bc | 71 | // rTrig = true; |
| KDrainEE | 12:3b83eb9a98bc | 72 | //} |
| KDrainEE | 0:30871514c229 | 73 | |
| KDrainEE | 0:30871514c229 | 74 | int main() |
| KDrainEE | 0:30871514c229 | 75 | { |
| ELCT302Honors | 3:246625f3ceee | 76 | bt.baud(115200); |
| ELCT302Honors | 6:1b4a677c468c | 77 | bt.attach(&serCb); |
| KDrainEE | 11:c47a34f047d5 | 78 | cameraInit(); |
| KDrainEE | 11:c47a34f047d5 | 79 | controlInit(); |
| KDrainEE | 12:3b83eb9a98bc | 80 | initStateMachine(); |
| KDrainEE | 0:30871514c229 | 81 | |
| KDrainEE | 12:3b83eb9a98bc | 82 | // rightCount = 0; |
| KDrainEE | 12:3b83eb9a98bc | 83 | // leftCount = 0; |
| ELCT302Honors | 5:aa582398b2eb | 84 | |
| KDrainEE | 12:3b83eb9a98bc | 85 | //navRt.fall(&incR); |
| KDrainEE | 12:3b83eb9a98bc | 86 | // navLft.fall(&incL); |
| KDrainEE | 0:30871514c229 | 87 | while(1) { |
| KDrainEE | 12:3b83eb9a98bc | 88 | systemState(); |
| KDrainEE | 12:3b83eb9a98bc | 89 | if(paramChanged){ |
| KDrainEE | 12:3b83eb9a98bc | 90 | bt.printf("%f\r\n", Setpoint); |
| KDrainEE | 12:3b83eb9a98bc | 91 | paramChanged = false; |
| KDrainEE | 12:3b83eb9a98bc | 92 | } |
| KDrainEE | 0:30871514c229 | 93 | } |
| KDrainEE | 0:30871514c229 | 94 | } |