Usb Stack Versions Save

CherryUSB is a tiny and portable USB Stack (device & host) for embedded system with USB IP

v1.2.0

1 month ago

Common

  • update scons and cmake file

Device

  • update usb test mode @chenzhihong007
  • demo: reset flag in USBD_EVENT_CONFIGURED

Host

  • support cdc ncm host
  • support rtl8152 host
  • optimise find class driver api
  • set config with configvalue
  • fix bt hci recv when CONFIG_BT_RECV_IS_RX_THREAD is disabled
  • core: usbh_core: fix ep0_request_buffer index lose @chenzhihong007
  • add timer to control interrupt transfer
  • add "." to section usbh_class_info for IAR @chenzhihong007
  • fix msc buf overflow by SCSICMD_INQUIRY_SIZEOF

Port

  • HPMicro: update usb_dc_hpm.c @chenzhihong007
  • add esp dwc2 glue
  • add aic ehci glue
  • dwc2: update host driver 1, change dma incr to 16, flush fifo after fifo config. 2, simplify chan irq code. add HCCHAR register init api, only enable chan halt irq, buffer dma mode just need this. 3, add fifo macros for users to config. 4, get next toggle from HCTSIZ.
  • add usb_hc_low_level_deinit api
  • ehci: use only one qh for intr, following with linux driver, remove qtd alloc & free, use static pool instead in order to run code faster.

v1.1.0

2 months ago

Common

Device

  • support multi USB IP
  • rename CONFIG_USBDEV_MSC_BLOCK_SIZE to CONFIG_USBDEV_MSC_MAX_BUFSIZE
  • add ecm device write and read api
  • add usbd init and deinit event macro
  • support multi lun @chenzhihong007
  • msc: stage change should be before usbd_ep_start_write() @chenzhihong007
  • update endpoint number usage and fix busid check @chenzhihong007

Host

  • support multi USB IP
  • support usb ble host with zephyr and nimble
  • add iar risc-v support @chenzhihong007
  • update log tag
  • add ch340, ftdi, cp210x, asix driver
  • add get_connect_status api for rndis/cdc_ecm/asix
  • fix cdc ecm zlp check

Port

  • support multi USB IP
  • dwc2: ctrl and bulk no need nak irq, when intr calls nak, retry by user
  • dwc2: use fifo not dma as default because users may have problems in cache
  • dwc2: add volatile for HcEpType & ChannelEna
  • dwc2: low level deinit after usb register reset
  • fsdev: remove ununsed macro and fix macro
  • HPMicro: call suspend/connect/disconnect event @chenzhihong007

v1.0.0

4 months ago

Common

  • Use usb special errno code, do not use system errno
  • Remove usb_mem.h, move usb_osal.h into common
  • Add rtems osal

Device

  • Replace struct usbd_endpoint_cfg with struct usb_endpoint_descriptor in usbd_ep_open api

Host

  • Refactor urb, add ep & hport in urb to make hardware pipe more reusable (dwc2/musb/ehci are affected)
  • Improve rndis and ecm and dfs demo for rtthread
  • Remove old vendor class

Port

  • musb: bugfix: send zlp won't trigger ep tx interrupt @saisesai
  • dwc2: move out gccfg, config by users
  • dwc2: fix outchan actual len
  • ehci: add aic and intel glue, add ehci suspend and resume
  • Config macros by users when use musb&dwc2&fsdev
  • Remove nrf5x and rp2040, ch32 host port

v0.10.2

5 months ago

Common

  • add msh cli demo for device @ttnwosay
  • osal: add USB_OSAL_WAITING_FOREVER for Semaphore and Queue use @chenzhihong007

Device

  • Add cdc ecm device

Host

  • Avoid IAR compiling error on USB HOST stack @helloeagleyang
  • Add cdc ecm host
  • Add modeswitch function
  • Add usbh_set_interface api , usbh_get_string_desc and ms os request
  • Fix rndis query & set msg wLength, only support one rndis device
  • Fix class api name

Port

  • dwc2: ignore dwc2 EPENA check
  • Add more dwc2 tx fifo config, ignore ehci port ccs @ttnwosay
  • ch32: Fix possible errors in endpoint 0 datapid in @HaiMianBBao
  • Add nuvoton device port @xmaowu
  • Fix ehci token status check to fix return zero with hub
  • Add pusb2 dcd and hcd driver @zhugengyu
  • Fix xhci build error @zhugengyu

v0.10.1

8 months ago

Common

  • Add macros for IAR @helloeagleyang

Device

  • improve msc thread
  • fix video packet caculation
  • Fix warning

