For Publish
Dependencies: Motordriver mbed
main.cpp@0:62e31c266471, 2017-03-14 (annotated)
- Committer:
- zmcpro2
- Date:
- Tue Mar 14 15:07:15 2017 +0000
- Revision:
- 0:62e31c266471
For Publish;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zmcpro2 | 0:62e31c266471 | 1 | #include "mbed.h" |
zmcpro2 | 0:62e31c266471 | 2 | #include "motordriver.h" |
zmcpro2 | 0:62e31c266471 | 3 | |
zmcpro2 | 0:62e31c266471 | 4 | BusOut myled(LED1,LED2,LED3,LED4); |
zmcpro2 | 0:62e31c266471 | 5 | Serial blue(p28,p27); |
zmcpro2 | 0:62e31c266471 | 6 | |
zmcpro2 | 0:62e31c266471 | 7 | Motor A(p23, p6, p5, 1); // pwm, fwd, rev, can brake |
zmcpro2 | 0:62e31c266471 | 8 | Motor B(p21, p7, p8, 1); // pwm, fwd, rev, can brake |
zmcpro2 | 0:62e31c266471 | 9 | |
zmcpro2 | 0:62e31c266471 | 10 | int main() |
zmcpro2 | 0:62e31c266471 | 11 | { |
zmcpro2 | 0:62e31c266471 | 12 | char bnum=0; |
zmcpro2 | 0:62e31c266471 | 13 | char bhit=0; |
zmcpro2 | 0:62e31c266471 | 14 | //float sL=1; |
zmcpro2 | 0:62e31c266471 | 15 | //float sR=1; |
zmcpro2 | 0:62e31c266471 | 16 | while(1) { |
zmcpro2 | 0:62e31c266471 | 17 | |
zmcpro2 | 0:62e31c266471 | 18 | if (blue.getc()=='!') { |
zmcpro2 | 0:62e31c266471 | 19 | if (blue.getc()=='B') { //button data packet |
zmcpro2 | 0:62e31c266471 | 20 | bnum = blue.getc(); //button number |
zmcpro2 | 0:62e31c266471 | 21 | bhit = blue.getc(); //1=hit, 0=release |
zmcpro2 | 0:62e31c266471 | 22 | if (blue.getc()==char(~('!' + 'B' + bnum + bhit))) { //checksum OK? |
zmcpro2 | 0:62e31c266471 | 23 | myled = bnum - '0'; //current button number will appear on LEDs |
zmcpro2 | 0:62e31c266471 | 24 | switch (bnum) { |
zmcpro2 | 0:62e31c266471 | 25 | case '1': //number button 1 |
zmcpro2 | 0:62e31c266471 | 26 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 27 | //add hit code here |
zmcpro2 | 0:62e31c266471 | 28 | } else { |
zmcpro2 | 0:62e31c266471 | 29 | //add release code here |
zmcpro2 | 0:62e31c266471 | 30 | } |
zmcpro2 | 0:62e31c266471 | 31 | break; |
zmcpro2 | 0:62e31c266471 | 32 | case '2': //number button 2 |
zmcpro2 | 0:62e31c266471 | 33 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 34 | //add hit code here |
zmcpro2 | 0:62e31c266471 | 35 | } else { |
zmcpro2 | 0:62e31c266471 | 36 | //add release code here |
zmcpro2 | 0:62e31c266471 | 37 | } |
zmcpro2 | 0:62e31c266471 | 38 | break; |
zmcpro2 | 0:62e31c266471 | 39 | case '3': //number button 3 |
zmcpro2 | 0:62e31c266471 | 40 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 41 | //add hit code here |
zmcpro2 | 0:62e31c266471 | 42 | } else { |
zmcpro2 | 0:62e31c266471 | 43 | //add release code here |
zmcpro2 | 0:62e31c266471 | 44 | } |
zmcpro2 | 0:62e31c266471 | 45 | break; |
zmcpro2 | 0:62e31c266471 | 46 | case '4': //number button 4 |
zmcpro2 | 0:62e31c266471 | 47 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 48 | //add hit code here |
zmcpro2 | 0:62e31c266471 | 49 | } else { |
zmcpro2 | 0:62e31c266471 | 50 | //add release code here |
zmcpro2 | 0:62e31c266471 | 51 | } |
zmcpro2 | 0:62e31c266471 | 52 | break; |
zmcpro2 | 0:62e31c266471 | 53 | case '5': //button 5 up arrow |
zmcpro2 | 0:62e31c266471 | 54 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 55 | A.speed(1); |
zmcpro2 | 0:62e31c266471 | 56 | B.speed(1); |
zmcpro2 | 0:62e31c266471 | 57 | wait(0.02); |
zmcpro2 | 0:62e31c266471 | 58 | } else { |
zmcpro2 | 0:62e31c266471 | 59 | //add release code here |
zmcpro2 | 0:62e31c266471 | 60 | } |
zmcpro2 | 0:62e31c266471 | 61 | break; |
zmcpro2 | 0:62e31c266471 | 62 | case '6': //button 6 down arrow |
zmcpro2 | 0:62e31c266471 | 63 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 64 | A.speed(-1); |
zmcpro2 | 0:62e31c266471 | 65 | B.speed(-1); |
zmcpro2 | 0:62e31c266471 | 66 | wait(0.02); |
zmcpro2 | 0:62e31c266471 | 67 | } else { |
zmcpro2 | 0:62e31c266471 | 68 | //add release code here |
zmcpro2 | 0:62e31c266471 | 69 | } |
zmcpro2 | 0:62e31c266471 | 70 | break; |
zmcpro2 | 0:62e31c266471 | 71 | case '7': //button 7 left arrow |
zmcpro2 | 0:62e31c266471 | 72 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 73 | A.speed(0); |
zmcpro2 | 0:62e31c266471 | 74 | B.speed(1); |
zmcpro2 | 0:62e31c266471 | 75 | wait(0.02); |
zmcpro2 | 0:62e31c266471 | 76 | } else { |
zmcpro2 | 0:62e31c266471 | 77 | //add release code here |
zmcpro2 | 0:62e31c266471 | 78 | } |
zmcpro2 | 0:62e31c266471 | 79 | break; |
zmcpro2 | 0:62e31c266471 | 80 | case '8': //button 8 right arrow |
zmcpro2 | 0:62e31c266471 | 81 | if (bhit=='1') { |
zmcpro2 | 0:62e31c266471 | 82 | A.speed(1); |
zmcpro2 | 0:62e31c266471 | 83 | B.speed(0); |
zmcpro2 | 0:62e31c266471 | 84 | wait(0.02); |
zmcpro2 | 0:62e31c266471 | 85 | } else { |
zmcpro2 | 0:62e31c266471 | 86 | //add release code here |
zmcpro2 | 0:62e31c266471 | 87 | } |
zmcpro2 | 0:62e31c266471 | 88 | break; |
zmcpro2 | 0:62e31c266471 | 89 | default: |
zmcpro2 | 0:62e31c266471 | 90 | break; |
zmcpro2 | 0:62e31c266471 | 91 | } |
zmcpro2 | 0:62e31c266471 | 92 | } |
zmcpro2 | 0:62e31c266471 | 93 | } |
zmcpro2 | 0:62e31c266471 | 94 | } |
zmcpro2 | 0:62e31c266471 | 95 | } |
zmcpro2 | 0:62e31c266471 | 96 | } |