Więcej o firmie ELESOFTROM

Firma ELESOFTROM specjalizuje się w wykonywaniu i naprawianiu oprogramowania dla sterowników mikroprocesorowych.

Posiadamy ponad 10-letnie doświadczenie w tej dziedzinie.

W realizowanych projektach stawiamy na niezawodność i wydajność programów.

Naprawa oprogramowania

Oprogramowanie na zamówienie


Strona główna

Pełna oferta

Doświadczenie

O firmie

Kontakt


DioneOS - RTOS dla urządzeń embedded

Firma ELESOFTROM opracowała system RTOS dla procesorów ARM Cortex-M3 oraz msp430.

System jest zoptymalizowany pod względem wydajności, dzięki czemu uzyskano krótki czas przełączania pomiędzy wątkami.
System dostarcza elementy (np. semafory, mutexy, timery, kolejki itp.) niezbędne do tworzenia wielowątkowego firmware'u.

Wersja dla Cortexa została całkowicie przetestowana przy pomocy środowiska do automatycznego testowania.

Przeczytaj więcej:

Strona o systemie DioneOS

Niezawodność

Wydajność

Dokumentacja DioneOSa

Prezentacje n.t. DioneOS


^ Blog index    << Dokumentowanie kodu źródłowego    >> Przerwania w ARM Cortex-M3

Jak zainstalować i skalibrować PenMount Touchscreen na IVI Tizen Linux

2012-09-26    dr inż. Piotr Romaniuk


Spis treści

Opis problemu
Sprzęt (hardware)
Wersje oprogramowania
Pakiet PenMount TSLIB dla Tizena
Budowanie xinput_calibratora dla Tizena
Instalacja i kalibracja
Uwagi
Linki
Podziękowania

Opis problemu

Po instalacji obrazu IVI Tizena, touchscreen nie działa właściwie:
- osie X i Y są zamienione,
- touchscreen nie jest skalibrowany.
Sterowniki Penmounta zawarte w pakiecie binarnym nie są zgodne z wersją servera X11 na Tizenie, co prowadzi do problemów z programami do kalibracji.

Sprzęt (hardware)

Komputer Nexcom VTC-1000, zawierający Intel Atom E640
Touchscreen Nexcom VMD-1000B, 7" LCD z touchscreenem (zawiera układ PenMount PM6000)

Wersje oprogramowania

IVI Tizen Preview - v1.0 2012-06-13
  zawiera: Serwer X11, wersja 1.9.3
  kernel: 3.0.9-2.1-adaptation-intel-automotive
Sterownik tslib V1.5 do xorg i narzędzia.
Pobierz sterownik ze strony PenMount
xinput_calibrator, wersja: 0.7.5 http://www.freedesktop.org/wiki/Software/xinput_calibrator

Pakiety PenMount TSLIB dla Tizen

xf86-input-tslib
tslib_drv.so - sterownik Xorg
69-input-penmount.rules
95-input-penmount-tslib.conf
95-x11-penmount-tslib.fdi
tslib
ts_print - drukuje współrzędne po transformacji
ts_printraw - drukuje dane raw przed transformacją
ts_calibrate - narzędzie do kalibracji
UWAGA: ts_calibrate nie działa, ale nie martw się, inne narzędzie może być użyte.

Budowanie xinput_calibrator na Tizena

Budowanie xinput_calibrator ze źródeł na Tizena.

Instalacja i kalibracja

0. Określ typ Twojego urządzenia. Znajdź w logu Xorg.log (/root/.Xorg.0.log) urządzenie touchsceen, które w moim przypadku to /dev/input/event2. Dopasowanie po nazwie powinno być również możliwe.
UWAGA: po podłączeniu klawiatury USB, numer urządzenia touchscreen może się zmienić.

1. zainstaluj xf86-input-tslib
1.1 skopiuj reguły UDEV i plik konfiguracyjny Xorg. Zgodnie z TSLIB README:

sudo cp 95-input-penmount-tslib.conf /etc/X11/xorg.conf.d
sudo cp 69-input-penmount.rules /etc/udev/rules.d

2. Skonfiguruj xorg (/etc/X11/xorg.conf)

Section "InputDevice"
Identifier "Penmount"
Driver "tslib"
Option "Device" "/dev/input/event2"
EndSection

3. Dodaj transformację:
create /etc/pointercal containing:

0 1 0 1 0 0 1 3

To spowoduje zamianę osi.
Plik zawiera współczynniki wg schematu: Txx Txy Ox Tyx Tyy Oy S Sum
V := (T*Vraw + O)/S, gdzie V=[x y], or
X := (Txx*Xraw + Txy*Yraw + Ox )/S
Y := (Tyx*Xraw + Tyy*Yraw + Oy )/S
Sum - jest sumą wszystkich współczynników.

4. Utwórz plik: /etc/X11/xorg.conf.d/99-calibration.conf:

Section "InputClass"
Identifier "calibration"
MatchProduct "DIALOGUE INC PenMount USB"
Option "Calibration" "0 1000 0 1000"
EndSection

5. Uruchom xinput_calibrator i skopiuj sniplet wygenerowany przez ten program do pliku 99-calibration file, np.:

Section "InputClass"
Identifier "calibration"
MatchProduct "DIALOGUE INC PenMount USB"
Option "Calibration" "0 1000 0 1000"
Option "MinX" "30"
Option "MaxX" "4088"
Option "MinY" "13"
Option "MaxY" "4176"
Option "SwapXY" "0" # unless it was already set to 1
Option "InvertX" "0" # unless it was already set
Option "InvertY" "0" # unless it was already set
EndSection

Uwagi

1. Można obserwować dane, które przychodzą z touchscreena w postaci raw lub po transformacji przez używanie odpowiednio ts_printraw lub ts_print
2. Jeśli kalibracja nie jest wystarczająca, można modyfikować współczynniki
3. Pamiętaj, że sterownik tslib nie obsługuje opcji "SwapAxis", ale zamiana osi może być uzyskana przez odpowiednio dobrane współczynniki transformacji.
4. ts_calibrate zawiesza się po uruchomieniu - nie używaj go.

Linki

1. PenMount - producent układów kontrolera touchscreena
2. Komputer NexCom VTC-1000
3. xinput_calibrator - oprogramowanie do kalibracji touchscreena

Podziękowania

1. Testy i uruchamianie zostało wykonane dla Arynga,
2. Podziękowania dla Bartłomieja Jóźwiaka za zbudowanie pakietów RPM na Tizena.