Soft Serial is working, barely and grossly.
Dependencies: SoftSerial mbed-rtos mbed
main.cpp@1:05a16e044d09, 2017-06-21 (annotated)
- Committer:
- jonathanyost
- Date:
- Wed Jun 21 22:00:06 2017 +0000
- Revision:
- 1:05a16e044d09
- Parent:
- 0:e584a98289a4
SoftSerial working minimum;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jonathanyost | 0:e584a98289a4 | 1 | #include "mbed.h" |
jonathanyost | 0:e584a98289a4 | 2 | #include "SoftSerial.h" |
jonathanyost | 0:e584a98289a4 | 3 | #include "rtos.h" |
jonathanyost | 0:e584a98289a4 | 4 | #include <sstream> |
jonathanyost | 0:e584a98289a4 | 5 | |
jonathanyost | 0:e584a98289a4 | 6 | /* --------- I/O INFORMATION --------- |
jonathanyost | 0:e584a98289a4 | 7 | USB Debugging Pins: tx = D1(PA2), rx = D0(PA3) |
jonathanyost | 0:e584a98289a4 | 8 | XBEE Board Pins: |
jonathanyost | 0:e584a98289a4 | 9 | DOUT (rx) <- D3 (PB3) |
jonathanyost | 0:e584a98289a4 | 10 | DIN (tx) <- D2 (PA10) |
jonathanyost | 0:e584a98289a4 | 11 | GND <- GND |
jonathanyost | 0:e584a98289a4 | 12 | 5V <- 5V |
jonathanyost | 0:e584a98289a4 | 13 | |
jonathanyost | 0:e584a98289a4 | 14 | */ |
jonathanyost | 0:e584a98289a4 | 15 | |
jonathanyost | 0:e584a98289a4 | 16 | Serial pc(D1, D0); // PA2, PA3 |
jonathanyost | 0:e584a98289a4 | 17 | |
jonathanyost | 0:e584a98289a4 | 18 | const int nodeID = 0; |
jonathanyost | 1:05a16e044d09 | 19 | //void initialize_node(SoftSerial &xbee); |
jonathanyost | 0:e584a98289a4 | 20 | void initialize_node(SoftSerial &xbee); |
jonathanyost | 0:e584a98289a4 | 21 | |
jonathanyost | 0:e584a98289a4 | 22 | int uptime = 0; |
jonathanyost | 0:e584a98289a4 | 23 | |
jonathanyost | 0:e584a98289a4 | 24 | int main() |
jonathanyost | 0:e584a98289a4 | 25 | { |
jonathanyost | 0:e584a98289a4 | 26 | SoftSerial xbee(D3, D2); // tx, rx |
jonathanyost | 0:e584a98289a4 | 27 | initialize_node(xbee); |
jonathanyost | 0:e584a98289a4 | 28 | pc.printf("ECHOOOOOO"); |
jonathanyost | 0:e584a98289a4 | 29 | |
jonathanyost | 0:e584a98289a4 | 30 | char data; |
jonathanyost | 0:e584a98289a4 | 31 | |
jonathanyost | 0:e584a98289a4 | 32 | while(true) { |
jonathanyost | 0:e584a98289a4 | 33 | |
jonathanyost | 0:e584a98289a4 | 34 | // Continuous transmit |
jonathanyost | 0:e584a98289a4 | 35 | /* |
jonathanyost | 0:e584a98289a4 | 36 | std::stringstream s; |
jonathanyost | 0:e584a98289a4 | 37 | s << 'H' << 'E' << 'L' << 'L' << 'O'; |
jonathanyost | 0:e584a98289a4 | 38 | xbee.printf(s.str().c_str()); |
jonathanyost | 0:e584a98289a4 | 39 | */ |
jonathanyost | 0:e584a98289a4 | 40 | |
jonathanyost | 0:e584a98289a4 | 41 | //xbee.printf("%d", nodeID); |
jonathanyost | 1:05a16e044d09 | 42 | xbee.printf("Times Through Loop: %d\n", uptime); |
jonathanyost | 0:e584a98289a4 | 43 | //pc.printf("%d", nodeID); |
jonathanyost | 0:e584a98289a4 | 44 | uptime++; |
jonathanyost | 0:e584a98289a4 | 45 | wait(0.1); |
jonathanyost | 0:e584a98289a4 | 46 | |
jonathanyost | 0:e584a98289a4 | 47 | //Requested transmit |
jonathanyost | 0:e584a98289a4 | 48 | if(xbee.readable()) { |
jonathanyost | 0:e584a98289a4 | 49 | data = xbee.getc(); |
jonathanyost | 0:e584a98289a4 | 50 | if(data == 'p'){ |
jonathanyost | 0:e584a98289a4 | 51 | xbee.printf("%d", nodeID); |
jonathanyost | 0:e584a98289a4 | 52 | } else if (data == 'u') { |
jonathanyost | 0:e584a98289a4 | 53 | xbee.printf("uptime = %d\n", uptime); |
jonathanyost | 0:e584a98289a4 | 54 | } |
jonathanyost | 0:e584a98289a4 | 55 | } |
jonathanyost | 0:e584a98289a4 | 56 | |
jonathanyost | 0:e584a98289a4 | 57 | } |
jonathanyost | 0:e584a98289a4 | 58 | } |
jonathanyost | 0:e584a98289a4 | 59 | |
jonathanyost | 1:05a16e044d09 | 60 | // Change back to SoftSerial |
jonathanyost | 0:e584a98289a4 | 61 | void initialize_node(SoftSerial &xbee){ |
jonathanyost | 0:e584a98289a4 | 62 | // Eventually put stuff here. |
jonathanyost | 0:e584a98289a4 | 63 | } |
jonathanyost | 0:e584a98289a4 | 64 | |
jonathanyost | 0:e584a98289a4 | 65 | /* |
jonathanyost | 0:e584a98289a4 | 66 | int main(){ |
jonathanyost | 0:e584a98289a4 | 67 | pc.printf("Echoes back to the screen anything you type\n"); |
jonathanyost | 0:e584a98289a4 | 68 | while(1){ |
jonathanyost | 0:e584a98289a4 | 69 | if(pc.readable()){ |
jonathanyost | 0:e584a98289a4 | 70 | pc.putc(pc.getc()+1); |
jonathanyost | 0:e584a98289a4 | 71 | pc.printf("\n"); |
jonathanyost | 0:e584a98289a4 | 72 | } |
jonathanyost | 0:e584a98289a4 | 73 | |
jonathanyost | 0:e584a98289a4 | 74 | wait(0.1); |
jonathanyost | 0:e584a98289a4 | 75 | pc.printf("E"); |
jonathanyost | 0:e584a98289a4 | 76 | } |
jonathanyost | 0:e584a98289a4 | 77 | } |
jonathanyost | 0:e584a98289a4 | 78 | */ |
jonathanyost | 0:e584a98289a4 | 79 | |
jonathanyost | 0:e584a98289a4 | 80 | |
jonathanyost | 0:e584a98289a4 | 81 | |
jonathanyost | 0:e584a98289a4 | 82 | |
jonathanyost | 0:e584a98289a4 | 83 | |
jonathanyost | 0:e584a98289a4 | 84 | |
jonathanyost | 0:e584a98289a4 | 85 | |
jonathanyost | 0:e584a98289a4 | 86 | |
jonathanyost | 0:e584a98289a4 | 87 |