Mbed portion of 4180 project

Dependencies:   mbed Motor

Committer:
rli361
Date:
Thu Dec 05 17:12:10 2019 +0000
Revision:
2:ed57ee381f8f
Parent:
1:e1f799db0b10
revised turning speeds

Who changed what in which revision?

UserRevisionLine numberNew contents of line
4180_1 0:4f64dd8a2ca3 1 #include "mbed.h"
rli361 1:e1f799db0b10 2 #include "Motor.h"
rli361 1:e1f799db0b10 3
rli361 1:e1f799db0b10 4 Motor left(p21, p23, p24); // Left motor when looking from the front (pwm, fwd, rev)
rli361 1:e1f799db0b10 5 Motor right(p22, p25, p26); // Right motor when looking from the front (pwm, fwd, rev)
4180_1 0:4f64dd8a2ca3 6 RawSerial pc(USBTX, USBRX);
rli361 1:e1f799db0b10 7 RawSerial dev(p13, p14);
4180_1 0:4f64dd8a2ca3 8 DigitalOut led1(LED1);
4180_1 0:4f64dd8a2ca3 9 DigitalOut led4(LED4);
rli361 1:e1f799db0b10 10 volatile char state = 's';
4180_1 0:4f64dd8a2ca3 11
4180_1 0:4f64dd8a2ca3 12 void dev_recv()
4180_1 0:4f64dd8a2ca3 13 {
4180_1 0:4f64dd8a2ca3 14 led1 = !led1;
4180_1 0:4f64dd8a2ca3 15 while(dev.readable()) {
rli361 1:e1f799db0b10 16 char new_char = dev.getc();
rli361 1:e1f799db0b10 17 state = new_char;
4180_1 0:4f64dd8a2ca3 18 }
4180_1 0:4f64dd8a2ca3 19 }
4180_1 0:4f64dd8a2ca3 20
4180_1 0:4f64dd8a2ca3 21 void pc_recv()
4180_1 0:4f64dd8a2ca3 22 {
4180_1 0:4f64dd8a2ca3 23 led4 = !led4;
4180_1 0:4f64dd8a2ca3 24 while(pc.readable()) {
4180_1 0:4f64dd8a2ca3 25 dev.putc(pc.getc());
4180_1 0:4f64dd8a2ca3 26 }
4180_1 0:4f64dd8a2ca3 27 }
4180_1 0:4f64dd8a2ca3 28
4180_1 0:4f64dd8a2ca3 29 int main()
4180_1 0:4f64dd8a2ca3 30 {
4180_1 0:4f64dd8a2ca3 31 pc.baud(115200);
rli361 1:e1f799db0b10 32 dev.baud(38400);
4180_1 0:4f64dd8a2ca3 33
rli361 1:e1f799db0b10 34 //pc.attach(&pc_recv, Serial::RxIrq);
4180_1 0:4f64dd8a2ca3 35 dev.attach(&dev_recv, Serial::RxIrq);
4180_1 0:4f64dd8a2ca3 36
4180_1 0:4f64dd8a2ca3 37 while(1) {
rli361 1:e1f799db0b10 38 //pc.putc(state);
rli361 1:e1f799db0b10 39 switch(state){
rli361 1:e1f799db0b10 40 case 'f':
rli361 1:e1f799db0b10 41 left.speed(.5);
rli361 1:e1f799db0b10 42 right.speed(-0.5);
rli361 1:e1f799db0b10 43 break;
rli361 1:e1f799db0b10 44 case 'b':
rli361 1:e1f799db0b10 45 left.speed(-0.5);
rli361 1:e1f799db0b10 46 right.speed(0.5);
rli361 1:e1f799db0b10 47 break;
rli361 1:e1f799db0b10 48 case 'r':
rli361 2:ed57ee381f8f 49 left.speed(-0.35);
rli361 2:ed57ee381f8f 50 right.speed(-0.35);
rli361 1:e1f799db0b10 51 break;
rli361 1:e1f799db0b10 52 case 'l':
rli361 2:ed57ee381f8f 53 left.speed(0.35);
rli361 2:ed57ee381f8f 54 right.speed(0.35);
rli361 1:e1f799db0b10 55 break;
rli361 1:e1f799db0b10 56 default:
rli361 1:e1f799db0b10 57 left.speed(0.0);
rli361 1:e1f799db0b10 58 right.speed(0.0);
rli361 1:e1f799db0b10 59
rli361 1:e1f799db0b10 60 }
rli361 1:e1f799db0b10 61 wait(0.5);
4180_1 0:4f64dd8a2ca3 62 }
4180_1 0:4f64dd8a2ca3 63 }