Browse Source

fixup! ble-dongle: Get USB echo running

Andreas Berthoud 5 years ago
parent
commit
600c8c87ae
  1. 6
      nucleo-wb55-dongle-ble/Core/Src/main.c
  2. 4
      nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.c
  3. 2
      nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.h

6
nucleo-wb55-dongle-ble/Core/Src/main.c

@ -23,7 +23,7 @@
/* Private includes ----------------------------------------------------------*/ /* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */ /* USER CODE BEGIN Includes */
#include "usbd_cdc_if.h"
/* USER CODE END Includes */ /* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/ /* Private typedef -----------------------------------------------------------*/
@ -55,7 +55,9 @@ static void MX_GPIO_Init(void);
/* Private user code ---------------------------------------------------------*/ /* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */ /* USER CODE BEGIN 0 */
void usb_receive(uint8_t *buf, uint32_t *len) {
CDC_Transmit_FS(buf, *len); // echo
}
/* USER CODE END 0 */ /* USER CODE END 0 */
/** /**

4
nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.c

@ -129,7 +129,7 @@ static int8_t CDC_Receive_FS(uint8_t* pbuf, uint32_t *Len);
static int8_t CDC_TransmitCplt_FS(uint8_t *pbuf, uint32_t *Len, uint8_t epnum); static int8_t CDC_TransmitCplt_FS(uint8_t *pbuf, uint32_t *Len, uint8_t epnum);
/* USER CODE BEGIN PRIVATE_FUNCTIONS_DECLARATION */ /* USER CODE BEGIN PRIVATE_FUNCTIONS_DECLARATION */
__weak void usb_receive(uint8_t *buf, uint32_t *len) {}
/* USER CODE END PRIVATE_FUNCTIONS_DECLARATION */ /* USER CODE END PRIVATE_FUNCTIONS_DECLARATION */
/** /**
@ -270,7 +270,7 @@ static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
/* USER CODE BEGIN 6 */ /* USER CODE BEGIN 6 */
USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]); USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);
USBD_CDC_ReceivePacket(&hUsbDeviceFS); USBD_CDC_ReceivePacket(&hUsbDeviceFS);
CDC_Transmit_FS(Buf, *Len); // echo usb_receive(Buf, Len);
return (USBD_OK); return (USBD_OK);
/* USER CODE END 6 */ /* USER CODE END 6 */
} }

2
nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.h

@ -110,7 +110,7 @@ extern USBD_CDC_ItfTypeDef USBD_Interface_fops_FS;
uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len); uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len);
/* USER CODE BEGIN EXPORTED_FUNCTIONS */ /* USER CODE BEGIN EXPORTED_FUNCTIONS */
__weak void usb_receive(uint8_t *buf, uint32_t *len);
/* USER CODE END EXPORTED_FUNCTIONS */ /* USER CODE END EXPORTED_FUNCTIONS */
/** /**

Loading…
Cancel
Save