wheelchair code for driver assitance

Dependencies:   mbed

Fork of wheelchairalexa by ryan lin

Committer:
ryanlin97
Date:
Thu Jul 12 19:06:33 2018 +0000
Revision:
1:c0beadca1617
Parent:
0:fc0c4a184482
Child:
2:c2d049efc266
symbol__user)perthread_libspace multiply defined(by /build/mbed-os.....)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryanlin97 0:fc0c4a184482 1 #include "wheelchair.h"
ryanlin97 0:fc0c4a184482 2
ryanlin97 0:fc0c4a184482 3 Serial pc(USBTX, USBRX);
ryanlin97 0:fc0c4a184482 4
ryanlin97 0:fc0c4a184482 5 DigitalOut off(D0);
ryanlin97 0:fc0c4a184482 6 DigitalOut on(D1);
ryanlin97 0:fc0c4a184482 7 DigitalOut up(D2);
ryanlin97 0:fc0c4a184482 8 DigitalOut down(D3);
ryanlin97 0:fc0c4a184482 9 int main(void)
ryanlin97 0:fc0c4a184482 10 {
ryanlin97 1:c0beadca1617 11 Wheelchair smart(xDir,yDir);
ryanlin97 0:fc0c4a184482 12 on = 1;
ryanlin97 1:c0beadca1617 13 while(1) {
ryanlin97 1:c0beadca1617 14 if( pc.readable()) {
ryanlin97 1:c0beadca1617 15 char c = pc.getc();
ryanlin97 1:c0beadca1617 16 if( c == 'w') {
ryanlin97 1:c0beadca1617 17 pc.printf("up \n");
ryanlin97 1:c0beadca1617 18 smart.forward();
ryanlin97 0:fc0c4a184482 19 }
ryanlin97 1:c0beadca1617 20
ryanlin97 1:c0beadca1617 21 else if( c == 'd') {
ryanlin97 1:c0beadca1617 22 pc.printf("left \n");
ryanlin97 1:c0beadca1617 23 smart.left();
ryanlin97 0:fc0c4a184482 24 }
ryanlin97 1:c0beadca1617 25
ryanlin97 1:c0beadca1617 26 else if( c == 'a') {
ryanlin97 1:c0beadca1617 27 pc.printf("right \n");
ryanlin97 1:c0beadca1617 28 smart.right();
ryanlin97 0:fc0c4a184482 29 }
ryanlin97 1:c0beadca1617 30
ryanlin97 1:c0beadca1617 31 else if( c == 's') {
ryanlin97 1:c0beadca1617 32 pc.printf("down \n");
ryanlin97 1:c0beadca1617 33 smart.backward();
ryanlin97 0:fc0c4a184482 34 }
ryanlin97 1:c0beadca1617 35
ryanlin97 1:c0beadca1617 36 else {
ryanlin97 1:c0beadca1617 37 pc.printf("none \n");
ryanlin97 1:c0beadca1617 38 smart.stop();
ryanlin97 1:c0beadca1617 39 if( c == 'o') {
ryanlin97 1:c0beadca1617 40 pc.printf("turning on");
ryanlin97 1:c0beadca1617 41 on = 0;
ryanlin97 1:c0beadca1617 42 wait(process);
ryanlin97 1:c0beadca1617 43 on = 1;
ryanlin97 0:fc0c4a184482 44 }
ryanlin97 1:c0beadca1617 45
ryanlin97 1:c0beadca1617 46 else if( c == 'k') {
ryanlin97 1:c0beadca1617 47 off = 0;
ryanlin97 1:c0beadca1617 48 wait(process);
ryanlin97 1:c0beadca1617 49 off = 1;
ryanlin97 0:fc0c4a184482 50 }
ryanlin97 1:c0beadca1617 51
ryanlin97 1:c0beadca1617 52 else if( c == 'u') {
ryanlin97 1:c0beadca1617 53 up = 0;
ryanlin97 1:c0beadca1617 54 wait(process);
ryanlin97 1:c0beadca1617 55 up = 1;
ryanlin97 0:fc0c4a184482 56 }
ryanlin97 1:c0beadca1617 57
ryanlin97 1:c0beadca1617 58 else if( c == 'p') {
ryanlin97 1:c0beadca1617 59 down = 0;
ryanlin97 1:c0beadca1617 60 wait(process);
ryanlin97 1:c0beadca1617 61 down = 1;
ryanlin97 0:fc0c4a184482 62 }
ryanlin97 0:fc0c4a184482 63 }
ryanlin97 1:c0beadca1617 64 }
ryanlin97 1:c0beadca1617 65
ryanlin97 1:c0beadca1617 66 else {
ryanlin97 1:c0beadca1617 67 pc.printf("nothing pressed \n");
ryanlin97 1:c0beadca1617 68 smart.stop();
ryanlin97 1:c0beadca1617 69 }
ryanlin97 1:c0beadca1617 70
ryanlin97 1:c0beadca1617 71 wait(process);
ryanlin97 1:c0beadca1617 72 }
ryanlin97 1:c0beadca1617 73
ryanlin97 0:fc0c4a184482 74 }
ryanlin97 0:fc0c4a184482 75