Czwartek, 24 Maj 2012, 23:40

Autor Wątek: Battery Guard  (Przeczytany 3478 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline mobi

  • Administrator
  • Core
  • *****
  • Wiadomości: 19422
  • Podziękowań: 314
  • Płeć: Mężczyzna
  • HTC HD2 #TyphooN CyanogenMod 7#
    • mobione.pl
Battery Guard
« dnia: Środa, 10 Czerwiec 2009, 09:26 »
Battery Guard
program pozwalający kontrolować zapotrzebowanie na energię, czyli można dowiedzieć się co nam wcina baterię
Parę osób powinno być z niego zadowolone ;)



Od Autora

Zarządzanie energią w Windows Mobile Proffesional a Battery Guard

W systemie Windows Mobile Professional wyróżniamy zazwyczaj 9 nazwanych stanów zasilania (http://msdn.microsoft.com/pl-pl/library/aa930499(en-us).aspx).

Są to stany:
On – stan w którym zazwyczaj używamy urządzenie, ekran jest włączony i podświetlony, procesor pracuje pełną parą
Resuming – pierwsze piętnaście sekund po wybudzeniu urządzenia ze stanu Suspend,
BacklightOff – j.w. z tą różnicą, że podświetlenie ekranu jest wyłączone. System przechodzi do tego stanu po ustalonym przez użytkownika czasie (Settings-System-Power) braku aktywności (tegoż użytkownika)
UserIdle – stan do którego system przejdzie, po określonym przez użytkownika czasie braku aktywności (tak jak w przypadku BacklightOff)
Unattended – w tym stanie procesor nadal pracuje normalnie ale elkran i część innych podsystemów jest już wyłączona. W stan ten system przechodzi po określonym czasie znajdowania się w stanie UserIdle ale tylko wtedy, jeśli któryś z uruchomionych programów zarząda tego systemu (np. odtwarzacz muzyki). Stan ten jest osiągany także w pewnych warunkach przez jakiś czas po wybudzeniu urządzenia.
Suspend – stan uśpienia, w którym praca procesora (a więc także wszystkich programów) jest wstrzymana. Należy tu zwrócić uwagę, że moduł GSM, w który większość urządzeń z Windows Mobile Professional jest dzisiaj wyposażona działa niezależnie i jest w pełni zasilany nawet w tym stanie
ScreenOff - stan, w którym wyłączony jest tylko ekran, natomiast reszta systemu jest „w pełni sprawna”
Reboot – stan osiągany podczas restartu systemu operacyjnego
ColdReboot – stan podczas ładowania systemu ze stanu wyłączenia

Z punktu widzenia użytkownika istnieje jeszcze dziesiąty stan stan zasilania a mianowicie jego brak ;). Dla zainteresowanych schemat przejść pomiędzy stanami można prześledzić tutaj: http://msdn.microsoft.com/pl-pl/library/aa929251(en-us).aspx.

Jak widać z powyższego opisu widoczną przez użytkownika oznaką stanu zasilania jest wyświetlacz i jego podświetlenie. Z punktu widzenia systemu, wyświetlacz i podświetlenie są dwoma różnymi urządzeniami, które dla porządku nazwiemy sobie modułami.
Takich modułów w naszym urządzeniu PocketPC jest więcej np. kamera (czasami dwie), czytnik kart, karta sieciowa, klawiatura sprzętowa, odbiornik GPS, urządzenie audio i wiele wiele innych.
Czasami jedno (z punktu widzenia użytkownika) urządzenie zdefiniowane jest w systemie przez kilka modułów.
Urządzenia te widoczne są w systemie jako trzy-literowe nazwy kodowe z numerem i znakiem dwukropka, np. cif1: to kamera a wav1: to urządzenie audio. Jak pokazuje BatteryGuard, ilość zarejestrowanych w systemie modułów jest duża i wiedzą tajemną jest co większość z nich oznacza.
Prawdopodobnie nie wszystkie zarejestrowane urządzenia fizycznie muszą występować w danym systemie.

