Hi,
I am working on a project in which I use the USB_CDC_ACM profile. I have mainly taken the example you provide and add the rest of my code.
Everything is working fine, USB is detected, data is being sent to Host... but I see a strange problem when I connect the Nordic board to a PC with Windows 10 (no test it on other Windows versions).
When I want to send data from Nordic to the host I use this:
app_usbd_cdc_acm_write(&m_app_cdc_acm, tx_data, size);
Where size = NRF_DRV_USBD_EPSIZE, 64.
I set the size to 64 to maximize the data transaction.
In theory, everything is working as expected, but the problem I see on Windows 10 is that Windows does not receive any data until I send 4096 bytes. When I call 64 times the app_usbd_cdc_acm_write function (64*64 = 4096), then, Windows receives all the data (no data loss).
I tested the same code on a Raspberry pi and I am not having the same issue.
Other funny information is that if I set the size < 64, then, Windows is able to read the data properly (no delay and no buffering).
Please, have you noticed that before and you know a possible solution?
Thanks.
JuanFran