gint/src/usb
Lephe 911691461f
usb: clarify functions used to access endpoint configuration
The previous scheme was really unclear. Now, an endpoint_t carries all
of the endpoint info (instead of the global address being implicitly
its array index, which couldn't be returned).

An _endpoint address_ is the 8-bit value consisting of an endpoint
number (bits 0x0f) and a direction (bit 0x80).

The _global address_ of an endpoint is the address used to communicate
with the host, and it is unique. The _local address_ of an endpoint is
the interface-specific numbering that gint provides to allow interfaces
to compose without risks of address collisions.

The complete data for an endpoint can be queried with the new functions
usb_get_endpoint_by_*() which accept global addresses, local addresses,
and pipe numbers.
2023-03-04 10:58:07 +01:00
..
classes usb: massively improve writing logic 2023-02-09 23:00:44 +01:00
asyncio.c asyncio: remove unused field asyncio_op_t.flying_w 2023-02-16 16:09:53 +01:00
configure.c usb: clarify functions used to access endpoint configuration 2023-03-04 10:58:07 +01:00
pipes.c usb: clear pipes/FIFOs during world switches, delay configuration 2023-02-18 17:15:28 +01:00
setup.c usb: clarify functions used to access endpoint configuration 2023-03-04 10:58:07 +01:00
string.c usb: improve driver with updated knowledge and prepare reading 2023-01-31 16:04:35 +01:00
usb.c usb: clear pipes/FIFOs during world switches, delay configuration 2023-02-18 17:15:28 +01:00
usb_private.h usb: clarify functions used to access endpoint configuration 2023-03-04 10:58:07 +01:00
write4.S usb: massively improve writing logic 2023-02-09 23:00:44 +01:00