Dla modułu zdefiniowanych jest pięć stanów zasilania (http://msdn.microsoft.com/pl-pl/library/aa932261(en-us).aspx):

Power On – pełne zasilanie
Power Save – tryb oszczędzania energii
Standby – tryb uśpienia z automatycznym wybudzeniem w razie potrzeby użycia
Sleep – tryb uśpienia
Power Off – brak zasilania

Moduły nie mają obowiązku akceptować wszystkich zdefiniowanych stanów z wyjątkiem stanów Power On i Power Off.
Ustawianie stanów nie wspieranych przez moduł skutkuje przejściem w stan jaki moduł uzna za stosowne ;).

Po takim wstępie możemy przejść wreszcie do problemu, którym jest zdefiniowanie, co Właście robi Battery Guard.
Pierwszą rzeczą jaką należy sobie uświadomić jest fakt, że tak naprawdę stan wyświetlacza nie jest wyznacznikiem tego w jakim stanie zasilania znajduje się urządzenie. Dlaczego ? Ponieważ to jaki moduł i jak zasilany jest w danym stanie jest kwestią ustawień, które można zmienić.

W Edytorze szablonu zasilania (Power Template Editor) możemy zdefiniować zasilanie poszczególnych modułów dla każdego stanu zasilania urządzenia. Możemy tym wpłynąć na sposób konsumpcji energii. Możemy np. wyłączyć zasilanie kamery w stanie On, jeśli nigdy z niej nie korzystamy.

Główny ekran programu pozwala nam monitorować i ustawiać aktualny stan zasilania modułów. Możemy więc ręcznie wyłączać i włączać poszczególne moduły obserwując jaki ma to wpływ na pobór prądu z baterii. Należy pamiętać, że szablon zasilania jaki mamy aktualnie zastosowany cały czas obowiązuje, czyli po przejściu w inny stan zasilania ulegnie zmianie sposób zasilania modułów. Czyli jeśli wg szablonu kamera w stanie On ma być zasilana, to jeśli ją ręcznie na głównym ekranie wyłączymy, to po wyłączeniu/włączeniu urządzenia kamera ponownie zostanie włączona.
Co ważne, stan poboru prądu i stan baterii jest odświeżany co 2 sekundy ale lista zasilanych urządzeń musi być odświeżana ręcznie.

Uwagi i zalecenia

* Przed zmianami w szablonie zasilania zrób jego kopię zapasową,
* Battery Guard zmienia szablon zasilania modułów w systemie i nie musi być uruchomiony, by został on zastosowany,
* Najbardziej istotnymi stanami na których należy się skupić są stany On i Unattended, zwłaszcza ten ostatni, ponieważ często nie wiemy, że nasze urządzenie znajduje się w tym stanie (zależy to od zainstalowanego oprogramowania),
 
* Uruchomione programy mogą same zmieniać szablon zasilania w celu osiągnięcia założonych funkcjonalności (np. odtwarzanie dźwięku w tle przy pozornie wyłączonym urządzeniu),
* Wszystko co tu przeczytałeś to teoria, w praktyce wszystko zależy od implementacji programowo/sprzętowej Twojego urządzenia,
* Battery Guard się rozwija, dotyczy to zarówno jego funkcjonalności jak i wiedzy autora
* Twoje doświadczenia w użytkowaniu programu i osiągniętych efektów mogą być przydatne dla innych, podziel się nimi.





->> więcej
« Ostatnia zmiana: Poniedziałek, 15 Czerwiec 2009, 16:20 wysłana przez mobi »
HD2 - wciąż ten sam telefon, wciąż inne wrażenia :)

Offline mobi

  • Administrator
  • Core
  • *****
  • Wiadomości: 19422
  • Podziękowań: 314
  • Płeć: Mężczyzna
  • HTC HD2 #TyphooN CyanogenMod 7#
    • mobione.pl
