Replies: 1 comment 1 reply
-
|
Okay I believe I figured it out mostly. The key information I was missing is that in order to receive any data on the device, I have to call Not sure if this is the way you're supposed to do it but I managed to get things working by just having a void xxx_process(void) {
xxx_interface_t *itf = &_xxx_itf[0];
if (!itf->open) return;
if (!usbd_edpt_busy(0, itf->ep_bulk_out)) {
usbd_edpt_claim(0, itf->ep_bulk_out);
usbd_edpt_xfer(0, itf->ep_bulk_out, itf->bulk_out_buffer, sizeof(itf->bulk_out_buffer));
}
} |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi!
I'm trying to write a driver for a USB class with a Bulk In, a Bulk Out and a Interrupt In endpoint. Currently testing on a STM32L4 board using the stm32_fsdev backend.
It's possible that I just don't understand tinyusb well enough yet but in Wireshark I can see the Host sending e Bulk Out request to the second endpoint and a Interrupt In request to the third endpoint. My expectation is now that the
xxx_xfer_cbfunction of my class driver would be called, delivering that data to me so I can handle it and respond to it. However, neither of these requests seem to arrive in the event queue at all. Is this a configuration setup issue or misunderstanding of the library on my side or what could cause this?Thanks a lot for the help
Beta Was this translation helpful? Give feedback.
All reactions