Blikání dvojtečky u hodin v Pythonu

Karlitos

Re:Blikání dvojtečky u hodin v Pythonu
« Odpověď #15 kdy: 18. 12. 2014, 15:51:20 »
Jeste neco co jsem pozapomnel doplnit ... a mozna ze je to dulezite, tak jen doufam ze me ted tady vsichni neposlete do #*²¼#½#¼¬³  :D

Krome toho LCD seg,entoveho displaye od Adafruit k tomu mam pripojene jeste RTC hodiny - model PCF8563 RTC Board od firmy WaveShare On si sice Rapsbian po pripojeni na WiFi aktualizuje cas, ale kdyz mi vypadne uprostred noci proud a Malina se nespoji tak mam po hodinach ... Ten kram se mi tu valel v supliku uz nejakou dobu, koupil jsem ho onehda kvuli navodu tady, ale maka dobre a taham z nej pri startu systemu skriptem v rc.local

No a ja si ho ted prohlizim a koukam ze to ma i piny INT a CLK OUT  :-[ :-[ :-[

Takze bych nakonec mel o to prerusei postarano ??? Jdu cist datasheet


Re:Blikání dvojtečky u hodin v Pythonu
« Odpověď #16 kdy: 18. 12. 2014, 16:22:37 »

Diky za tip, podivam se na ten tvuj kod. Jenom jsem nepochopil jak jsi myslel to "načtením času po každém kroku a následně sleepem do konce sekundy"
Myslel jsem to takhle
Kód: [Vybrat]
while True:
    update_time()
    now = time.time()
    sleep(1 - now%1)
Tímhle způsobem máš zajištěno, že naplánuješ probuzení právě na začátku každé další sekundy a to bez ohledu na to, jak dlouho bude samotný proces aktualizace času potrvá.

Karlitos

Re:Blikání dvojtečky u hodin v Pythonu
« Odpověď #17 kdy: 18. 12. 2014, 18:37:09 »
Tak teprve ted koukam, jaky poklad mi to lezel v supliku. Ten modul (PCF8563) to na tom pinu CLK OUT umi delat vicero frekvenci

  • 128 decimal = 0x80 hex = 10000000 binary for 32.768 kHz;
  • 198 decimal = 0x81 hex = 10000001 binary for 1.024 kHz;
  • 130 decimal = 0x82 hex = 10000010 binary for 32 kHz;
  • 131 decimal = 0x83 hex = 10000011 binary for 1 Hz;
  • 0 decimal = 0x0 hex = 0 binary turns the output off and sets it to high impedance.

Pak uz stacilo odebrat modul rtc_pcf8563 a v Pythonu pomoci smbus zapsat 0x83 na adresu 0x51 do registru 0x0D a ejhle ... uz si blikame ledkou s frekvenci 1Hz. Cimz by se jaksi resilo to jak efektivne ridit updaty hodin - na to mame preruseni v RPi.GPIO.

Sic! On ten modul ma i vlastni alarm a pin na kteremm udela preruseni kdyz se alarm spusti! Takze nac resit nejake softwarove hodiny, tohle je prece naprosto supr reseni :D

Vsem diky kteri me na tohle navedli, tady je seznam "literatury" z ktereho jsem cerpal informace:

Velmi podobny modul udelany primo na header R-Pi s knihovnou na GitHub Ale 14 liber ... muj stal z ciny bura ... dolaru  :)
[url?http://tronixstuff.com/2013/08/13/tutorial-arduino-and-pcf8563-real-time-clock-ic/?utm_source=rss&utm_medium=rss&utm_campaign=tutorial-arduino-and-pcf8563-real-time-clock-ic]Tady je dobry tutorial[/url], sice pro arudino, ale tim lepe, C-cko bych asi lustil mnohem dyl.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Blikání dvojtečky u hodin v Pythonu
« Odpověď #18 kdy: 18. 12. 2014, 21:16:40 »
S tim vyhnanim vykonu: to jsem pozoroval kdyz jsem nastavil sleep na desetinu sekundy, takze desetkrat do sekundy se musely prepsat 4 cislice na LCD (ano i to by slo optimalizovat, ale bude s tim dost kodovani

A to jako proc? To si nemuzete ulozit cas posledniho updatu a display updatovat jen tehdy, kdyz doslo ke zmene?