MBED clock sync using NTP Server from from internet

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed

Fork of MbedClock by Andrew Duda

Committer:
ismaia
Date:
Thu Feb 11 13:05:23 2016 +0000
Revision:
8:9693d69ec483
Parent:
7:0a56268d858c
Child:
10:d9ed3d95e5eb
Debugging

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dudanian 0:4e6ae21cbd31 1 #include "mbed.h"
dudanian 0:4e6ae21cbd31 2 #include "rtos.h"
dudanian 0:4e6ae21cbd31 3 #include "EthernetInterface.h"
ismaia 7:0a56268d858c 4 #include "NTPClient.h"
dudanian 0:4e6ae21cbd31 5 #include <string>
dudanian 1:c47a2f0816bb 6
dudanian 0:4e6ae21cbd31 7
ismaia 8:9693d69ec483 8 EthernetInterface eth;
dudanian 2:c939d0501184 9 TCPSocketConnection server;
ismaia 8:9693d69ec483 10 NTPClient ntp;
ismaia 8:9693d69ec483 11 DigitalOut myled(LED1);
ismaia 8:9693d69ec483 12 time_t ctTime;
ismaia 7:0a56268d858c 13
dudanian 0:4e6ae21cbd31 14
ismaia 7:0a56268d858c 15 int main() {
ismaia 8:9693d69ec483 16 printf("Setting up ethernet interface...\r\n");
ismaia 8:9693d69ec483 17 if (eth.init() == 0 ) { //Use DHCP
ismaia 8:9693d69ec483 18 printf("Ethernet setup OK\r\n");
ismaia 8:9693d69ec483 19 }else {
ismaia 8:9693d69ec483 20 printf("Error: cannot set ethernet interface\r\n");
ismaia 8:9693d69ec483 21 return 1;
ismaia 8:9693d69ec483 22 }
ismaia 8:9693d69ec483 23
ismaia 8:9693d69ec483 24 printf("Trying to connect...\r\n");
ismaia 8:9693d69ec483 25 wait(0.5);
ismaia 8:9693d69ec483 26 if ( eth.connect(30000) == 0 ){
ismaia 8:9693d69ec483 27 printf("IP Address is %s\n", eth.getIPAddress());
ismaia 8:9693d69ec483 28 }else {
ismaia 8:9693d69ec483 29 printf("Error: cannot set ethernet interface\r\n");
ismaia 8:9693d69ec483 30 return 1;
ismaia 8:9693d69ec483 31 }
ismaia 8:9693d69ec483 32
ismaia 7:0a56268d858c 33 printf("Trying to update time...\r\n");
ismaia 8:9693d69ec483 34 if (ntp.setTime("0.fr.pool.ntp.org") == 0)
ismaia 7:0a56268d858c 35 {
ismaia 8:9693d69ec483 36 printf("Set time successfully\r\n");
ismaia 7:0a56268d858c 37 printf("Time is set to (UTC): %s\r\n", ctime(&ctTime));
ismaia 7:0a56268d858c 38 }
ismaia 7:0a56268d858c 39 else
ismaia 7:0a56268d858c 40 {
ismaia 8:9693d69ec483 41 printf("Error: Cannot set time\r\n");
ismaia 7:0a56268d858c 42 }
ismaia 7:0a56268d858c 43 eth.disconnect();
ismaia 8:9693d69ec483 44 ctTime = time(NULL);
ismaia 7:0a56268d858c 45 while(1) {
ismaia 7:0a56268d858c 46 myled = 1;
ismaia 7:0a56268d858c 47 wait(1);
ismaia 7:0a56268d858c 48 myled = 0;
ismaia 7:0a56268d858c 49 wait(1);
ismaia 7:0a56268d858c 50 printf("Current time is: %s\r\n", ctime(&ctTime));
dudanian 0:4e6ae21cbd31 51 }
dudanian 0:4e6ae21cbd31 52 }