UDP echo server for GSwifi see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/

Dependencies:   GSwifi mbed

Committer:
gsfan
Date:
Wed Aug 22 00:48:18 2012 +0000
Revision:
1:965ff958c077
Parent:
0:f1f2873eebb2
Child:
2:c35642a919dc
fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gsfan 0:f1f2873eebb2 1 #include "mbed.h"
gsfan 0:f1f2873eebb2 2 #include "GSwifi.h"
gsfan 0:f1f2873eebb2 3
gsfan 0:f1f2873eebb2 4 #define PORT 10080
gsfan 0:f1f2873eebb2 5
gsfan 0:f1f2873eebb2 6 #define SECURE GSSEC_WPA_PSK
gsfan 0:f1f2873eebb2 7 #define SSID "SSID"
gsfan 1:965ff958c077 8 #define PASS "passkey"
gsfan 0:f1f2873eebb2 9
gsfan 1:965ff958c077 10 GSwifi gs(p13, p14); // TX, RX (no flow control)
gsfan 1:965ff958c077 11 // GSwifi gs(p13, p14, p12, P0_22); // TX, RX, CTS, RTS
gsfan 0:f1f2873eebb2 12 Serial pc(USBTX, USBRX);
gsfan 0:f1f2873eebb2 13 DigitalOut led1(LED1), led2(LED2);
gsfan 0:f1f2873eebb2 14
gsfan 0:f1f2873eebb2 15 void onGsReceive (int cid, int len) {
gsfan 0:f1f2873eebb2 16 int i;
gsfan 0:f1f2873eebb2 17 char buf[100];
gsfan 0:f1f2873eebb2 18 Host host;
gsfan 0:f1f2873eebb2 19
gsfan 0:f1f2873eebb2 20 led2 = 1;
gsfan 0:f1f2873eebb2 21
gsfan 0:f1f2873eebb2 22 i = gs.recv(cid, buf, sizeof(buf), host);
gsfan 0:f1f2873eebb2 23 gs.send(cid, buf, i, host);
gsfan 0:f1f2873eebb2 24 pc.printf("recv %d\r\n", i);
gsfan 0:f1f2873eebb2 25 }
gsfan 0:f1f2873eebb2 26
gsfan 0:f1f2873eebb2 27 int main () {
gsfan 0:f1f2873eebb2 28 IpAddr ipaddr, netmask, gateway, nameserver;
gsfan 0:f1f2873eebb2 29
gsfan 0:f1f2873eebb2 30 led1 = 1;
gsfan 0:f1f2873eebb2 31 pc.baud(115200);
gsfan 0:f1f2873eebb2 32
gsfan 0:f1f2873eebb2 33 pc.printf("connect\r\n");
gsfan 0:f1f2873eebb2 34 if (gs.connect(SECURE, SSID, PASS)) {
gsfan 0:f1f2873eebb2 35 return -1;
gsfan 0:f1f2873eebb2 36 }
gsfan 0:f1f2873eebb2 37 gs.getAddress(ipaddr, netmask, gateway, nameserver);
gsfan 0:f1f2873eebb2 38 pc.printf("ip %d.%d.%d.%d\r\n", ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]);
gsfan 0:f1f2873eebb2 39
gsfan 0:f1f2873eebb2 40 pc.printf("listen\r\n");
gsfan 0:f1f2873eebb2 41 gs.listen(PORT, GSPROT_UDP, &onGsReceive);
gsfan 0:f1f2873eebb2 42
gsfan 0:f1f2873eebb2 43 for (;;) {
gsfan 0:f1f2873eebb2 44 gs.poll();
gsfan 0:f1f2873eebb2 45
gsfan 0:f1f2873eebb2 46 led1 = !led1;
gsfan 0:f1f2873eebb2 47 wait_ms(50);
gsfan 0:f1f2873eebb2 48 }
gsfan 0:f1f2873eebb2 49 }