Simple wireless serial test using a pair of Pololu Wixels. Uses m3pi as a convenient dev board, since it is prewired for a Wixel.
main.cpp@0:fdee2dea0648, 2012-03-11 (annotated)
- Committer:
- aworsley
- Date:
- Sun Mar 11 11:05:44 2012 +0000
- Revision:
- 0:fdee2dea0648
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
aworsley | 0:fdee2dea0648 | 1 | #include "mbed.h" |
aworsley | 0:fdee2dea0648 | 2 | #include "m3pi.h" |
aworsley | 0:fdee2dea0648 | 3 | |
aworsley | 0:fdee2dea0648 | 4 | // Quick test for a pair of Pololu Wixels, both configured with Wireless Serial App (download from Pololu) |
aworsley | 0:fdee2dea0648 | 5 | |
aworsley | 0:fdee2dea0648 | 6 | // m3pi Robot is used as a convenient dev board, since it has a socket for a Wixel already, and connects |
aworsley | 0:fdee2dea0648 | 7 | // to the Wixel on pins 28/27/26 (Tx/Rx/nReset). |
aworsley | 0:fdee2dea0648 | 8 | |
aworsley | 0:fdee2dea0648 | 9 | // Note the nReset is optional, and the code works without it (thanks to internal pullup resistors). |
aworsley | 0:fdee2dea0648 | 10 | // However, don't declare p26 as a Digital output unless you plan to use it as the Wixel nReset, in which case |
aworsley | 0:fdee2dea0648 | 11 | // you need to drive it high to bring the Wixel out of reset. |
aworsley | 0:fdee2dea0648 | 12 | |
aworsley | 0:fdee2dea0648 | 13 | m3pi m3pi; |
aworsley | 0:fdee2dea0648 | 14 | Serial Wixel(p28, p27); // tx, rx |
aworsley | 0:fdee2dea0648 | 15 | Serial PC(USBTX, USBRX); |
aworsley | 0:fdee2dea0648 | 16 | //DigitalOut Wixel_nReset(p26); // don't declare unless you want nReset capability |
aworsley | 0:fdee2dea0648 | 17 | |
aworsley | 0:fdee2dea0648 | 18 | int main() |
aworsley | 0:fdee2dea0648 | 19 | { |
aworsley | 0:fdee2dea0648 | 20 | m3pi.locate(0,0); |
aworsley | 0:fdee2dea0648 | 21 | m3pi.printf("Wixel!"); // need to send something to the m3pi just to stop it running the demo app... |
aworsley | 0:fdee2dea0648 | 22 | //Wixel_nReset = 1; // take the Wixel out of reset |
aworsley | 0:fdee2dea0648 | 23 | Wixel.baud(9600); // Wixel default baud rate (can configure other rates via Wixel config app...) |
aworsley | 0:fdee2dea0648 | 24 | while(1) |
aworsley | 0:fdee2dea0648 | 25 | { |
aworsley | 0:fdee2dea0648 | 26 | Wixel.printf("Hello Wixel\r\n"); |
aworsley | 0:fdee2dea0648 | 27 | while (Wixel.readable()) |
aworsley | 0:fdee2dea0648 | 28 | { |
aworsley | 0:fdee2dea0648 | 29 | PC.putc(Wixel.getc()); |
aworsley | 0:fdee2dea0648 | 30 | } |
aworsley | 0:fdee2dea0648 | 31 | wait_ms(1000); |
aworsley | 0:fdee2dea0648 | 32 | } |
aworsley | 0:fdee2dea0648 | 33 | } |