Mbed portion of 4180 project

Dependencies:   mbed Motor

main.cpp

Committer:
rli361
Date:
2019-12-05
Revision:
2:ed57ee381f8f
Parent:
1:e1f799db0b10

File content as of revision 2:ed57ee381f8f:

#include "mbed.h"
#include "Motor.h"

Motor left(p21, p23, p24); // Left motor when looking from the front (pwm, fwd, rev)
Motor right(p22, p25, p26); // Right motor when looking from the front (pwm, fwd, rev)
RawSerial  pc(USBTX, USBRX);
RawSerial  dev(p13, p14);
DigitalOut led1(LED1);
DigitalOut led4(LED4);
volatile char state = 's';
 
void dev_recv()
{
    led1 = !led1;
    while(dev.readable()) {
        char new_char = dev.getc();
        state = new_char;
    }
}
 
void pc_recv()
{
    led4 = !led4;
    while(pc.readable()) {
        dev.putc(pc.getc());
    }
}
 
int main()
{
    pc.baud(115200);
    dev.baud(38400);
 
    //pc.attach(&pc_recv, Serial::RxIrq);
    dev.attach(&dev_recv, Serial::RxIrq);
 
    while(1) {
        //pc.putc(state);
        switch(state){
            case 'f':
                left.speed(.5);
                right.speed(-0.5);
                break;
            case 'b':
                left.speed(-0.5);
                right.speed(0.5);
                break;
            case 'r':
                left.speed(-0.35);
                right.speed(-0.35);
                break;
            case 'l':
                left.speed(0.35);
                right.speed(0.35);
                break;
            default:
                left.speed(0.0);
                right.speed(0.0);

        }
        wait(0.5);
    }
}