HID device lifecycle and polling interface. More...


Go to the source code of this file.
Data Structures | |
| struct | hid_device_callbacks_t |
| Callback operation table for HID device backends. More... | |
Macros | |
| #define | HID_DEVICE_CAPACITY 32u |
| Maximum number of HID devices tracked by one HID instance. More... | |
| #define | HID_DEVICE_CONTEXT_SIZE 32u |
| Size in bytes of the per-device scratch context space embedded in every hid_device_t. More... | |
Typedefs | |
| typedef struct hid_t | hid_t |
| Opaque HID instance handle. | |
| typedef struct hid_device_t | hid_device_t |
| HID child-device descriptor tracked by a HID instance. | |
Enumerations | |
| enum | hid_type_t { hid_type_none = 0, hid_type_gpio = 1, hid_type_timer = 2, hid_type_signal = 3, hid_type_evdev = 4, hid_type_usb = 5, hid_type_wifi = 6, hid_type_bluetooth = 7, hid_type_infrared = 8, hid_type_other = 9, hid_type_iostream = 10 } |
| HID device type classification. | |
| enum | hid_class_t { hid_class_unknown = 0, hid_class_keyboard = 1, hid_class_mouse = 2, hid_class_joystick = 3, hid_class_touchscreen = 4, hid_class_sensor = 5 } |
| Coarse semantic classification of a HID device. More... | |
Functions | |
Lifecycle | |
| hid_t * | hid_init (sys_event_queue_t *queue) |
| Initialize a HID device instance. More... | |
| void | hid_deinit (hid_t *instance) |
| Deinitialize a HID device instance. More... | |
| bool | hid_poll (hid_t *instance) |
| Poll a HID device for pending input. More... | |
Methods | |
| hid_device_t * | hid_register (hid_t *instance, const char *name, uint32_t id, hid_type_t type, hid_class_t hid_class, uint32_t polling_interval_ms, void *userdata, hid_device_callbacks_t callbacks) |
| Register a generic HID device using callback operations. More... | |
| hid_device_t * | hid_register_gpio_input (hid_t *instance, uint8_t bank, uint8_t pin, uint16_t keycode, void *userdata) |
| Register a GPIO pin as HID input. More... | |
| hid_device_t * | hid_register_gpio_pullup (hid_t *instance, uint8_t bank, uint8_t pin, uint16_t keycode, void *userdata) |
| Register a GPIO pin as HID input with pull-up. More... | |
| hid_device_t * | hid_register_gpio_pulldown (hid_t *instance, uint8_t bank, uint8_t pin, uint16_t keycode, void *userdata) |
| Register a GPIO pin as HID input with pull-down. More... | |
| hid_device_t * | hid_register_adc (hid_t *instance, uint8_t channel, const char *metric_name, uint16_t num_samples, uint32_t polling_interval_ms, void *userdata) |
| Register an ADC channel as a polling HID metric source. More... | |
| hid_device_t * | hid_register_temperature (hid_t *instance, uint32_t polling_interval_ms, void *userdata) |
| Register the internal temperature-sensor channel as a polling HID metric source. More... | |
| hid_device_t * | hid_register_user_button (hid_t *instance, uint16_t keycode, void *userdata) |
| Register a user button as a HID input source. More... | |
| hid_device_t * | hid_register_timer (hid_t *instance, uint32_t id, uint32_t interval_ms, bool repeating, void *userdata) |
| Register a timer-backed HID source. More... | |
| hid_device_t * | hid_register_signal (hid_t *instance, void *userdata) |
| Register an environment-signal HID source. More... | |
| hid_device_t * | hid_register_wifi (hid_t *instance, hw_wifi_t *wifi, void *userdata) |
| Register a Wi-Fi connection-state observer. More... | |
| hid_device_t * | hid_register_iostream (hid_t *instance, sys_iostream_t *stream, void *userdata) |
| Register a stream-readiness observer. More... | |
| bool | hid_deregister (hid_t *instance, hid_device_t *device) |
| Deregister and remove a HID device. More... | |
Properties | |
| hid_device_t * | hid_device_next (hid_device_t *device) |
| Enumerate registered HID devices. More... | |
| bool | hid_device_info (const hid_device_t *device, const char **out_name, uint32_t *out_id, hid_type_t *out_type, hid_class_t *out_class) |
| Get metadata for a registered HID device. More... | |
| void * | hid_device_userdata (const hid_device_t *device) |
| Get the userdata pointer associated with a registered HID device. More... | |
| void * | hid_device_handle (const hid_device_t *device) |
| Get a device's backend-owned handle, if it has one. More... | |
HID device lifecycle and polling interface.
Definition in file device.h.