add new tusb_int_handler(rhport, in_isr) as common irq handler

update tusb_init() to take rhport and role, defined as macro with optional argument for backward compatible
This commit is contained in:
hathach
2024-10-10 16:22:12 +07:00
parent ffdf81f53a
commit 57aac432b5
59 changed files with 192 additions and 286 deletions

View File

@@ -86,7 +86,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -209,7 +209,7 @@ void usb_device_task(void* param)
// init device stack on configured roothub port
// This should be called after scheduler/kernel is started.
// Otherwise it could cause kernel issue since USB IRQ handler does use RTOS queue API.
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -79,7 +79,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -156,7 +156,7 @@ void usb_device_task(void* param)
// init device stack on configured roothub port
// This should be called after scheduler/kernel is started.
// Otherwise it could cause kernel issue since USB IRQ handler does use RTOS queue API.
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -97,7 +97,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -30,11 +30,6 @@
extern "C" {
#endif
// board_test example is special example that doesn't enable device or host stack
// This can cause some TinyUSB API missing, this define hack to allow us to fill those API
// to pass the compilation process
#define tud_int_handler(x)
//--------------------------------------------------------------------
// COMMON CONFIGURATION
//--------------------------------------------------------------------

View File

@@ -52,7 +52,7 @@ int main(void) {
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -51,7 +51,7 @@ int main(void) {
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -132,7 +132,7 @@ static void usb_device_task(void *param) {
// init device stack on configured roothub port
// This should be called after scheduler/kernel is started.
// Otherwise it could cause kernel issue since USB IRQ handler does use RTOS queue API.
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -46,7 +46,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
#if (CFG_TUSB_MCU == OPT_MCU_RP2040)
stdio_init_all();

View File

@@ -75,7 +75,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -70,7 +70,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -57,7 +57,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -57,7 +57,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -58,7 +58,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -136,7 +136,7 @@ void usb_device_task(void* param)
// init device stack on configured roothub port
// This should be called after scheduler/kernel is started.
// Otherwise it could cause kernel issue since USB IRQ handler does use RTOS queue API.
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -81,7 +81,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -62,7 +62,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -63,7 +63,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -54,7 +54,7 @@ int main(void) {
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -216,7 +216,7 @@ int main(void) {
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -100,7 +100,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -106,7 +106,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -55,7 +55,7 @@ int main(void)
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -68,7 +68,7 @@ int main(void) {
freertos_init_task();
#else
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();
@@ -319,7 +319,7 @@ void usb_device_task(void *param) {
// init device stack on configured roothub port
// This should be called after scheduler/kernel is started.
// Otherwise, it could cause kernel issue since USB IRQ handler does use RTOS queue API.
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -68,7 +68,7 @@ int main(void) {
freertos_init_task();
#else
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();
@@ -327,7 +327,7 @@ void usb_device_task(void *param) {
// init device stack on configured roothub port
// This should be called after scheduler/kernel is started.
// Otherwise, it could cause kernel issue since USB IRQ handler does use RTOS queue API.
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();

View File

@@ -91,7 +91,7 @@ int main(void) {
board_init();
// init device stack on configured roothub port
tud_init(BOARD_TUD_RHPORT);
tusb_init(BOARD_TUD_RHPORT, TUSB_ROLE_DEVICE);
if (board_init_after_tusb) {
board_init_after_tusb();