Odp: Battery Guard
« Odpowiedź #1 dnia: Poniedziałek, 15 Czerwiec 2009, 14:59 »
To wszystko przygotował dla nas autor programu.
Od siebie dodam, że koniecznie trzeba odwiedzić stronę programu, ze względu na wyjaśnienia obrazkowe funkcji.
Narzędzie jest potężne, może przyczynić się w znacznym stopniu do zwiększenia czasu działania naszych urządzeń.
Warto spróbować i podzielić się swoimi doświadczeniami z innym.

 :pop:
« Ostatnia zmiana: Poniedziałek, 15 Czerwiec 2009, 16:19 wysłana przez mobi »
HD2 - wciąż ten sam telefon, wciąż inne wrażenia :)

Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8262
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Battery Guard
« Odpowiedź #2 dnia: Poniedziałek, 15 Czerwiec 2009, 16:13 »
Pobawiłem się trochę programem.
Cholera, ma wielki potencjał... jeżeli na dodatek istnieje jakiś sposób zapisu tych wzorców zasilania do jakiegoś regu albo xmla czy cokolwiek - po prostu bajka.
Oczywiście, dojście do czegoś sensownego zajmie tu wieki eksperymentów... ;) ale warto, oj warto...
find tego roku, jak na razie  :ok:  jednak te pyry coś tam potrafią...  :msz:
Windows Mobile: a story of love and hate.


Offline Grimi

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 2809
  • Podziękowań: 75
  • Płeć: Mężczyzna
  • ♠ HTC Mozart ♥ Lark FreeBird 43.1
Odp: Battery Guard
« Odpowiedź #3 dnia: Poniedziałek, 15 Czerwiec 2009, 18:56 »
Od Centusia również  :ok:

Bardzo fajny program!

utak3r - po co Ci zapis do xmla?
- Zobacz mnie na GoldenLine


Offline utak3r

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 8262
  • Podziękowań: 137
  • Płeć: Mężczyzna
  • Samsung Ace, Raphael, Hermes, Universal i inne
    • Wirtualne Zacisze utak3ra
Odp: Battery Guard
« Odpowiedź #4 dnia: Poniedziałek, 15 Czerwiec 2009, 19:22 »
utak3r - po co Ci zapis do xmla?

Po to, że jak sobie znajdę jakiś własny, fajnie działający schemat zasilania, żebym mógł go po HR przywoływać, że już nie wspomnę o wgotowaniu w ROM :)
Windows Mobile: a story of love and hate.


Offline Grimi

  • Global Moderator
  • Core
  • *****
  • Wiadomości: 2809
  • Podziękowań: 75
  • Płeć: Mężczyzna
  • ♠ HTC Mozart ♥ Lark FreeBird 43.1
Odp: Battery Guard
« Odpowiedź #5 dnia: Poniedziałek, 15 Czerwiec 2009, 20:57 »
Tak też myślałem...  :Li::ok: dla Ciebie  ;)
- Zobacz mnie na GoldenLine


Offline Globus

  • GZU
  • Core
  • ****
  • Wiadomości: 962
  • Podziękowań: 27
  • Płeć: Mężczyzna
  • HTC Sensation & HD2
Odp: Battery Guard
« Odpowiedź #6 dnia: Piątek, 10 Wrzesień 2010, 22:48 »
Odkopię trochę zapomniany temat.
Zastanawiam się nad uruchomieniem radia FM w rhodiumW.
Czy może ktoś uruchomić radio w swoim rhodium i podać mi co jest obecnie zasilane? (chodzi o widok "curent powering")
Nie chcę zasilać wszystkiego, żeby to przetestować, ale może jednak da się uruchomić radio fm na wersji CMDA :)
Sprzęt:HTC Sensation
ROM:Android Revolution HD 6.6.1 by mike1986
PSN Gamercards