Forum

Full Version: eGalax touchscreen calibration
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Great, and how can I update the skin? Smile
Thanks
After spending some loooong nights I got it working!!! I had succesfull calibrated the Touchscreen using your install.sh but...

Today I wanted to test it, but it doesn't work anymore... The Calibration Data have changed! How can the calib data change from one day to another?

data Yesterday: calib_x_d=1220;calib_x_fact=-0.8;calib_y_d=710;calib_y_fact=-0.8;swap_axes=0;
data Today: calib_x_d=1180;calib_x_fact=-0.12;calib_y_d=740;calib_y_fact=-0.1;swap_axes=0;

What does it depend on?

An other problem is, that I've got a 1280x720 screen but ts_calibtrate recognizes it as a 1440x900 so I can't use his data - I've to calibrate it for my own!!!

Hope you can help me...
(15th Aug, 2013 09:46 AM)ph87 Wrote: [ -> ]After spending some loooong nights I got it working!!! I had succesfull calibrated the Touchscreen using your install.sh but...

Today I wanted to test it, but it doesn't work anymore... The Calibration Data have changed! How can the calib data change from one day to another?

data Yesterday: calib_x_d=1220;calib_x_fact=-0.8;calib_y_d=710;calib_y_fact=-0.8;swap_axes=0;
data Today: calib_x_d=1180;calib_x_fact=-0.12;calib_y_d=740;calib_y_fact=-0.1;swap_axes=0;

What does it depend on?

An other problem is, that I've got a 1280x720 screen but ts_calibtrate recognizes it as a 1440x900 so I can't use his data - I've to calibrate it for my own!!!

Hope you can help me...

That calib file is used with Andrei's patch and doesn't change automatically....must be edited manually.

The calibration file generated with ts_calib is stored in /etc/pointercal and is only used when you are using uimapper, change the conf file as in tutorial, and check all is ok with evtest. Set your resolution/overscan the same in /boot/config.txt as in xbmc.

It's all in the tutorial, it explains it's an alternative method, in order to give easy framebuffer calibration, BTN_RIGHT and single press select.
Thanke you very much!!!

There was something I really missunderstood....Confused

I'll have a try this night...!
(30th Jul, 2013 07:39 AM)raspuca Wrote: [ -> ]Great, and how can I update the skin? Smile
Thanks

http://forum.xbian.org/showthread.php?tid=1120
Sorry guys, but I need your help - I can't get it work!!!
With evtest all does work!!
I've updated the config.txt (ts_calibrate recognizes the resolution right now!!!)


Does the install.sh update the etc/pointercal automatically?

Do I've to disable Andrei's method to use yours?

This is my ts_calibrate output:
Code:
Please follow the instructions on the display...
xres = 1280, yres = 720
Took 10 samples...
Top left : X =  429 Y =  456
Took 12 samples...
Top right : X = 9256 Y =  558
Took 5 samples...
Bot right : X = 9323 Y = 6674
Took 8 samples...
Bot left : X =  458 Y = 6763
Took 9 samples...
Center : X = 4809 Y = 3690
-3.933105 0.133389 -0.001012
-1.697876 -0.000066 0.099779
Calibration constants: -257760 8741 -66 -111272 -4 6539 65536

After calibration the Mouse Arrow is about 20cm away...


Edit:
When stopping uimapper the calibration is right (maybe then I Andrei's version is active - but Single click doesn't work every time)
with uimapper running the pointer is very laggy
(16th Aug, 2013 07:31 AM)ph87 Wrote: [ -> ]Sorry guys, but I need your help - I can't get it work!!!
With evtest all does work!!
I've updated the config.txt (ts_calibrate recognizes the resolution right now!!!)


Does the install.sh update the etc/pointercal automatically?

Do I've to disable Andrei's method to use yours?

This is my ts_calibrate output:
Code:
Please follow the instructions on the display...
xres = 1280, yres = 720
Took 10 samples...
Top left : X =  429 Y =  456
Took 12 samples...
Top right : X = 9256 Y =  558
Took 5 samples...
Bot right : X = 9323 Y = 6674
Took 8 samples...
Bot left : X =  458 Y = 6763
Took 9 samples...
Center : X = 4809 Y = 3690
-3.933105 0.133389 -0.001012
-1.697876 -0.000066 0.099779
Calibration constants: -257760 8741 -66 -111272 -4 6539 65536

After calibration the Mouse Arrow is about 20cm away...


Edit:
When stopping uimapper the calibration is right (maybe then I Andrei's version is active - but Single click doesn't work every time)

Andrei's patch is the default config for your TS and will work with the calib file, if uiimapper is not running then it will use the the calib file you posted initially and will not have single click/BTN_RIGHT.

If you run the install script and therefore ts_calib then it will create a new pointercal file.

Are you sure it's 20cm (200mm) away? How big is your TS?

You can check that uimapper is running correctly by typing in ssh...

Terminal

ps aux
output contains...
Terminal

...
...
root 2482 19.6 1.3 8328 5104 ? S< 22:04 0:01 python ./input-read.py /dev/input/event3 -D
root 2483 17.8 1.3 8328 5116 ? S< 22:04 0:01 python ./input-create.py configs/touchscreen.py
...
...

can you see the python script running, this is is the uimapper processes creating the userinput from the egalax event3.

