In the past, I used an FTDI device to provide a USB to controller (via a uart) to pass data back and forth.
I finally decided to understand USB and use the internal microcontroller's USB component.
After reading Jan's Second and Fifth USB editions, and others - I was left with the assumption that a HID class device (using my own defined report structures) would be easy.
Question 1: If attempting to use a Windows provided HID driver - can the endpoint support 64 byte transfers or are they limited to 8?
I am developing on a STM32F103 device. I have developed the device side code and it successfully enumerates. I'm using a Beagle USB 12 tool to analyze the USB packets.
I wrote a test C++ application to communicate with the HID device but found windows failed to open the device. Looking in "Device Manager", I found my HID device - it showed it enumerated properly but the third event stated "was not migrated due to partial or ambiguous match" - so I suspect a driver related issue.
Question 2: I plan on having only my custom Win10 Application communicate with my device (not commercial - just a personal hobby project) - Which device class would be best/easiest to implement - HID - or a CDC (virtual com port)?
Depending on any reply to my questions above - I will ask more questions. Thanks in advance for any reply/insight.