Zephyr API
4.4.99
A Scalable Open Source RTOS
Toggle main menu visibility
Loading...
Searching...
No Matches
usb_hid.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 Intel Corporation
3
* Copyright (c) 2018,2021 Nordic Semiconductor ASA
4
*
5
* SPDX-License-Identifier: Apache-2.0
6
*/
7
12
13
#ifndef ZEPHYR_INCLUDE_USB_HID_CLASS_DEVICE_H_
14
#define ZEPHYR_INCLUDE_USB_HID_CLASS_DEVICE_H_
15
16
#include <
zephyr/usb/class/hid.h
>
17
#include <
zephyr/usb/usb_ch9.h
>
18
19
#ifdef __cplusplus
20
extern
"C"
{
21
#endif
22
31
36
37
typedef
int (*
hid_cb_t
)(
const
struct
device
*dev,
38
struct
usb_setup_packet
*setup,
int32_t
*len,
39
uint8_t
**data);
40
typedef
void (*
hid_int_ready_callback
)(
const
struct
device
*dev);
41
typedef
void (*
hid_protocol_cb_t
)(
const
struct
device
*dev,
uint8_t
protocol);
42
typedef
void (*
hid_idle_cb_t
)(
const
struct
device
*dev,
uint16_t
report_id);
43
47
struct
hid_ops
{
48
hid_cb_t
get_report
;
49
hid_cb_t
set_report
;
50
hid_protocol_cb_t
protocol_change
;
51
hid_idle_cb_t
on_idle
;
52
/*
53
* int_in_ready is an optional callback that is called when
54
* the current interrupt IN transfer has completed. This can
55
* be used to wait for the endpoint to go idle or to trigger
56
* the next transfer.
57
*/
58
hid_int_ready_callback
int_in_ready
;
59
hid_int_ready_callback
int_out_ready
;
60
};
61
72
__deprecated
void
usb_hid_register_device
(
const
struct
device
*dev,
73
const
uint8_t
*desc,
74
size_t
size,
75
const
struct
hid_ops
*op);
76
89
__deprecated
int
hid_int_ep_write
(
const
struct
device
*dev,
90
const
uint8_t
*data,
91
uint32_t
data_len,
92
uint32_t
*bytes_ret);
93
108
__deprecated
int
hid_int_ep_read
(
const
struct
device
*dev,
109
uint8_t
*data,
110
uint32_t
max_data_len,
111
uint32_t
*ret_bytes);
112
125
__deprecated
int
usb_hid_set_proto_code
(
const
struct
device
*dev,
uint8_t
proto_code);
126
136
__deprecated
int
usb_hid_init
(
const
struct
device
*dev);
137
141
145
146
#ifdef __cplusplus
147
}
148
#endif
149
150
#endif
/* ZEPHYR_INCLUDE_USB_HID_CLASS_DEVICE_H_ */
hid_cb_t
int(* hid_cb_t)(const struct device *dev, struct usb_setup_packet *setup, int32_t *len, uint8_t **data)
Definition
usb_hid.h:37
hid_idle_cb_t
void(* hid_idle_cb_t)(const struct device *dev, uint16_t report_id)
Definition
usb_hid.h:42
hid_int_ep_read
int hid_int_ep_read(const struct device *dev, uint8_t *data, uint32_t max_data_len, uint32_t *ret_bytes)
Read from USB HID interrupt endpoint buffer.
usb_hid_init
int usb_hid_init(const struct device *dev)
Initialize USB HID class support.
usb_hid_register_device
void usb_hid_register_device(const struct device *dev, const uint8_t *desc, size_t size, const struct hid_ops *op)
Register HID device.
hid_int_ep_write
int hid_int_ep_write(const struct device *dev, const uint8_t *data, uint32_t data_len, uint32_t *bytes_ret)
Write to USB HID interrupt endpoint buffer.
hid_protocol_cb_t
void(* hid_protocol_cb_t)(const struct device *dev, uint8_t protocol)
Definition
usb_hid.h:41
hid_int_ready_callback
void(* hid_int_ready_callback)(const struct device *dev)
Definition
usb_hid.h:40
usb_hid_set_proto_code
int usb_hid_set_proto_code(const struct device *dev, uint8_t proto_code)
Set USB HID class Protocol Code.
hid.h
USB Human Interface Device (HID) common definitions header.
uint32_t
__UINT32_TYPE__ uint32_t
Definition
stdint.h:90
int32_t
__INT32_TYPE__ int32_t
Definition
stdint.h:74
uint8_t
__UINT8_TYPE__ uint8_t
Definition
stdint.h:88
uint16_t
__UINT16_TYPE__ uint16_t
Definition
stdint.h:89
device
Runtime device structure (in ROM) per driver instance.
Definition
device.h:513
hid_ops
USB HID device interface.
Definition
usb_hid.h:47
hid_ops::on_idle
hid_idle_cb_t on_idle
Definition
usb_hid.h:51
hid_ops::int_out_ready
hid_int_ready_callback int_out_ready
Definition
usb_hid.h:59
hid_ops::get_report
hid_cb_t get_report
Definition
usb_hid.h:48
hid_ops::set_report
hid_cb_t set_report
Definition
usb_hid.h:49
hid_ops::protocol_change
hid_protocol_cb_t protocol_change
Definition
usb_hid.h:50
hid_ops::int_in_ready
hid_int_ready_callback int_in_ready
Definition
usb_hid.h:58
usb_setup_packet
USB Setup Data packet.
Definition
usb_ch9.h:49
usb_ch9.h
USB Chapter 9 structures and definitions.
zephyr
usb
class
usb_hid.h
Generated on
for Zephyr API by
1.17.0