From b83adc9d9ce61cf2486dc332dd01b1c013c2a2d0 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Tue, 13 Aug 2024 13:12:47 +0200 Subject: [PATCH] feat: add support for H7 USB voltage detector (#5423) --- radio/src/targets/common/arm/stm32/stm32_hal_ll.h | 1 + radio/src/targets/common/arm/stm32/usb_driver.cpp | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/radio/src/targets/common/arm/stm32/stm32_hal_ll.h b/radio/src/targets/common/arm/stm32/stm32_hal_ll.h index b1fb42e34..051f48cd1 100644 --- a/radio/src/targets/common/arm/stm32/stm32_hal_ll.h +++ b/radio/src/targets/common/arm/stm32/stm32_hal_ll.h @@ -78,6 +78,7 @@ extern "C" { #include "STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_spi.h" #include "STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_iwdg.h" #include "STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_usb.h" + #include "STM32H7xx_HAL_Driver/Inc/stm32h7xx_ll_pwr.h" #endif #if defined(__cplusplus) diff --git a/radio/src/targets/common/arm/stm32/usb_driver.cpp b/radio/src/targets/common/arm/stm32/usb_driver.cpp index 5e7461a40..fe8569d90 100644 --- a/radio/src/targets/common/arm/stm32/usb_driver.cpp +++ b/radio/src/targets/common/arm/stm32/usb_driver.cpp @@ -118,6 +118,10 @@ void usbInit() #error "Unable to enable USB peripheral clock" #endif +#if defined(STM32H7) || defined(STM32H7RS) + LL_PWR_EnableUSBVoltageDetector(); +#endif + usbDriverStarted = false; } @@ -160,8 +164,10 @@ void usbStart() //USBD_Init(&hUsbDeviceFS, USB_OTG_FS_CORE_ID, &USR_desc, &USBD_MSC_cb, &USR_cb); break; } - USBD_Start(&hUsbDeviceFS); - usbDriverStarted = true; + + if (USBD_Start(&hUsbDeviceFS) == USBD_OK) { + usbDriverStarted = true; + } } void usbStop()