Sooner Competitive Robotics / Mbed 2 deprecated IEEE_14_Freescale

Dependencies:   mbed

Fork of IEEE_14_Freescale by IEEE 2014 Mbed

Committer:
soonerbot
Date:
Mon Nov 18 23:45:12 2013 +0000
Revision:
6:62d498ee97cf
Parent:
4:adc885f4ab75
Child:
7:3b2cf7efe5d1
Motor controls working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
soonerbot 0:3a3dd78038a6 1 #include "mbed.h"
soonerbot 1:c28fac16a109 2 #include "dbgprint.h"
soonerbot 1:c28fac16a109 3 #include "robot.h"
soonerbot 0:3a3dd78038a6 4
soonerbot 1:c28fac16a109 5 BusOut leds(LED_RED,LED_GREEN,LED_BLUE);
soonerbot 1:c28fac16a109 6 Serial pc(USBTX, USBRX);
soonerbot 0:3a3dd78038a6 7
soonerbot 1:c28fac16a109 8 robot bot;
soonerbot 0:3a3dd78038a6 9 int main() {
soonerbot 1:c28fac16a109 10 DBGPRINT("AA\n\r",1);
soonerbot 1:c28fac16a109 11 char tmpchar = 0;
soonerbot 1:c28fac16a109 12 leds = 0x2;
soonerbot 1:c28fac16a109 13 const int* constbuf;
soonerbot 4:adc885f4ab75 14 double targetAngle=0.0;
soonerbot 0:3a3dd78038a6 15 while(1) {
soonerbot 1:c28fac16a109 16 DBGPRINT("BB\n\r",1);
soonerbot 1:c28fac16a109 17 leds = leds^0x7;
soonerbot 1:c28fac16a109 18 tmpchar = pc.getc();
soonerbot 1:c28fac16a109 19
soonerbot 1:c28fac16a109 20 switch(tmpchar){
soonerbot 1:c28fac16a109 21 case 'q':
soonerbot 1:c28fac16a109 22 constbuf = bot.bigenc.getVals();
soonerbot 1:c28fac16a109 23 DBGPRINT("\n\r%d\t%d\t%d\t%d\n\r",constbuf[0],constbuf[1],constbuf[2],constbuf[3]);
soonerbot 1:c28fac16a109 24 break;
soonerbot 4:adc885f4ab75 25 case 'z':
soonerbot 4:adc885f4ab75 26 targetAngle = bot.gyro.getZDegrees();
soonerbot 4:adc885f4ab75 27 break;
soonerbot 1:c28fac16a109 28 case 'w':
soonerbot 6:62d498ee97cf 29 bot.driveForward(-90,0);
soonerbot 6:62d498ee97cf 30 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 6:62d498ee97cf 31 break;
soonerbot 6:62d498ee97cf 32 case 'x':
soonerbot 6:62d498ee97cf 33 bot.driveForward(90,0);
soonerbot 6:62d498ee97cf 34 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 1:c28fac16a109 35 break;
soonerbot 4:adc885f4ab75 36 case 'W':
soonerbot 4:adc885f4ab75 37 bot.driveForward(targetAngle,1000);
soonerbot 4:adc885f4ab75 38 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 4:adc885f4ab75 39 break;
soonerbot 4:adc885f4ab75 40 case 'E':
soonerbot 4:adc885f4ab75 41 bot.driveForward(targetAngle,5000);
soonerbot 4:adc885f4ab75 42 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 4:adc885f4ab75 43 break;
soonerbot 4:adc885f4ab75 44 case 'X':
soonerbot 4:adc885f4ab75 45 bot.driveForward(targetAngle,-1000);
soonerbot 4:adc885f4ab75 46 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 4:adc885f4ab75 47 break;
soonerbot 4:adc885f4ab75 48 case 'C':
soonerbot 4:adc885f4ab75 49 bot.driveForward(targetAngle,-5000);
soonerbot 4:adc885f4ab75 50 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 4:adc885f4ab75 51 break;
soonerbot 1:c28fac16a109 52 case 'a':
soonerbot 6:62d498ee97cf 53 bot.driveForward(180,0);
soonerbot 6:62d498ee97cf 54 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 1:c28fac16a109 55 break;
soonerbot 1:c28fac16a109 56 case 'd':
soonerbot 6:62d498ee97cf 57 bot.driveForward(0,0);
soonerbot 6:62d498ee97cf 58 DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
soonerbot 1:c28fac16a109 59 break;
soonerbot 3:a223b0bf8256 60 case 'p':
soonerbot 3:a223b0bf8256 61 DBGPRINT("%d\r\n",bot.gyro.getZ());
soonerbot 3:a223b0bf8256 62 break;
soonerbot 3:a223b0bf8256 63 case 'l':
soonerbot 3:a223b0bf8256 64 bot.gyro.calibrate();
soonerbot 3:a223b0bf8256 65 break;
soonerbot 4:adc885f4ab75 66 case 't':
soonerbot 4:adc885f4ab75 67 bot.pfac*=2;
soonerbot 4:adc885f4ab75 68 DBGPRINT("pfac = %f\r\n",bot.pfac);
soonerbot 4:adc885f4ab75 69 break;
soonerbot 4:adc885f4ab75 70 case 'g':
soonerbot 4:adc885f4ab75 71 bot.pfac/=2;
soonerbot 4:adc885f4ab75 72 DBGPRINT("pfac = %f\r\n",bot.pfac);
soonerbot 4:adc885f4ab75 73 break;
soonerbot 4:adc885f4ab75 74 case 'y':
soonerbot 4:adc885f4ab75 75 bot.ifac*=2;
soonerbot 4:adc885f4ab75 76 DBGPRINT("ifac = %f\r\n",bot.ifac);
soonerbot 4:adc885f4ab75 77 break;
soonerbot 4:adc885f4ab75 78 case 'h':
soonerbot 4:adc885f4ab75 79 bot.ifac/=2;
soonerbot 4:adc885f4ab75 80 DBGPRINT("ifac = %f\r\n",bot.ifac);
soonerbot 4:adc885f4ab75 81 break;
soonerbot 4:adc885f4ab75 82 case 'u':
soonerbot 4:adc885f4ab75 83 bot.dfac*=2;
soonerbot 4:adc885f4ab75 84 DBGPRINT("dfac = %f\r\n",bot.dfac);
soonerbot 4:adc885f4ab75 85 break;
soonerbot 4:adc885f4ab75 86 case 'j':
soonerbot 4:adc885f4ab75 87 bot.dfac/=2;
soonerbot 4:adc885f4ab75 88 DBGPRINT("dfac = %f\r\n",bot.dfac);
soonerbot 4:adc885f4ab75 89 break;
soonerbot 4:adc885f4ab75 90 case 'i':
soonerbot 4:adc885f4ab75 91 bot.angfac*=2;
soonerbot 4:adc885f4ab75 92 DBGPRINT("angfac = %f\r\n",bot.angfac);
soonerbot 4:adc885f4ab75 93 break;
soonerbot 4:adc885f4ab75 94 case 'k':
soonerbot 4:adc885f4ab75 95 bot.angfac/=2;
soonerbot 4:adc885f4ab75 96 DBGPRINT("angfac = %f\r\n",bot.angfac);
soonerbot 4:adc885f4ab75 97 break;
soonerbot 4:adc885f4ab75 98 case 'T':
soonerbot 4:adc885f4ab75 99 bot.pfac*=1.05;
soonerbot 4:adc885f4ab75 100 DBGPRINT("pfac = %f\r\n",bot.pfac);
soonerbot 4:adc885f4ab75 101 break;
soonerbot 4:adc885f4ab75 102 case 'G':
soonerbot 4:adc885f4ab75 103 bot.pfac/=1.05;
soonerbot 4:adc885f4ab75 104 DBGPRINT("pfac = %f\r\n",bot.pfac);
soonerbot 4:adc885f4ab75 105 break;
soonerbot 4:adc885f4ab75 106 case 'Y':
soonerbot 4:adc885f4ab75 107 bot.ifac*=1.05;
soonerbot 4:adc885f4ab75 108 DBGPRINT("ifac = %f\r\n",bot.ifac);
soonerbot 4:adc885f4ab75 109 break;
soonerbot 4:adc885f4ab75 110 case 'H':
soonerbot 4:adc885f4ab75 111 bot.ifac/=1.05;
soonerbot 4:adc885f4ab75 112 DBGPRINT("ifac = %f\r\n",bot.ifac);
soonerbot 4:adc885f4ab75 113 break;
soonerbot 4:adc885f4ab75 114 case 'U':
soonerbot 4:adc885f4ab75 115 bot.dfac*=1.05;
soonerbot 4:adc885f4ab75 116 DBGPRINT("dfac = %f\r\n",bot.dfac);
soonerbot 4:adc885f4ab75 117 break;
soonerbot 4:adc885f4ab75 118 case 'J':
soonerbot 4:adc885f4ab75 119 bot.dfac/=1.05;
soonerbot 4:adc885f4ab75 120 DBGPRINT("dfac = %f\r\n",bot.dfac);
soonerbot 4:adc885f4ab75 121 break;
soonerbot 4:adc885f4ab75 122 case 'Q':
soonerbot 4:adc885f4ab75 123 DBGPRINT("Compass vector = %d\t%d\t%d\r\n",bot.gyro.xmag,bot.gyro.ymag,bot.gyro.zmag);
soonerbot 4:adc885f4ab75 124 break;
soonerbot 1:c28fac16a109 125 default:
soonerbot 1:c28fac16a109 126 bot.left.brake();
soonerbot 1:c28fac16a109 127 bot.right.brake();
soonerbot 1:c28fac16a109 128 break;
soonerbot 1:c28fac16a109 129
soonerbot 1:c28fac16a109 130 }
soonerbot 0:3a3dd78038a6 131 }
soonerbot 0:3a3dd78038a6 132 }