You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I am looking to get driver support for Ilitek Multi-Touch drivers. These are capacitive touchscreen drivers from AliExpress (https://www.aliexpress.com/item/4001166217016.html) and similar retailers. These touch drivers usually come with two interfaces in their usb descriptor, one with multi-touch support and a "mouse" mode.
Under a linux host with evtest, the device works fine. I have been able to interface it with python succesfully. I am looking to use a feather RP2040 USB Host instead to talk to it. The test examples work, which is promising (see below for a printout of hid_device_report sketch). The issue is the device reports seems to only comes from a single interface, the one without multi-touch support.
examples/DualRole/hid/get_device_report.ino prints that both instance = 0 and instance = 1 are mounted. The HID report data though is only from the mouse mode. I believe that tinyusb is currently always mounting the "mouse mode" interface for the ILITEK Multi-Touch-V3000 device. I would like it to mount the multi-touch interface instead. See below for the device descriptor
In src/class/hid/hid_host.c i have tried to modify hidh_open() by adding this line at the start of the function, which will skip mounting if bInterfaceNumber == 1. This causes the microcontroller to mount/unmount the device continuously in a loop. if(desc_itf->bInterfaceNumber == 1) {return true;}
I am not experienced enough to write my own driver for this device, I think a new CFG_TUH_XX definition under usbc.c needs to be made for this type of device (which is technically HID). Any help for adding support for this device to tinyusb is much appreciated. I also own 3 of these devices for testing.
Output of lsusb on a Linux host:
└─$ sudo lsusb
Bus 001 Device 027: ID 222a:0001 ILI Technology Corp. Multi-Touch Screen
This discussion was converted from issue #332 on September 13, 2023 17:40.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi, I am looking to get driver support for Ilitek Multi-Touch drivers. These are capacitive touchscreen drivers from AliExpress (https://www.aliexpress.com/item/4001166217016.html) and similar retailers. These touch drivers usually come with two interfaces in their usb descriptor, one with multi-touch support and a "mouse" mode.
Under a linux host with evtest, the device works fine. I have been able to interface it with python succesfully. I am looking to use a feather RP2040 USB Host instead to talk to it. The test examples work, which is promising (see below for a printout of hid_device_report sketch). The issue is the device reports seems to only comes from a single interface, the one without multi-touch support.
examples/DualRole/hid/get_device_report.ino
prints that bothinstance = 0
andinstance = 1
are mounted. The HID report data though is only from the mouse mode. I believe that tinyusb is currently always mounting the "mouse mode" interface for the ILITEK Multi-Touch-V3000 device. I would like it to mount the multi-touch interface instead. See below for the device descriptorIn
src/class/hid/hid_host.c
i have tried to modifyhidh_open()
by adding this line at the start of the function, which will skip mounting ifbInterfaceNumber == 1
. This causes the microcontroller to mount/unmount the device continuously in a loop.if(desc_itf->bInterfaceNumber == 1) {return true;}
I am not experienced enough to write my own driver for this device, I think a new
CFG_TUH_XX
definition underusbc.c
needs to be made for this type of device (which is technically HID). Any help for adding support for this device to tinyusb is much appreciated. I also own 3 of these devices for testing.Output of lsusb on a Linux host:
Output of evtest (under Linux):
Output of
examples/DualRole/Simple/device_info/device_info.ino
:Output of
examples/DualRole/HID/hid_device_report/hid_device_report.ino
:Beta Was this translation helpful? Give feedback.
All reactions