Richard Li
/
4180_robot_thing
Mbed portion of 4180 project
Diff: main.cpp
- Revision:
- 1:e1f799db0b10
- Parent:
- 0:4f64dd8a2ca3
- Child:
- 2:ed57ee381f8f
--- a/main.cpp Sun May 14 15:39:24 2017 +0000 +++ b/main.cpp Thu Dec 05 02:50:35 2019 +0000 @@ -1,21 +1,20 @@ #include "mbed.h" -//Pi Console Cable function -// connect gnd on Pi header to mbed -// connect mbed p9 to Pi RX pin -// connect mbed p10 to Pi TX pin -// Enable serial console on Pi (needed one time only) -// Run terminal application on PC at 115200 baud -// See https://developer.mbed.org/users/4180_1/notebook/using-mbed-for-a-pi-console-cable/# +#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(p9, p10); +RawSerial dev(p13, p14); DigitalOut led1(LED1); DigitalOut led4(LED4); +volatile char state = 's'; void dev_recv() { led1 = !led1; while(dev.readable()) { - pc.putc(dev.getc()); + char new_char = dev.getc(); + state = new_char; } } @@ -30,12 +29,35 @@ int main() { pc.baud(115200); - dev.baud(115200); + dev.baud(38400); - pc.attach(&pc_recv, Serial::RxIrq); + //pc.attach(&pc_recv, Serial::RxIrq); dev.attach(&dev_recv, Serial::RxIrq); while(1) { - sleep(); + //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.5); + right.speed(-0.5); + break; + case 'l': + left.speed(0.5); + right.speed(0.5); + break; + default: + left.speed(0.0); + right.speed(0.0); + + } + wait(0.5); } } \ No newline at end of file