Host

  • Fix hub process with quick disconnect @heyuanjie87

Port

  • Improve ehci driver, add iaad support
  • Update hpm macros for device and host @chenzhihong007
  • Add bouffalo ehci glue

v0.10.0

9 months ago

Common

  • check if current context is in irq when gives sem
  • update demo
  • update cmakelist
  • remove dap
  • add usb_osal_thread_delete api

Device

  • some descriptors INIT definitions export max ep size for user.
  • format global variable name
  • use usbd_event_handler instead of usbd_configure_done_callback
  • refactor audio class driver
  • support multi winusb
  • support cdc send break
  • add msc popup function
  • Fix the callback api in usbd_hid.c

Host

  • improve rndis with lwip process for freertos and rtthread
  • enum device with disposable thread, do not block hub thread
  • use static memory to malloc & free class
  • support cp201x vendor class

Port

  • Improve dwc2 udc iso driver, use DxEPCTL to check if ep is busy, check host driver is urb valid in isr.
  • implment musb usbh_kill_urb

v0.9.0

11 months ago

Common

  • Add yoc port
  • Move all demos into individual repo
  • Update esp32 dwc2 demo
  • Fix pointer in 64bit cpu, use uintptr_t instead

Device

  • Update printer driver
  • Add usbd_event_handler for users
  • Do not check intf when calls endpoint handler
  • Check with last to reduce set line coding repeatly
  • Extend report length
  • Move all desc and data into nocache align ram

Host

  • Update msc requestsense cmd, unifiedly use usbh_bulk_cbw_csw_xfer api
  • Add audio mute and volume control
  • Call usbh_xxx_stop when class enumerates completely
  • Add usb3.0 support

Port

  • Check urb is null when uses sunxi
  • Replace usbh_ep0_pipe_reconfigure with usbh_ep_pipe_reconfigure, replace speed with mult
  • Fix ch32 usbhs ep0 out dma setting
  • Fix dwc2 vbus in gd32 and stm32l4, fix dwc2 dma check, fix dwc2_reset api because of variable being optimised.
  • Move g_dwc2_udc into no cache ram
  • Update ch32 host driver
  • Update xhci driver

v0.8.0

1 year ago

Common

  • none

Device

  • add new desc register api for different speed and other speed
  • mtp enum done
  • remove align check, use memcpy to align buffer as default
  • split tx_rx_thread to tx_thread and rx_thread
  • add webusb support
  • audio desc update

Host

  • replace device mount callback with class run and stop callback
  • remove roothub parent hport to reduce codesize
  • fix ext hub build error when CONFIG_USBHOST_MAX_EXTHUBS =0
  • optimise hub event process
  • update hub thread wakeup with queue not sem & list
  • IAR support
  • add audio and video driver
  • move hub and hport variable into common ram to reduce nocache ram usage
  • update host demo, split class demo into own thread

Port

  • add musb poll api
  • Fix dwc2 host control transfer
  • wch host support
  • remove ehci iso

v0.7.0

1 year ago

Common

  • Move malloc, free, printf into xxx_config.h
  • Fix usb_osal_sem_take api when using rt-thread
  • Add daplink support
  • Add CHERRYUSB_VERSION
  • Update sconscript for hpm and rndis

Device

  • Update rndis driver and demo with rt-thread
  • Remove intf with malloc, use static instead

Host

  • Remove bulk_transfer and intr_transfer
  • Fix hid set_idle cmd, ignore this cmd when failed
  • Update video driver and template

Port

  • Add rp2040 device port
  • Update ch58x port
  • Fix dwc2 ep config when reset, fix USB_OTG_HPRT_PRES with USB_OTG_HPRT_PRST, fix tx empty irq process
  • Add dwc2 host iso support
  • Fix musb bugs in irq handler
  • Remove mm32, imxrt, nuvoton port

v0.6.0

1 year ago

Common

  • Move all usb transfer memories into no cache ram
  • Update fatfs port
  • Update readme and doc
  • Update hpm demo

Device

  • Fix hid duration
  • Add msc readonly support
  • Fix video head toggle process
  • Update dfu and rndis class driver
  • Add usb_deinit function

Host

  • Refactor usb host stack
  • Complete and optimise hub processs
  • Add uvc class support
  • Add mult support
  • Add interface altsettings support

Port

  • Update ehci driver, add iso support for high speed
  • Add xhci driver support
  • Update nrf5x dcd driver
  • Fix dwc2 dcd driver ep_mps overflow in high speed,move out cmsis dependence
  • Add bcdr register for fsdev