Hi All,
Using SDK15.3, NRF52840 USB Dongle.
After a few experiments I would like to clarify my understanding on how the usb bulk write works.
I am currently writting packets of ~ 250 bytes at a given frequency to the VCP on windows 10.
If I write once per second I can see that the data comes through in one packet and the time stamps for the packets are one second apart. Which makes sense.
If I repeat the same procedure every 100 milliseconds packets still get written individually.
However when I start writting this data at higer rates say once every 10 miliseconds, I can observe that the data is complete in this case 100 different packets in one second, but the timestamps indicate that at least four/five packets arived at the same time, so it is being written in bulk.
Is there any way to avoid this bulk write behavior ?
Why does the bulk write behaviour only appears at high rates ?
I have tried modifying, the following but it seems to have no effect whatsoever:
/** * @brief Number of bytes in the endpoint * * Constant that informs about endpoint size */ #define NRF_DRV_USBD_EPSIZE 64 /** * @brief Number of bytes for isochronous endpoints * * Number of bytes for isochronous endpoints in total. * This number would be shared between IN and OUT endpoint. * It may be also assigned totaly to one endpoint. * @sa nrf_usbd_isosplit_set * @sa nrf_usbd_isosplit_get */ #define NRF_DRV_USBD_ISOSIZE 1024
Thanks,
Regards