Add command to get the current device configuration.
Revise the shell part to have a set|get configuration
subcommands.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
With the latest change, there is no need for this structure
to be used as a completion handler.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Use the USB device structure and wrappers introduced earlier.
With this patch, users of ch9 requests do not need to work
directly with the UHC API. The requests are now blocked until
there is a response from the UHC. Callers finally have access
to the data buffer and request status.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The current approach is a bit impractical in the upper layer.
This patch removes the two fifos that hold the transfer buffers
and replaces them with a byte array for the setup packet and
a pointer to a data buffer. The data buffer is mandatory for
all types of transfers except control without a data stage.
The waste of eight unused bytes for non-control transfers should
be insignificant, since an additional pointer would be at least
half of it, and then there would be the overhead of handling it.
This patch also clean up the transfer flags, rename owner to callback
as it reflects the upper layer use case, and add an additional member
to hold the pointer to the USB device (peripheral on the bus).
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Check that the length of the packet is at least the size of
the descriptor head. Otherwise there may be unpleasant side effects.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
This is initial support. Necessary to test the UHC driver API,
for the USB support test implementations, and upcoming USBIP support.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>