![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
ECE4180 Lab 4
Dependencies: 4DGL-uLCD-SE NTPClient WiflyInterface mbed
Fork of Wifly_HelloWorld by
Diff: main.cpp
- Revision:
- 6:9e564d0336a8
- Parent:
- 5:867d16e948eb
--- a/main.cpp Fri Aug 24 13:52:40 2012 +0000 +++ b/main.cpp Mon Oct 20 17:23:49 2014 +0000 @@ -1,7 +1,14 @@ +/** +* Paul Rabbat (prabbat3@gatech.edu) and Himanshu Pandey (hpandey3@gatech.edu) +* ECE4180 - Georgia Institute of Technology +* Lab 4 +* October 21, 2014 +*/ + #include "mbed.h" #include "WiflyInterface.h" - -Serial pc(USBTX, USBRX); +#include "NTPClient.h" +#include "uLCD_4DGL.h" /* wifly object where: * - p9 and p10 are for the serial communication @@ -11,11 +18,50 @@ * - "password" is the password * - WPA is the security */ -WiflyInterface wifly(p9, p10, p25, p26, "mbed", "password", WPA); +WiflyInterface wifly(p9, p10, p25, p26, "Los Pollos Hermanos", "", NONE); +//SET UP ULCD +uLCD_4DGL uLCD(p28, p27, p29); // serial tx, serial rx, reset pin; +NTPClient ntpClient; + int main() { - wifly.init(); // use DHCP - while (!wifly.connect()); // join the network - printf("IP Address is %s\n\r", wifly.getIPAddress()); - wifly.disconnect(); + time_t ctTime; //system time structure + uLCD.baudrate(2000000); //Crank up Baudrate + uLCD.cls(); //Clear uLCD screen + uLCD.background_color(BLACK); //SET BACKGROUND COLOR TO WHITE + //SETS THE BACKGROUND COLOR OF TEXT TO WHITE ON THE ULCD + uLCD.textbackground_color(BLACK); + uLCD.locate(0,0); //Start printing on col0, row0 + uLCD.printf("Getting IP Address\n"); //Print to uLCD + wifly.init(); //USE DHCP to get local IP address + wifly.connect(); //Connect to the network + uLCD.printf("IP ADDRESS is %s\n",wifly.getIPAddress()); //Get Ethernet Address and display It on ULCD + wait(3.0); + uLCD.printf("Reading Time...\n"); + char* domainName="us.pool.ntp.org"; //SET TO DOMAIN NAME OF SERVER GETTING TIME FROM + //GETS THE TIME FROM THE SERVER + //setTime(DOMAIN_NAME,PORT_NUMBER,TIME_OUT) + //DOMAIN_NAME= domain name + //PORT NUMBER=port number (123 for NTP) + //TIME_OUT= timeout value for request + ntpClient.setTime(domainName,123,0x00005000); + uLCD.printf("Time Set\n"); + //Delay for human time to read LCD display + wait(3.0); + uLCD.cls(); + //SETS THE BACKGROUND COLOR OF TEXT TO WHITE ON THE ULCD + uLCD.textbackground_color(BLACK); + char buffer[80]; //BUFFER TO HOLD FORMATTED TIME DATA + uLCD.color(RED); + wifly.disconnect(); //DISCONNECT FROM THE NETWORK + uLCD.text_height(2); //2x Text Height + while (1) { + // loop and periodically update the LCD's time display + uLCD.locate(0,0); + ctTime = time(NULL)-(3600*4); //TIME with offset for eastern time US + //FORMAT TIME FOR DISPLAY AND STORE FORMATTED RESULT IN BUFFER + strftime(buffer,80,"%a %b %d\n%T %p %z\n %Z\n",localtime(&ctTime)); + uLCD.printf("Univ Time Clock\n%s", buffer); + wait(.1); + } } \ No newline at end of file