Wyświetlacz: Palm m515 + PalmOrb + LCD Smartie
Zaczęło się od tego, że potrzebowałem czegoś, co pokazywało by bieżący poziom głośności dźwięku w systemie. Jak każdemu szanującemu się geekowi, tak i mi w szufladzie kurzył się stary Palm. Z połączenia potrzeby i zawartości szuflady powstał taki oto wyświetlacz:
Widoczny poziom głośności przydaje się, kiedy wymiennie korzysta się z głośników i słuchawek – zdarzało się, że po oglądaniu filmu poziom zwykłych dźwięków systemowych urywał głowę, ewentualnie po odłączeniu słuchawek dźwięku nie było słychać w ogóle, po czym szukałem przyczyn tego zjawiska. :)
Przez jakiś czas wyjściem wydawały mi się rozmaite upiększacze desktopu, za pomocą których można było wyświetlić zarówno poziom głośności, jak i całą masę mniej lub bardziej potrzebnych informacji. Rozwiązanie takie miało jedną, zasadniczą wadę – żeby cokolwiek zobaczyć, trzeba było zminimalizować wszystkie okna i przyjrzeć się pustemu pulpitowi. Akurat mam taką manierę, że lubię pracować w zmaksymalizowanych oknach, więc to rozwiązanie średnio mi pasowało. Poza tym zupełnie nie sprawdzało się np. podczas grania czy oglądania filmów.
Naturalnym rozwiązaniem wydaje się wtedy wyświetlacz, już to gdzieś w obudowie komputera, już to wolno stojący. Przepisów, jak taki wyświetlacz (zazwyczaj oparty o kontroler HD44780) skonstruować, jest w Sieci mnóstwo. Jednak pomijając już fakt, że musiałbym się wykazać umiejętnością czytania schematów i lutowania, z którą u mnie jest akurat różnie :) , wyświetlacze takie komunikują się z komputerem przez port LPT. W moim przypadku port LPT nie wchodzi w rachubę, gdyż podłączona jest do niego starożytna drukarka, drukarki nie można podłączyć do serwera ani wymienić na nowszą, bo nie. :)
Pozostaje zatem coś na USB, czyli wypisz – wymaluj, kurzący się w szufladzie Palm. :] Za wyświetlanie danych po stronie Palma będzie odpowiadał program PalmOrb, zaś po stronie Windowsa – LCD Smartie. Zacząć można od konfiguracji tego ostatniego:
W sekcji “Display settings” należy wybrać kontroler wyświetlacza – w przypadku współpracy z PalmOrb będzie to Matrix Orbital Display, czyli matrix.dll. Ustawiamy też port i baud rate – wsparcie dla USB jest eksperymentalne, ale działa pięknie. Oczywiście z połączeniem starszej stacji dokującej przez serial również nie powinno być problemu.
W sekcji “Screen settings” ustawiamy, co właściwie ma pojawić się na wyświetlaczu. W przypadku PalmOrb możemy wyświetlić po 20 znaków w 4 liniach, więc bez szaleństwa. LCD Smartie pozwala na stworzenie wielu “ekranów”, które będą po kolei (lub na żądanie) wyświetlane na naszym wyświetlaczu. Jeśli chcemy wyświetlać stale to samo (ja chciałem), w opcji “Skip this screen if:” należy wybrać “Don’t skip”. Poniżej pełna zawartość moich linijek:
1 2 3 4 | CPU: $dll(speedfan,2,2,0)°C GPU: $dll(speedfan,2,1,0)°C CPU: $CPUUsage%%$Fill(8) Mem: $MemU%% $Time(hh:nn:ss) Vol: $dll(volume,4,,)% $Time(d mmm yyyy ddd) |
Użyłem dwóch pluginów do LCD Smartie:
- System Volume – ściągnąć go można z tej strony, tutaj jest opis parametrów.
- SpeedFan – do ściągnięcia stąd, tam też opis działania.
O działaniu wbudowanych funkcji poczytać można tutaj.
Czas przypomnieć sobie, jak właściwie działał Palm. :) Po odkurzeniu i przypomnieniu, w ustawieniach PalmOSa – Prefs -> General włączamy “Stay on in Cradle”, żeby Palm działał cały czas. Następnie instalujemy aplikację PalmOrb. Jeśli korzystaliśmy z oryginalnego Palmowego HotSync Managera, należy pamiętać, że do poprawnej komunikacji PalmOrba z LCD Smartie HotSync Manager musi być wyłączony! Jeśli całość ma automagicznie uruchamiać się przy starcie systemu, należy pamiętać, by wywalić HotSync Managera z Autostartu.
Po uruchomieniu PalmOrba w menu Options -> Screen wybieramy kolorystykę (Color scheme), u mnie – Blue/White, czcionkę (u mnie Bold, Scaled (7×24)), opcje “Show Keyboard” i “Show Outputs” przy czcionce “scaled” nie mają znaczenia, zaznaczamy “Show custom chars” i “Gap Between Characters” (wygląda lepiej). “Refresh Rate” można zostawić na 20. W menu Options -> Serial upewniamy się, że jako Device wybrane jest USB, Baud rate takie jak wcześniej ustawialiśmy w LCD Smartie. Resztę opcji zostawiamy w spokoju. W menu Options -> Misc upewniamy się, że opcja “Allow Backlight Control” jest niezaznaczona. Tak jest lepiej. ;) W efekcie Palm powinien wyświetlać coś takiego:
Nie jest źle, ale te białe paski trochę psują efekt. Prostej metody na pozbycie się pasków nie ma. :) Metoda nieprosta, to zmiana tła w całym PalmOSie. W tym celu można wykorzystać aplikację Colorize. Po jej uruchomieniu wybieramy opcję “Edit”, następnie kratkę przy “Form Background”, po czym metodą prób i błędów wybieramy kolor możliwie zbliżony do tego, który wybraliśmy jako tło w PalmOrb:
Po uruchomieniu PalmOrb nie wygląda już tak tragicznie:
Wtykamy więc Palma w cradle’a, sprawdzamy, czy HotSync Manager jest na pewno wyłączony, po czym uruchamiamy LCD Smartie. Oczom naszym powinien ukazać się ten widok:
Ważma jest kolejność – jeśli najpierw uruchomimy LCD Smartie (albo w przyszłości zapomnimy włączyć Palma przed startem systemu), LCD Smartie opluje nas błędem, a całość nie zadziała. Wystarczy zamknąć i uruchomić jeszcze raz LCD Smartie.
Jak widać, na moim wyświetlaczu oprócz głośności znalazły się jeszcze temperatury CPU i karty graficznej (miałem podejrzenia, że coś się przegrzewa), obciążenie pierwszego rdzenia w CPU :) , zajętość pamięci, a także zegar i data. Te dwie ostatnie pozycje to genialna sprawa – dzięki temu można było wywalić zegar z taskbara, no i godzinę można sprawdzić także podczas grania/oglądania filmu.
Kontroler Matrix Orbital obsługuje także wejścia, które emuluje również PalmOrb i obsługuje LCD Smartie. Dzięki temu można w LCD Smartie zbudować system menu i obsługiwać np. zmianę wyświetlanych ekranów z Palma. Niestety, PalmOrb nie obsługuje klawiszy sprzętowych Palma, a pisanie rysikiem literek na Graffiti Area wydaje mi się pozbawione sensu. Są dostępne źródła PalmOrb, więc teoretycznie można sobie obsługę klawiszy sprzętowych dopisać – niestety PalmOrb został napisany w Delphi, ja zaś nie czuję się na siłach, żeby sobie teraz ten język przypominać, instalować środowisko i przekopywać się przez dokumentację Palma.
Powyższe rozwiązanie działa na Windowsie, ale nie widzę przeciwwskazań, żeby zadziałało na linuksie – zamiast LCD Smartie należy użyć LCDproc albo LCD4linux.
Wyświetlacz w obecnym kształcie spełnia moje wymagania i nie zamierzam póki co przy nim dłubać. Ale w szufladzie kurzy mi się jeszcze Palm Tungsten E z uszkodzonym wyświetlaczem oraz HTC Magician z uszkodzonym głośnikiem. :) Czekam na propozycje twórczego ich wykorzystania. :]
Tagi: lcd smartie, m515, palm, palmorb











Marzec 2nd, 2009 at 12:03
Hehe, no właśnie. Cuda, cudeńka, a Żonie nie ma kto przeinstalować systemu na laptopie… (Wiem, wiem. Żona powinna wykazać się odrobiną samodzielności i przeinstalować sobie sama. ;) Tylko że Żona swojego czasu pozwoliła Bebemu pokonfigurować sobie trochę rzeczy i za nic nie będzie w stanie tego powtórzyć…)
Marzec 2nd, 2009 at 16:52
Wow, mozna by z tego rozkrecic maly biznes, niejeden palm kurzy sie ludziom w szufladach (moj sie kurzy bo trzy razly padla w nim elektronika :/)
Marzec 2nd, 2009 at 21:13
@Żona:
Dobrze, już zapisuję: reinstalka klaptopa – do zrobienia przed śmiercią. :>
@Ami:
Jak z padniętą elektroniką, to już chyba tylko wartość sentymentalna. :) Teraz spadły mocno ceny części do starych Palmów, sam zastanawiam się, czy nie wymienić wyświetlacza w tym Tungstenie, ale posiałem gdzieś ładowarkę i nie mam nawet jak sprawdzić, czy on jeszcze bangla.