sntp: use one time source and fix unsynchronized sntp time stamp by d-a-v · Pull Request #7595 · esp8266/Arduino (original) (raw)

also minor fix for CI compiler flags.

edit: example

Before this PR, with updated NTP-TZ-DST example,
on last line with "<-- second changed", system function time() and gettimeofday() are not synchronized.

16:16:00.752971213 localtime: isdst=1 yday=255 wday=6 year=120 mon=8 mday=12 hour=15 min=16 sec=0
16:16:00.760816407 gmtime:    isdst=0 yday=255 wday=6 year=120 mon=8 mday=12 hour=14 min=16 sec=0
16:16:00.769484560 clock:     7s / 139481000ns
16:16:00.777284078 millis:    7139
16:16:00.784749753 micros:    7139501
16:16:00.791351114 gtod:      1599920160s / 663763us
16:16:00.798425014 time:      1599920160
16:16:00.805655379 timezone:  GMT0BST,M3.5.0/1,M10.5.0
16:16:00.813127963 ctime:     Sat Sep 12 15:16:00 2020
16:16:00.821596885 sntp0:     10.0.1.254 IPv6: No Reachability: 1
16:16:00.827925501 
16:16:00.836309002 time(): 1599920160   gettimeofday(): 1599920160.699017  second unchanged
16:16:00.843256885 time(): 1599920160   gettimeofday(): 1599920160.755456  second unchanged
16:16:00.852054825 time(): 1599920160   gettimeofday(): 1599920160.806042  second unchanged
16:16:00.870771509 time(): 1599920160   gettimeofday(): 1599920160.856501  second unchanged
16:16:00.920584101 time(): 1599920160   gettimeofday(): 1599920160.907156  second unchanged
16:16:00.971140838 time(): 1599920160   gettimeofday(): 1599920160.957609  second unchanged
16:16:01.021199767 time(): 1599920160   gettimeofday(): 1599920161.008199  <-- second changed 
16:16:01.064865923 

With this PR, time(), gettimeofday() and other libc functions have the same time source.

16:34:27.130753975 localtime: isdst=1 yday=255 wday=6 year=120 mon=8 mday=12 hour=15 min=34 sec=27
16:34:27.137778554 gmtime:    isdst=0 yday=255 wday=6 year=120 mon=8 mday=12 hour=14 min=34 sec=27
16:34:27.145699538 clock:     7s / 119659000ns
16:34:27.152986545 millis:    7119
16:34:27.160393772 micros:    7119684
16:34:27.168077945 gtod:      1599921267s / 75418us
16:34:27.175523564 time:      1599921267
16:34:27.181491234 timezone:  GMT0BST,M3.5.0/1,M10.5.0
16:34:27.188683292 ctime:     Sat Sep 12 15:34:27 2020
16:34:27.195727888 sntp0:     10.0.1.254 IPv6: No Reachability: 1
16:34:27.203593279 
16:34:27.211198888 time(): 1599921267   gettimeofday(): 1599921267.110768  second unchanged
16:34:27.218413329 time(): 1599921267   gettimeofday(): 1599921267.167200  second unchanged
16:34:27.225694226 time(): 1599921267   gettimeofday(): 1599921267.217642  second unchanged
16:34:27.251604647 time(): 1599921267   gettimeofday(): 1599921267.268252  second unchanged
16:34:27.301489041 time(): 1599921267   gettimeofday(): 1599921267.318696  second unchanged
16:34:27.351750685 time(): 1599921267   gettimeofday(): 1599921267.369280  second unchanged
16:34:27.402388179 time(): 1599921267   gettimeofday(): 1599921267.419833  second unchanged
16:34:27.452420738 time(): 1599921267   gettimeofday(): 1599921267.470428  second unchanged
16:34:27.503847309 time(): 1599921267   gettimeofday(): 1599921267.520876  second unchanged
16:34:27.554389393 time(): 1599921267   gettimeofday(): 1599921267.571441  second unchanged
16:34:27.604114326 time(): 1599921267   gettimeofday(): 1599921267.621890  second unchanged
16:34:27.654529599 time(): 1599921267   gettimeofday(): 1599921267.672472  second unchanged
16:34:27.705583152 time(): 1599921267   gettimeofday(): 1599921267.722921  second unchanged
16:34:27.756291619 time(): 1599921267   gettimeofday(): 1599921267.773486  second unchanged
16:34:27.806815447 time(): 1599921267   gettimeofday(): 1599921267.823935  second unchanged
16:34:27.857165349 time(): 1599921267   gettimeofday(): 1599921267.874520  second unchanged
16:34:27.907289482 time(): 1599921267   gettimeofday(): 1599921267.924969  second unchanged
16:34:27.957837938 time(): 1599921267   gettimeofday(): 1599921267.975537  second unchanged
16:34:28.010159178 time(): 1599921268   gettimeofday(): 1599921268.025986  <-- second changed
16:34:28.052279993