Skip to content

Commit b75db44

Browse files
committed
samd: convert usb to background task
1 parent 3dfc3cb commit b75db44

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

ports/atmel-samd/background.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ void run_background_tasks(void) {
8585
network_module_background();
8686
#endif
8787
filesystem_background();
88-
usb_background();
8988
running_background_tasks = false;
9089
assert_heap_ok();
9190

ports/atmel-samd/supervisor/usb.c

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@
2929
#include "hpl/gclk/hpl_gclk_base.h"
3030
#include "hal_gpio.h"
3131
#include "lib/tinyusb/src/device/usbd.h"
32+
#include "supervisor/background_callback.h"
33+
#include "supervisor/usb.h"
34+
35+
static background_callback_t callback;
36+
static void usb_background_do(void* unused) {
37+
usb_background();
38+
}
3239

3340
void init_usb_hardware(void) {
3441
#ifdef SAMD21
@@ -62,23 +69,28 @@ void init_usb_hardware(void) {
6269
#ifdef SAMD21
6370
void USB_Handler(void) {
6471
tud_int_handler(0);
72+
background_callback_add(&callback, usb_background_do, NULL);
6573
}
6674
#endif
6775

6876
#ifdef SAM_D5X_E5X
6977
void USB_0_Handler (void) {
70-
tud_int_handler(0);
78+
tud_int_handler(0);
79+
background_callback_add(&callback, usb_background_do, NULL);
7180
}
7281

7382
void USB_1_Handler (void) {
74-
tud_int_handler(0);
83+
tud_int_handler(0);
84+
background_callback_add(&callback, usb_background_do, NULL);
7585
}
7686

7787
void USB_2_Handler (void) {
78-
tud_int_handler(0);
88+
tud_int_handler(0);
89+
background_callback_add(&callback, usb_background_do, NULL);
7990
}
8091

8192
void USB_3_Handler (void) {
82-
tud_int_handler(0);
93+
tud_int_handler(0);
94+
background_callback_add(&callback, usb_background_do, NULL);
8395
}
8496
#endif

0 commit comments

Comments
 (0)