From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Touchscreen Usage Discussion

A cursory search seems to indicate that the USB connectivity is handled by the evdev driver, which NI Linux RT is configured to use. I have not actually tested that out (I don't have a display with the ELO AccuTouch 2216 controller) but it should work (taking a quick look at the kernel configuration behind what would provide the interface that the evdev Xorg interface is expecting)

0 Kudos
Message 21 of 33
(4,326 Views)

I am currently using a cRIO-9033 with embedded UI to NI brand touch panel monitor (TSM15).  I have to replace the TSM15 because it is not bright enough in full sun.  I ordered a TruVu SRMHTRWPM-15V-SS but had issues loading the eGalax driver on the RIOs OS.  I returned the TruVu monitor and looking for a sunlight readable touch panel monitor that is compatible with the cRIO-9033.  Has anyone had success with the Vartech touch panel monitors like in the link below?  Or do you know of any other panel mount sunlight readable touch panel monitor that would be compatible?  I have inquiries with Spectra and hopeindustrial on whether or not they offer sunlight readable monitors -  although I did a cursory look through their website and it didn't look promising.

 

http://www.vartechsystems.com/products/model/VT240PHB3.asp

 

Thanks,

Cara

0 Kudos
Message 22 of 33
(4,258 Views)

Hi, BradM,

 

Not sure whether you're still monitoring (PUN!) this thread, but I've got a DSE AWM12R touchscreen (DSE AWM12R). When I plug it in to a 903x cRIO, it shows up as a mouse. Attached is the lsusb -v for the device. The manufacturer provides a Linux driver. However, the two daemon exes that the driver starts are 32-bit, so they won't run on the 903x. Any advice on how to make the cRIO recognize the device as a touchscreen or get the exes to run would be appreciated.

 

Thanks,

jdeantx

0 Kudos
Message 23 of 33
(3,698 Views)

One thing to try is adding a Xorg configuration file that maps this device as a touch screen instead of as a mouse. You can do that by adding a .conf file on 903x under /usr/share/X11/xorg.conf.d/.

 

I've attached a possible .conf file based on values from the lsusb.txt file you've attached. Remove the '.txt' extension before copying on target - the forum won't let me post a file with '.conf' extension. You'll have to be logged in as admin to copy it to usr/share/X11/xorg.conf.d/

 

If you don't see any changes, can you post the output from running the following command on the target: DISPLAY=:0 xinput list

Also attach the following log file (after a boot with UI enabled): /var/log/Xorg.0.log

 

 

Message 24 of 33
(3,688 Views)

Thank you for the suggestion. No luck on the .conf file. I've attached the log and txt file as you suggested. 

 

jdeantx

Download All
0 Kudos
Message 25 of 33
(3,680 Views)

Hmm, based on the Xorg.0.log file the device should be detected as touchscreen:

 

[665576.991] (--) evdev: Hampshire Company TSHARC Analog Resistive: Found absolute touchscreen
[665576.991] (II) evdev: Hampshire Company TSHARC Analog Resistive: Configuring as touchscreen
[665576.991] (**) evdev: Hampshire Company TSHARC Analog Resistive: YAxisMapping: buttons 4 and 5
[665576.991] (**) evdev: Hampshire Company TSHARC Analog Resistive: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[665576.991] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:07DD:0001.0002/input/input2/event2"
[665576.991] (II) XINPUT: Adding extended input device "Hampshire Company TSHARC Analog Resistive" (type: TOUCHSCREEN, id 11)
[665576.991] (II) evdev: Hampshire Company TSHARC Analog Resistive: initialized for absolute axes.

 

What is the behavior you are seeing? Does it react at all to touch?

Can you run the following command in a terminal window within Embedded UI: xinput test-xi2

 

It should pop-up a window and you can see the input events when you click/touch around in that window. You should see events like: TouchBegin, TouchEnd, RawTouchBegin etc. Let me know if you see any events being displayed when you use touch. It might also be helpful to redirect the output from that command into a file and attach it i.e. xinput test-xi2 > input.log

0 Kudos
Message 26 of 33
(3,659 Views)

tl;dr - it works, and the solution ends up being pretty simple (and maybe a little embarrassing). It's plug and play, but you have to reboot the cRIO after installation and, crucially, you have to power cycle the touch panel.

 

I moved the touch panel over to my Windows machine to make sure it and the cable were good. I had already done a cursory check, but wanted to do a more thorough check. On Windows it was plug-n-play. It came up as a HID-compliant mouse (like in Linux), but it was responding to touch very erratically. Calibration did not fix the issue. I installed the driver and rebooted with no improvement in the touch response. At this point, I started checking the cables, and I disconnected it from power to turn it over. No apparent issues with the cables. Upon powering back on, it worked on the Windows machine. I tried it on the cRIO, and, again, saw some very erratic behavior. In this case, it would work for a while, then stop until the cRIO was rebooted. It turned out that I needed to uninstall the 64-bit driver software from the manufacturer, reboot the cRIO, connect the touch panel, check that it was recognized, then reboot both the cRIO and the touch panel. At that point, it was recognized and could be calibrated to respond to touch correctly. I formatted the cRIO and went through the process again just to confirm that there were no drivers, config files, dependent packages, etc., left from previous installs.

 

Thanks, gratian.crisan, for your help.

0 Kudos
Message 27 of 33
(3,586 Views)

I'm not sure if NI is still interested in this input, but I am hopeful my experiences will help some others out.

  1. Which monitor did you purchase and why?
  2. Did it work out of the box?
    • Yes and No.  Touch worked with "NI CompactRIO 17.6" but broke with the upgrade to "NI CompactRIO 18.0". 
    • I never had any problems with 1080p video display.
  3. If not, were you able to get it working?  Using what resources?
  4. lsusb -v output is attached.

Let me know if you have any questions about this information.


Jonathan Reynolds
http://resume.jonandco.com
Message 28 of 33
(3,467 Views)

Jonathan,

 

Thanks for the feedback. We are, indeed, still watching this thread and gathering just the sort of feedback like what you provided.

0 Kudos
Message 29 of 33
(3,453 Views)

1) AC Nodes APA9070

2) Mixed results. Monitor worked both with a USB-C to HDMI cable (with HDMI to DVI-D passive adapter) and with a USB-C hub that has HDMI/VGA/DVI-D/USB. However, whereas the touchscreen is registering inputs; all attempts at calibrating have failed miserably. 
3) I do not have the touchscreen working yet. I have little experience in Linux, so the few forum posts about how other people have solved touchscreen issues with command prompt level fixes are outside my expertise so far. NI Support's response has been try the forums.
4) Is there a way to route the lsusb -v command to a file so I can copy all of it to this post easier? It is identifying as iManufaturer=Dialogue Inc, iProduct = PenMount USB.

Specifics about how touchscreen fails to work:

 

From a fresh format (no calibration), the touch locations are inconsistent with finger placement. Additionally, side to side motions of my finger are treated as up down motions and vice versa.
Running the calibration utility (either via command line, control panel, or via the RT Calibrate Touchscreen.vi) shows the utility and it recognizes the touches at the calibration points. However, it horribly miscalculates the calibration and after calibration, only recognizes touches in the upper left corner of the screen. Re-running the calibration utility, it doesn't even recognize the location of touches other than upper left. It still recognizes that I am touching the panel (timer to exit resets) but it does not think I am anywhere near the other 3 calibration points.

cRIO version is 19.1, cRIO-9040 controller. 

0 Kudos
Message 30 of 33
(2,871 Views)