| Age | Commit message (Collapse) | Author |
|
Class drivers: skip and account the SS endpoint companion descriptor in
every descriptor walk (hid, midi, midi2, ecm_rndis, printer, mtp, usbtmc),
via a shared usbd_skip_ss_ep_companion() helper in usbd_pvt.h (cdc/ncm
already handled; vendor/dfu naturally tolerant). usbtmc buffer grows to
1024 at SS to satisfy its packet-multiple assert. bth/audio/video are left
FS/HS-only (ISO-centric; ISO is unsupported on the CH569 dcd).
usbd.h: new SS template macros TUD_HID_SS_DESCRIPTOR(+INOUT),
TUD_MIDI_SS_DESCRIPTOR (+ DESC_EP_SS part), TUD_MIDI2_DESC_ALT1_EP_SS,
TUD_PRINTER_SS_DESCRIPTOR, TUD_MTP_SS_DESCRIPTOR,
TUD_USBTMC_BULK_SS_DESCRIPTORS/INT_SS_DESCRIPTOR, with _SS_DESC_LEN
counterparts (bulk endpoints hardcode 1024, companion after every EP).
Examples: 17 bulk/interrupt examples gain the full SS descriptor set
(EP0 512/64 clamp, SS device descriptor bcdUSB 3.20 mps0=2^9, SS config
with companions, BOS caps, speed-switched callbacks): cdc_dual_ports,
cdc_msc_freertos, dfu, dfu_runtime, dynamic_configuration,
hid_boot_interface, hid_composite(+freertos), hid_generic_inout,
hid_multiple_interface, midi_test(+freertos), midi2_device, msc_dual_lun,
mtp, printer_to_cdc, usbtmc, webusb_serial. msc_dual_lun is un-skipped for
CH569 using read-only flash disks (16KB RAM can't hold two 8KB RAM disks,
same as ch32v10x/v20x boards).
Validation: full example sweep green for hydrausb3_v1 (SPEED=super, 19
device ELFs) and raspberry_pi_pico; wTotalLength == sizeof() verified for
every SS configuration array in the built ELFs; ceedling 65/65;
pre-commit clean; code-size delta +0.0% on rp2040 (SS code folds out on
non-SS builds).
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_019MRGjBT2NBkCoWwyDT4LaE
|
|
* license: use SPDX identifiers for src/ headers
Replace the full ~20-line MIT license boilerplate on every src/ file with a
two-line SPDX tag (SPDX-FileCopyrightText + SPDX-License-Identifier), following
the REUSE convention used by CircuitPython and the Linux kernel. Removes ~3500
lines of duplicated boilerplate.
|
|
for clarity and flexibility
|
|
|
|
The existing tud_midi_n_stream_read() accepts a cable_num parameter but
ignores it — all cables share a single FIFO and stream parser state, so
data from different virtual cables is silently mixed together.
Add tud_midi_n_demux_stream_read() which returns the cable number of the
data that was actually read. It peeks at each USB-MIDI event packet
header before consuming it and stops when the next packet belongs to a
different cable, allowing callers to dispatch per-cable without losing
data.
Implementation details:
- Mirrors the host-side tuh_midi_stream_read() approach: tu_edpt_stream_peek
for cable inspection, CIN-based byte count (USB MIDI 1.0 Table 4-1),
leftover handling via existing midi_driver_stream_t
- *p_cable_num initialized to 0xff sentinel so callers can detect
"no data" even when return value is 0
- Cable-change check (total_read > 0 guard) covers both leftover-originated
reads and freshly consumed packets
- TU_VERIFY uses explicit != NULL comparisons, consistent with codebase style
- Note: shares stream->buffer with tud_midi_n_stream_read(); do not mix
calls on the same interface
- Adds single-interface convenience wrapper tud_midi_demux_stream_read()
Closes #1838
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
|
|
|
|
|
|
|
|
tu_edpt_stream_open() does not clear fifo, allow for persistent stream when disconnect/reconnect
|
|
also add tud_midi_n_packet_write/read_n()
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
change tuh_midi_rx/tx_cb() to have xferred_bytes
rename tuh_midi_get_num_rx/tx_cables() to tuh_midi_get_rx/tx_cable_count()
use default empty callback instead of weak null to be compatible with keil compiler
|
|
- rename midi_stream_t to midi_driver_stream_t and move to midi.h (common for device and host)
|
|
|
|
# Conflicts:
# hw/bsp/rp2040/family.cmake
# src/class/midi/midi.h
# src/class/midi/midi_device.c
# src/device/usbd_control.c
# src/host/hcd.h
# src/host/usbh.c
# src/host/usbh.h
|
|
|
|
|
|
- add device/midi_test_freertos example
- update bth/dfu/midi device for cache line size
|
|
|
|
CFG_TUD_MEM_SECTION is default to CFG_TUSB_MEM_SECTION
|
|
temporarily disable codespell
|
|
fix: Replace device calls to memcpy with tu_memcpy_s
|
|
|
|
|
|
Introduces a new function tu_memcpy_s, which is effectively
a backport of memcpy_s. The change also refactors calls
to memcpy over to the more secure tu_memcpy_s.
|
|
|
|
|
|
remove the usage of TUD_OPT_RHPORT in class driver
|
|
TUSB_OPT_DEVICE_ENABLED still usable for backward compatible
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
more data from usb fifo
|
|
|
|
also add deprecated for warning and rename hint
|
|
|
|
|
|
rename
|
|
|
|
|
|
|
|
|
|
Adjust all USB drivers using FIFO and mutexes.
|