From 4febe247e0fba40aa9865b46df4706369ea38b41 Mon Sep 17 00:00:00 2001 From: Andreas Berthoud Date: Sun, 4 Jul 2021 12:21:30 +0200 Subject: [PATCH] ble-dongle: Get USB echo running --- nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.c | 9 ++++++++- serial_communication.py | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.c b/nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.c index 88aa4e0..1337e3d 100644 --- a/nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.c +++ b/nucleo-wb55-dongle-ble/USB_Device/App/usbd_cdc_if.c @@ -32,7 +32,7 @@ /* USER CODE BEGIN PV */ /* Private variables ---------------------------------------------------------*/ - +uint8_t buffer[7]; /* USER CODE END PV */ /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY @@ -221,10 +221,16 @@ static int8_t CDC_Control_FS(uint8_t cmd, uint8_t* pbuf, uint16_t length) /* 6 | bDataBits | 1 | Number Data bits (5, 6, 7, 8 or 16). */ /*******************************************************************************/ case CDC_SET_LINE_CODING: + for (int i = 0; i< 7; i++) { + buffer[i] = pbuf[i]; + } break; case CDC_GET_LINE_CODING: + for (int i = 0; i< 7; i++) { + pbuf[i] = buffer[i]; + } break; @@ -264,6 +270,7 @@ static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]); USBD_CDC_ReceivePacket(&hUsbDeviceFS); + CDC_Transmit_FS(Buf, *Len); // echo return (USBD_OK); /* USER CODE END 6 */ } diff --git a/serial_communication.py b/serial_communication.py index 1f69a1f..2270c6d 100644 --- a/serial_communication.py +++ b/serial_communication.py @@ -29,6 +29,7 @@ def main(): logger.info(f"received: {x}") logger.info(f"in_waiting: {serial_connection.in_waiting}") + return delay = 0.1 while True: logger.info("Set blue LED")