_Very_ simple wrapper to a WiFly module connected via serial port.
Revision 0:b5ee41a1ca65, committed 2011-06-16
- Comitter:
- tylerwilson
- Date:
- Thu Jun 16 22:05:55 2011 +0000
- Commit message:
Changed in this revision
wifly.cpp | Show annotated file Show diff for this revision Revisions of this file |
wifly.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r b5ee41a1ca65 wifly.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wifly.cpp Thu Jun 16 22:05:55 2011 +0000 @@ -0,0 +1,78 @@ +// +// Wrapper for the WiFly module, using the serial port +// +// Copyright 2010 Pulse-Robotics, Inc. +// John Sosoka, Tyler Wilson +// + +#include "wifly.h" + + +WiFly::WiFly(PinName tx, PinName rx) + : port(0) +{ + port = new Serial(tx, rx); + + if (port) + { + port->baud(9600); + } +} + +void WiFly::commandMode() const +{ + if (port) + { + port->printf("$$$"); + // wait for 250ms + + char result[4]; + port->scanf("%c%c%c", result[0], result[1], result[2]); + result[3] = 0; + + if (strcmp(result, "CMD") != 0) + { + // not the expected reply + } + } +} + +void WiFly::dataMode() const +{ + if (port) + { + port->printf("exit\r"); + + char result[5]; + port->scanf("%c%c%c%c", result[0], result[1], result[2], result[3]); + result[4] = 0; + + if (strcmp(result, "EXIT") != 0) + { + // not the expected reply + } + } +} + + +// Serial methods +void WiFly::baud(int baudrate) +{ + port->baud(baudrate); +} + +int WiFly::getc() +{ + return port->getc(); +} + +void WiFly::putc(int c) +{ + port->putc(c); +} + +int WiFly::readable() +{ + return port->readable(); +} +
diff -r 000000000000 -r b5ee41a1ca65 wifly.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wifly.h Thu Jun 16 22:05:55 2011 +0000 @@ -0,0 +1,38 @@ +/** + * Wrapper for the WiFly module, using the serial port. + * + * Copyright 2010 Pulse-Robotics, Inc. + * John Sosoka, Tyler Wilson + */ + +#ifndef __wifly_h__ +#define __wifly_h__ + +#include "mbed.h" + + +class WiFly { + +public: + /** Create a WiFly object connected to the specified serial pins + * + * @param tx TX pin of the Serial port + * @param rx RX pin of the Serial port + */ + WiFly(PinName tx, PinName rx); + + void commandMode() const; + void dataMode() const; + + // Serial methods. Could also derive from Serial... + void baud(int baudrate=9600); + int getc(); + void putc(int c); + int readable(); + +private: + Serial* port; +}; + + +#endif /* __wifly_h__ */ \ No newline at end of file