summaryrefslogtreecommitdiff
path: root/examples/device/printer_to_cdc/src
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2026-04-28 22:02:31 +0700
committerGitHub <[email protected]>2026-04-28 22:02:31 +0700
commit4a4420cd070f4460f6f5ed3c17011d78c325d7c0 (patch)
tree7595327abe8468e63eb470bf73a4531fb1c87495 /examples/device/printer_to_cdc/src
parent4c7fd70e53b34bf63ef9334f2b5624cac48299f1 (diff)
parentf2654a675b67b0b83337dd4df13afd498c3a0809 (diff)
Merge pull request #3605 from hathach/musb-followup-3594
Enhance dcd musb, double packet, refactor EP0, fix DATAEND race with EP0
Diffstat (limited to 'examples/device/printer_to_cdc/src')
-rw-r--r--examples/device/printer_to_cdc/src/usb_descriptors.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/examples/device/printer_to_cdc/src/usb_descriptors.c b/examples/device/printer_to_cdc/src/usb_descriptors.c
index 30d309ed4..db7bfe97a 100644
--- a/examples/device/printer_to_cdc/src/usb_descriptors.c
+++ b/examples/device/printer_to_cdc/src/usb_descriptors.c
@@ -67,12 +67,21 @@ uint8_t const *tud_descriptor_device_cb(void) {
//--------------------------------------------------------------------+
// Endpoint numbers
-#if defined(TUD_ENDPOINT_ONE_DIRECTION_ONLY)
- #define EPNUM_CDC_NOTIF 0x81
- #define EPNUM_CDC_OUT 0x02
- #define EPNUM_CDC_IN 0x83
- #define EPNUM_PRINTER_OUT 0x04
- #define EPNUM_PRINTER_IN 0x85
+#if CFG_TUD_ENDPOINT_ONE_DIRECTION_ONLY
+ #if TU_CHECK_MCU(OPT_MCU_MAX32650, OPT_MCU_MAX32666, OPT_MCU_MAX32690, OPT_MCU_MAX78002)
+ // Put bulk on EP>=8 so the 2048/4096-byte FIFOs can back double packet buffering
+ #define EPNUM_CDC_NOTIF 0x81
+ #define EPNUM_CDC_OUT 0x08
+ #define EPNUM_CDC_IN 0x89
+ #define EPNUM_PRINTER_OUT 0x0A
+ #define EPNUM_PRINTER_IN 0x8B
+ #else
+ #define EPNUM_CDC_NOTIF 0x81
+ #define EPNUM_CDC_OUT 0x02
+ #define EPNUM_CDC_IN 0x83
+ #define EPNUM_PRINTER_OUT 0x04
+ #define EPNUM_PRINTER_IN 0x85
+ #endif
#else
#define EPNUM_CDC_NOTIF 0x81
#define EPNUM_CDC_OUT 0x02