nRF5 SDK v17.1.0
Modules | Data Structures | Macros | Functions
USB HID generic

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,report_feature_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 hid_generic_idle_set (app_usbd_hid_generic_t const *p_generic, const void *p_buff, size_t size)
 Changes default HID idle report. 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...
 
ret_code_t hid_generic_on_set_protocol (app_usbd_hid_generic_t const *p_generic, app_usbd_hid_user_event_t ev)
 Function handling SET_PROTOCOL command. More...
 
ret_code_t hid_generic_clear_buffer (app_usbd_class_inst_t const *p_inst)
 Function that clears HID generic buffers and sends an empty report. More...
 
ret_code_t hid_generic_idle_handler_set (app_usbd_class_inst_t const *p_inst, app_usbd_hid_idle_handler_t handler)
 Sets handler for idle reports. More...
 
ret_code_t app_usbd_hid_generic_idle_report_set (app_usbd_hid_generic_t const *p_generic, const void *p_buff, size_t size)
 Sends idle reoprt. 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,
  report_feature_maxsize,
  subclass_boot,
  protocol 
)
Value:
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.

Parameters
instance_nameName of global instance.
interface_numberUnique interface index.
user_ev_handlerUser event handler (optional).
endpoint_listInput endpoint list (nrf_drv_usbd_ep_t).
subclass_descriptorsHID subclass descriptors.
report_in_queue_sizeIN report queue size.
report_out_maxsizeMaximum output report size.
report_feature_maxsizeMaximum feature report size.
subclass_bootSubclass boot (app_usbd_hid_subclass_t).
protocolHID 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,
REPORT_FEATURE_MAXSIZE,

Function Documentation

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

Helper function to get HID generic from base class instance.

Parameters
[in]p_instBase 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)
inlinestatic

Helper function to get class instance from HID generic class.

Parameters
[in]p_genericHID generic class instance.
Returns
Base class instance.
ret_code_t app_usbd_hid_generic_idle_report_set ( app_usbd_hid_generic_t const *  p_generic,
const void *  p_buff,
size_t  size 
)

Sends idle reoprt.

Parameters
[in]p_genericHID generic class instance.
[in]p_buffReport buffer.
[in]sizeSize of report.
Returns
Standard error code.
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_genericHID generic class instance.
[out]p_sizeLast 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_genericHID generic class instance.
[in]p_buffReport buffer.
[in]sizeReport 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_genericHID generic class instance.
[out]p_sizeLast transfered OUT report size.
Returns
Last transfered OUT report.
ret_code_t hid_generic_clear_buffer ( app_usbd_class_inst_t const *  p_inst)

Function that clears HID generic buffers and sends an empty report.

Parameters
[in]p_instBase class instance.
Returns
Standard error code.
ret_code_t hid_generic_idle_handler_set ( app_usbd_class_inst_t const *  p_inst,
app_usbd_hid_idle_handler_t  handler 
)

Sets handler for idle reports.

Parameters
[in]p_instBase class instance.
[in]handlerHandler.
Returns
Standard error code.
ret_code_t hid_generic_idle_set ( app_usbd_hid_generic_t const *  p_generic,
const void *  p_buff,
size_t  size 
)

Changes default HID idle report.

Parameters
[in]p_genericHID generic class instance.
[in]p_buffReport buffer.
[in]sizeReport size.
Returns
Standard error code.
ret_code_t hid_generic_on_set_protocol ( app_usbd_hid_generic_t const *  p_generic,
app_usbd_hid_user_event_t  ev 
)

Function handling SET_PROTOCOL command.

Parameters
[in]p_genericHID generic class instance.
[in]evUser event.
Returns
Standard error code.

Documentation feedback | Developer Zone | Subscribe | Updated