LPC1768_AppBoard_Internet_LCD_Clock
Dependencies: C12832_lcd DNSResolver EthernetNetIf NTPClientMin mbed
Fork of Internet_LCD_Clock by
LPC1768_AppBoard_Internet_LCD_Clock.cpp@3:8d177b351165, 2014-02-13 (annotated)
- Committer:
- joinamruta
- Date:
- Thu Feb 13 10:16:34 2014 +0000
- Revision:
- 3:8d177b351165
- Parent:
- 2:e018257b953a
ChangedName;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joinamruta | 2:e018257b953a | 1 | #include "mbed.h" |
joinamruta | 2:e018257b953a | 2 | #include "EthernetNetIf.h" |
joinamruta | 2:e018257b953a | 3 | #include "NTPClient.h" |
joinamruta | 2:e018257b953a | 4 | #include "C12832_lcd.h" |
joinamruta | 2:e018257b953a | 5 | |
joinamruta | 2:e018257b953a | 6 | // Internet of Things clock example: LCD time is set via internet NTP time server |
joinamruta | 2:e018257b953a | 7 | |
joinamruta | 2:e018257b953a | 8 | EthernetNetIf eth; |
joinamruta | 2:e018257b953a | 9 | NTPClient ntp; |
joinamruta | 2:e018257b953a | 10 | C12832_LCD lcd; |
joinamruta | 2:e018257b953a | 11 | |
joinamruta | 2:e018257b953a | 12 | int main() { |
joinamruta | 2:e018257b953a | 13 | //system time structure |
joinamruta | 2:e018257b953a | 14 | time_t ctTime; |
joinamruta | 2:e018257b953a | 15 | //clear LCD |
joinamruta | 2:e018257b953a | 16 | lcd.cls(); |
joinamruta | 2:e018257b953a | 17 | lcd.locate(0,0); |
joinamruta | 2:e018257b953a | 18 | // lcd.printf prints to LCD display; |
joinamruta | 2:e018257b953a | 19 | lcd.printf("Get IP addr..."); |
joinamruta | 2:e018257b953a | 20 | EthernetErr ethErr = eth.setup(); |
joinamruta | 2:e018257b953a | 21 | //Get an Internet IP address using DHCP |
joinamruta | 2:e018257b953a | 22 | if (ethErr) { |
joinamruta | 2:e018257b953a | 23 | //error or timeout getting an IP address |
joinamruta | 2:e018257b953a | 24 | lcd.cls(); |
joinamruta | 2:e018257b953a | 25 | lcd.printf("Network Error \n\r %d",ethErr); |
joinamruta | 2:e018257b953a | 26 | return -1; |
joinamruta | 2:e018257b953a | 27 | } |
joinamruta | 2:e018257b953a | 28 | lcd.cls(); |
joinamruta | 2:e018257b953a | 29 | lcd.locate(0,0); |
joinamruta | 2:e018257b953a | 30 | lcd.printf("Reading Time...\n\r"); |
joinamruta | 2:e018257b953a | 31 | //specify time server URL |
joinamruta | 2:e018257b953a | 32 | Host server(IpAddr(), 123, "0.us.pool.ntp.org"); |
joinamruta | 2:e018257b953a | 33 | //Read time from server |
joinamruta | 2:e018257b953a | 34 | ntp.setTime(server); |
joinamruta | 2:e018257b953a | 35 | lcd.cls(); |
joinamruta | 2:e018257b953a | 36 | lcd.locate(0,0); |
joinamruta | 2:e018257b953a | 37 | lcd.printf("Time set"); |
joinamruta | 2:e018257b953a | 38 | //Delay for human time to read LCD display |
joinamruta | 2:e018257b953a | 39 | wait(1); |
joinamruta | 2:e018257b953a | 40 | while (1) { |
joinamruta | 2:e018257b953a | 41 | // loop and periodically update the LCD's time display |
joinamruta | 2:e018257b953a | 42 | lcd.cls(); |
joinamruta | 2:e018257b953a | 43 | lcd.locate(0,0); |
joinamruta | 2:e018257b953a | 44 | ctTime = time(NULL); |
joinamruta | 2:e018257b953a | 45 | lcd.printf("UTC: %s", ctime(&ctTime)); |
joinamruta | 2:e018257b953a | 46 | wait(.25); |
joinamruta | 2:e018257b953a | 47 | } |
joinamruta | 2:e018257b953a | 48 | } |