diff --git a/src/main/drivers/serial_usb_vcp.h b/src/main/drivers/serial_usb_vcp.h index daeaa2ce22..66d0aaae8b 100644 --- a/src/main/drivers/serial_usb_vcp.h +++ b/src/main/drivers/serial_usb_vcp.h @@ -22,6 +22,8 @@ #include "drivers/serial.h" +#include "vcp_hal/usbd_cdc_interface.h" + typedef struct { serialPort_t port; @@ -32,6 +34,8 @@ typedef struct { bool buffering; } vcpPort_t; +extern USBD_HandleTypeDef USBD_Device; + serialPort_t *usbVcpOpen(void); struct serialPort_s; uint32_t usbVcpGetBaudRate(struct serialPort_s *instance); diff --git a/src/main/io/usb_cdc_hid.c b/src/main/io/usb_cdc_hid.c index 695dedf466..48b6edf156 100644 --- a/src/main/io/usb_cdc_hid.c +++ b/src/main/io/usb_cdc_hid.c @@ -29,12 +29,15 @@ #include "rx/rx.h" //TODO: Make it platform independent in the future -#ifdef STM32F4 +#if defined(STM32F4) #include "vcpf4/usbd_cdc_vcp.h" + #include "usbd_hid_core.h" #elif defined(STM32F7) -#include "usbd_cdc_interface.h" -#include "usbd_def.h" +#include "drivers/serial_usb_vcp.h" + +#include "vcp_hal/usbd_cdc_interface.h" + #include "usbd_hid.h" #endif @@ -67,7 +70,7 @@ void sendRcDataToHid(void) report[i] = -report[i]; } } -#ifdef STM32F4 +#if defined(STM32F4) USBD_HID_SendReport(&USB_OTG_dev, (uint8_t*)report, sizeof(report)); #elif defined(STM32F7) USBD_HID_SendReport(&USBD_Device, (uint8_t*)report, sizeof(report)); diff --git a/src/main/vcp_hal/usbd_cdc_interface.c b/src/main/vcp_hal/usbd_cdc_interface.c index 8397394303..60bfa9e849 100644 --- a/src/main/vcp_hal/usbd_cdc_interface.c +++ b/src/main/vcp_hal/usbd_cdc_interface.c @@ -53,6 +53,8 @@ #include "usbd_cdc.h" #include "usbd_cdc_interface.h" #include "stdbool.h" + +#include "drivers/serial_usb_vcp.h" #include "drivers/time.h" /* Private typedef -----------------------------------------------------------*/