mirror of
https://github.com/qmk/qmk_firmware.git
synced 2026-10-24 09:51:54 +02:00
Deploying to gh-pages from master @ aae3b35c0f 🚀
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# group `udi_group` {#group__udi__group}
|
||||
|
||||
The UDI provides a common API for all classes, and this is used by UDC for the main control of USB Device interface.
|
||||
|
||||
## Summary
|
||||
|
||||
Members | Descriptions
|
||||
--------------------------------|---------------------------------------------
|
||||
`struct `[`udi_api_t`](#structudi__api__t) | UDI API.
|
||||
|
||||
# struct `udi_api_t` {#structudi__api__t}
|
||||
|
||||
UDI API.
|
||||
|
||||
The callbacks within this structure are called only by USB Device Controller (UDC)
|
||||
|
||||
The [udc_get_interface_desc()](.build/docs/internals_undefined.md#group__udc__group__interne_1gadb2a0f5ad1e834d4d7e7777f901d64d2) can be use by UDI to know the interface descriptor selected by UDC.
|
||||
|
||||
## Summary
|
||||
|
||||
Members | Descriptions
|
||||
--------------------------------|---------------------------------------------
|
||||
`public bool(* `[`enable`](#structudi__api__t_1ab2247f6571bf21eb4139a40a23c78eea) | Enable the interface.
|
||||
`public void(* `[`disable`](#structudi__api__t_1ace1449d367bdcce8d6ca549dceac7a7f) | Disable the interface.
|
||||
`public bool(* `[`setup`](#structudi__api__t_1a11fce471b0558711a238238dac0d5e7c) | Handle a control request directed at an interface.
|
||||
`public uint8_t(* `[`getsetting`](#structudi__api__t_1a095cfc23d86008d478b6d002afbdd66a) | Returns the current setting of the selected interface.
|
||||
`public void(* `[`sof_notify`](#structudi__api__t_1a9d8887d1cfbe10252f51a733cb66b9a5) | To signal that a SOF is occurred.
|
||||
|
||||
## Members
|
||||
|
||||
#### `public bool(* `[`enable`](#structudi__api__t_1ab2247f6571bf21eb4139a40a23c78eea) {#structudi__api__t_1ab2247f6571bf21eb4139a40a23c78eea}
|
||||
|
||||
Enable the interface.
|
||||
|
||||
This function is called when the host selects a configuration to which this interface belongs through a Set Configuration request, and when the host selects an alternate setting of this interface through a Set Interface request.
|
||||
|
||||
#### Returns
|
||||
`1` if function was successfully done, otherwise `0`.
|
||||
|
||||
#### `public void(* `[`disable`](#structudi__api__t_1ace1449d367bdcce8d6ca549dceac7a7f) {#structudi__api__t_1ace1449d367bdcce8d6ca549dceac7a7f}
|
||||
|
||||
Disable the interface.
|
||||
|
||||
This function is called when this interface is currently active, and
|
||||
|
||||
* the host selects any configuration through a Set Configuration request, or
|
||||
|
||||
* the host issues a USB reset, or
|
||||
|
||||
* the device is detached from the host (i.e. Vbus is no longer present)
|
||||
|
||||
#### `public bool(* `[`setup`](#structudi__api__t_1a11fce471b0558711a238238dac0d5e7c) {#structudi__api__t_1a11fce471b0558711a238238dac0d5e7c}
|
||||
|
||||
Handle a control request directed at an interface.
|
||||
|
||||
This function is called when this interface is currently active and the host sends a SETUP request with this interface as the recipient.
|
||||
|
||||
Use udd_g_ctrlreq to decode and response to SETUP request.
|
||||
|
||||
#### Returns
|
||||
`1` if this interface supports the SETUP request, otherwise `0`.
|
||||
|
||||
#### `public uint8_t(* `[`getsetting`](#structudi__api__t_1a095cfc23d86008d478b6d002afbdd66a) {#structudi__api__t_1a095cfc23d86008d478b6d002afbdd66a}
|
||||
|
||||
Returns the current setting of the selected interface.
|
||||
|
||||
This function is called when UDC when know alternate setting of selected interface.
|
||||
|
||||
#### Returns
|
||||
alternate setting of selected interface
|
||||
|
||||
#### `public void(* `[`sof_notify`](#structudi__api__t_1a9d8887d1cfbe10252f51a733cb66b9a5) {#structudi__api__t_1a9d8887d1cfbe10252f51a733cb66b9a5}
|
||||
|
||||
To signal that a SOF is occurred.
|
||||
|
||||
Reference in New Issue
Block a user