hydrausb3 / hydrausb3_fw

HydraUSB3 (WCH CH569) open source test firmware / examples / libraries to experiment with streaming / high-speed protocols (USB2 HS, USB3 SS, HSPI, SerDes...)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

HydraUSB3_USB Example USB2 High Speed(480Mbps) / USB3 Super Speed(5Gbps) Device Bulk with WCID

bvernoux opened this issue · comments

  • 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)
  • HydraUSB3_USB_benchmark host tool (multi-platform GNU/Linux & Windows) using libusb