ryan lin
/
wheeldriveassistance
wheelchair code for driver assitance
Fork of wheelchairalexa by
main.cpp@12:0e5a0571b497, 2018-08-17 (annotated)
- Committer:
- ryanlin97
- Date:
- Fri Aug 17 03:10:39 2018 +0000
- Revision:
- 12:0e5a0571b497
- Parent:
- 11:75f0f13ff6c1
code for driver assistance;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryanlin97 | 0:fc0c4a184482 | 1 | #include "wheelchair.h" |
ryanlin97 | 0:fc0c4a184482 | 2 | |
ryanlin97 | 3:a5e71bfdb492 | 3 | AnalogIn x(A0); |
ryanlin97 | 3:a5e71bfdb492 | 4 | AnalogIn y(A1); |
ryanlin97 | 3:a5e71bfdb492 | 5 | |
ryanlin97 | 12:0e5a0571b497 | 6 | DigitalOut on(D12); |
ryanlin97 | 12:0e5a0571b497 | 7 | DigitalOut off(D11); |
ryanlin97 | 0:fc0c4a184482 | 8 | DigitalOut up(D2); |
ryanlin97 | 0:fc0c4a184482 | 9 | DigitalOut down(D3); |
ryanlin97 | 2:c2d049efc266 | 10 | |
ryanlin97 | 10:e5463c11e0a0 | 11 | bool manual = false; |
ryanlin97 | 12:0e5a0571b497 | 12 | bool leftBound = false; |
ryanlin97 | 12:0e5a0571b497 | 13 | bool rightBound = false; |
ryanlin97 | 12:0e5a0571b497 | 14 | bool straightBound = false; |
ryanlin97 | 10:e5463c11e0a0 | 15 | |
ryanlin97 | 12:0e5a0571b497 | 16 | Serial pc(USBTX, USBRX, 9600); |
ryanlin97 | 7:5e38d43fbce3 | 17 | Timer t; |
ryanlin97 | 6:0cd57bdd8fbc | 18 | |
ryanlin97 | 11:75f0f13ff6c1 | 19 | Wheelchair smart(xDir,yDir, &pc, &t); |
ryanlin97 | 11:75f0f13ff6c1 | 20 | |
ryanlin97 | 2:c2d049efc266 | 21 | |
ryanlin97 | 0:fc0c4a184482 | 22 | int main(void) |
ryanlin97 | 0:fc0c4a184482 | 23 | { |
ryanlin97 | 12:0e5a0571b497 | 24 | smart.stop(); |
ryanlin97 | 6:0cd57bdd8fbc | 25 | while(1) { |
ryanlin97 | 10:e5463c11e0a0 | 26 | pc.printf("turning on joystick\n"); |
ryanlin97 | 10:e5463c11e0a0 | 27 | manual = true; |
ryanlin97 | 11:75f0f13ff6c1 | 28 | t.reset(); |
ryanlin97 | 10:e5463c11e0a0 | 29 | while(manual) { |
ryanlin97 | 12:0e5a0571b497 | 30 | smart.move(x,y,leftBound,rightBound,straightBound); |
ryanlin97 | 10:e5463c11e0a0 | 31 | if( pc.readable()) { |
ryanlin97 | 10:e5463c11e0a0 | 32 | char d = pc.getc(); |
ryanlin97 | 12:0e5a0571b497 | 33 | if( d == 'l') { |
ryanlin97 | 12:0e5a0571b497 | 34 | leftBound = true; |
ryanlin97 | 12:0e5a0571b497 | 35 | } |
ryanlin97 | 12:0e5a0571b497 | 36 | |
ryanlin97 | 12:0e5a0571b497 | 37 | if (d == 'e') { |
ryanlin97 | 12:0e5a0571b497 | 38 | leftBound = false; |
ryanlin97 | 12:0e5a0571b497 | 39 | } |
ryanlin97 | 12:0e5a0571b497 | 40 | |
ryanlin97 | 12:0e5a0571b497 | 41 | if( d == 'f') { |
ryanlin97 | 12:0e5a0571b497 | 42 | straightBound = true; |
ryanlin97 | 12:0e5a0571b497 | 43 | } |
ryanlin97 | 12:0e5a0571b497 | 44 | |
ryanlin97 | 12:0e5a0571b497 | 45 | if (d == 'o') { |
ryanlin97 | 12:0e5a0571b497 | 46 | straightBound = false; |
ryanlin97 | 12:0e5a0571b497 | 47 | } |
ryanlin97 | 12:0e5a0571b497 | 48 | |
ryanlin97 | 12:0e5a0571b497 | 49 | if( d == 'r') { |
ryanlin97 | 12:0e5a0571b497 | 50 | rightBound = true; |
ryanlin97 | 12:0e5a0571b497 | 51 | } |
ryanlin97 | 12:0e5a0571b497 | 52 | |
ryanlin97 | 12:0e5a0571b497 | 53 | if( d == 'i') { |
ryanlin97 | 12:0e5a0571b497 | 54 | rightBound = false; |
ryanlin97 | 12:0e5a0571b497 | 55 | } |
ryanlin97 | 12:0e5a0571b497 | 56 | |
ryanlin97 | 10:e5463c11e0a0 | 57 | if( d == 'm') { |
ryanlin97 | 10:e5463c11e0a0 | 58 | pc.printf("turning off joystick\n"); |
ryanlin97 | 10:e5463c11e0a0 | 59 | manual = false; |
ryanlin97 | 10:e5463c11e0a0 | 60 | } |
ryanlin97 | 10:e5463c11e0a0 | 61 | } |
ryanlin97 | 10:e5463c11e0a0 | 62 | } |
ryanlin97 | 10:e5463c11e0a0 | 63 | } |
ryanlin97 | 6:0cd57bdd8fbc | 64 | |
ryanlin97 | 12:0e5a0571b497 | 65 | wait(process); |
ryanlin97 | 0:fc0c4a184482 | 66 | } |
ryanlin97 | 0:fc0c4a184482 | 67 | |
ryanlin97 | 12:0e5a0571b497 | 68 | |
ryanlin97 | 12:0e5a0571b497 | 69 |