2024-07-29 12:43 PM
Hello everyone,
I'm developing an application using USBX CDC ACM class in standalone mode. I've written an execution loop for scheduling USB stack operations and there are no problem with READ transaction; i'm able to receive correctly every data from my host pc.
There is a problem or perhaps my misunderstanding on WRITE transaction (i mean from STM32 device to host pc). I'm not sure how to interpret state returned by ux_device_class_cdc_acm_write_run function.
The device receive a packet (few bytes from host) and it has to answer back few bytes. On first packet, my host receive every byte sent by device but when the host send another packet, the device will send back data but nothing is received; i need to send another packet to "push" data to host.
It is not very clear (for me) what is the correct behavior in respect of ux_device_class_cdc_acm_write_run exit status.
I'm not sure on how to use that write_run function. I've used the ZLP define on ux_user.h but no change.
Everyone can help me to understand how to handle UX_STATUS_WAIT and UX_STATUS_NEXT status?
How does should be used in standalone mode the write process?
Thanks in advance
2024-07-29 07:00 PM
I've got no specifics about your issue, but have you looked at
There also code examples you could lookup (See comments in that thread).
If you do figure out the issue with this, please come back here and tell us what the issue was.