Commit Graph

138 Commits

Author SHA1 Message Date
9418aba918 misc fixes 2026-07-19 20:38:54 +08:00
c887bd907c Bump version to 0.21.0; rework changelog, contributors, and docs
Release:
- Bump version to 0.21.0 and regenerate tusb_option.h, library.json,
  repository.yml, sonar-project.properties, boards.rst, dependencies.rst
- Add 0.21.0 release notes and split the changelog into per-release files
  under docs/info/changelog/ (date out of title, driver/class groups as
  sub-headings, DCD & HCD section after Device/Host stacks)

Contributors:
- Credit each release's PR authors in a Contributors section
- Drop the curated contributors page; add MAINTAINERS.rst

Docs:
- Update Code of Conduct to Contributor Covenant 3.0 (keep it in the repo,
  remove it from the built docs)
- Sidebar: add a home entry, rename the group to "Documentation", move
  Changelog into it, add a GitHub Sponsor button, merge external links,
  rename FAQ; hide the inline toctree on the landing page
- Add the make-release skill and update the AGENTS.md release process

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 23:38:01 +07:00
8ee82a55c9 bsp/stm32h5: fix uart definition
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-27 12:53:53 +02:00
eda704ca1a hw/bsp+wch: rename the CH58x family to ch583 and OPT_MCU_CH58X to OPT_MCU_CH583
The BSP family and MCU option were named "ch58x"/"CH58X", but the supported part is
the CH583/CH582 (and the SDK repo is openwch/ch583); CH585 is a separate MCU family,
so the CH58x umbrella was misleading. Rename to the specific family:

- hw/bsp/ch58x -> hw/bsp/ch583 (dir), and the BSP-local files ch58x_it.* ->
  ch583_it.*, system_ch58x.* -> system_ch583.* (include guards/refs updated). The
  vendor SDK files (CH58x_common.h, CH58x_*.c in hw/mcu/wch/ch583) keep their names.
- OPT_MCU_CH58X -> OPT_MCU_CH583 in tusb_option.h, tusb_mcu.h, and the shared WCH
  USBFS driver (ch32_usbfs_reg.h, dcd_ch32_usbfs.c). OPT_MCU_CH582 is kept as an
  alias (same value), so either name selects the same code.
- FAMILY_MCUS CH58X -> CH583, CFG_TUSB_MCU=OPT_MCU_CH583, mcu:CH58X -> mcu:CH583 in
  the example skip lists, the CI build matrix (ci_set_matrix.py), the get_deps family
  tag, and docs/reference/boards.rst.

Board names (ch582m_evt, yd-ch582m) are unchanged. Verified: make + cmake build for
ch582m_evt, and ci.lan HIL (all device examples pass).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 15:23:08 +07:00
953abfb393 Merge remote-tracking branch 'origin/master' into add-ch58x-usbfs 2026-06-18 15:31:03 +07:00
5145b67f79 Merge remote-tracking branch 'origin/master' into stm32c5
# Conflicts:
#	README.rst
2026-06-11 17:20:15 +07:00
f19c01216f docs: revert USBFS non-ISO transfer qualification in device_issues
Restore original "Other types of transfers are not affected" statement,
removing the conditional USBHS_INT_BUSY_EN / USBFS-unconfirmed wording.

Co-authored-by: Zixun LI <HiFiPhile@users.noreply.github.com>
2026-06-02 16:59:14 +00:00
ff3fef931d docs: fix review issues in device_issues and README
- Remove duplicate toctree entry for reference/device_issues from docs/index.rst
  (already included via docs/reference/index.rst)
- Fix WCH section title: CH32V10X/CH32V20X/CH32V30X → CH32F20x/CH32V20x/CH32V30x
  to match the three actual README table entries (CH32F20x, CH32V20x, CH32V305/307)
- Update README anchor links to match the renamed section
- Qualify USBFS non-ISO transfer safety claim: USBHS is protected by
  USBHS_INT_BUSY_EN but USBFS behavior is not yet confirmed
- Fix LPC54600 note: "read errata" → "see device issues"
- Remove "totally" from LPC54600 description

Co-authored-by: Ha Thach <hathach@users.noreply.github.com>
2026-06-02 16:01:23 +00:00
64af21f930 Merge remote-tracking branch 'tinyusb/master' into ch32_warning
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-02 11:03:50 +02:00
e35b070dae rename to device issues
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-06-02 10:43:55 +02:00
d4aa0dd653 Merge remote-tracking branch 'tinyusb/master' into stm32c5
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-05-24 18:46:26 +02:00
4baf1883c1 midi2: convert to raw Tx FIFO for better segmentation handling, add count to packet api
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-05-18 23:07:49 +02:00
fa9edeff9c fix: address PR review feedback for MIDI 2.0 drivers
Host driver (midi2_host.c):
- midih2_open() now returns actual parsed length instead of max_len,
  preventing composite device interface conflicts
