From 4469398272d78adb81968178276180f16cc8e647 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Wed, 18 Sep 2024 11:18:02 -0600 Subject: fixes for arm? --- usb_common.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'usb_common.c') diff --git a/usb_common.c b/usb_common.c index 65882b2..f10ace8 100644 --- a/usb_common.c +++ b/usb_common.c @@ -8,7 +8,7 @@ #include /* memcpy(newlib) */ #include /* for assert(newlib) */ #include /* for malloc(pico_malloc), realloc(pico_malloc), reallocarray(pico_malloc) */ -#include "bsp/board_api.h" /* for board_usb_get_serial(TinyUSB) */ +#include "bsp/board_api.h" /* for board_init(), board_init_after_usb(), board_usb_get_serial(TinyUSB) */ #include "tusb.h" /* for various tusb_*_t types */ #include "tusb_helpers.h" /* for LANGID_*, TU_UTF16() */ @@ -71,7 +71,7 @@ uint16_t const *tud_descriptor_string_cb(uint8_t strid, uint16_t langid) { uint8_t cfgnum_std = 0; -void usb_common_init(void) { +void usb_common_earlyinit(void) { if (cfgnum_std) return; cfgnum_std = usb_add_config( @@ -80,6 +80,25 @@ void usb_common_init(void) { 100); /* bMaxPower (in mA) ; Maximum power consumption of the device when in this configuration */ } +void usb_common_lateinit(void) { + board_init(); + tud_init(BOARD_TUD_RHPORT); + if (board_init_after_tusb) + board_init_after_tusb(); +} + +COROUTINE usb_common_cr(void *_arg) { + (void) _arg; + cr_begin(); + + for (;;) { + tud_task(); + cr_yield(); + } + + cr_end(); +} + /* Main utilities *************************************************************/ static uint8_t configc = 0; -- cgit v1.2.3-2-g168b