tinyusb
hid_device.h
Go to the documentation of this file.
1 /**************************************************************************/
37 /**************************************************************************/
38 
39 #ifndef _TUSB_HID_DEVICE_H_
40 #define _TUSB_HID_DEVICE_H_
41 
42 #include "common/common.h"
43 #include "device/usbd.h"
44 #include "hid.h"
45 
46 #ifdef __cplusplus
47  extern "C" {
48 #endif
49 
50 
51 //--------------------------------------------------------------------+
52 // KEYBOARD APPLICATION API
53 //--------------------------------------------------------------------+
65 bool tusbd_hid_keyboard_is_busy(uint8_t coreid);
66 
78 tusb_error_t tusbd_hid_keyboard_send(uint8_t coreid, hid_keyboard_report_t const *p_report);
79 
80 //--------------------------------------------------------------------+
81 // APPLICATION CALLBACK API
82 //--------------------------------------------------------------------+
83 void tusbd_hid_keyboard_mounted_cb(uint8_t coreid);
84 void tusbd_hid_keyboard_unmounted_cb(uint8_t coreid);
85 
95 void tusbd_hid_keyboard_cb(uint8_t coreid, tusb_event_t event, uint32_t xferred_bytes);
96 
110 uint16_t tusbd_hid_keyboard_get_report_cb(uint8_t coreid, hid_request_report_type_t report_type, void** pp_report, uint16_t requested_length);
111 
121 void tusbd_hid_keyboard_set_report_cb(uint8_t coreid, hid_request_report_type_t report_type, uint8_t p_report_data[], uint16_t length);
122 
126 //--------------------------------------------------------------------+
127 // MOUSE APPLICATION API
128 //--------------------------------------------------------------------+
140 bool tusbd_hid_mouse_is_busy(uint8_t coreid);
141 
153 tusb_error_t tusbd_hid_mouse_send(uint8_t coreid, hid_mouse_report_t const *p_report);
154 
155 //--------------------------------------------------------------------+
156 // APPLICATION CALLBACK API
157 //--------------------------------------------------------------------+
158 
159 void tusbd_hid_mouse_mounted_cb(uint8_t coreid);
160 void tusbd_hid_mouse_unmounted_cb(uint8_t coreid);
161 
171 void tusbd_hid_mouse_cb(uint8_t coreid, tusb_event_t event, uint32_t xferred_bytes);
172 
185 uint16_t tusbd_hid_mouse_get_report_cb(uint8_t coreid, hid_request_report_type_t report_type, void** pp_report, uint16_t requested_length);
186 
196 void tusbd_hid_mouse_set_report_cb(uint8_t coreid, hid_request_report_type_t report_type, uint8_t p_report_data[], uint16_t length);
197 
203 //--------------------------------------------------------------------+
204 // USBD-CLASS DRIVER API
205 //--------------------------------------------------------------------+
206 #ifdef _TINY_USB_SOURCE_FILE_
207 
208 void hidd_init(void);
209 tusb_error_t hidd_open(uint8_t coreid, tusb_descriptor_interface_t const * p_interface_desc, uint16_t *p_length);
210 tusb_error_t hidd_control_request_subtask(uint8_t coreid, tusb_control_request_t const * p_request);
211 tusb_error_t hidd_xfer_cb(endpoint_handle_t edpt_hdl, tusb_event_t event, uint32_t xferred_bytes);
212 void hidd_close(uint8_t coreid);
213 
214 #endif
215 
216 #ifdef __cplusplus
217  }
218 #endif
219 
220 #endif /* _TUSB_HID_DEVICE_H_ */
221 
222 
USB Standard Interface Descriptor (section 9.6.1 table 9-12)
Definition: std_descriptors.h:90
void tusbd_hid_mouse_set_report_cb(uint8_t coreid, hid_request_report_type_t report_type, uint8_t p_report_data[], uint16_t length)
Callback function that is invoked when USB host request HID_REQUEST_CONTROL_SET_REPORT via control en...
uint16_t tusbd_hid_keyboard_get_report_cb(uint8_t coreid, hid_request_report_type_t report_type, void **pp_report, uint16_t requested_length)
Callback function that is invoked when USB host request HID_REQUEST_CONTROL_GET_REPORT via control en...
Definition: std_request.h:49
void tusbd_hid_keyboard_cb(uint8_t coreid, tusb_event_t event, uint32_t xferred_bytes)
Callback function that is invoked when an transferring event occurred after invoking tusbd_hid_keyboa...
Standard HID Boot Protocol Mouse Report.
Definition: hid.h:158
bool tusbd_hid_mouse_is_busy(uint8_t coreid)
Check if the interface is currently busy or not.
void tusbd_hid_mouse_cb(uint8_t coreid, tusb_event_t event, uint32_t xferred_bytes)
Callback function that is invoked when an transferring event occurred after invoking tusbd_hid_mouse_...
hid_request_report_type_t
HID Request Report Type.
Definition: hid.h:79
tusb_error_t tusbd_hid_keyboard_send(uint8_t coreid, hid_keyboard_report_t const *p_report)
Submit USB transfer.
void tusbd_hid_keyboard_set_report_cb(uint8_t coreid, hid_request_report_type_t report_type, uint8_t p_report_data[], uint16_t length)
Callback function that is invoked when USB host request HID_REQUEST_CONTROL_SET_REPORT via control en...
tusb_error_t tusbd_hid_mouse_send(uint8_t coreid, hid_mouse_report_t const *p_report)
Perform transfer queuing.
Standard HID Boot Protocol Keyboard Report.
Definition: hid.h:182
Definition: dcd.h:52
uint16_t tusbd_hid_mouse_get_report_cb(uint8_t coreid, hid_request_report_type_t report_type, void **pp_report, uint16_t requested_length)
Callback function that is invoked when USB host request HID_REQUEST_CONTROL_GET_REPORT via control en...
tusb_error_t
Error Code returned.
Definition: tusb_errors.h:100
bool tusbd_hid_keyboard_is_busy(uint8_t coreid)
Check if the interface is currently busy or not.