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

Dependencies:   GSwifi mbed

Committer:
gsfan
Date:
Tue Feb 26 03:39:40 2013 +0000
Revision:
2:c35642a919dc
Parent:
1:965ff958c077
fix

Who changed what in which revision?

UserRevisionLine numberNew 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 }