Tests Ethernet connection and ability to access a public NTP server.

Dependencies:   EthernetInterface NTPClient mbed-rtos mbed

Committer:
markrad
Date:
Tue May 30 21:41:24 2017 +0000
Revision:
0:433bf5e7bce1
Basic NTP test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
markrad 0:433bf5e7bce1 1 #include <stdio.h>
markrad 0:433bf5e7bce1 2
markrad 0:433bf5e7bce1 3 #include "mbed.h"
markrad 0:433bf5e7bce1 4 #include "EthernetInterface.h"
markrad 0:433bf5e7bce1 5 #include "NTPClient.h"
markrad 0:433bf5e7bce1 6
markrad 0:433bf5e7bce1 7 DigitalOut led1(LED1);
markrad 0:433bf5e7bce1 8
markrad 0:433bf5e7bce1 9 void loopForever()
markrad 0:433bf5e7bce1 10 {
markrad 0:433bf5e7bce1 11 printf("Halt\r\n");
markrad 0:433bf5e7bce1 12
markrad 0:433bf5e7bce1 13 while (true) {
markrad 0:433bf5e7bce1 14 printf(".");
markrad 0:433bf5e7bce1 15 led1 = !led1;
markrad 0:433bf5e7bce1 16 Thread::wait(1000);
markrad 0:433bf5e7bce1 17 }
markrad 0:433bf5e7bce1 18 }
markrad 0:433bf5e7bce1 19
markrad 0:433bf5e7bce1 20 int main()
markrad 0:433bf5e7bce1 21 {
markrad 0:433bf5e7bce1 22 led1 = false;
markrad 0:433bf5e7bce1 23 int result = 0;
markrad 0:433bf5e7bce1 24
markrad 0:433bf5e7bce1 25 printf("\r\nBegin NTP test\r\n");
markrad 0:433bf5e7bce1 26
markrad 0:433bf5e7bce1 27 result = EthernetInterface::init();
markrad 0:433bf5e7bce1 28
markrad 0:433bf5e7bce1 29 if (result != 0)
markrad 0:433bf5e7bce1 30 {
markrad 0:433bf5e7bce1 31 printf("Init failed - %d\r\n", result);
markrad 0:433bf5e7bce1 32 loopForever();
markrad 0:433bf5e7bce1 33 }
markrad 0:433bf5e7bce1 34
markrad 0:433bf5e7bce1 35 result = EthernetInterface::connect();
markrad 0:433bf5e7bce1 36
markrad 0:433bf5e7bce1 37 if (result != 0)
markrad 0:433bf5e7bce1 38 {
markrad 0:433bf5e7bce1 39 printf("Connect failed - %d\r\n", result);
markrad 0:433bf5e7bce1 40 loopForever();
markrad 0:433bf5e7bce1 41 }
markrad 0:433bf5e7bce1 42
markrad 0:433bf5e7bce1 43 time_t ctTime;
markrad 0:433bf5e7bce1 44 ctTime = time(NULL);
markrad 0:433bf5e7bce1 45
markrad 0:433bf5e7bce1 46 printf("Current time is (UTC): %s\r\n", ctime(&ctTime));
markrad 0:433bf5e7bce1 47
markrad 0:433bf5e7bce1 48 NTPClient ntp;
markrad 0:433bf5e7bce1 49
markrad 0:433bf5e7bce1 50 result = ntp.setTime("0.pool.ntp.org");
markrad 0:433bf5e7bce1 51
markrad 0:433bf5e7bce1 52 if (result != 0)
markrad 0:433bf5e7bce1 53 {
markrad 0:433bf5e7bce1 54 printf("Settime failed - %d\r\n", result);
markrad 0:433bf5e7bce1 55 loopForever();
markrad 0:433bf5e7bce1 56 }
markrad 0:433bf5e7bce1 57
markrad 0:433bf5e7bce1 58 ctTime = time(NULL);
markrad 0:433bf5e7bce1 59 printf("\r\nTime is now (UTC): %s\r\n", ctime(&ctTime));
markrad 0:433bf5e7bce1 60 loopForever();
markrad 0:433bf5e7bce1 61 }