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();
}