Teensy 3.1 PID and VID to emulate a Touchscreem

Status
Not open for further replies.

Wayne

Well-known member
Basically, I like to use the USB as a Touchscreen. I have the USB Vendor ID and Product ID and know how that product works.
I can read the TouchScreen coordinates and output them.
Side note: This is a Medical workstation that uses ELOTouch touchscreen. I can plug in a mouse and move the pointer on the workstation, but if I use the Teensy 3.1 as a mouse, no action. I think it is due to limited product files in this workstation.
I can do anything with the program, even interface to touchscreen as a mouse..

Vendor ID VID is 0x04e7
Product ID PID is 0x0020

I know once this happens, the USB will be the Touchscreen, but I can put an TTL to RS232 and connect to the computer. Problem be reprogramming it.

I think..
Wayne
 
Ok, I need to get some info on the USB type usage. There are 6 options, Can I do what I need to do on one of these.. Change the PID/VID and save it, change back to serial when I need to do changes? I need the USB part to connect to the workstation. And until I get the sketch the way I need it, I will need to go back and forth.

Or will the hardware uart work as USB (I doubt this)
 
You can change the VID & PID and other stuff, but to do so you'll need to edit the USB code in hardware/teensy/cores.

Once programmed with different code, the auto-reboot feature from Arduino's Upload button may not work, but it's a pretty simple matter to just press the button on Teensy.

No, the hardware serial ports can not provide additional USB ports. They only work as asynchronous serial.
 
I give that a try Paul. It another project that I'm sort of involved, The current ones I have have to be done in a few weeks.. The Teensy 3.1 will be part of it since it worked really well in place of the 2560. And so darn small.
 
Hi Paul or anyone.. I need help in where to change such things as VID, PID, Ser# and such. I have no idea if I need it all.. But here is some info for SIV32L:

[Port 0.6.2.3] <- [USB Bus] <- SIV32L - System Information Viewer V4.49 WAYNE-PC::TRANSAM\wayne

Information for [Port 0.6.2.3] State Connected at Address 16 with 1 Pipe (46) Device USB Input Device

Device USB V1.10 LangID 0409 1 Class 0.0.0 Class 0 (00) SubClass 0 (00) Protocol 0 (00) Maximum Packet Size 8 (EP0) Configurations 1 Descriptors 4
Vendor 0x04E7 Vendor: 04E7
Product 0x0020 Product: 04E7:0020
Revision 0x010C Revision: 04E7:0020:010C
Manufacturer (1) "Elo TouchSystems, Inc."
Product Name (2) "Elo TouchSystems 2700 IntelliTouch(r) USB Touchmonitor Interface"
Serial Number (3) "20D21264"
Configuration Interfaces 1 Bus or Self Powered Maximum Power 0 mA Remote Wakeup Attributes 0xE0 Configuration 0x01 (4) "Model 2700"
Interface 0.0 MI 00 Endpoints 1 Human 0.0 Class 3 (03) SubClass 0 (00) Protocol 0 (00) Alt 0 Name (5) "SmartSet Protocol" Thfè{” Human 0.0
Human Interface V01.00 Country 21 Descriptors 1 0x007E (126) 0x22 (34)
Endpoint 1 Address 0x81 (In) Interrupt Maximum Packet Size 0x0008 (8) Attributes 0x03 Interval 5

[ OK ] [ Copy] [ First] [ Prev] [ This] [ Next] [ Last]

Review of what I'm trying to do.. The current touchscreen I have is one that uses serial/usb, but I will connect to the teensy3.1 as serial @ 56700 and convert its code to the EloTouch code and send USB.

I was thinking of emulating the TouchScreen as a mouse (convert it x/y to mouse code since the touch area is big as a finger)

I looked in the cores, but I have gotten a bit confused.. Pressure at work on trying to solve it..

Pointers will be great..

Wayne
 
Wayne

My PC has just warned it will reboot so will have to be quick.

Look in the files in:

\hardware\teensy\cores\teensy3

for PID and VID:
\hardware\teensy\cores\teensy3\usb_desc.h

To get better understanding of the above file look in:
\hardware\teensy\boards.txt

The boards.txt file is used to construct the menus in the Arduino IDE

e.g.

Teensy 3.1:

teensy31.menu.usb.hid.name=Keyboard + Mouse + Joystick
teensy31.menu.usb.hid.build.define0=-DUSB_HID

relates to this in usb_desc.h:
#elif defined(USB_HID)
#define VENDOR_ID 0x16C0
#define PRODUCT_ID 0x0482

That should get you started at least

Ex.
 
I need help in where to change such things as VID, PID

https://github.com/PaulStoffregen/cores/blob/master/teensy3/usb_desc.h#L112


https://github.com/PaulStoffregen/cores/blob/master/teensy3/usb_desc.c#L727

To emulate a specific device, you may need to also edit much more of the USB configuration, to present a similar set of interfaces and endpoints. If the software reads the raw HID, rather than getting it from the operating system after parsing the HID reports, you may need to edit the report descriptor and code that transmits the data, to faithfully emulate the actual communication of the device you're trying to emulate. Obviously that would involve quite a bit more than simply changing a couple numbers.
 
Ok, I have been working on this for a bit.. Came in Saturday and tried some stuff..

I need somehow to remove the UN-used USB device.. Like the keyboard, joystick. I just need the mouse.

I'm starting to look into USB in a Nutshell.

I now see that I have got to V1.10, but at FULL.. I need to emulate Slow. I see they talk about pulling D+ HI for Full or pull D- for Slow.
I looked into the IC used on the Teensy 3.1, and I see no pull-up resistors, but looking at the programming, there is a way of setting the pins.

As it stands, I see the Teensy reporting nearly correctly on the W7 here on my desktop, but it is still not showing up as anything on the workstation.
The mouse I'm using shows up all the time if I plug it in.
It does report V1.10 Slow.

Hm, I wonder if I switch the order of the Keyboard vs mouse in the desc file.
 
Well,
So with all this looking up, changing this and changing that, it all boils down to...

The USB HUB in the system. This has a Certified HI-SPEED USB label in the front. The unit was built in Oct of 2005.

After I got an old linux software loaded onto a computer (WhiteBox Linux 4) and I went and tried the teensy with mouse and it worked, I question why it did not work on the system.
Took the teensy with my buttons and plugged into the hub and nothing.

I decided to go before the hub and it worked great. Moved the pointer left and right.

So I had bought a wireless Keyboard with trackpad from famous Wally World and it only had keyboard function through the hub. I plugged in the USB dongle before the hub and both keyboard and trackpad worked.

So I went to RS and got a 4 port USB hub and plugged it in place of the original. Same issue, no Teensy nor trackpad on keyboard combo.

I have no idea why.. Power?

Wayne
 
Status
Not open for further replies.
Back
Top