1
1
#include " ntp-client/NTPClient.h"
2
2
#include " mbed.h"
3
3
4
- NTPClient::NTPClient (NetworkInterface *iface) {
5
- this ->iface = iface;
6
-
7
- _nist_server_address = NTP_DEFULT_NIST_SERVER_ADDRESS;
8
- _nist_server_port = NTP_DEFULT_NIST_SERVER_PORT;
4
+ NTPClient::NTPClient (NetworkInterface *iface)
5
+ : iface(iface), nist_server_address(NTP_DEFULT_NIST_SERVER_ADDRESS), nist_server_port(NTP_DEFULT_NIST_SERVER_PORT) {
9
6
}
10
7
11
8
void NTPClient::set_server (char * server, int port){
12
- _nist_server_address = server;
13
- _nist_server_port = port;
9
+ nist_server_address = server;
10
+ nist_server_port = port;
14
11
}
15
12
16
13
time_t NTPClient::get_timestamp (int timeout) {
17
14
const time_t TIME1970 = 2208988800L ;
18
15
int ntp_send_values[12 ] = {0 };
19
16
int ntp_recv_values[12 ] = {0 };
20
-
17
+
21
18
SocketAddress nist;
22
- int ret_gethostbyname = iface->gethostbyname (_nist_server_address , &nist);
23
-
19
+ int ret_gethostbyname = iface->gethostbyname (nist_server_address , &nist);
20
+
24
21
if (ret_gethostbyname < 0 ) {
25
22
// Network error on DNS lookup
26
23
return ret_gethostbyname;
27
24
}
28
-
29
- nist.set_port (_nist_server_port );
30
-
25
+
26
+ nist.set_port (nist_server_port );
27
+
31
28
memset (ntp_send_values, 0x00 , sizeof (ntp_send_values));
32
29
ntp_send_values[0 ] = ' \x1b ' ;
33
30
34
31
memset (ntp_recv_values, 0x00 , sizeof (ntp_recv_values));
35
-
32
+
36
33
UDPSocket sock;
37
34
sock.open (iface);
38
35
sock.set_timeout (timeout);
@@ -41,7 +38,7 @@ time_t NTPClient::get_timestamp(int timeout) {
41
38
42
39
SocketAddress source;
43
40
const int n = sock.recvfrom (&source, (void *)ntp_recv_values, sizeof (ntp_recv_values));
44
-
41
+
45
42
if (n > 10 ) {
46
43
return ntohl (ntp_recv_values[10 ]) - TIME1970;
47
44
} else {
@@ -61,4 +58,4 @@ uint32_t NTPClient::ntohl(uint32_t x) {
61
58
ret |= (x & 0xff0000UL ) >> 8 ;
62
59
ret |= (x & 0xff000000UL ) >> 24 ;
63
60
return ret;
64
- }
61
+ }
0 commit comments