Portál AbcLinuxu, 10. května 2025 04:55

Dotaz: jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?

12.11.2009 20:16 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?
Přečteno: 275×
Odpovědět | Admin
Dobrý večer píšu si script pro ion3 na sledování stavu baterie. Protože bylo /proc/acpi/battery označeno deprecated a zmizelo mi z distribučního jádra, používám /sys.

v sys/clas/power_supply/BAT0/ je spousta informací o baterce, ale bohužel mě nenapadá jak z nich spočítat zbývající čas do vybití. Chybí mi aspoň něco jako aktuální zatížení(odběr)..

napadá Vás něco?

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.11.2009 23:40 nelson | skóre: 17 | blog: jakesi_cosi
Rozbalit Rozbalit vše Re: jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:
/sys/class/power_supply/BAT0/charge_now
zkusit treba while cyklus s kratickym sleep uvnitr, vypocist dobu za jakou se hodnota zmenila + rozdil hodnot. Pak vydelit nove charge_now tím rozdílem hodnot a vynásobit dobou změny? Zkusil jem na tomto principu tedka napsat kraticky script v php(je v priloze a prosim, nekritizujte za ten priserny styl upravy kodu) a funguje to - jen je problem se zacatkem doby odpoctu a doby, kdy se meni obsah souboru a není tam udelany microtime, je to mereno v sekundach = hrozna nepresnost, ale v jednom z peti pokusu se to trefi a souhlasi s acpi :) Na podobném principu by to ale mělo jit udelat i presne a elegantneji, nebo k tomuto účelu pouzit "acpi" => "Battery 0: Discharging, 73%, 01:27:26 remaining".
12.11.2009 23:45 Marble | skóre: 27 | blog: marble
Rozbalit Rozbalit vše Re: jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?
Odpovědět | | Sbalit | Link | Blokovat | Admin

Bez záruky, ale na rychlý pohled bych řekl, že následovně:

Předpokládaný čas do vybití v hodinách je tedy (energy_now)/(current_now) a zbývající kapacita baterie (energy_now)/(energy_full)*100%, příp. (energy_now)/(energy_ful_design)*100%. Prvná varianta je IMO hodnota, co ukazuje většina měřáčků.

12.11.2009 23:47 Marble | skóre: 27 | blog: marble
Rozbalit Rozbalit vše Re: jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?
A pro pořádek, výše uvedené zkoumáno na Debianím distribučním jádru 2.6.30-2-686.
13.11.2009 17:49 1john2 | skóre: 35 | blog: jo12hn | zlín, brno
Rozbalit Rozbalit vše Re: jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?
diky opravdu to tak je:)

jen by mne zajimal zdroj informaci me se nepodarilo nic najit ani na gl ani v dokumentaci k jadru:(
13.11.2009 19:29 Ash | skóre: 53
Rozbalit Rozbalit vše Re: jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?
No nevím ale když jsem to dělal já, tak jsem vycházel z /sys/class/power_supply/BAT0/ :) Podělit energy_now / energy_full bylo řekněme to jednoduší, zjistit pak že když mAh vydělím mA tak mi zbydou hodiny o trochu těžší, ale pořád ještě v rámci toho co absolvent elektrotechniky tak nějak řekněme vydedukuje :)
16.11.2009 00:46 Marble | skóre: 27 | blog: marble
Rozbalit Rozbalit vše Re: jak z informací v /sys/../BAT0 spočítat zbývající čas do vybití?
Zdroj? Kuk do sys-u a porovnání s hodnotami, které si pro svůj NB i zhruba pamatuji. :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.