app_usbd_hid_methods_t

nRF5 SDK v16.0.0

HID unified interface. More...

#include <app_usbd_hid.h>

Data Fields

ret_code_t (* on_get_report )( app_usbd_class_inst_t const *p_inst, app_usbd_setup_evt_t const *p_setup_ev)
Function called on HID specific, GetReport request. More...
ret_code_t (* on_set_report )( app_usbd_class_inst_t const *p_inst, app_usbd_setup_evt_t const *p_setup_ev)
Function called on HID specific, SetReport request. More...
ret_code_t (* ep_transfer_in )( app_usbd_class_inst_t const *p_inst)
Function called on IN endpoint transfer. More...
ret_code_t (* ep_transfer_out )( app_usbd_class_inst_t const *p_inst)
Function called on OUT endpoint transfer. More...
size_t(* subclass_length )( app_usbd_class_inst_t const *p_inst, uint8_t desc_num)
Function returns subclass descriptor size. More...
const uint8_t *(* subclass_data )( app_usbd_class_inst_t const *p_inst, uint8_t desc_num, uint32_t cur_byte)
Function returns pointer to subclass descriptor data. More...
ret_code_t (* on_idle )( app_usbd_class_inst_t const *p_inst, uint8_t report_id)
Function called on idle transfer. More...
ret_code_t (* set_idle_handler )( app_usbd_class_inst_t const *p_inst, app_usbd_hid_idle_handler_t handler)

Detailed Description

HID unified interface.

Field Documentation

ret_code_t (* app_usbd_hid_methods_t::ep_transfer_in)( app_usbd_class_inst_t const *p_inst)

Function called on IN endpoint transfer.

This function should trigger next endpoint IN transfer if required.

Parameters
[in] p_inst Class instance.
Returns
Standard error code.
ret_code_t (* app_usbd_hid_methods_t::ep_transfer_out)( app_usbd_class_inst_t const *p_inst)

Function called on OUT endpoint transfer.

This function should should read data from OUT endpoint. This function is not required and NULL could be pinned to this handler when class doesn't have OUT endpoint.

Parameters
[in] p_inst Class instance.
Returns
Standard error code.
ret_code_t (* app_usbd_hid_methods_t::on_get_report)( app_usbd_class_inst_t const *p_inst, app_usbd_setup_evt_t const *p_setup_ev)

Function called on HID specific, GetReport request.

This function should trigger data write to control pipe.

Parameters
[in] p_inst Class instance.
[in] p_setup_ev Setup event.
Returns
Standard error code.
ret_code_t (* app_usbd_hid_methods_t::on_idle)( app_usbd_class_inst_t const *p_inst, uint8_t report_id)

Function called on idle transfer.

This function should trigger next idle transfer.

Parameters
[in,out] p_inst Instance of the class.
[in] report_id Number of report ID that needs idle transfer.
Returns
Standard error code.
ret_code_t (* app_usbd_hid_methods_t::on_set_report)( app_usbd_class_inst_t const *p_inst, app_usbd_setup_evt_t const *p_setup_ev)

Function called on HID specific, SetReport request.

This function should trigger data read from control pipe. This function is not required and NULL could be pinned to this handler when output report is not defined in report descriptor.

Parameters
[in] p_inst Class instance.
[in] p_setup_ev Setup event.
Returns
Standard error code.
const uint8_t*(* app_usbd_hid_methods_t::subclass_data)( app_usbd_class_inst_t const *p_inst, uint8_t desc_num, uint32_t cur_byte)

Function returns pointer to subclass descriptor data.

Parameters
[in] p_inst Class instance.
[in] desc_num Index of the subclass descriptor
[in] cur_byte Index of required byte
Returns
Pointer to requested byte in subclass descriptor
size_t(* app_usbd_hid_methods_t::subclass_length)( app_usbd_class_inst_t const *p_inst, uint8_t desc_num)

Function returns subclass descriptor size.

Parameters
[in] p_inst Class instance.
[in] desc_num Index of the subclass descriptor
Returns
Size of descriptor
  • components/libraries/usbd/class/hid/app_usbd_hid.h