3M Microtouch calib question QNX 6.4

Dear All!

I have a 15" 3M Microtouch USB (EX II touch controller board) monitor under 6.4.0. After two days w. google I ask your help, how to calibrate the touchscreen under Photon (this project will run under GF, but it so far [gf_calib]).

So, as documentation say, I start driver:

devi-microtouch microtouch touchusb &

then calib
The target marker show near upper left corner of the screen. Problem start here:

  • to take calibration, “touch marker” to it go to next position ( right middle of the screen).

    But, when I touch the marker vainly, nothing happens. If I touch the right lower region (corner) part of the screen, the target (which shown on upper left) proceeds to onto the next position. I touch it vainly again there, nothing happens. The “calib” take the next step of target affecting a false position again at this time long. This forced way to end of “calib” -naturally- give a false result, unusable touchscreen.

The driver’s RAW data (-vvvvvv…) work fine. The uncalibrated ranges are:

  • upper left corner: 13000:13000
  • lower right corner: 2500:2500

I use a few years ago another (ELO) touchscreen under Linux. If I remember right, the RAW resolution stay under 8192x8192. Maybe it’s the problem?

So, I know your next question: yes, I try to swap x/y coordinates, but get same result ( as I saw, like the “abs -x -y” not work, but not give back wrong option). Try also give screen parameters (-o x,y for origin, and -s option for size) too, the result is same.

Here is a sample calib.localhost, that’s give the “calib” after my forced calibration method:

0x0:1023x767:-560396 -759987 3516333270 -772477 -244334 2912752356 -1192747

This is not like the same calib-file samples here in openqnx, and I missing the last 0/1 for swap.

The main usb info:

(Detailed usb info attached)

I attached the RAW data without calib file also. My opinion: X/Y swap not work, moreover the range of native X/Y coord’s too much (maybe need some divider constans, but I don’t find any information from this in Help / google). I don’t try under 6.3.2.

I say thank you for your patience, to read my problem. Excuse me for my poor english too. And for last, thanks for any kind of help, link.

Illes, R.

ps: I try to 4 point calibration method too. The result same: first marker marker from upper left corner proceed to next position when I touch across lower right area of the screen. But never find on the touchscreen, where the second touch point that accept “calib” in this case.

I’d try using a telnet session or serial port shell to run the input driver and calib from (with verbose on). It sounds like the touch screen isn’t generating any output when you touch the top left corner of the screen. calib doesn’t know where you are actually touching on the screen until the final touch in the center. Every touch up until that point it just grabs the raw coordinates and moves the target to the next spot. If you run your devi driver from a telnet session with -vvvvvvv you should be able to verfiy this.


Thanks for answer, Jason. I will test morning via telnet session. So: the RAW data prepared in a terminal console under Photon, w. “devi-**** > RAW.txt” command. The touch for any dots of screen, in this manner onto the upper left corner prepare datas. In the left upper points in the attached RAW datas -that I given-, somewhere in top of logfile, for example the [X=13598 Y=14053 Z=0] signals it. The hw works well, I tested it under mswin. The right lower corner RAW coordinate [X=3021 Y=2464 Z=0] (shown in end of logfile).

I have a feeling like that: the “calib” would wait a fix, limited (eg. 0<>4000) coord’s for the left upper input.

It didn’t understand, why not work the (abs -x -y) option. Possibly, my problem would be resolved if this would work. I started driver w. the “devi-microtouch microtouch touchusb abs -x -y” to testing reverse x/y coords - unsuccessfully. May be, that I granted the switch wrongly? Greet the answer.


are you using Photon or GF?

if you are using GF you need to start the driver like this “devi-microtouch -r -P microtouch touchusb &”

and I think you may need to start it before you start the graphics driver (not positive on this).

Doesn’t look like QNX updated the online docs with these options but if you do a “use” on the driver you’ll see them.

Thanks for reply, Jason. Now I tested this touch screen under Photon, to see, how compatible w. QNX. I think, under Photon need to work this touch screen - as read from qnx hw support list. But dont know, how to calib :frowning:

I have also another (19") touch screen w. serial connection. It a Microtouch controller w EX-II chip too. The problem with this: the ‘calib’ catch the first marker, but for next two (in standard 3 point calib. method) wait endless. If I touch around near to first marker point, he will finish w. calib - naturally wrong, unusable. The mouse pointer follow somehow my finger, but on a small area in left upper corner - like the multiply x5.

The difference between 19" and 15": swapped X/Y coords. I think, the problem common. Maybe somehow (eg. w. some command line parameter) need to divide they nativ coords. This all under Photon.

Can you help a bit, how to parameter the ‘gf-calib’? On this hw (Intel® Desktop Board D945GCLF2/D945GCLF2D) the graphics usable on layer 2, layer 3 (i dont know, why just this. If give default (0) or layer 1, GF said: gfi_group_attach(): error=2). So, I can start gf-calib with ‘-l 2’ (or ‘-l 3’) option.


I tested the touch screen under 6.3.2. Work fine. Under 6.4.0 not.

Somebody can help me, what/why change in 6.4 ?


See under Photon: http://www.youtube.com/watch?v=HYDypZRwdvk
See under GF: http://www.youtube.com/watch?v=dNLhRZCNM-w

It seems like calib is broken from looking at your videos. You’ll have to deal with QNX direct on this issue.

Thank you, Jason. Last year I use this 19" w. 6.3.2 in another project, but I dont remember. Today tested again.


Photon calib w. 3M Microtouch was resolved: [color=green]give ‘-m16384’ switch.
(thanks for QNX quick response)

(corrected Apr 14, 2010: No space in switch: “-m 16384”)

Thanks for solvin this ^^