http://mbed.org/users/gsfan/notebook/gainspan_wifi/ porterd from: http://electronics.trev.id.au/2012/02/07/gainspan-wifi-library-for-chipkit-and-arduino/
main.cpp@0:bf663118b11b, 2012-05-27 (annotated)
- Committer:
- gsfan
- Date:
- Sun May 27 03:19:54 2012 +0000
- Revision:
- 0:bf663118b11b
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gsfan | 0:bf663118b11b | 1 | #include "mbed.h" |
gsfan | 0:bf663118b11b | 2 | #include "Wirefree.h" |
gsfan | 0:bf663118b11b | 3 | |
gsfan | 0:bf663118b11b | 4 | WIFI_PROFILE w_prof = { |
gsfan | 0:bf663118b11b | 5 | "GSWIFI", |
gsfan | 0:bf663118b11b | 6 | "PASSWORD", |
gsfan | 0:bf663118b11b | 7 | IpAddr(0,0,0,0), |
gsfan | 0:bf663118b11b | 8 | IpAddr(0,0,0,0), |
gsfan | 0:bf663118b11b | 9 | IpAddr(0,0,0,0) |
gsfan | 0:bf663118b11b | 10 | }; |
gsfan | 0:bf663118b11b | 11 | Host server = Host(IpAddr(0,0,0,0), 80, "mbed.org"); |
gsfan | 0:bf663118b11b | 12 | |
gsfan | 0:bf663118b11b | 13 | Wirefree wireless(p13, p14); |
gsfan | 0:bf663118b11b | 14 | //Wirefree wireless(p13, p14, p12, P0_22); // TX, RX, CTS, RTS |
gsfan | 0:bf663118b11b | 15 | |
gsfan | 0:bf663118b11b | 16 | WifiClient client(wireless, server); |
gsfan | 0:bf663118b11b | 17 | |
gsfan | 0:bf663118b11b | 18 | Serial pc(USBTX, USBRX); |
gsfan | 0:bf663118b11b | 19 | DigitalOut myled(LED1); |
gsfan | 0:bf663118b11b | 20 | |
gsfan | 0:bf663118b11b | 21 | void parseRxData(char *data, int len) |
gsfan | 0:bf663118b11b | 22 | { |
gsfan | 0:bf663118b11b | 23 | } |
gsfan | 0:bf663118b11b | 24 | |
gsfan | 0:bf663118b11b | 25 | int main() { |
gsfan | 0:bf663118b11b | 26 | char c; |
gsfan | 0:bf663118b11b | 27 | |
gsfan | 0:bf663118b11b | 28 | pc.baud(115200); |
gsfan | 0:bf663118b11b | 29 | |
gsfan | 0:bf663118b11b | 30 | wireless.begin(&w_prof, &parseRxData); |
gsfan | 0:bf663118b11b | 31 | |
gsfan | 0:bf663118b11b | 32 | pc.printf("client connecting...\r\n"); |
gsfan | 0:bf663118b11b | 33 | if (client.connect()) { |
gsfan | 0:bf663118b11b | 34 | myled = 1; |
gsfan | 0:bf663118b11b | 35 | pc.printf("connection Success..\r\n"); |
gsfan | 0:bf663118b11b | 36 | |
gsfan | 0:bf663118b11b | 37 | // Make a HTTP request: |
gsfan | 0:bf663118b11b | 38 | client.printf("GET / HTTP/1.0\r\n\r\n"); |
gsfan | 0:bf663118b11b | 39 | // client.flush(); |
gsfan | 0:bf663118b11b | 40 | } else { |
gsfan | 0:bf663118b11b | 41 | pc.printf("connection failed..\r\n"); |
gsfan | 0:bf663118b11b | 42 | return -1; |
gsfan | 0:bf663118b11b | 43 | } |
gsfan | 0:bf663118b11b | 44 | |
gsfan | 0:bf663118b11b | 45 | for (;;) { |
gsfan | 0:bf663118b11b | 46 | if (client.available()) { |
gsfan | 0:bf663118b11b | 47 | c = client.getc(); |
gsfan | 0:bf663118b11b | 48 | if (c >= 0x20 && c < 0x7f) { |
gsfan | 0:bf663118b11b | 49 | pc.putc(c); |
gsfan | 0:bf663118b11b | 50 | } else { |
gsfan | 0:bf663118b11b | 51 | pc.printf(" %02x ", c); |
gsfan | 0:bf663118b11b | 52 | } |
gsfan | 0:bf663118b11b | 53 | } |
gsfan | 0:bf663118b11b | 54 | if (!client.connected()) { |
gsfan | 0:bf663118b11b | 55 | pc.printf("disconnecting.\r\n"); |
gsfan | 0:bf663118b11b | 56 | client.stop(); |
gsfan | 0:bf663118b11b | 57 | myled = 0; |
gsfan | 0:bf663118b11b | 58 | break; |
gsfan | 0:bf663118b11b | 59 | } |
gsfan | 0:bf663118b11b | 60 | } |
gsfan | 0:bf663118b11b | 61 | } |