Witam,
Ze względu na rosnącą złożoność pakietu BTDun, ograniczenia MortScripta oraz nie do końca stabilne działanie skryptów, postanowiłem przenieść większą część funkcjonalności pakietu BTDun do jednego programu binarnego. W efekcie powstał program CECtrl.exe, który w połączeniu z kilkoma prostymi skryptami i innymi programami, tworzy pakiet o następujących cechach:
1) Może działać ze standardowym menu NavRoad lub bez niego.
W tym drugim przypadku do dyspozycji użytkownika jest więcej więcej RAM - ok. 5MB
2) Automatycznie nawiązuje połączenie DUN
3) Stan BT może być sygnalizowany ikoną
4) Nawiązanie połączenia HFP po wznowieniu pracy może być opóźnione (tylko w wersji bez menu NavRoad),
dzięki czemu możliwe jest wcześniejsze nawiązanie połączenia HFP z niezależnym zestawem
głośnomówiącym.
5) Umożliwia automatyczną zmianę poziomu podświetlania ekranu; moment przełączania jest ustalany na
podstawie czasu wschodu/zachodu słońca dla określonej lokalizacji
6) W trybie bez menu NavRoad, obsługuje usypianie urządzenia po wyłączeniu zewnętrznego zasilania
7) Ukrywa/pokazuje taskbar w zależności od aktywnego programu
8] Rejestruje swoją aktywność w pliku rejestracji (\temp\CECtrl.log)
9) Sterowanie BT i jasnością podświetlania jest praktycznie niewidoczne dla użytkownika.
Informacje o sposobie instalacji i konfiguracji można znaleźć w pliku README.TXT
Z przedstawionego rozwiązania korzystam od kilku tygodni w NR460BT (w wersji bez menu NavRoad) i mogę powiedzieć, że jest dość niezawodne. Jedyny problem jaki zaobserwowałem, to zawieszanie się BT po oddaleniu się z telefonem przy aktywnym połączeniu DUN, w szczególności w czasie usypiania urządzenia. Nie znalazłem żadnego sposobu na programowe odblokowanie BT po wystąpieniu takiego przypadku. Jedyny sposób to całkowite wyłączenie urządzenia (restart). Jest to jednak wada PhoneLinka, a nie mojego programu. Problem praktycznie się nie pojawia, jeśli poczekamy na rozłączenie DUN przed opuszczeniem samochodu. Stąd bardzo krótki (1s) domyślny czas opóźnienia usypiania urządzenia po odłączeniu zasilania. W przypadku korzystania z menu NavRoad proponuję również zmniejszyć to opóźnienie (APShell.ini)
PS.
Nie odpowiadam na pytania typu "wgrałem i nie działa". Natomiast w miarę możliwości będę się starał poprawić ewentualne błędy, jeśli zostaną precyzyjnie opisane.
PS.
Nie przyjmuję krytyki dotyczącej wyglądu ikonek symbolizujących stan BT
. Jeśli się komuś nie podobają, to może:
a) nie używać pakietu
b) wyłączyć sygnalizację stanu BT
c) narysować ładniejsze ikony i zamieścić je na forum.
(proponuję to ostatnie rozwiązanie
)
Pozdrawiam
Poprawki z 20-01-2011:
- zmiana w skryptach instalacyjnych (CELauncher.exe ->CeLauncher.exe)
- usunięcie zależności od aygshell.dll
Poprawka z 28-01-2011:
- odczyt parametrów związanych z paskiem zadań
Poprawki i zmiany z 1-2-2011:
-poprawka skryptu Autostart.mscr (brakujący cudzysłów)
-dodatkowy krypt inicjujący pobieranie danych natychmiast po zestawieniu połączenia DUN (dla niestandardowych "skórek" koniecznę są modyfikacje). Blokada skryptu przez wpis GetLD=0 w Autostart.ini