Hi,
on MK22F I run USB CDC ACM device, full speed. It connects to Win10 app. The app reads data from the device, they arrive at approx. 500 kB/s. I have a problem that some packets are lost during transfer, mainly when Win10 app is even little busy (e.g. when I move its window - it is GUI app)
I used USB sniffer and I can see that during these busy periods sometimes 0xc0010000 (=USBD_STATUS_CANCELED) error occurs on the bulk endoint and then in subsequent packet I can see that some data were lost.
Is there to detect this error on MK22F and to retransmit the data? I want the transfer to be 100% reliable.
I count sent bytes in kUSB_DeviceCdcEventSendResponse event in USB_DeviceCdcVcomCallback. In the callback I can count exactly same number of bytes sent as I send by USB_DeviceCdcAcmSend function. If all bytes were confirmed can I really be sure that the bytes were received by Windows PC?