RZA Flexible Software Package Documentation  Release v1.1.0

 
USB HHID Interface

Detailed Description

Interface for USB HHID functions.

Summary

The USB HHID interface provides USB HHID functionality.

The USB HHID interface can be implemented by:

Data Structures

struct  usb_hhid_api_t
 
struct  usb_hhid_instance_t
 

Macros

#define USB_HID_OTHER
 Other.
 
#define USB_HID_KEYBOARD
 Keyboard.
 
#define USB_HID_MOUSE
 Mouse.
 
#define USB_HID_IN
 In Transfer.
 
#define USB_HID_OUT
 Out Transfer.
 

Data Structure Documentation

◆ usb_hhid_api_t

struct usb_hhid_api_t

USB HHID functions implemented at the HAL layer will follow this API.

Data Fields

fsp_err_t(* typeGet )(usb_ctrl_t *const p_api_ctrl, uint8_t *p_type, uint8_t device_address)
 
fsp_err_t(* maxPacketSizeGet )(usb_ctrl_t *const p_api_ctrl, uint16_t *p_size, uint8_t direction, uint8_t device_address)
 

Field Documentation

◆ typeGet

fsp_err_t(* usb_hhid_api_t::typeGet) (usb_ctrl_t *const p_api_ctrl, uint8_t *p_type, uint8_t device_address)

Get HID protocol.(USB Mouse/USB Keyboard/Other Type.)

Implemented as
Parameters
[in]p_api_ctrlPointer to control structure.
[in]p_typePointer to store HID protocol value.
[in]device_addressDevice Address.

◆ maxPacketSizeGet

fsp_err_t(* usb_hhid_api_t::maxPacketSizeGet) (usb_ctrl_t *const p_api_ctrl, uint16_t *p_size, uint8_t direction, uint8_t device_address)

Obtains max packet size for the connected HID device. The max packet size is set to the area. Set the direction (USB_HID_IN/USB_HID_OUT).

Implemented as
Parameters
[in]p_api_ctrlPointer to control structure.
[in]p_sizePointer to the area to store the max package size.
[in]directionTransfer direction.
[in]device_addressDevice Address.

◆ usb_hhid_instance_t

struct usb_hhid_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
usb_ctrl_t * p_ctrl Pointer to the control structure for this instance.
usb_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
usb_hhid_api_t const * p_api Pointer to the API structure for this instance.