nRF5 SDK v17.1.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_DEFAULT_INTERVAL   0x01
 Default interval value.
 
#define APP_USBD_HID_GENERIC_INTERVAL(ep)   (APP_USBD_EXTRACT_INTERVAL_FLAG(ep) ? APP_USBD_EXTRACT_INTERVAL_VALUE(ep) : APP_USBD_HID_GENERIC_DEFAULT_INTERVAL),
 
#define APP_USBD_HID_GENERIC_INST_CONFIG(report_buff_in,report_buff_out,report_buff_feature,user_ev_handler,in_report_queue,subclass_descriptors,subclass_boot,protocol,endpoint_list)
 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,report_feature_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
ifaceInterface number.
endpointsEndpoint 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,
  report_feature_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); \
APP_USBD_HID_GENERIC_GLOBAL_FEATURE_REP_DEF(CONCAT_2(instance_name, _feature), \
report_feature_maxsize + 1); \
static uint8_t CONCAT_2(instance_name, _ep)[]= \
{MACRO_MAP(APP_USBD_HID_GENERIC_INTERVAL,BRACKET_EXTRACT(endpoint_list))}; \
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), \
(APP_USBD_HID_GENERIC_INST_CONFIG(&CONCAT_2(instance_name, _in), \
&CONCAT_2(instance_name, _out), \
&CONCAT_2(instance_name, _feature), \
user_ev_handler, \
&instance_name##_queue, \
subclass_descriptors, \
subclass_boot, \
protocol, \
CONCAT_2(instance_name, _ep))) \
)

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,
  report_buff_feature,
  user_ev_handler,
  in_report_queue,
  subclass_descriptors,
  subclass_boot,
  protocol,
  endpoint_list 
)
Value:
.inst = { \
.hid_inst = APP_USBD_HID_INST_CONFIG(subclass_descriptors, \
subclass_boot, \
protocol, \
report_buff_in, \
report_buff_out, \
report_buff_feature, \
user_ev_handler, \
endpoint_list), \
.p_rep_in_queue = in_report_queue, \
}

Configure internal part of HID generic instance.

Parameters
report_buff_inInput report buffers array.
report_buff_outOutput report buffer.
report_buff_featureFeature report buffer.
user_ev_handlerUser event handler.
in_report_queueIN report queue.
subclass_descriptorsHID subclass descriptors.
subclass_bootSubclass boot (app_usbd_hid_subclass_t).
protocolHID protocol (app_usbd_hid_protocol_t).
endpoint_listList of endpoints and intervals

Documentation feedback | Developer Zone | Subscribe | Updated