Dependencies:   mbed RingBuffer

Committer:
okini3939
Date:
Tue Mar 27 08:09:22 2012 +0000
Revision:
0:c58afea88a8f

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:c58afea88a8f 1 #include "mbed.h"
okini3939 0:c58afea88a8f 2 #include "GSwifi.h"
okini3939 0:c58afea88a8f 3
okini3939 0:c58afea88a8f 4 #define SECURITY GSSEC_WPA_PSK
okini3939 0:c58afea88a8f 5 #define SSID "WIFISSID"
okini3939 0:c58afea88a8f 6 #define PASSPHRASE "TESTPASS"
okini3939 0:c58afea88a8f 7
okini3939 0:c58afea88a8f 8
okini3939 0:c58afea88a8f 9 Serial pc(USBTX, USBRX);
okini3939 0:c58afea88a8f 10 DigitalOut myled(LED1);
okini3939 0:c58afea88a8f 11
okini3939 0:c58afea88a8f 12 GSwifi gs(p13, p14, p12, P0_22); // TX, RX, CTS, RTS
okini3939 0:c58afea88a8f 13
okini3939 0:c58afea88a8f 14
okini3939 0:c58afea88a8f 15 int main() {
okini3939 0:c58afea88a8f 16 Host host;
okini3939 0:c58afea88a8f 17 int sk;
okini3939 0:c58afea88a8f 18
okini3939 0:c58afea88a8f 19 pc.baud(115200);
okini3939 0:c58afea88a8f 20 pc.printf("Gainspan\r\n");
okini3939 0:c58afea88a8f 21
okini3939 0:c58afea88a8f 22 if (gs.connect(SECURITY, SSID, PASSPHRASE)) {
okini3939 0:c58afea88a8f 23 pc.printf("Can't connected.\r\n");
okini3939 0:c58afea88a8f 24 return -1;
okini3939 0:c58afea88a8f 25 }
okini3939 0:c58afea88a8f 26 // if (gs.setAddress(IpAddr(192,168,1,123), IpAddr(255,255,255,0), IpAddr(192,168,1,1), IpAddr(192,168,1,1))) {
okini3939 0:c58afea88a8f 27 if (gs.setAddress()) {
okini3939 0:c58afea88a8f 28 pc.printf("error: dhcp\r\n");
okini3939 0:c58afea88a8f 29 return -1;
okini3939 0:c58afea88a8f 30 }
okini3939 0:c58afea88a8f 31
okini3939 0:c58afea88a8f 32 host.setName("mbed.org");
okini3939 0:c58afea88a8f 33 host.setPort(80);
okini3939 0:c58afea88a8f 34 if (! gs.getHostByName(host)) {
okini3939 0:c58afea88a8f 35 pc.printf("resolv %d.%d.%d.%d\r\n", host.getIp()[0], host.getIp()[1], host.getIp()[2], host.getIp()[3]);
okini3939 0:c58afea88a8f 36
okini3939 0:c58afea88a8f 37 sk = gs.open(host, GSPROT_TCP);
okini3939 0:c58afea88a8f 38 if (sk >= 0) {
okini3939 0:c58afea88a8f 39 int i;
okini3939 0:c58afea88a8f 40 char buf[1500];
okini3939 0:c58afea88a8f 41
okini3939 0:c58afea88a8f 42 gs.send(sk, "GET / HTTP/1.0", 18);
okini3939 0:c58afea88a8f 43 gs.send(sk, "\r\n", 2);
okini3939 0:c58afea88a8f 44 gs.send(sk, "\r\n", 2);
okini3939 0:c58afea88a8f 45 wait_ms(1000);
okini3939 0:c58afea88a8f 46
okini3939 0:c58afea88a8f 47 i = gs.recv(sk, buf, sizeof(buf));
okini3939 0:c58afea88a8f 48 if (i) {
okini3939 0:c58afea88a8f 49 buf[i] = 0;
okini3939 0:c58afea88a8f 50 pc.printf("\r\n");
okini3939 0:c58afea88a8f 51 pc.printf(buf);
okini3939 0:c58afea88a8f 52 }
okini3939 0:c58afea88a8f 53
okini3939 0:c58afea88a8f 54 gs.close(sk);
okini3939 0:c58afea88a8f 55 }
okini3939 0:c58afea88a8f 56 }
okini3939 0:c58afea88a8f 57
okini3939 0:c58afea88a8f 58 myled = 1;
okini3939 0:c58afea88a8f 59 for (;;) {
okini3939 0:c58afea88a8f 60 if (pc.readable()) gs.putc(pc.getc());
okini3939 0:c58afea88a8f 61 if (gs.readable()) pc.putc(gs.getc());
okini3939 0:c58afea88a8f 62 }
okini3939 0:c58afea88a8f 63 }