jim hamblen
/
Pi_Console_Cable
Use mbed as a Pi console cable to run command line Linux
main.cpp@0:4f64dd8a2ca3, 2017-05-14 (annotated)
- Committer:
- 4180_1
- Date:
- Sun May 14 15:39:24 2017 +0000
- Revision:
- 0:4f64dd8a2ca3
ver 1.0
Who changed what in which revision?
User | Revision | Line number | New 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 | } |