Hi,
I'm implementing one USB device class driver for one device class which is not supported in the MQX USB stack and I need some advise on how I could service one class request that should eventually return a large data block.
I'll explain myself, this is the situation:
When looking with one USB analyzer at how the drivers return the response for the standard GET_DESCRIPTOR( CONFIGURATION ) request, It can be seen that the response is automatically divided. The total length for the CONFIGURATION descriptor is 93 bytes (for my application) and is divided in two consecutive IN transactions (see the picture below, the four transactions involved in the request execution are boxed, NAKed transactions were filtered out).
The question is, How/where could I link my USB class driver into the USB framework so I can get notified of the IN transactions to generate the response to be sent in the DATA packets? My intention is being able to prepare the first part of the response in my local buffer and send it as part of the work in the class's OtherRequests event handler, then, in the processing of subsequent IN transactions, continue preparing/sending the rest of the response. I need to avoid using malloc() and free().
Thanks a lot in advance,
--Victor