PDAclub.pl - Forum użytkowników technologii mobilnych

Nawigacja GPS => AutoMapa => Wątek zaczęty przez: iceneon w Styczeń 27, 2009, 00:06:34

Tytuł: Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM
Wiadomość wysłana przez: iceneon w Styczeń 27, 2009, 00:06:34
Wiem, że już w kilku wątkach był poruszany temat jednak zakładam nowy, bo przyszło mi coś do głowy i nie mogę sobie z tym poradzić, a że wiele tu mądrych głów, to może coś wspólnie wymyślimy.

Jak wiadomo w urządzeniach z WinCE nie zawsze da się zminimalizować AM aby można było bezboleśnie zmniejszyć poziom oświetlenia ekranu.
Gdy wokół zrobi się ciemno, a ekran nawigacji zaczyna drażnić niestety trzeba wyłączyć AM, uruchomić funkcję jasności ekranu, suwak na dół i z powrotem uruchomienie AM. Jest to nieco uciążliwe, zwłaszcza podczas jazdy. Przy okazji musi od nowa złapać sygnał i gubi niektóre wartości w OBC.

W związku z tym nasunęło mi się pytanie, czy nie można by było jakoś zaimplementować w programie funkcji choćby maksymalnego i minimalnego oświetlenia ekranu przy użyciu kluczy rejestru?

Przy użyciu darmowego programu CeRegistryEditor znalazłem w kluczu HKEY_CURRENT_USER\ControlPanel\BackLight regulacje natężenia oświetlenia. Poniżej zrzuty dla maksymalnego i minimalnego oświetlenia.
Jak widać za oświetlenie odpowiedzialne są dokładnie dwie wartości: BacklightCurrentACLevel i BacklightCurrentBatteryLevel.

Pytanie, czy w Waszych urządzeniach natężenie oświetlenia jest w tych samych kluczach rejestru ?
Jeśli tak, to wysyłamy info do supportu i niech w końcu uruchomią tę brakującą funkcję.

AM obsługuje głośność więc dlaczego by nie mogła obsługiwać oświetlenia? Szukałem w rejestrze i nie doszukałem się kluczy odpowiedzialnych za regulację głośności dlatego też pojęcia nie mam jak wzorować się na funkcji regulacji głośności, tak aby można było coś zrobić z oświetleniem.

Szukałem trochę i znalazłem jak można uruchomić funkcję maksymalnego i minimalnego oświetlenia przy pomocy MortScript, nawet mi się udało, jednak nie ma większego celu robić coś takiego, bo i tak trzeba wychodzić z AM aby uruchomić skrypty. A może AM w jakiś sposób współpracuje z tego typu skryptami? Kto wie...
Tytuł: Odp: Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM
Wiadomość wysłana przez: robay w Styczeń 27, 2009, 14:42:54
Faktycznie taka funkcja by się przydała. Mam porównanie do MapaMapy, gdzie oprócz zmian kolorów mapy na nocne, dokonuje się też 50% przyciemnienie. Mapa wygląda wtedy wyśmienicie, mało, że nie męczy tak wzroku, to do tego nie widać ewentualnych nierównomierności w podświetleniu matrycy i ogólnie czarne i ciemne obszary nie są tak prześwietlone.
Co do ustawień w rejestrze, to takie funkcje realizuje się zawyczaj programując w warstwie WinAPI wykorzystując funkcje systemowe systemu operacyjnego. Prawdopodobnie, właśnie tak jest zrealizowana obsługa głośności. Oczywiście często można wykorzystywać inne mechanizmy, a nawet gotowe funkcje środowiska programistycznego. Jednak wykorzystanie rejestru do takiego celu jest raczej półśrodkiem i może powodować nieprzewidziane komplikacje. Tak, czy inaczej na pewno można by coś takiego zrobić, i w tym miejscu tylko apel do programistów AM...
Tytuł: Odp: Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM
Wiadomość wysłana przez: adas01 w Styczeń 27, 2009, 16:53:06
to masz mój pomysł na jasno/ciemno przy pomocy Morta - wykrywanie koloru przycisku menu kontekstowego - u mnie używane ze skórką samoróbką, gdzie ww. kolor jest czarny i wartość składowa koloru czerwonego jest równa 0 . Moja navi nie chce się rozjaśniać / ściemniać przy pomocy wpisów do rejestru, więc dlatego działa to "na piechotę" - poprzez wywołanie programu do sterowania jasnością i symulowanie kliknięć na plusie lub minusie

Run ( "\SDMMC\AUTOMAPA EU\wceAM.exe")
Sleep ( 10000 )
pkt = ColorAt ( 315, 229 )
pkt = Red ( pkt )
if ( pkt = 0 )
    nmod1 = 1
    else
    nmod1 = 0
    Endif

while ProcExists ( "wceAM.exe" )
    pkt = ColorAt ( 315, 229 )
    pkt = Red ( pkt )
    if ( pkt = 0 )
        nmod2 = 1
        else
        nmod2 = 0
    Endif
    if ( nmod1 ne nmod2 )
        Call zmiana
    Endif
    Sleep ( 5000 )
EndWhile


Sub zmiana
if ( nmod2 = "1" )
       Run ("\SDMMC\TOOLS\YFAP20\Backlight.exe")
    Repeat ( 7 )
    MouseClick( Backligth , 20, 60 )
    EndRepeat
    MouseClick( Backligth , 315, 10 )
    nmod1 = "1"

       else
        Run ("\SDMMC\TOOLS\YFAP20\Backlight.exe")
    Repeat ( 7 )
    MouseClick( Backligth , 300, 60 )
    EndRepeat
    MouseClick( Backligth , 315, 10 )
        nmod1 = "0"
    Endif
EndSub
Tytuł: Odp: Zmiana ustawienia jasności, czyli coś co by się bardzo przydało w AM
Wiadomość wysłana przez: iceneon w Styczeń 27, 2009, 22:12:38
Akurat na tym przykładzie się nie opierałem bo nie posiadam Larka i nie odbywało się to z automatu, tylko za pomocą Morta i plików reg, do tego skróty na pulpice WinCE przy pomocy których uruchamiałem funkcje jasno i ciemno.
Twoje rozwiązanie jest niezłe  :ok:  Muszę przeczytać cały wątek (na forum na którym o tym pisałeś) i może coś się mi uda zrobić.