Commit Graph

1486 Commits

Author SHA1 Message Date
0d080ca7ba Delete debugging printf 2025-07-23 06:42:05 -07:00
673a916cd0 Fix #3159: Handle MIDI interface descriptor after audio streaming interface 2025-07-23 06:42:05 -07:00
18626857f0 Fix compilation when CH34X support is disabled 2025-07-15 23:00:39 -04:00
e9a78c52d0 add tud_msc_inquiry2_cb() for full inquiry response 2025-07-11 15:24:17 +07:00
04fb5873ef Merge pull request #3165 from hathach/codex/find-and-fix-a-codebase-bug
Fix HID descriptor parsing of 4‑byte items
2025-07-09 12:04:10 +07:00
5eb68a3c87 Add spec reference for 4-byte HID item size 2025-07-09 11:27:23 +07:00
59b55898d9 fix HID parser variable size handling 2025-07-09 11:27:06 +07:00
2908995c4c minor reformat code 2025-07-08 11:05:16 +07:00
a56f55c10b Merge remote-tracking branch 'origin/master' into xfer_isr
# Conflicts:
#	examples/device/audio_4_channel_mic_freertos/src/main.c
#	examples/device/audio_test_freertos/src/main.c
#	src/class/audio/audio_device.c
2025-07-08 10:09:24 +07:00
1a41445b17 Fix HID descriptor parser size handling 2025-07-08 09:51:02 +07:00
9990e4bf0c Merge pull request #2963 from HiFiPhile/stm32_cache
Add DWC2 cache maintenance routines for STM32
2025-07-07 22:02:30 +07:00
7b995267d6 update 2025-07-07 15:46:37 +08:00
59a3720795 fixed CFG_TUD_VENDOR > 1 vendord_open tud_vendor_n_write_flush
tud_vendor_n_write_flush argument should be 0,1,2,..., but
p_vendor - _vendord_itf is 0, sizeof(vendord_interface_t), 2*sizeof(vendord_interface_t), ...
2025-07-07 00:26:12 +08:00
970c8b744e Merge branch 'master' into fork/HiFiPhile/stm32_cache 2025-07-03 17:07:52 +07:00
41606a533d make notify API and memory configurable with CFG_TUD_CDC_NOTIFY
add tud_cdc_n_notify_conn_speed_change()
add tud_cdc_notify_complete_cb()
2025-07-03 13:42:05 +07:00
cf3966efd9 Merge branch 'master' into fork/HiFiPhile/dcd_notif 2025-07-02 18:18:52 +07:00
c96cc4369f defer proc_async_io_done() 2025-07-01 22:17:38 +07:00
216a35e59a update example 2025-07-01 21:48:28 +07:00
d22cbe4cb5 refactor async io, add in_isr argument to tud_msc_async_io_done()
use cbw.command[0] for pending IO command
2025-07-01 20:13:21 +07:00
77e142ed76 Merge branch 'master' into fork/HiFiPhile/async_io 2025-06-30 21:09:40 +07:00
cd96277bdc Merge pull request #2488 from IngHK/cdch_upgrade
CHCh Upgrade: Improved FTDI and CP210x support, add PL2303 support, bugfixes
2025-06-27 21:47:13 +07:00
d86362414e clean up 2025-06-27 21:17:30 +07:00
0194b8434f use enum buf for process_set_config for ch34x and pl2303 2025-06-27 17:27:09 +07:00
f4d049e61b update acm and pl2303 to match the rest of drivers 2025-06-27 17:09:11 +07:00
8b5d703f74 major refactor to generalize cdch serial driver
- add common 2 stage set line coding for driver without direct set_line_coding support e.g ftdi, cp210x, ch34x
- add common cdch_process_line_state_on_enum() to handle cfg line state on enum e.g CFG_TUH_CDC_LINE_CONTROL/CODING_ON_ENUM
- refactor cdch_internal_control_complete and user_complete_cb to be managed by tuh_cdc_ API instead of serial driver
2025-06-27 15:57:18 +07:00
2843eb4052 audio_device: Fix data IN endpoints with implicit feedback 2025-06-26 22:38:43 +02:00
d789a87a7d Merge branch 'master' into async_io
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-22 17:19:08 +02:00
470e12febc refactor, add cdch_internal_control_complete() 2025-06-20 17:25:58 +07:00
900d0d974b refactor change signature of serial driver's process_set_config
adding serial driver's request_complete()
2025-06-20 17:04:40 +07:00
adf6cbfe03 cdch clean up and refactor, add explicit sync() API 2025-06-20 12:52:34 +07:00
221b5288e4 union ftdi/pl2303/acm data to save memory. 2025-06-19 18:14:24 +07:00
ce9140a150 rename tuh_cdc_get_local_line_coding to tuh_cdc_get_line_coding_local
add tuh_cdc_get_control_line_state_local()
implement tuh_cdc_get/set_dtr/rts() as inline
2025-06-19 17:57:21 +07:00
fa3ec44533 revert CFG_TUH_CDC_DTR/RTS_CONTROL_ON_ENUM 2025-06-19 17:22:26 +07:00
ec1a26251d clean up pl2303 type data 2025-06-19 17:05:21 +07:00
2adb305ea7 house keeping 2025-06-19 15:30:02 +07:00
9503883ba7 usbh: add new API tuh_descriptor_get_device_local()
cdc host: remove the local desc_dev and the get_device descriptor call for ftdi and pl2303
2025-06-18 23:44:03 +07:00
506edc6267 add get_itf_by_xfer() to better determine cdc interface from xfer complete callback 2025-06-18 18:55:31 +07:00
d4abf43f22 add common cdch_process_set_config() to safely complete set_config() when it failed.
driver_process_set_config() also pass drv index with user_data
2025-06-17 22:16:13 +07:00
4a44dd5c47 Merge branch 'master' into fork/IngHK/cdch_upgrade
# Conflicts:
#	README.rst
#	docs/reference/index.rst
#	src/class/cdc/cdc_device.c
#	src/class/cdc/cdc_host.c
2025-06-16 11:08:01 +07:00
1a36a1c1af audio: remove FIFO mutex, as audio streaming is always single producer single consumer
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-14 22:46:51 +02:00
eed294fbb5 audio: move ISO transfers into xfer_isr
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-14 22:46:51 +02:00
ea02e929b4 audio: buffer macro update
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-13 22:49:06 +02:00
e95973d346 Merge pull request #3137 from HiFiPhile/uac_simplify
uac2: remove support fifo
2025-06-12 22:18:17 +07:00
1ccb10e3f1 Fix ECM compile
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-06-08 13:53:23 +02:00
dc0038f614 uac2: remove support fifo
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2025-05-29 13:56:46 +02:00
9021efcacb Add link state control support for ECM mode
Extends the link state control feature to CDC-ECM mode.
RNDIS mode prints state changes but doesn't send notifications
to the host yet (would require RNDIS_INDICATE_STATUS_MSG).

For ECM:
- Tracks link state and sends proper CDC notifications
- Handles notification endpoint busy conditions
- Only sends connection notification when link is actually up

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 09:36:38 +10:00
5de4a23abe Add USB NCM link state control support
This adds the ability to dynamically control the network link state
for NCM devices. The host OS will see the network interface as
connected/disconnected based on the link state.

New API:
- tud_network_link_state(rhport, is_up): Set link up/down state

Example updates:
- Added button control to toggle link state
- Fixed LWIP integration to properly handle link state changes
- Added printf to show correct protocol (NCM vs RNDIS/ECM)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-29 09:36:38 +10:00
67389f37f2 follow up to pr3118, interface also end with IAD. Add more checks 2025-05-16 16:39:53 +07:00
531fb69531 Merge pull request #3118 from ZakDanger/vendor_device_fix
vendor device open fix for descriptor parsing
2025-05-16 10:25:28 +02:00
baf67539fc fix warnings, minor clean up 2025-05-13 12:16:22 +07:00