Update library (02 Feb 2015)

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed

Fork of NTPClient_HelloWorld by Donatien Garnier

Committer:
ban4jp
Date:
Sun Feb 01 17:10:44 2015 +0000
Revision:
5:ef9b500c56e2
Parent:
4:06cde8b92c77
Handle the error.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:0e0debc29569 1 #include "mbed.h"
donatien 0:0e0debc29569 2 #include "EthernetInterface.h"
donatien 2:bf7dc5f5bca9 3 #include "NTPClient.h"
donatien 0:0e0debc29569 4
donatien 1:d263603373ac 5 EthernetInterface eth;
donatien 2:bf7dc5f5bca9 6 NTPClient ntp;
donatien 1:d263603373ac 7
ban4jp 3:cefa72855d43 8 int main()
donatien 0:0e0debc29569 9 {
ban4jp 4:06cde8b92c77 10 int ret = eth.init(); //Use DHCP
ban4jp 5:ef9b500c56e2 11 if (!ret) {
ban4jp 5:ef9b500c56e2 12 printf("Initialized, MAC: %s\n", eth.getMACAddress());
ban4jp 5:ef9b500c56e2 13 } else {
ban4jp 5:ef9b500c56e2 14 printf("Error eth.init() - ret = %d\n", ret);
ban4jp 5:ef9b500c56e2 15 return -1;
ban4jp 5:ef9b500c56e2 16 }
donatien 0:0e0debc29569 17
ban4jp 4:06cde8b92c77 18 ret = eth.connect();
ban4jp 5:ef9b500c56e2 19 if (!ret) {
ban4jp 5:ef9b500c56e2 20 printf("Connected, IP: %s, MASK: %s, GW: %s\n",
ban4jp 5:ef9b500c56e2 21 eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
ban4jp 5:ef9b500c56e2 22 } else {
ban4jp 5:ef9b500c56e2 23 printf("Error eth.connect() - ret = %d\n", ret);
ban4jp 5:ef9b500c56e2 24 return -1;
ban4jp 5:ef9b500c56e2 25 }
ban4jp 5:ef9b500c56e2 26
ban4jp 3:cefa72855d43 27
ban4jp 4:06cde8b92c77 28 printf("Trying to update time...\n");
ban4jp 5:ef9b500c56e2 29
ban4jp 5:ef9b500c56e2 30 time_t ctTime;
ban4jp 5:ef9b500c56e2 31 NTPResult result;
ban4jp 5:ef9b500c56e2 32
ban4jp 5:ef9b500c56e2 33 while(1) {
ban4jp 5:ef9b500c56e2 34 result = ntp.setTime("pool.ntp.org");
ban4jp 5:ef9b500c56e2 35 //result = ntp.setTime("pool.ntp.org", NTP_DEFAULT_PORT, 2000);
ban4jp 5:ef9b500c56e2 36
ban4jp 5:ef9b500c56e2 37 if (result == NTP_OK) {
ban4jp 5:ef9b500c56e2 38 time(&ctTime);
ban4jp 5:ef9b500c56e2 39 printf("Time is set to (UTC): %s\n", ctime(&ctTime));
ban4jp 5:ef9b500c56e2 40 break;
ban4jp 5:ef9b500c56e2 41 }
ban4jp 5:ef9b500c56e2 42
ban4jp 5:ef9b500c56e2 43 switch (result) {
ban4jp 5:ef9b500c56e2 44 case NTP_CONN: ///<Connection error
ban4jp 5:ef9b500c56e2 45 printf("Connection error\n");
ban4jp 5:ef9b500c56e2 46 break;
ban4jp 5:ef9b500c56e2 47 case NTP_TIMEOUT: ///<Connection timeout
ban4jp 5:ef9b500c56e2 48 printf("Connection timeout\n");
ban4jp 5:ef9b500c56e2 49 break;
ban4jp 5:ef9b500c56e2 50 case NTP_PRTCL: ///<Protocol error
ban4jp 5:ef9b500c56e2 51 printf("Protocol error\n");
ban4jp 5:ef9b500c56e2 52 break;
ban4jp 5:ef9b500c56e2 53 case NTP_DNS: ///<Could not resolve name
ban4jp 5:ef9b500c56e2 54 printf("Could not resolve name\n");
ban4jp 5:ef9b500c56e2 55 break;
ban4jp 5:ef9b500c56e2 56 default:
ban4jp 5:ef9b500c56e2 57 printf("Error result=%d\n", result);
ban4jp 5:ef9b500c56e2 58 return -1;
ban4jp 5:ef9b500c56e2 59 }
ban4jp 5:ef9b500c56e2 60
ban4jp 5:ef9b500c56e2 61 wait(5);
donatien 0:0e0debc29569 62 }
ban4jp 3:cefa72855d43 63
ban4jp 5:ef9b500c56e2 64
ban4jp 4:06cde8b92c77 65 ret = eth.disconnect();
ban4jp 5:ef9b500c56e2 66 if (!ret) {
ban4jp 5:ef9b500c56e2 67 printf("Disconnected\n");
ban4jp 5:ef9b500c56e2 68 } else {
ban4jp 5:ef9b500c56e2 69 printf("Error eth.disconnect() - ret = %d\n", ret);
ban4jp 5:ef9b500c56e2 70 }
ban4jp 5:ef9b500c56e2 71
donatien 0:0e0debc29569 72
donatien 0:0e0debc29569 73 while(1) {
donatien 0:0e0debc29569 74 }
donatien 0:0e0debc29569 75 }