09-09-2024 12:03 PM
I need to communicate with a USB interfaced relay board. I need to create a new driver with the IVI Instrument Driver Wizard.
All I have to go on is the USB VID and PID. How is this used to create the driver? In the Resource Descriptor?
Currently, the device manager has found and installed the device:
Device HID\VID_0416&PID_5020\a&1be65ddc&0&0000 was configured.
Parent Device: USB\VID_0416&PID_5020\9&32730460&0&4
09-12-2024 02:19 AM
This seems possibly a Touchpanel? Using a Winbond (Nuvoton) USB chip.
As it is a HID device it should not be very difficult to implement the HID functionality on top of VISA USB RAW. But just because you managed to create a device configuration file with the Instrument Driver Wizard and install that in your Windows system (already a bit of a feat in modern Windows systems because of their insistence to only install signed drivers anymore) doesn't mean you are done.
Next step would be to go to the USB Consortium and look at the USB documentation there. You want to understand the basic control messages and probably the bulk and interrupt transfers for the HID Class device. And yes those specifications are typically many 100 pages long each. Once you understand that you can implement the HID driver on top of VISA USB RAW. Not very difficult but still a lot of work.
And then you are maybe still nowhere without a documentation about the actual content in the HID messages. HID is mostly a specification of how to transfer a bunch of bytes. It also has some basic specification about mouse, keyboard and joystick functionality and how this is embedded in this bunch of bytes but a device is allowed to extend that with its own special functionality or not be any of these at all and just implement its own binary message layout. If it is a touchpanel, it may or may not implement mouse functionality. Without looking at the device, interface and endpoint information that you can enumerate with control transfers, it is impossible to determine these things and if it is not a standard mouse but some proprietary message layout you only can continue if you get the necessary documentation from the manufacturer or can dig out some Linux driver for this device and look at its source code.