More about ELESOFTROM Company

ELESOFTROM Company is specializing in firmware development and fixing for embedded systems.

We have more than 10-years of experience in that area.

In developed tasks and projects we value reliability and effectivness of the firmware.

Fixing the Software for Emebedded Systems

Software for Microcontrollers



Home page

Full offer

Experience

About company

Contact


DioneOS - RTOS for embedded devices

ELESOFTROM developed RTOS for ARM Cortex-M3 and msp430.

The system is optimized for short execution time, having short switching time between threads.
The system provides elements (e.g. semaphores, mutexes, timers, queues etc.) used for building multi-threaded firmware.

Cortex version has full tests coverage and was tested by automatic testing framework.

Read more:

DioneOS home page

Reliability

Performance

DioneOS documentation

Tutorials about DioneOS


How to install and calibrate PenMount Touchscreen in IVI Tizen Linux?

2012-09-26    Piotr Romaniuk, Ph.D.


Contents

Problem Description
Hardware
Software Versions
PenMount TSLIB packages for Tizen
Build xinput_calibrator for Tizen
Installation and Calibration
Notes
References
Acknowlegments

Problem Description

After installation of IVI Tizen image touchscreen is not working properly:
- axes X and Y are swapped,
- touchscreen is not callibrated.
Penmount drivers included in binary packages are not compliant with X11 server version on Tizen, hence problems with calibration programs.

Hardware

Nexcom VTC-1000, including Intel Atom E640
Nexcom VMD-1000B, 7" LCD with touchscreen (including PenMount PM6000 chip)

Software Versions

IVI Tizen Preview - v1.0 2012-06-13
  including: X11 Server 1.9.3
  kernel: 3.0.9-2.1-adaptation-intel-automotive
tslib - driver V1.5 for xorg and tools.
Download the driver from PenMount
xinput_calibrator Version: 0.7.5 http://www.freedesktop.org/wiki/Software/xinput_calibrator

PenMount TSLIB packages for Tizen

xf86-input-tslib
tslib_drv.so - Xorg driver
69-input-penmount.rules
95-input-penmount-tslib.conf
95-x11-penmount-tslib.fdi
tslib
ts_print - prints coordinates after transformation
ts_printraw - prints raw data before transformation
ts_calibrate - calibration tool
NOTE: ts_calibrate does not work, but don't worry another tool can be used.

Build xinput_calibrator for Tizen

Build xinput_calibrator from sources for Tizen platform.

Installation and Calibration

0. Determine your device. Find in your Xorg.log (/root/.Xorg.0.log) touchsceen device, it is /dev/input/event2 in my case. Matching by name should be also possible.
NOTE: be aware that when you connect USB keyboard, touchscreen device number can be changed.

1. install xf86-input-tslib
1.1 copy UDEV rules and Xorg conf. files. According to 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. configure xorg (/etc/X11/xorg.conf)

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

3. Add transformation:
create /etc/pointercal containing:

0 1 0 1 0 0 1 3

It will provide axis swap.
The file contains coefficients: Txx Txy Ox Tyx Tyy Oy S Sum
V := (T*Vraw + O)/S, where V=[x y], or
X := (Txx*Xraw + Txy*Yraw + Ox )/S
Y := (Tyx*Xraw + Tyy*Yraw + Oy )/S
Sum - is a sum of all coefficients

4. Create a file: /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. Run xinput_calibrator and copy sniplet generated by the program into 99-calibration file, e.g:

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

Notes

1. You can observe data that comes from touchscreen in raw or transformed form by using ts_print or ts_printraw
2. You can manipulate transformation coefficients when you have no calibration
3. Be aware that tslib driver does not support "SwapAxis" option, but swapping is possible through transformation coefficients.
4. ts_calibrate hangs - don't use it.

References

1. PenMount - manufacturer of touchscreen controller chip
2. NexCom VTC-1000 platform
3. xinput_calibrator - software for calibration the touchscreen

Acknowlegments

1. Investigation was performed for Arynga,
2. Bartlomiej Jozwiak - thank you for building the RPM packages for Tizen.