|
16 | 16 | *
|
17 | 17 | */
|
18 | 18 |
|
| 19 | +#include <stdlib.h> |
19 | 20 | #include <time.h>
|
20 | 21 | #include <sys/time.h>
|
21 | 22 | #include <sys/reent.h>
|
@@ -55,25 +56,12 @@ static void setServer(int id, const char* name_or_ip)
|
55 | 56 | {
|
56 | 57 | if (name_or_ip)
|
57 | 58 | {
|
58 |
| - //TODO: check whether server is given by name or IP |
| 59 | + // per current configuration, |
| 60 | + // lwIP can receive an IP address or a fqdn |
59 | 61 | sntp_setservername(id, (char*) name_or_ip);
|
60 | 62 | }
|
61 | 63 | }
|
62 | 64 |
|
63 |
| - |
64 |
| -void configTime(int timezone_sec, int daylightOffset_sec, const char* server1, const char* server2, const char* server3) |
65 |
| -{ |
66 |
| - sntp_stop(); |
67 |
| - |
68 |
| - setServer(0, server1); |
69 |
| - setServer(1, server2); |
70 |
| - setServer(2, server3); |
71 |
| - |
72 |
| - sntp_set_timezone_in_seconds(timezone_sec); |
73 |
| - sntp_set_daylight(daylightOffset_sec); |
74 |
| - sntp_init(); |
75 |
| -} |
76 |
| - |
77 | 65 | int clock_gettime(clockid_t unused, struct timespec *tp)
|
78 | 66 | {
|
79 | 67 | (void) unused;
|
@@ -108,4 +96,33 @@ int _gettimeofday_r(struct _reent* unused, struct timeval *tp, void *tzp)
|
108 | 96 | return 0;
|
109 | 97 | }
|
110 | 98 |
|
111 |
| -}; |
| 99 | +}; // extern "C" |
| 100 | + |
| 101 | +void configTime(int timezone_sec, int daylightOffset_sec, const char* server1, const char* server2, const char* server3) |
| 102 | +{ |
| 103 | + sntp_stop(); |
| 104 | + |
| 105 | + setServer(0, server1); |
| 106 | + setServer(1, server2); |
| 107 | + setServer(2, server3); |
| 108 | + |
| 109 | + sntp_set_timezone_in_seconds(timezone_sec); |
| 110 | + sntp_set_daylight(daylightOffset_sec); |
| 111 | + sntp_init(); |
| 112 | +} |
| 113 | + |
| 114 | +void configTime(const char* tz, const char* server1, const char* server2, const char* server3) |
| 115 | +{ |
| 116 | + sntp_stop(); |
| 117 | + |
| 118 | + setServer(0, server1); |
| 119 | + setServer(1, server2); |
| 120 | + setServer(2, server3); |
| 121 | + |
| 122 | + char tzram[strlen_P(tz) + 1]; |
| 123 | + memcpy_P(tzram, tz, sizeof(tzram)); |
| 124 | + setenv("TZ", tzram, 1/*overwrite*/); |
| 125 | + tzset(); |
| 126 | + |
| 127 | + sntp_init(); |
| 128 | +} |
0 commit comments