gs fan
/
GSwifi_udpserver
UDP echo server for GSwifi see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
main.cpp@2:c35642a919dc, 2013-02-26 (annotated)
- Committer:
- gsfan
- Date:
- Tue Feb 26 03:39:40 2013 +0000
- Revision:
- 2:c35642a919dc
- Parent:
- 1:965ff958c077
fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gsfan | 2:c35642a919dc | 1 | #include "mbed.h" |
gsfan | 2:c35642a919dc | 2 | #include "GSwifi.h" |
gsfan | 2:c35642a919dc | 3 | |
gsfan | 2:c35642a919dc | 4 | #define PORT 10080 |
gsfan | 2:c35642a919dc | 5 | |
gsfan | 2:c35642a919dc | 6 | #define SECURE GSwifi::GSSEC_WPA_PSK |
gsfan | 2:c35642a919dc | 7 | #define SSID "SSID" |
gsfan | 2:c35642a919dc | 8 | #define PASS "PASSPHRASE" |
gsfan | 2:c35642a919dc | 9 | |
gsfan | 2:c35642a919dc | 10 | GSwifi gs(p13, p14, p20); // TX, RX, Reset (no flow control) |
gsfan | 2:c35642a919dc | 11 | //GSwifi gs(p13, p14, p12, P0_22, p20, NC, 115200); // TX, RX, CTS, RTS, Reset, Alarm |
gsfan | 2:c35642a919dc | 12 | |
gsfan | 2:c35642a919dc | 13 | Serial pc(USBTX, USBRX); |
gsfan | 2:c35642a919dc | 14 | DigitalOut led1(LED1), led2(LED2); |
gsfan | 2:c35642a919dc | 15 | |
gsfan | 2:c35642a919dc | 16 | void onGsReceive (int cid, int len) { |
gsfan | 2:c35642a919dc | 17 | int i; |
gsfan | 2:c35642a919dc | 18 | char buf[100]; |
gsfan | 2:c35642a919dc | 19 | Host host; |
gsfan | 2:c35642a919dc | 20 | |
gsfan | 2:c35642a919dc | 21 | led2 = 1; |
gsfan | 2:c35642a919dc | 22 | |
gsfan | 2:c35642a919dc | 23 | i = gs.recv(cid, buf, sizeof(buf), host); |
gsfan | 2:c35642a919dc | 24 | gs.send(cid, buf, i, host); |
gsfan | 2:c35642a919dc | 25 | pc.printf("recv %d\r\n", i); |
gsfan | 2:c35642a919dc | 26 | } |
gsfan | 2:c35642a919dc | 27 | |
gsfan | 2:c35642a919dc | 28 | int main () { |
gsfan | 2:c35642a919dc | 29 | IpAddr ipaddr, netmask, gateway, nameserver; |
gsfan | 2:c35642a919dc | 30 | |
gsfan | 2:c35642a919dc | 31 | led1 = 1; |
gsfan | 2:c35642a919dc | 32 | pc.baud(115200); |
gsfan | 2:c35642a919dc | 33 | |
gsfan | 2:c35642a919dc | 34 | pc.printf("connect\r\n"); |
gsfan | 2:c35642a919dc | 35 | if (gs.connect(SECURE, SSID, PASS)) { |
gsfan | 2:c35642a919dc | 36 | return -1; |
gsfan | 2:c35642a919dc | 37 | } |
gsfan | 2:c35642a919dc | 38 | gs.getAddress(ipaddr, netmask, gateway, nameserver); |
gsfan | 2:c35642a919dc | 39 | pc.printf("ip %d.%d.%d.%d\r\n", ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]); |
gsfan | 2:c35642a919dc | 40 | |
gsfan | 2:c35642a919dc | 41 | pc.printf("listen\r\n"); |
gsfan | 2:c35642a919dc | 42 | gs.listen(PORT, GSwifi::GSPROT_UDP, &onGsReceive); |
gsfan | 2:c35642a919dc | 43 | |
gsfan | 2:c35642a919dc | 44 | for (;;) { |
gsfan | 2:c35642a919dc | 45 | gs.poll(); |
gsfan | 2:c35642a919dc | 46 | |
gsfan | 2:c35642a919dc | 47 | led1 = !led1; |
gsfan | 2:c35642a919dc | 48 | wait_ms(50); |
gsfan | 2:c35642a919dc | 49 | } |
gsfan | 2:c35642a919dc | 50 | } |