nRF5 SDK v13.0.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 configuration
 
 USB HID generic internals
 nRF52840 only: Module with types, definitions, and API used by the HID generic protocol.
 

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,class_descriptors,report_descriptor,report_in_queue_size,report_out_maxsize)
 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,
  class_descriptors,
  report_descriptor,
  report_in_queue_size,
  report_out_maxsize 
)
Value:
interface_number, \
user_ev_handler, \
endpoint_list, \
class_descriptors, \
report_descriptor, \
report_in_queue_size, \
report_out_maxsize)

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).
class_descriptorsHID class descriptors.
report_descriptorReport descriptor.
report_in_queue_sizeIN report queue size.
report_out_maxsizeMaximum output report size.
Note
This macro is just simplified version of APP_USBD_HID_GENERIC_GLOBAL_DEF_INTERNAL.

Example class definition:

static uint8_t m_generic_rep_dsc[] = APP_USBD_HID_MOUSE_REPORT_DSC_BUTTON(2);
#define HID_DESCRIPTOR_ITEM_LIST \
( \
m_generic_rep_dsc, \
)
#define ENDPOINT_LIST \
( \
NRF_DRV_USBD_EPIN1 \
)
#define REPORT_COUNT 1
#define REPORT_OUT_MAXSIZE 0
0,
hid_user_ev_handler,
ENDPOINT_LIST,
HID_DESCRIPTOR_ITEM_LIST,
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)
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.
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.

Documentation feedback | Developer Zone | Subscribe | Updated