diff options
| author | Jeremiah McCarthy <[email protected]> | 2021-04-05 17:52:33 -0400 |
|---|---|---|
| committer | Jeremiah McCarthy <[email protected]> | 2021-04-05 17:52:33 -0400 |
| commit | c39b7b8177acbab23e82fee295d5f3205aa9752c (patch) | |
| tree | 4b821dba031b4ab6b3ee8af618a96ce506e1b71e /src/device | |
| parent | bc2cb99780a0bc0359195a4be8e556f71da5a70b (diff) | |
Add DFU runtime and mode "class"
With the runtime and mode portions in separate classes, a single
application should only be building with one or the other enabled. In
some applications both might be desired at build time.
The CFG_TUD_DFU_RUNTIME_AND_MODE option creates a DFU class, which asks
the application which mode to initialize to. This allows a runtime
change between RT and DFU mode, by just reinitializing tusb.
Diffstat (limited to 'src/device')
| -rw-r--r-- | src/device/usbd.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c index de0e7b0b7..6f2262feb 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -199,6 +199,18 @@ static usbd_class_driver_t const _usbd_driver[] = }, #endif + #if CFG_TUD_DFU_RUNTIME_AND_MODE + { + DRIVER_NAME("DFU-RT-MODE") + .init = dfu_init, + .reset = dfu_reset, + .open = dfu_open, + .control_xfer_cb = dfu_control_xfer_cb, + .xfer_cb = NULL, + .sof = NULL + }, + #endif + #if CFG_TUD_NET { DRIVER_NAME("NET") |
