( asch | 2018. 09. 16., v – 20:05 )

A dátum BCD kódban úgy van benne, ahogy ki kell jelezni. Ezért ha csak kijelezni kell, és a számlálás logikája nem változik, akkor nagyon egyszerű dolgozni vele. Én is csináltam ilyen rendszert, ami csak kijelzi meg logokba írja a dátumot, erre tökéletesen elegendő a dátum formátum, sosem kell lineáris idővé alakítani. Egyszerű mint a faék.

Egyébként van egy olyan érzésem, hogy a PC RTC-k önébresztő funkciója hasonló belső megvalósítások miatt nagyon bonyolult. Valamikor olvastam ilyen doksikat, és a wake up regiszterbe dátumformátumot kell írni, ráadásul a számjegyekben wildcardot is lehet használni. Na most, ha pont az óraátállítás pillanatában akarod, hogy felébredjen a géped, akkor mit írsz be a regiszterbe? Jó, ez nem egy sokakat érintő probléma, de azért komplex kód van mögötte, ahelyett hogy csak beírnánk egy számot és slusszpassz.

Ha olyan a felhasználás, hogy lineáris RTC kell, akkor sajnos kell implementálni egy naptár átszámolót. Lehet, hogy be lehet húzni valahonnan kész megoldást, de anno némi keresgélés után egy táblázatos megoldás mellett döntöttem. Nem volt olyan, ami lényegében zéró függőséggel pár bájtban elfér egy mikrovezérlőn. Még ez sem para. De van az átállásnak a kimaradó órája, illetve a beszúrt óra. Na, ott van kavar rendesen, ha nem csak kijelezni kell az időt, hanem mondjuk dátum formába oda vissza alakítani úgy, hogy akkor is jól működjön. Emiatt a két óra miatt kell egy csomót gondolkodni. És ráadásul nehezen tesztelhető minden sarokeset.

Valójában nem akkora kunszt, hogy emiatt el kelljen törölni DST-t, de egy ranting azért jólesik az ember lelkének.