Use mbed as a Pi console cable to run command line Linux

Dependencies:   mbed

Committer:
4180_1
Date:
Sun May 14 15:39:24 2017 +0000
Revision:
0:4f64dd8a2ca3
ver 1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
4180_1 0:4f64dd8a2ca3 1 #include "mbed.h"
4180_1 0:4f64dd8a2ca3 2 //Pi Console Cable function
4180_1 0:4f64dd8a2ca3 3 // connect gnd on Pi header to mbed
4180_1 0:4f64dd8a2ca3 4 // connect mbed p9 to Pi RX pin
4180_1 0:4f64dd8a2ca3 5 // connect mbed p10 to Pi TX pin
4180_1 0:4f64dd8a2ca3 6 // Enable serial console on Pi (needed one time only)
4180_1 0:4f64dd8a2ca3 7 // Run terminal application on PC at 115200 baud
4180_1 0:4f64dd8a2ca3 8 // See https://developer.mbed.org/users/4180_1/notebook/using-mbed-for-a-pi-console-cable/#
4180_1 0:4f64dd8a2ca3 9 RawSerial pc(USBTX, USBRX);
4180_1 0:4f64dd8a2ca3 10 RawSerial dev(p9, p10);
4180_1 0:4f64dd8a2ca3 11 DigitalOut led1(LED1);
4180_1 0:4f64dd8a2ca3 12 DigitalOut led4(LED4);
4180_1 0:4f64dd8a2ca3 13
4180_1 0:4f64dd8a2ca3 14 void dev_recv()
4180_1 0:4f64dd8a2ca3 15 {
4180_1 0:4f64dd8a2ca3 16 led1 = !led1;
4180_1 0:4f64dd8a2ca3 17 while(dev.readable()) {
4180_1 0:4f64dd8a2ca3 18 pc.putc(dev.getc());
4180_1 0:4f64dd8a2ca3 19 }
4180_1 0:4f64dd8a2ca3 20 }
4180_1 0:4f64dd8a2ca3 21
4180_1 0:4f64dd8a2ca3 22 void pc_recv()
4180_1 0:4f64dd8a2ca3 23 {
4180_1 0:4f64dd8a2ca3 24 led4 = !led4;
4180_1 0:4f64dd8a2ca3 25 while(pc.readable()) {
4180_1 0:4f64dd8a2ca3 26 dev.putc(pc.getc());
4180_1 0:4f64dd8a2ca3 27 }
4180_1 0:4f64dd8a2ca3 28 }
4180_1 0:4f64dd8a2ca3 29
4180_1 0:4f64dd8a2ca3 30 int main()
4180_1 0:4f64dd8a2ca3 31 {
4180_1 0:4f64dd8a2ca3 32 pc.baud(115200);
4180_1 0:4f64dd8a2ca3 33 dev.baud(115200);
4180_1 0:4f64dd8a2ca3 34
4180_1 0:4f64dd8a2ca3 35 pc.attach(&pc_recv, Serial::RxIrq);
4180_1 0:4f64dd8a2ca3 36 dev.attach(&dev_recv, Serial::RxIrq);
4180_1 0:4f64dd8a2ca3 37
4180_1 0:4f64dd8a2ca3 38 while(1) {
4180_1 0:4f64dd8a2ca3 39 sleep();
4180_1 0:4f64dd8a2ca3 40 }
4180_1 0:4f64dd8a2ca3 41 }