- Parsers (alt0/alt1) refactored to return const uint8_t* end pointer
  following midi_host.c switch/case pattern
- Alt 1 CS Endpoint now parses MIDI 2.0 layout (bNumGrpTrmBlk at
  offset 3 with MIDI_CS_ENDPOINT_GENERAL_2_0 subtype check) instead
  of reusing MIDI 1.0 struct (bNumEmbMIDIJack)
- midih2_set_config() now issues SET_INTERFACE control request via
  tuh_interface_set() before completing configuration. Falls back to
  alt 0 if SET_INTERFACE fails
- Extracted midih2_set_config_complete() and midih2_set_interface_cb()
  for async SET_INTERFACE handling

Device driver (midi2_device.c):
- midi2d_open() skip loop now checks bInterfaceNumber, stopping at
  interfaces that belong to other functions in composite devices
- SET_INTERFACE handler now rejects alt > 1 (returns false/stall)
- Named constants for GTB descriptor types and MIDI protocol values

Descriptor macros (usbd.h):
- TUD_MIDI2_DESC_ALT1_HEAD: iInterface set to 0 (consistent with
  Alt 0), wTotalLength now uses TUD_MIDI2_DESC_ALT1_CS_LEN to cover
  all Alt 1 class-specific descriptors
- TUD_MIDI2_DESC_ALT1_EP: now accepts GTB ID list via variadic args,
  emitting complete CS endpoint descriptor

Host example:
- CMakeLists.txt restricted to rp2040 family (display.c requires
  Pico SDK headers)
- display.c: null terminator after strncpy in log scroll

Documentation:
- class_drivers.rst updated to reflect SET_INTERFACE behavior and
  auto-select with fallback

