|
|
@@ -144,6 +144,12 @@
|
|
|
# define DCD_STM32_BTABLE_LENGTH (PMA_LENGTH - DCD_STM32_BTABLE_BASE)
|
|
|
#endif
|
|
|
|
|
|
+// Since TinyUSB doesn't use SOF for now, and this interrupt too often (1ms interval)
|
|
|
+// We disable SOF for now until needed later on
|
|
|
+#ifndef USE_SOF
|
|
|
+# define USE_SOF 0
|
|
|
+#endif
|
|
|
+
|
|
|
/***************************************************
|
|
|
* Checks, structs, defines, function definitions, etc.
|
|
|
*/
|
|
|
@@ -235,7 +241,7 @@ void dcd_init (uint8_t rhport)
|
|
|
pcd_set_endpoint(USB,i,0u);
|
|
|
}
|
|
|
|
|
|
- USB->CNTR |= USB_CNTR_RESETM | USB_CNTR_SOFM | USB_CNTR_ESOFM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM;
|
|
|
+ USB->CNTR |= USB_CNTR_RESETM | (USE_SOF ? USB_CNTR_SOFM : 0) | USB_CNTR_ESOFM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM;
|
|
|
dcd_handle_bus_reset();
|
|
|
|
|
|
// Data-line pull-up is left disconnected.
|
|
|
@@ -542,10 +548,12 @@ void dcd_int_handler(uint8_t rhport) {
|
|
|
dcd_event_bus_signal(0, DCD_EVENT_SUSPEND, true);
|
|
|
}
|
|
|
|
|
|
+#if USE_SOF
|
|
|
if(int_status & USB_ISTR_SOF) {
|
|
|
reg16_clear_bits(&USB->ISTR, USB_ISTR_SOF);
|
|
|
dcd_event_bus_signal(0, DCD_EVENT_SOF, true);
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
if(int_status & USB_ISTR_ESOF) {
|
|
|
if(remoteWakeCountdown == 1u)
|