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 - edited 2024-07-30 12:06 AM
I've got no specifics about your issue, but have you looked at
The comments there also suggest some example projects you could look up.
If you do figure out the issue, please do post an update.
2024-07-29 11:30 PM
Thanks for your help @BarryWhit
I've read the @B.Montanari articles and they are very useful, but i can't find there a solution for my problem.
I've found something in here:
It uses the ux_device_class_cdc_acm_write_run API like i need. i will investigate and keep the post updated 🙂
Thanks again