Fix vendor interface semantics for tinyUSB >= 0.13 Explicit flushing of writes is now required.
diff --git a/src/main.c b/src/main.c index baee8e1..1ec28e2 100644 --- a/src/main.c +++ b/src/main.c
@@ -64,6 +64,11 @@ } while (1); } +// Workaround API change in 0.13 +#if (TUSB_VERSION_MAJOR == 0) && (TUSB_VERSION_MINOR <= 12) +#define tud_vendor_flush(x) ((void)0) +#endif + void dap_thread(void *ptr) { uint32_t resp_len; @@ -72,6 +77,7 @@ tud_vendor_read(RxDataBuffer, sizeof(RxDataBuffer)); resp_len = DAP_ProcessCommand(RxDataBuffer, TxDataBuffer); tud_vendor_write(TxDataBuffer, resp_len); + tud_vendor_flush(); } else { // Trivial delay to save power vTaskDelay(2);