For Publish

Dependencies:   Motordriver mbed

Committer:
zmcpro2
Date:
Tue Mar 14 15:07:15 2017 +0000
Revision:
0:62e31c266471
For Publish;

Who changed what in which revision?

UserRevisionLine numberNew 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 }