Also check the TS in evtest with uimapper started/stopped and see if the co-ordinates are different, i.e. top left and bottom right, values should be scaled and offset and within the screen resolution when using uimapper.

Terminal

stop xbmc
stop uimapper
evtest

Terminal

stop xbmc
start uimapper
evtest

You can diagnose x,y co-ordinates in xbmc too. In the skin folder you can edit addon.xml file. Changing debugging="false" to "true" displays the pointer position on the screen. Using this you can see how the overscan effects the pointer max/min values

http://wiki.xbmc.org/index.php?title=Addon.xml

If the pointer seems laggy, you can change the nice value in uimapper.conf file), this increases the process priority, mine is at -7 by default, but you could (not recommended) go upto (down-to) -20.....-10 makes a big difference. Recently many process values have changed a lot to -20 to increase priority. -20 to +20 (hig>low). Type in SSH to see...

Terminal

ps -efl
Let me know how you get on,

mark
I've got a 10" the same as you can get from chalk-elec but I've got a other LVDS-board and hacked up the touchscreen to USB so it does work...


Okay that is what I did!!

TERMINAL:
ps aux
Code:
0 S root       482     1  3  70 -10 -  9470 epoll_ 22:55 ?        00:00:30 python ./input-read.py /dev/input/event3 -D
0 S root       485     1  2  70 -10 -  7192 pipe_w 22:55 ?        00:00:19 python ./input-create.py configs/touchscreen.py
stop xbmc
stop uimapper:
evtest ---> OK
start uimapper
evtest
Code:
***********************************************
  This device is grabbed by another process.
  No events are available to evtest while the
  other grab is active.
  In most cases, this is caused by an X driver,
  try VT-switching and re-run evtest again.
***********************************************

/etc/pointercal before running install.sh with event3
Code:
8623 28 222424 -52 6602 -106948 65536 1280 720 0
after running install.sh (making a bad calibration to look the diff.)
Code:
16199 -15 -37926624 -830 13874 -21981168 65536 1280 720 0
The pointercal has changed but it does not have any effect for the touchscreen calibration

It's still will not working! Thank you for your help!!!!
It's not working (applying the calibration values) because uimapper is not being used by xbmc...since it seems it is used by something else

Ok, so when uimapper is running, evtest can see egalax on event3 and uimapper on event4?

and if you select uimapper - touchscreen in evtest is says the process message above, i.e it is 'grabbed'?

can list the line in /etc/init/uimapper.conf file with event# please
Output of install.sh
Code:
lrwxrwxrwx 1 root root 9 Jan  1  1970 usb-Chicony_USB_Keyboard-event-if01 -> ../event1
lrwxrwxrwx 1 root root 9 Jan  1  1970 usb-Chicony_USB_Keyboard-event-kbd -> ../event0
lrwxrwxrwx 1 root root 9 Jan  1  1970 usb-N-trig_DuoSense_11.20.10.53.16-event-if01 -> ../event3
lrwxrwxrwx 1 root root 9 Jan  1  1970 usb-N-trig_DuoSense_11.20.10.53.16-event-mouse -> ../event2
lrwxrwxrwx 1 root root 9 Jan  1  1970 usb-N-trig_DuoSense_11.20.10.53.16-if01-event-mouse -> ../event2

/etc/init/uimapper.conf
Code:
env UIMAPPER_DEV="/dev/input/event3"

Output of evtest:
Code:
/dev/input/event0:      Chicony USB Keyboard
/dev/input/event1:      Chicony USB Keyboard
/dev/input/event2:      N-Trig Pen
/dev/input/event3:      N-Trig MultiTouch
/dev/input/event4:      N-Trig Touchscreen


EDIT:::
uimapper was stopped!!!

Update:
Output of evtest:
Code:
/dev/input/event0:      Chicony USB Keyboard
/dev/input/event1:      Chicony USB Keyboard
/dev/input/event2:      N-Trig Pen
/dev/input/event3:      N-Trig MultiTouch
/dev/input/event4:      N-Trig Touchscreen
/dev/input/event5:      uimapper - touchscreen
Ok, you are special and have a multitouch, I have not tested, try using event4 (touchscreen) and see if it works!
Updated last post
does that mean you tried event4?

this solution was originally meant for egalax non-multitouch-TS, but it would be great to see it work since I don't think xbmc has full multituch support yet; I am also looking at buying the 7" version from those guys when they have sorted the manufacturing problems..

here is the output i have from egalax in evtest, this is what it needs, basically a EV_KEY > BTN_TOUCH, with EV_ABS ABS_X & Y

Terminal

Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 330 (BTN_TOUCH)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value 983
Min 0
Max 2047
Event code 1 (ABS_Y)
Value 894
Min 0
Max 2047
I doesn't work with 4 only with 3!!!

has in /etc/init/uimapper.conf to be the event from the uimapper(event5) or from the touichscreen(event3)?
Basically, I grab the device before xbmc does. With egalax I have one event in xbian (or 2 events in a similar rpi xbmc distro) available for the device and if I grab the BTN_TOUCH device then uimapper handles the touchscreen event and xbmc cannot grab it.

It seems that xbmc is grabbing the device since uimapper has not got complete control of events. I think this could be changed easily in the python script, but i need to (or you) do some more work. I think we need to grab 2 events , not necessarily the PEN, but the multitouch and touch.

I am surprised though that when xbmc is not running the uimapper device is grabbed? by what?
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Reference URL's