Imx93 with WinIoT - 5 pin Resistive touch interface

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Imx93 with WinIoT - 5 pin Resistive touch interface

2,448 Views
aditya_h
Contributor II

Hi,

I am trying to interface 5 Pin resistive touch with imx93 with WinIoT. Is there any available source for the driver. Attached datasheet for the reference.

Labels (1)
0 Kudos
Reply
9 Replies

2,070 Views
aditya_h
Contributor II

Hi,
Currently we are trying to interface the 5 wire resistive touch to imx93 running Win10 IoT. For this We are using the code base W21H2-1-4-1-imx-windows-bsp offered by nxp. 

This firmware code base supports only the usb based touch driver for WinIoT. 

We wanted to understand on how much we can leverage from the existing USB based touch driver to implement the GPIO based touch driver for our requirement. 

I am new to Windows driver development, and by the documentation it is not so clear where we can find this implementation in the codebase. Does anyone know what are the files which we need to look into for understanding the existing TS implementation and what kind of changes are needed to interface the same via gpios.

Additionally, any references to Windows IOT driver development for i.MX93 will be of great help. 

@Frantisek_Prochaska @ramprakash08 

0 Kudos
Reply

2,063 Views
Frantisek_Prochaska
NXP Employee
NXP Employee

Hi Aditya,
I can't help you much with this, maybe others can. Neither can I tell whether we at NXP have source code of a working touch driver. But you can try looking into this driver sample repository:
https://github.com/microsoft/Windows-driver-samples
(There also used to be another driver sample repository)

0 Kudos
Reply

2,402 Views
Frantisek_Prochaska
NXP Employee
NXP Employee

Hi @aditya_h ,
I believe all touch screens around in the office are currently connected via USB cable. Maybe we could ask around.

0 Kudos
Reply

2,377 Views
aditya_h
Contributor II

@Frantisek_Prochaska  When you say USB connected touch does it mean a converter in-between to convert  Analog data from touch screen to USB data?
In that case what would be the drivers needed to interface that?

0 Kudos
Reply

2,395 Views
Frantisek_Prochaska
NXP Employee
NXP Employee

To encourage you a little. Panels used with i.MX 93 have an an I2C and an USB port for the touch screen. When USB port of the touch panel gets plugged into Windows machine it uses mouse.inf as driver.

Meanwhile Linux enumerated that as:
```
[16630.590541] usb 1-2: new full-speed USB device number 13 using xhci_hcd
[16630.739938] usb 1-2: New USB device found, idVendor=0eef, idProduct=c002, bcdDevice=17.00
[16630.739954] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[16630.739962] usb 1-2: Product: eGalaxTouch P80H46 4717 v00_T3 k4.10.143
[16630.739968] usb 1-2: Manufacturer: eGalax Inc.
[16630.746485] input: eGalax Inc. eGalaxTouch P80H46 4717 v00_T3 k4.10.143 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C002.000A/input/input35
[16630.746897] input: eGalax Inc. eGalaxTouch P80H46 4717 v00_T3 k4.10.143 UNKNOWN as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/0003:0EEF:C002.000A/input/input37
[16630.747542] hid-multitouch 0003:0EEF:C002.000A: input,hiddev4,hidraw7: USB HID v1.11 Pointer [eGalax Inc. eGalaxTouch P80H46 4717 v00_T3 k4.10.143] on usb-0000:00:14.0-2/input0
```
The pdf you have attached to original post seems you have very similar device that can connect via USB interface. You will need USB cable with that tiny plastic connector. 

0 Kudos
Reply

2,368 Views
Frantisek_Prochaska
NXP Employee
NXP Employee

The pdf you have attached to original post seems you have such device that can connect via USB interface. You will need USB cable with that tiny plastic connector.

Cable could look like this:

 

0 Kudos
Reply

2,346 Views
aditya_h
Contributor II

Hi @Frantisek_Prochaska ,

I have few questions on the USB connector that you mentioned, Could you give more info about these,

  1. Part number if it is a standard connector(the one you mentioned earlier).
  2. Full picture of the connections between Display and the EVK/SOM.
  3. Is it a plug and play connector or any driver changes are needed, if so, what?
  4. When connected how would this device appear? as a USB device or a display device?
  5. Can this connector work with USB hub?
0 Kudos
Reply

2,337 Views
Frantisek_Prochaska
NXP Employee
NXP Employee

Hi @aditya_h ,

  1. I don't know the part number of cable on picture I have sent. I guess somebody cut two cables and soldered them together for testing purposes. It worked so he kept the cable.
  2. Can't send it at the moment. Besides that USB connector with DIY cable (only 4 wires) on the photo there's also much bigger cable and connector (about 20 wires) which transfers image data.
  3. As written above. Touch screen we have uses standard mouse.inf in Windows. Device manager shows HID icon. I guess mouse.inf is included in Windows.
    • But I don't know about your display. It's worth a try though.
  4. Our display appears as HID mouse.
  5. Yes we use USB hubs for this.

Here's the page from your pdf stating that there's only RS232 and USB interface on your restive touch screen:

0 Kudos
Reply

2,417 Views
ramprakash08
Contributor IV

Hi,

There isn't a specific driver available for this exact setup, you can utilize the generic GPIO driver provided by NXP. This driver can be used to interface with a variety of hardware, including a 5 Pin resistive touch screen.

Once downloaded, you can find the GPIO driver under the path: \\BSP\\drivers\\gpio. You can then modify this driver to suit your specific needs. Please refer to the documentation included in the BSP for more information on how to modify and use the driver.

Here is a simple code snippet to initialize the GPIO driver:

 #include 'gpio.h'
void main() { // Initialize the GPIO driver Gpio_Init();
// Configure the GPIO pin Gpio_ConfigurePin(GPIO_PIN, GPIO_DIR_OUTPUT, GPIO_INT_DISABLE);
// Set the GPIO pin high Gpio_SetPin(GPIO_PIN, GPIO_PIN_SET); }

Please note that you will need to replace 'GPIO_PIN' with the actual pin number you are using for your 5 Pin resistive touch screen.

Remember to include the necessary header files and link against the correct libraries when compiling your code. The exact details will depend on your development environment and the specific version of WinIoT you are using.

If you encounter any issues or have further questions, please don't hesitate to ask.

Regards

0 Kudos
Reply