I made the digital watch which set the start time in ntp. It\'s same as \"clock\" see:[http://mbed.org/users/jf1vrr/programs/clock/lpucqk] except that I changed from unix timezone to ntp. See: http://blogs.yahoo.co.jp/jf1vrr_station/19816010.html (Japanese)

Dependencies:   EthernetNetIf NTPClient_NetServices TextLCD mbed

Committer:
jf1vrr
Date:
Tue Apr 19 10:18:26 2011 +0000
Revision:
0:aefa7207aafd
Rev. 0.01A 2011/04/19

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jf1vrr 0:aefa7207aafd 1 /* I made the digital watch which set the start time in ntp.
jf1vrr 0:aefa7207aafd 2 It's same as "clock" see:[http://mbed.org/users/jf1vrr/programs/clock/lpucqk]
jf1vrr 0:aefa7207aafd 3 except that I changed from unix timezone to ntp.
jf1vrr 0:aefa7207aafd 4 */
jf1vrr 0:aefa7207aafd 5 #include "mbed.h"
jf1vrr 0:aefa7207aafd 6 #include "TextLCD.h"
jf1vrr 0:aefa7207aafd 7 #include "EthernetNetIf.h"
jf1vrr 0:aefa7207aafd 8 #include "NTPClient.h"
jf1vrr 0:aefa7207aafd 9
jf1vrr 0:aefa7207aafd 10 TextLCD lcd(p24, p26, p27, p28, p29, p30);
jf1vrr 0:aefa7207aafd 11 EthernetNetIf eth;
jf1vrr 0:aefa7207aafd 12 NTPClient ntp;
jf1vrr 0:aefa7207aafd 13
jf1vrr 0:aefa7207aafd 14 int offset_JAPAN = 32400;
jf1vrr 0:aefa7207aafd 15
jf1vrr 0:aefa7207aafd 16 int main() {
jf1vrr 0:aefa7207aafd 17 /* Set up Ethernet */
jf1vrr 0:aefa7207aafd 18 lcd.cls();
jf1vrr 0:aefa7207aafd 19 lcd.printf("Setting up Eth\n");
jf1vrr 0:aefa7207aafd 20 EthernetErr ethErr = eth.setup();
jf1vrr 0:aefa7207aafd 21 if (ethErr) {
jf1vrr 0:aefa7207aafd 22 lcd.cls();
jf1vrr 0:aefa7207aafd 23 lcd.printf("Error with Eth\nNum: %d", ethErr);
jf1vrr 0:aefa7207aafd 24 return -1;
jf1vrr 0:aefa7207aafd 25 }
jf1vrr 0:aefa7207aafd 26
jf1vrr 0:aefa7207aafd 27 /* Set up NTP */
jf1vrr 0:aefa7207aafd 28 lcd.printf("Setting up NTP\n");
jf1vrr 0:aefa7207aafd 29 Host server(IpAddr(), 123, "ntp1.jst.mfeed.ad.jp");
jf1vrr 0:aefa7207aafd 30 ntp.setTime(server);
jf1vrr 0:aefa7207aafd 31
jf1vrr 0:aefa7207aafd 32 lcd.cls();
jf1vrr 0:aefa7207aafd 33 while(1) {
jf1vrr 0:aefa7207aafd 34 time_t seconds = time(NULL)+offset_JAPAN;
jf1vrr 0:aefa7207aafd 35
jf1vrr 0:aefa7207aafd 36 lcd.locate(0,0);
jf1vrr 0:aefa7207aafd 37 char day[16];
jf1vrr 0:aefa7207aafd 38 strftime(day, 16, "%Y/%m/%d %a\n", localtime(&seconds));
jf1vrr 0:aefa7207aafd 39 lcd.printf("%s", day);
jf1vrr 0:aefa7207aafd 40
jf1vrr 0:aefa7207aafd 41 char time[16];
jf1vrr 0:aefa7207aafd 42 strftime(time, 16, "%H:%M:%S\n", localtime(&seconds));
jf1vrr 0:aefa7207aafd 43 lcd.locate(0,1);
jf1vrr 0:aefa7207aafd 44 lcd.printf("%s", time);
jf1vrr 0:aefa7207aafd 45
jf1vrr 0:aefa7207aafd 46 wait(1.0);
jf1vrr 0:aefa7207aafd 47 }
jf1vrr 0:aefa7207aafd 48 }