Sooner Competitive Robotics / Mbed 2 deprecated IEEE_14_Freescale

Dependencies:   mbed

Fork of IEEE_14_Freescale by IEEE 2014 Mbed

main.cpp

Committer:
soonerbot
Date:
2013-11-18
Revision:
6:62d498ee97cf
Parent:
4:adc885f4ab75
Child:
7:3b2cf7efe5d1

File content as of revision 6:62d498ee97cf:

#include "mbed.h"
#include "dbgprint.h"
#include "robot.h"

BusOut leds(LED_RED,LED_GREEN,LED_BLUE);
Serial pc(USBTX, USBRX);

robot bot;
int main() {
    DBGPRINT("AA\n\r",1);
    char tmpchar = 0;
    leds = 0x2;
    const int* constbuf;
    double targetAngle=0.0;
    while(1) {
        DBGPRINT("BB\n\r",1);
        leds = leds^0x7;
        tmpchar = pc.getc();
        
        switch(tmpchar){
            case 'q':
                constbuf = bot.bigenc.getVals();
                DBGPRINT("\n\r%d\t%d\t%d\t%d\n\r",constbuf[0],constbuf[1],constbuf[2],constbuf[3]);
                break;
            case 'z':
                targetAngle = bot.gyro.getZDegrees();
                break;
            case 'w':
                bot.driveForward(-90,0);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'x':
                bot.driveForward(90,0);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'W':
                bot.driveForward(targetAngle,1000);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'E':
                bot.driveForward(targetAngle,5000);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'X':
                bot.driveForward(targetAngle,-1000);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'C':
                bot.driveForward(targetAngle,-5000);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'a':
                bot.driveForward(180,0);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'd':
                bot.driveForward(0,0);
                DBGPRINT("={%f,\t%f,\t%f}\n\r",bot.x,bot.y,bot.rot*180.0/3.14159);
                break;
            case 'p':
                DBGPRINT("%d\r\n",bot.gyro.getZ());
                break;
            case 'l':
                bot.gyro.calibrate();
                break;
            case 't':
                bot.pfac*=2;
                DBGPRINT("pfac = %f\r\n",bot.pfac);
                break;
            case 'g':
                bot.pfac/=2;
                DBGPRINT("pfac = %f\r\n",bot.pfac);
                break;
            case 'y':
                bot.ifac*=2;
                DBGPRINT("ifac = %f\r\n",bot.ifac);
                break;
            case 'h':
                bot.ifac/=2;
                DBGPRINT("ifac = %f\r\n",bot.ifac);
                break;
            case 'u':
                bot.dfac*=2;
                DBGPRINT("dfac = %f\r\n",bot.dfac);
                break;
            case 'j':
                bot.dfac/=2;
                DBGPRINT("dfac = %f\r\n",bot.dfac);
                break;
            case 'i':
                bot.angfac*=2;
                DBGPRINT("angfac = %f\r\n",bot.angfac);
                break;
            case 'k':
                bot.angfac/=2;
                DBGPRINT("angfac = %f\r\n",bot.angfac);
                break;
            case 'T':
                bot.pfac*=1.05;
                DBGPRINT("pfac = %f\r\n",bot.pfac);
                break;
            case 'G':
                bot.pfac/=1.05;
                DBGPRINT("pfac = %f\r\n",bot.pfac);
                break;
            case 'Y':
                bot.ifac*=1.05;
                DBGPRINT("ifac = %f\r\n",bot.ifac);
                break;
            case 'H':
                bot.ifac/=1.05;
                DBGPRINT("ifac = %f\r\n",bot.ifac);
                break;
            case 'U':
                bot.dfac*=1.05;
                DBGPRINT("dfac = %f\r\n",bot.dfac);
                break;
            case 'J':
                bot.dfac/=1.05;
                DBGPRINT("dfac = %f\r\n",bot.dfac);
                break;
            case 'Q':
                DBGPRINT("Compass vector = %d\t%d\t%d\r\n",bot.gyro.xmag,bot.gyro.ymag,bot.gyro.zmag);
                break;
            default:
                bot.left.brake();
                bot.right.brake();
                break;
                
        }
    }
}