HydraUSB3_USB Example USB2 High Speed(480Mbps) / USB3 Super Speed(5Gbps) Device Bulk with WCID
bvernoux opened this issue · comments
Benjamin Vernoux commented
- HydraUSB3_USB Example firmware (WCH CH569) USB2.0 High Speed(480Mbps) / USB3.0 Super Speed(5Gbps) Example
- Support USB2 High Speed / USB3 Super Speed basic stack for Device Bulk Transfer(with Burst for USB3)
- Support Android / Linux / Windows
- Support Windows Compatible ID (WCID) to avoid installation of any driver for Windows 8 or more
- Use WCH CH569 64bits Unique Identifier in USB Serial String Descriptor
- Support following commands over USB (USB2 HS or USB3 SS) USB endpoint1
- CMD LOGR : Return LOG (return logs stored in temporary memory by log_printf()/cprintf())
- CMD USBS: Return USB Status details depending on the USB used USB2 HS or USB3 SS
- CMD USB2: Switch to USB2 even if USB3 is available
- CMD USB3: Switch to USB3 or do a fall-back to USB2 if not available
- CMD BOOT: Reboot the board
- Support real-time data streaming RX/TX over USB (USB2 HS or USB3 SS) USB endpoint2
- Remove USB3 blob for USB Device Bulk (full rewrite in C) from original WCH CH569 USB Device Example libCH56x_usb30.a
- USB30_device_init()
- USB30_switch_powermode()
- USB30_OUT_set()
- USB30_device_setaddress()
- USB30_IN_nump()
- USB30_IN_set()
- USB30_send_ERDY()
- USB30_OUT_clearIT()
- USB30_IN_clearIT()
- USB30_OUT_status()
- USB30_IRQHandler()
- Use default USB PID/VID from https://github.com/obdev/v-usb/blob/master/usbdrv/USB-IDs-for-free.txt
- PID dec = 1500 (0x05dc), VID dec 5824 (0x16c0) For Vendor Class devices with libusb
- To be checked later to use HydraUSB3 dedicated USB VID PID (waiting PR merge pidcodes/pidcodes.github.com#758- VID:PID 1209:C569 (HydraUSB3)
- Support USB2 High Speed / USB3 Super Speed basic stack for Device Bulk Transfer(with Burst for USB3)
- HydraUSB3_USB_benchmark host tool (multi-platform GNU/Linux & Windows) using libusb