A Nucleo program using a CC3000 wifi chip to ping
Dependencies: NVIC_set_all_priorities TextLCD cc3000_hostdriver_mbedsocket mbed
main.cpp
- Committer:
- MarcoAmerena
- Date:
- 2014-07-10
- Revision:
- 0:2aa37889f076
File content as of revision 0:2aa37889f076:
#include "mbed.h" #include "TextLCD.h" #include "cc3000.h" #include "main.h" using namespace mbed_cc3000; #if (MY_BOARD == WIFI_SHEILD_ADAFRUIT) cc3000 wifi(PB_3, PB_4, PB_6, SPI(PA_7, PA_6, PA_5), "SSID", "PASSWORD", WPA, false); //irq, en, cs, spi, irq-port Serial pc(USBTX, USBRX); // tx, rx #endif TextLCD lcd(PC_8, PC_6, PC_5, PB_15, PB_14, PB_12); // rs, e, d4-d7 DigitalOut led(PC_10); int main() { lcd.cls(); lcd.printf("CC3000 Ping"); led = 0; wifi.init(); if (wifi.connect(5000) == false) { lcd.locate(0, 0); lcd.printf("Return 1"); } else { lcd.cls(); lcd.locate(0, 0); lcd.printf("IP address:"); lcd.locate(0, 1); lcd.printf("%s",wifi.getIPAddress()); } wait(5); uint32_t ip; uint8_t *site = (uint8_t *)"google.com"; printf("IP of %s ",site); if (wifi._socket.gethostbyname(site,strlen((const char *)site), &ip)) { uint8_t add0 = (ip >> 24); uint8_t add1 = (ip >> 16); uint8_t add2 = (ip >> 8); uint8_t add3 = (ip >> 0); printf("IP address of %s: %d:%d:%d:%d \r\n", site, add0, add1, add2, add3); led = 1; } else { lcd.locate(0, 0); lcd.printf("Return 2"); } wait(3); printf("Starting sending ping. \r\n"); uint32_t reply_count = wifi.ping(ip, 5, 500, 32); lcd.cls(); lcd.locate(0, 0); lcd.printf("Recieved:"); lcd.locate(0, 1); lcd.printf("%d", reply_count); printf("Ping demo completed. \r\n"); wifi.disconnect(); }