Převod časů unixtimestamp a picoC

Cizek Milan Cizek.Milan na seznam.cz
Středa Duben 12 15:03:40 CEST 2017


Ahoj, řeším takový problém, který mi moc nedává smysl.

Mám zařízení s aplikací - ve které mohu využít subprográmky v PicoC. Pak mám
nějaký server v PHP, kterým do daného zařízení posílám příkazy pomocí HTTP 
(autorizace je). Způsob komunikace nemohu ovlivnit.




VPHP pracuji se standardním unixtimestamp formátem. PicoC má jen nějaký jiný
čas, funkce getcurrenttime() vrací počet sekund v UTC, ale od 1.1.2009.




PHP využívá unixtime, tj. počet sekund od 1.1.1970. Unixtime používám 
úmyslně kuli snadnějšímu porovnávání a časování akcí.




Abych byl kompatibilní a mohl porovnávat, tak jsem si vypočítal počet sekund
mezi 1.1.1970 a 31.12.2008 a přičítám jej k té funkci getcurrenttime, která 
vrací počet sekund od 1.1.2009.




Obě strany mají čas synchronizován pomocí NTP.




define ADJUSTMENT_SECONDS 1230767999


unix_timestamp = getcurrenttime() + ADJUSTMENT_SECONDS;




Nicméně takto se mi čas v zařízení stále jeví cca o 100s vyšší. Nevím přesně
jestli zrovna 100, tiká mi to pod rukama (+-2s). Nějaký nápad, kde dělám 
chybu?


Milan
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20170412/4c028698/attachment.html>


Další informace o konferenci Hw-list