Addresses: Codex P1 (#1, #2, #3), Copilot (#4-#9)
2026-05-12 11:07:44 -03:00
77cef83304 test: add MIDI 2.0 Device and Host unit tests
Add unit tests for MIDI 2.0 drivers:
- Device: UMP word count (all 16 message types), descriptor macro
  validation (length, byte layout, alt settings, endpoints),
  CS endpoint subtypes, traversal integrity
- Host: UMP word count, callback struct validation, CS endpoint
  subtypes

Also add Sphinx documentation for MIDI 2.0 class drivers (Device
and Host API reference, lifecycle, configuration, examples).

Tests: 60/60 PASS (FIFO 26/26, USBD 5/5, MIDI2 Device 18/18,
MIDI2 Host 6/6, USBD internal 5/5)
2026-05-12 11:07:44 -03:00
5ea1979e29 add stm32c5 support
Signed-off-by: HiFiPHile <admin@hifiphile.com>
2026-05-10 14:17:00 +02:00
c1e6b2635f fix(docs): update URL for STM32C071 Nucleo board documentation 2026-04-16 10:40:42 +02:00
a39e9cdf2c Add initial board support for nRF54LM20 DK 2026-04-09 11:08:39 +07:00
d8994a3018 Revert "Make driver init() function optional" 2026-03-23 11:46:16 +07:00
ebd18f5efa Update documentation 2026-03-22 14:20:37 +01:00
20fdaeef6c ch58x: fix MCU macro naming and add get_deps/boards entries 2026-03-18 15:23:28 +08:00
c5e3098c37 update rx65n_target: correct pin configuration and remove unused USB interrupt definitions 2026-03-14 12:58:41 +07:00
e2ead60107 add ft9xx-gcc toolchain support to CI 2026-03-13 23:07:46 +07:00
7ce1e78204 actual build make/cmake for ft9xx 2026-03-13 18:11:59 +07:00
5794e50c37 rename and migrate kinetis_k32l to new mcux-devices 2026-03-13 11:46:53 +07:00
7a4e3d0821 bsp: add STM32H747-DISCO
Signed-off-by: HiFiPhile <admin@hifiphile.com>
Signed-off-by: Zixun LI <admin@hifiphile.com>
2026-01-14 09:51:11 +01:00
104d3f2545 bsp: add TI EK-TM4C1294XL
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2026-01-14 00:21:52 +01:00
239e20ba73 support for the AT32F45X series 2025-12-30 10:44:03 +08:00
a1ae5b20cc update doc 2025-11-11 10:53:39 +07:00
418239a216 add missing class driver callbacks 2025-10-20 21:14:28 +02:00
82aa46d8ea more consolidation 2025-10-20 21:08:13 +02:00
39e2e5167c improved getting_started, integrated "first device/host" 2025-10-20 21:07:31 +02:00
75f2a8451e improve flow 2025-10-20 21:07:06 +02:00
e7b851d9ac Naming conventions, buffer handling 2025-10-20 21:07:06 +02:00
e4ff88f364 WIP improved docs (feat. LLM) 2025-10-20 21:07:04 +02:00
38255ffc38 Merge pull request #3299 from hathach/initial-nrf54h20
Initial nrf54h20 support
2025-10-14 14:22:45 +07:00
84f0cda013 rename pca10056 to nrf52840dk, pca10059 to nrf52840dongle 2025-10-13 14:53:28 +07:00
5a82112f5a docs: fix .rst links to use Sphinx :doc: role for proper HTML generation
Co-authored-by: hathach <249515+hathach@users.noreply.github.com>
2025-10-09 05:50:55 +00:00
b18a8fbcd5 update for release 0.19.0 2025-10-03 22:12:11 +07:00
6d32256188 HIL add timeout for opening mtp device 2025-10-02 10:43:55 +07:00
8206002dba update docs
Signed-off-by: Mengsk <admin@hifiphile.com>
2025-09-30 16:23:58 +02:00
ba36df6233 fix warnings, update docs 2025-09-12 11:27:31 +07:00
9135977074 rename stm32wba eval to nucleo
use local linker to fix READONLY keyword with clang
add wba to ci build
2025-09-12 11:27:07 +07:00
19f67ffc22 Initial STM32WBARI eval support
Clean up includes definitions

Remove wait that is not required

Remove redundant settings

Clean up clock configuration to look like other modules

Remove MSP_Init that is not required

Clean up driver code

dhcp: Fix DHCP_OFFER/DHCP_ACK destinaton.

In RFC 2131, the destination of DHCP OFFER/ACK is defined in Section 4.1.
Fix the destination error by following the rule of RFC 2131.
TODO: We implement all rule but the last one. ARP table is required to associate client's macaddr.
Currently, fallback to broadcast.

Signed-off-by: Elwin Huang <s09289728096@gmail.com>

Fix compile error.

Fix goto indentation

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

Fix osal_spin_unlock for mynewt

Mynewt version for osal_spin_unlock() called
OS_ENTER_CRITICAL instead of OS_EXIT_CRITICAL.

Signed-off-by: Jerzy Kasenberg <jerzy@apache.org>

Add ESP32-C5 and ESP32-C61 definitions

fix(dcd/dwc2): Fix reset procedure for versions >=4.20a

Fix STM32L4 GPIOD clock enable for variants without GPIOD

Add weact blackpill support

Add to boards.rst file

Fix file

Small cleanups.

Insert small delay for LowSpeed device

Improve retry operation at NAK response.

Remove dynamic memory allocation

use tusb_time_millis_api() instead of board_millis()
make loopdelay() always inline

update at32f405 dwc2 info and phy width selection

add at32f415 dwc2 info

add some consumer page configs

remove duplicated enum

Initial plan

Fix obsolete cnt assignment in _tu_fifo_peek() overflow check

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

Initial plan

Update STM32 CMSIS dependencies to fix HSITRIM register bug

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

Remove accidentally committed dependency directories

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

Update all STM32 HAL driver dependencies to latest versions

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

fix linker h745 issue with clang

fix linker h745 issue with clang

Update all STM32 CMSIS device dependencies to latest versions

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

update pio-usb

Create comprehensive GitHub Copilot instructions and fix pre-commit configuration for TinyUSB (#3234)

* Initial plan

* Create comprehensive GitHub Copilot instructions for TinyUSB

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Remove accidentally committed dependencies, use tools/get_deps.py instead

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Fix .gitignore: ignore vendor/ directory not ceedling script

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Revert .gitignore changes and add README_processed.rst

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Remove README_processed.rst and revert ceedling file permissions

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Changes before error encountered

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* Remove redundant manual validation step, keep only pre-commit and build validation

Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

* fix pre-commit

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: hathach <249515+hathach@users.noreply.github.com>

modified the bsp files of at32 to make them work better

the family name error of at32 has been corrected

fix pre-commit

STM32N6570-DK board is added. Build with DEBUG=1 (make BOARD=stm32n6570dk DEBUG=1 all), otherwise it does not work for now. Tested with examples/device/cdc_dual_ports
2025-09-10 11:12:49 -07:00
059236998e Merge pull request #3226 from armusin/stm32n6570-dk
STM32N6570-DK support is added
2025-09-08 12:18:41 +07:00
3b983cb3e9 the family name error of at32 has been corrected 2025-09-05 09:57:38 +08:00
f6ca80ab13 modified the bsp files of at32 to make them work better 2025-09-04 14:38:27 +08:00
eda5c3a5d1 STM32N6570-DK gets listed in boards.rst 2025-08-24 17:21:20 +04:00
24e596b977 Fix file 2025-08-10 13:38:12 +08:00
4a78e4c861 Add to boards.rst file 2025-08-10 13:29:41 +08:00
9290788a23 add at32 to README.rst, rename at32 board to lower case, correct name to match mcu, add meta data 2025-08-01 22:10:12 +07:00