nRF5 SDK v12.3.0
Data Structures | Macros | Functions | Variables
USB HID generic internals

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_DSC_CONFIG_1(interface_number, report_list,...)
 HID generic configuration for one endpoint. More...
 
#define APP_USBD_HID_GENERIC_DSC_CONFIG_2(interface_number, report_list,...)
 HID generic configuration for two endpoints. More...
 
#define APP_USBD_HID_GENERIC_DSC_CONFIG(interface_number, report_list,...)
 HID generic descriptors config macro. More...
 
#define APP_USBD_HID_GENERIC_INST_CONFIG(descriptors,report_buff_in,report_buff_out,user_ev_handler,...)
 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,hid_dsc_list,report_cnt,report_out_maxsize)
 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
ifaceInterface number
endpointsEndpoint list
#define APP_USBD_HID_GENERIC_DSC_CONFIG (   interface_number,
  report_list,
  ... 
)
Value:
CONCAT_2(APP_USBD_HID_GENERIC_DSC_CONFIG_, NUM_VA_ARGS(__VA_ARGS__)) \
(interface_number, report_list, __VA_ARGS__)

HID generic descriptors config macro.

app_usbd_hid_generic_inst_t

Parameters
interface_numberInterface number
report_listReport list
...Endpoint list
#define APP_USBD_HID_GENERIC_DSC_CONFIG_1 (   interface_number,
  report_list,
  ... 
)
Value:
{ \
APP_USBD_HID_GENERIC_INTERFACE_DSC(interface_number, NUM_VA_ARGS(__VA_ARGS__)) \
APP_USBD_HID_GENERIC_HID_DSC(BRACKET_EXTRACT(report_list)) \
APP_USBD_HID_GENERIC_EP_DSC(GET_VA_ARG_1(__VA_ARGS__)) \
}

HID generic configuration for one endpoint.

APP_USBD_HID_GENERIC_DSC_CONFIG

#define APP_USBD_HID_GENERIC_DSC_CONFIG_2 (   interface_number,
  report_list,
  ... 
)
Value:
{ \
APP_USBD_HID_GENERIC_INTERFACE_DSC(interface_number, NUM_VA_ARGS(__VA_ARGS__)) \
APP_USBD_HID_GENERIC_HID_DSC(BRACKET_EXTRACT(report_list)) \
APP_USBD_HID_GENERIC_EP_DSC(GET_VA_ARG_1(__VA_ARGS__)) \
APP_USBD_HID_GENERIC_EP_DSC(GET_VA_ARG_1(GET_ARGS_AFTER_1_(__VA_ARGS__))) \
}

HID generic configuration for two endpoints.

APP_USBD_HID_GENERIC_DSC_CONFIG

#define APP_USBD_HID_GENERIC_GLOBAL_DEF_INTERNAL (   instance_name,
  interface_number,
  user_ev_handler,
  endpoint_list,
  hid_dsc_list,
  report_cnt,
  report_out_maxsize 
)
Value:
static const uint8_t CONCAT_2(instance_name, _dsc)[] = \
APP_USBD_HID_GENERIC_DSC_CONFIG(interface_number, \
hid_dsc_list, \
BRACKET_EXTRACT(endpoint_list)); \
static app_usbd_hid_report_buffer_t CONCAT_2(instance_name, _in)[report_cnt]; \
APP_USBD_HID_GENERIC_GLOBAL_OUT_REP_DEF(CONCAT_2(instance_name, _out), \
report_out_maxsize + 1); \
APP_USBD_CLASS_INST_GLOBAL_DEF( \
instance_name, \
app_usbd_hid_generic, \
APP_USBD_HID_GENERIC_CONFIG(interface_number, endpoint_list), \
(APP_USBD_HID_GENERIC_INST_CONFIG(CONCAT_2(instance_name, _dsc), \
CONCAT_2(instance_name, _in), \
&CONCAT_2(instance_name, _out), \
user_ev_handler, \
BRACKET_EXTRACT(hid_dsc_list))) \
)

Global definition of app_usbd_hid_generic_t class.

APP_USBD_HID_GENERIC_GLOBAL_DEF

#define APP_USBD_HID_GENERIC_INST_CONFIG (   descriptors,
  report_buff_in,
  report_buff_out,
  user_ev_handler,
  ... 
)
Value:
.inst = { \
.hid_inst = APP_USBD_HID_INST_CONFIG(descriptors, \
GET_VA_ARG_1(__VA_ARGS__), \
report_buff_in, \
report_buff_out, \
user_ev_handler, \
}

Configure internal part of HID generic instance.

Parameters
descriptorsRaw descriptors buffer
report_buff_inInput report buffers array
report_buff_outOutput report buffer
user_ev_handlerUser event handler
...Hid descriptors list

Documentation feedback | Developer Zone | Subscribe | Updated