Re: Převod časů unixtimestamp a picoC

Petr Labaj labaj na volny.cz
Středa Duben 12 18:35:22 CEST 2017


Vždycky je zde možnost nechat vygenerovat aktuální čas ve stejném okamžiku
z Unixu a PicoC, prostě je od sebe odečíst a tohle používat jako offset.
Tedy stanovit offset podle reality, nikoli podle toho "jak by to mělo být".

Různých chybně zapsaných konstant už jsem viděl různých knihovnách dost.
Tedy dost na to, abych knihovny pokud možno nepoužíval (lze-li to).
Teď naposled třeba v knihovně pro sériový port velmi seriózního výrobce
Analog Device.

PL

****************************

Dne 12.4.2017 v 16:08 Ladislav Vaiz napsal(a):
> Podezřelé je už to, že ADJUSTMENT_SECONDS není dělitelné 86400.
> Dále je podezřelé, že google na "PicoC getcurrenttime" nevrací nic 
> relevantního.
> Do třetice se mi nezdá, že na 
> http://stackoverflow.com/questions/tagged/picoc jsou celkem tři dotazy.
>
> Obávám se, že jste si zvolil platformu, kde jsou stále lvi, komunita 
> malá a každý krok může být problém.
> L.
>
> Dne 12.4.2017 v 15:03 Cizek Milan napsal(a):
>> 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
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>



Další informace o konferenci Hw-list