| Age | Commit message (Collapse) | Author |
|
# Conflicts:
# lib/rt-thread/port/msc_device_port.c
# src/device/usbd.c
|
|
dcd_edpt_iso_alloc/activate were unimplemented stubs. Since samd is an ISO_ALLOC
port, the stack routes ISO endpoints through them, so every ISO endpoint open
failed: SET_CONFIGURATION with an ISO endpoint returned -EPIPE (can't set config)
and audio SET_INTERFACE(alt=1) stalled at usbd_edpt_iso_activate(). This was
misdiagnosed as a samd51 hardware ISO limitation; it is not.
Implement them mirroring dcd_edpt_open()'s per-direction setup: iso_alloc fixes
the endpoint bank SIZE bucket for the largest packet size (persists across
altsettings); iso_activate sets EPTYPE=ISO, clears stall + data toggle, enables
the transfer-complete interrupt.
metro_m4_express now passes the full usbtest battery 30/30 (was: SET_CONFIG
failed), including ISO 15/16/22/23.
Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01HeF2gZ1M7GWkz6Av4BpKPg
|
|
* 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.
|
|
copilot/fix-dcd-edpt-xfer-issue
Signed-off-by: HiFiPhile <[email protected]>
|
|
as default driver implementation. dcd_edpt_close() is deprecated and will be removed from all driver in the future.
|
|
Co-authored-by: Copilot <[email protected]>
|
|
Co-authored-by: HiFiPhile <[email protected]>
|
|
OPT_MCU_SAML22
|
|
enable host example build for samd21/d51
|
|
|
|
* change TUD_EPBUF_TYPE_DEF order
* add and fix -Wmissing-prototypes warnings for cmake (skip make)
|
|
|
|
|
|
consistent
|
|
|
|
|
|
Allow more endpoint packet sizes for SAMD
|
|
This PR fixes a transmit lock-up, which happens, when data is received
and sent at the sime time at moderate to high speeds, like code
which just echoes incoming data.
In my case, an issue was reported here:
https://github.com/micropython/micropython/issues/8521
|
|
Tested on SAMD51 - we can allow more packet sizes by checking that the set size value is greater than the requested packet size instead of exactly the same.
|
|
Not having this prevents the device from finishing the mounting process.
Tested on a SAMD51 and didn't seem to need to actually do anything in the close function.
|
|
|
|
TUSB_OPT_DEVICE_ENABLED still usable for backward compatible
|
|
|
|
required to pass one of msc test.
|
|
correctly responded to TD 9.13 Set Configuration Test
|
|
|
|
|
|
|
|
|
|
|
|
increase setup packet size from 8 to 12, since USB DMA controller is
suspected to overflow the buffer with 2 extra bytes
|
|
skip ci build for example that need more ROM/RAM could fit into SAMD11
|
|
reproduced with Adafruit_TinyUSB_ArduinoCore port commit 11d669b4d2a40eb2fc5e51b2a9707a6de9d42363 and SAMD BSP 1.6.1
|
|
|
|
|
|
setup packet can complete together with previous status (in & out).
Always make sure to prepare valid buffer for holding setup packet when
queuing control status.
|
|
|
|
|
|
|
|
|
|
|
|
tud_isr() must be called by application to forward the irqhandle to the
stack
|
|
|
|
|
|
|