![what is usb composite device what is usb composite device](https://1.bp.blogspot.com/-XmGTUeeW4qE/XJ0M1M_2dFI/AAAAAAAARJM/MeG4emWNa38TacXoo5Y5-lfl80fT-ikrACEwYBhgL/s1600/Printer_Select_OS_Family.png)
- #What is usb composite device how to#
- #What is usb composite device serial#
- #What is usb composite device drivers#
- #What is usb composite device driver#
- #What is usb composite device software#
#What is usb composite device serial#
I am currently developing a USB Composite Device with a Serial Port (CDC) and Mass Storage Device (MSD) target for use with Windows XP. Special thanks to ‘sirnoname’ who pointed me in the right direction with their post. I changed CDC EPs to 1+2.įirst, thanks to everyone for their posts, as they have been very helpful. Hints: If one EP is not activated, only this Interface will make error.Ī:I dont know why it is not used in sample. Make sure both, HID and CDC, readouts are activated Make sure the descriptor CDC readout is first (as number of EPs) add your HID interfaces with HID descriptors (eg. change the number of endpoints in CDC interface descriptor to three (as i told this are only EP descriptors not the number of EP) Interface class of cdc is as before 0x02, but now in the interface descriptor (leave abstract and protocol) copy the 2 DATA-interface Endpoint to the ABSTRACT interface (eg. Make as Interface class zero in device descriptor = each interface works at its own This are: virtual comport, Mouse, Keyboard, simple HID and Consumer Audio Control (a known in any multimedia keyboard).įor descriptor (derived from CDC sample): Got 4xHID and 1xCDC working in one device at same time.
#What is usb composite device how to#
Where do you recommend that I could find more information about how to work with Composite Devices with the PIC? (USB Complete is already on its way.) I’ve searched the forum, but wasn’t able to find much on Composite Devices or anything on IAD.ġ8F4550 running Microchip’s USB Boot loader Has anyone else used composite device firmware for which I could see some example code?
![what is usb composite device what is usb composite device](https://www.partitionwizard.com/images/uploads/articles/2019/12/usb-composite-device/usb-composite-device-6.png)
#What is usb composite device driver#
Perhaps this will be easier as I’ve seen some postings on other forums that didn’t think that the CDC driver could easily be part of a composite device. The next thing I am going to try is to combine the Demo code with the HID code into a composite device as both of them already use a single interface and are already configured to specify the class, subclass, and protocol at the interface level. I’ve ordered an ICD2 to aid with debugging, but with the fast timeouts on the USB, this may not be as useful as I’d like. Unfortunately, I haven’t found much documentation on either.
![what is usb composite device what is usb composite device](https://i.stack.imgur.com/3xXBp.png)
I suspect I am just not handling the new Composite Device communications correctly or I have not merged the two demos correctly.
#What is usb composite device software#
Using a software USB sniffer, the PIC seems to respond to most commands during enumeration, but has issues when it polls the pic to for data.
![what is usb composite device what is usb composite device](https://www.partitionwizard.com/images/uploads/articles/2019/12/usb-composite-device/usb-composite-device-4.png)
#What is usb composite device drivers#
In both cases, after modifying the driver to accept the new hardware ID, the drivers installed fine and appear to be function correctly. Using the second method I am unable to get any communication between the PIC and HyperTerminal to work. When using the first method, the PIC only sometimes gets data from HyperTerminal and never is able to send data to HyperTerminal from the PIC. When using the IAD, the device hardware ID changes to USB\Vid_xxxx&Pid_yyyy&MI_ww format. The driver can then be assigned at the associated interface level allowing mixed classes in a device. This allows for a generic “Composite Device” class, subclass, and protocol to be used. This just became available with Windows XP SP2. The second way I believe is to use the Interface Association Descriptor to group the two interfaces together. As such, the device hardware ID changes to USB\Vid_xxxx&Pid_yyyy&MI_ww format.Ģ. As soon as a second class (HID) is added to the CDC class that was working alone, Windows XP recognizes the device as a "Composite Device". This works fine with just the CDC class in it. The device descriptor can then have the class, subclass, and protocol set to 0x00 to allow each interface to specify a different driver. The first is to group all three endpoints under the first interface by changing CDC_DATA_INTF_ID to point to the first interface. I believe I've found two ways to do this since the CDC firmware was written to use two interfaces.ġ. I'm trying to make a composite USB device based off of the Microchip CDC firmware and the HID firmware. Without the help of this forum, it would have taken me much more time to get up to speed. As a new member, let me say thanks to all of you for all of the valuable posts.