Tests Ethernet connection and ability to access a public NTP server.
Dependencies: EthernetInterface NTPClient mbed-rtos mbed
main.cpp@0:433bf5e7bce1, 2017-05-30 (annotated)
- Committer:
- markrad
- Date:
- Tue May 30 21:41:24 2017 +0000
- Revision:
- 0:433bf5e7bce1
Basic NTP test
Who changed what in which revision?
User | Revision | Line number | New 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 | } |