USB HID generic internals

nRF5 SDK v15.0.0

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

Data Structures

struct app_usbd_hid_generic_inst_t
HID generic part of class instance data. More...
struct app_usbd_hid_generic_ctx_t
HID generic context. More...

Macros

#define APP_USBD_HID_GENERIC_CONFIG (iface, endpoints)   ((iface, BRACKET_EXTRACT (endpoints)))
HID generic configuration macro. More...
#define APP_USBD_HID_GENERIC_INSTANCE_SPECIFIC_DEC app_usbd_hid_generic_inst_t inst;
Specific class constant data for HID generic class.
#define APP_USBD_HID_GENERIC_DATA_SPECIFIC_DEC app_usbd_hid_generic_ctx_t ctx;
Specific class data for HID generic class.
#define APP_USBD_HID_GENERIC_INST_CONFIG (report_buff_in,report_buff_out,user_ev_handler,in_report_queue,subclass_descriptors,subclass_boot,protocol)
Configure internal part of HID generic instance. More...
#define APP_USBD_HID_GENERIC_GLOBAL_DEF_INTERNAL (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

APP_USBD_CLASS_FORWARD (app_usbd_hid_generic)
Forward declaration of HID generic class type.

Variables

const app_usbd_hid_methods_t app_usbd_hid_generic_methods
Public HID generic interface.
const app_usbd_class_methods_t app_usbd_generic_class_methods
Public HID generic class interface.

Detailed Description

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

Macro Definition Documentation

#define APP_USBD_HID_GENERIC_CONFIG ( iface,
endpoints
) ((iface, BRACKET_EXTRACT (endpoints)))

HID generic configuration macro.

Used by APP_USBD_HID_GENERIC_GLOBAL_DEF .

Parameters
iface Interface number.
endpoints Endpoint list.
#define APP_USBD_HID_GENERIC_GLOBAL_DEF_INTERNAL ( instance_name,
interface_number,
user_ev_handler,
endpoint_list,
subclass_descriptors,
report_in_queue_size,
report_out_maxsize,
subclass_boot,
protocol
)
Value:
static app_usbd_hid_report_buffer_t CONCAT_2 (instance_name, _in); \
APP_USBD_HID_GENERIC_GLOBAL_OUT_REP_DEF( CONCAT_2 (instance_name, _out), \
report_out_maxsize + 1); \
instance_name##_queue, \
report_in_queue_size, \
APP_USBD_CLASS_INST_GLOBAL_DEF( \
instance_name, \
app_usbd_hid_generic, \
APP_USBD_HID_GENERIC_CONFIG (interface_number, endpoint_list), \
& CONCAT_2 (instance_name, _out), \
user_ev_handler, \
&instance_name##_queue, \
subclass_descriptors, \
subclass_boot, \
protocol)) \
)

Global definition of app_usbd_hid_generic_t class.

APP_USBD_HID_GENERIC_GLOBAL_DEF

#define APP_USBD_HID_GENERIC_INST_CONFIG ( report_buff_in,
report_buff_out,
user_ev_handler,
in_report_queue,
subclass_descriptors,
subclass_boot,
protocol
)
Value:
.inst = { \
.hid_inst = APP_USBD_HID_INST_CONFIG (subclass_descriptors, \
subclass_boot, \
protocol, \
report_buff_in, \
report_buff_out, \
user_ev_handler, \
.p_rep_in_queue = in_report_queue, \
}

Configure internal part of HID generic instance.

Parameters
report_buff_in Input report buffers array.
report_buff_out Output report buffer.
user_ev_handler User event handler.
in_report_queue IN report queue.
subclass_descriptors HID subclass descriptors.
subclass_boot Subclass boot. ( app_usbd_hid_subclass_t )
protocol HID protocol. ( app_usbd_hid_protocol_t )