Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Real time clock #54

Open
dzarda opened this issue Mar 31, 2021 · 13 comments
Open

Real time clock #54

dzarda opened this issue Mar 31, 2021 · 13 comments

Comments

@dzarda
Copy link
Contributor

dzarda commented Mar 31, 2021

Jirka potřebuje rozchodit RTC na naší úžasné desce.

  • Přidat PB zprávy
  • Přidat RTC driver
  • Otestovat RTC, změřit odběr...
@dzarda
Copy link
Contributor Author

dzarda commented Apr 5, 2021

RTC nemá kalendářovou logiku, ale umí pouze monotonicky čítat. @Tasssadar Stačí umět čítat sekundy?

  • Set zpráva nastaví sekundy (implikuje inicializaci)
  • Get zpráva přečte sekundy (nebo 0, když nemáme baterku/není inicializování).

@yaqwsx
Copy link
Member

yaqwsx commented Apr 5, 2021

Nestačilo by nám mít unix epochu?

@dzarda
Copy link
Contributor Author

dzarda commented Apr 5, 2021

Jo, však to je ono. Klient určí hodnotu v Set funkci, od toho to pak počítá sekundy. Naskýtá se mít to jako unix timestamp

@Tasssadar
Copy link
Member

To zní jakože by mělo stačit, "set" může nastavit buďto epoch, nebo prostě cokoliv. Vyšší přesnost než vteřiny neumí?

@dzarda
Copy link
Contributor Author

dzarda commented Apr 5, 2021

Umí to přesnost jakou chceš, ale má to jen 32 bitů

@dzarda
Copy link
Contributor Author

dzarda commented Apr 6, 2021

Změřeno 1,26uA

@cednik
Copy link
Contributor

cednik commented Apr 6, 2021

Umí to přesnost jakou chceš, ale má to jen 32 bitů

Běží to z krystalového oscilátoru 32.768 kHz, tudíž 1 sekunda je myslím nejvíc smysluplný časový úsek, který má smysl z toho dolovat. Ale předděličku si můžu nastavit od 1 do 1 048 576 (2^20), takže kdyby někdo moc chtěl, může to být přesnější.
Ovšem pak se špatně počítá ta epocha, když to může přetéct, zatím co procesor nemá šťávu :-)

@cednik
Copy link
Contributor

cednik commented Apr 6, 2021

Kromě get a set bych ještě poprosil o alarm.get/set/enable/disable.
Ono to totiž pak umí přes POWER pin (PC13) celé RBCX v nastavený čas zapnout :-)

@dzarda
Copy link
Contributor Author

dzarda commented Apr 6, 2021

Najs, alarm udělám

@dzarda
Copy link
Contributor Author

dzarda commented Apr 13, 2021

Alarm bude vhodné nastavovat asi jako parametr powerOff příkazu, protože nastavení ASOE tu nohu okamžitě stahuje, čímž vypíná desku.

Protože to stahuje dolů furt i po vypnutí, zapnutí tlačítkem nefunguje - jen problikne a zase se vypne. Musím zkusit, jestli během probliknutí nastartuje proc a jestli je čas tu nohu odpoutat.

@cednik
Copy link
Contributor

cednik commented Apr 14, 2021

Mám za to, že jsem to zkoušel a že to fungovalo. Bohužel, v testovací větvy v commitech jsem to nenašel :-(

Nastavovat alarm jako parametr powerOff klidně, ale asi se mi to moc nelíbí jako jediná možnost - asi si chci umět nastavit alarm dopředu, dřív, než budu zařízení vypínat. Nehledě na možnosti že se to vypne samo kvůli vybité baterce, nebo jejímu odpojení.
Nemůže si STM nastavený alarm pamatovat a až při vypínání nastavit správně power pin? (Ať už se vypne příkazem, nebo poklesem napětí na baterce, ke kterému dojde i při jejím odpojení.)

@dzarda
Copy link
Contributor Author

dzarda commented Apr 14, 2021

Jasně, musí si to vlastně pamatovat stejně kvůli těm průběžným vypnutím/zapnutím...

zkoušel a že to fungovalo

Myslíš tu insta alarm deaktivaci při startu?

@cednik
Copy link
Contributor

cednik commented Apr 14, 2021

Zkoušel jsem, jestli to tím jde zapnout a šlo to. Jestli jsem dělal deaktivaci si bohužel nepamatuji. Nicméně si pamatuji, že to umělo dělat jen pulz, nikoli držet úroveň, tak jsem ji asi dělat musel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants