USB HID generic

nRF5 SDK v15.0.0

nRF52840 only: Module with types, definitions, and API used by the HID generic class. More...

Modules

USB HID generic descriptors
nRF52840 only: Module with descriptors used by the HID generic class.
USB HID generic internals
nRF52840 only: Module with types, definitions, and API used by the HID generic protocol.
USB HID generic configuration

Data Structures

struct app_usbd_hid_generic_t
HID generic class instance type. More...

Macros

#define APP_USBD_HID_GENERIC_GLOBAL_DEF (instance_name,interface_number,user_ev_handler,endpoint_list,subclass_descriptors,report_in_queue_size,report_out_maxsize,subclass_boot,protocol)
Global definition of app_usbd_hid_generic_t class. More...

Functions

static app_usbd_class_inst_t
const *
app_usbd_hid_generic_class_inst_get ( app_usbd_hid_generic_t const *p_generic)
Helper function to get class instance from HID generic class. More...
static app_usbd_hid_generic_t
const *
app_usbd_hid_generic_class_get ( app_usbd_class_inst_t const *p_inst)
Helper function to get HID generic from base class instance. More...
ret_code_t app_usbd_hid_generic_in_report_set ( app_usbd_hid_generic_t const *p_generic, const void *p_buff, size_t size)
New IN report trigger. More...
const void * app_usbd_hid_generic_in_report_get ( app_usbd_hid_generic_t const *p_generic, size_t *p_size)
Returns last successful transfered IN report. More...
const void * app_usbd_hid_generic_out_report_get ( app_usbd_hid_generic_t const *p_generic, size_t *p_size)
Returns last successful transfered OUT report. More...

Detailed Description

nRF52840 only: Module with types, definitions, and API used by the HID generic class.

Macro Definition Documentation

#define APP_USBD_HID_GENERIC_GLOBAL_DEF ( instance_name,
interface_number,
user_ev_handler,
endpoint_list,
subclass_descriptors,
report_in_queue_size,
report_out_maxsize,
subclass_boot,
protocol
)
Value:
interface_number, \
user_ev_handler, \
endpoint_list, \
subclass_descriptors, \
report_in_queue_size, \
report_out_maxsize, \
subclass_boot, \
protocol)

Global definition of app_usbd_hid_generic_t class.

Parameters
instance_name Name of global instance.
interface_number Unique interface index.
user_ev_handler User event handler (optional).
endpoint_list Input endpoint list ( nrf_drv_usbd_ep_t ).
subclass_descriptors HID subclass descriptors.
report_in_queue_size IN report queue size.
report_out_maxsize Maximum output report size.
subclass_boot Subclass boot. ( app_usbd_hid_subclass_t )
protocol HID protocol. ( app_usbd_hid_protocol_t )
Note
This macro is just simplified version of APP_USBD_HID_GENERIC_GLOBAL_DEF_INTERNAL .

Example class definition:

static const app_usbd_hid_subclass_desc_t * reps[] = {&mouse_desc};
#define ENDPOINT_LIST \
( \
NRF_DRV_USBD_EPIN1 \
)
#define REPORT_COUNT 1
#define REPORT_OUT_MAXSIZE 0
0,
hid_user_ev_handler,
ENDPOINT_LIST(),
reps,
REPORT_IN_QUEUE_SIZE,
REPORT_OUT_MAXSIZE,

Function Documentation

static app_usbd_hid_generic_t const* app_usbd_hid_generic_class_get ( app_usbd_class_inst_t const * p_inst )
inline static

Helper function to get HID generic from base class instance.

Parameters
[in] p_inst Base class instance.
Returns
HID generic class handle.
static app_usbd_class_inst_t const* app_usbd_hid_generic_class_inst_get ( app_usbd_hid_generic_t const * p_generic )
inline static

Helper function to get class instance from HID generic class.

Parameters
[in] p_generic HID generic class instance.
Returns
Base class instance.
const void* app_usbd_hid_generic_in_report_get ( app_usbd_hid_generic_t const * p_generic ,
size_t * p_size
)

Returns last successful transfered IN report.

Note
Use this call only on APP_USBD_HID_USER_EVT_IN_REPORT_DONE event.
Parameters
[in] p_generic HID generic class instance.
[out] p_size Last transfered IN report size.
Returns
Last transfered report ID.
ret_code_t app_usbd_hid_generic_in_report_set ( app_usbd_hid_generic_t const * p_generic ,
const void * p_buff ,
size_t size
)

New IN report trigger.

Parameters
[in] p_generic HID generic class instance.
[in] p_buff Report buffer.
[in] size Report size.
Returns
Standard error code.
const void* app_usbd_hid_generic_out_report_get ( app_usbd_hid_generic_t const * p_generic ,
size_t * p_size
)

Returns last successful transfered OUT report.

Warning
Use this call only on APP_USBD_HID_USER_EVT_OUT_REPORT_READY event.
Parameters
[in] p_generic HID generic class instance.
[out] p_size Last transfered OUT report size.
Returns
Last transfered OUT report.