diff options
-rw-r--r-- | include/usbh_lld_stm32f4.h | 3 | ||||
-rw-r--r-- | src/demo.c | 7 | ||||
-rw-r--r-- | src/usbh_lld_stm32f4.c | 13 |
3 files changed, 10 insertions, 13 deletions
diff --git a/include/usbh_lld_stm32f4.h b/include/usbh_lld_stm32f4.h index c55c615..a8f7b0a 100644 --- a/include/usbh_lld_stm32f4.h +++ b/include/usbh_lld_stm32f4.h @@ -30,7 +30,8 @@ BEGIN_DECLS
// pass this to usbh init
-extern const void *usbh_lld_stm32f4_drivers[];
+extern const void *usbh_lld_stm32f4_driver_fs;
+extern const void *usbh_lld_stm32f4_driver_hs;
#ifdef USART_DEBUG
void print_channels(const void *drvdata);
@@ -214,7 +214,12 @@ int main(void) *
* Pass array of supported device drivers
*/
- usbh_init(usbh_lld_stm32f4_drivers, device_drivers);
+ const void *lld_drivers[] = {
+ &usbh_lld_stm32f4_driver_fs, // Make sure USE_STM32F4_USBH_DRIVER_FS is defined in usbh_config.h
+// &usbh_lld_stm32f4_driver_hs, // Make sure USE_STM32F4_USBH_DRIVER_HS is defined in usbh_config.h
+ 0
+ };
+ usbh_init(lld_drivers, device_drivers);
gpio_clear(GPIOD, GPIO13);
LOG_PRINTF("USB init complete\n");
diff --git a/src/usbh_lld_stm32f4.c b/src/usbh_lld_stm32f4.c index 8b98321..49f6cc2 100644 --- a/src/usbh_lld_stm32f4.c +++ b/src/usbh_lld_stm32f4.c @@ -1025,6 +1025,7 @@ static const usbh_driver_t driver_fs = { .root_speed = root_speed,
.driver_data = &driver_data_fs
};
+const void *usbh_lld_stm32f4_driver_fs = &driver_fs;
#endif
// USB High Speed - OTG_HS
@@ -1044,15 +1045,5 @@ static const usbh_driver_t driver_hs = { .root_speed = root_speed,
.driver_data = &driver_data_hs
};
+const void *usbh_lld_stm32f4_driver_hs = &driver_hs;
#endif
-
-const void *usbh_lld_stm32f4_drivers[] = {
-#if defined(USE_STM32F4_USBH_DRIVER_FS)
- &driver_fs,
-#endif
-
-#if defined(USE_STM32F4_USBH_DRIVER_HS)
- &driver_hs,
-#endif
- 0
-};
|