USBHIDDevice Class
USBHIDDevice Class
Description
A class used for creating and managing USB HID device class
Syntax
class USBHIDDevice
Members
Public Constructors |
The public constructor should not be used as this class is intended to be a singleton class. Access member functions using the object instance named USBHIDDev. |
Public Methods | |
USBHIDDevice::setReportDescriptor | Configure the HID report descriptor |
USBHIDDevice::setUSBEndpointMPS | Configure USB endpoint maximum packet size |
USBHIDDevice::setUSBEndpointInterval | Configure USB endpoint polling interval |
USBHIDDevice::setVID | Set USB vendor ID value |
USBHIDDevice::setPID | Set USB product ID value |
USBHIDDevice::setManufacturerString | Set USB manufacturer string |
USBHIDDevice::setModelString | Set USB product model string |
USBHIDDevice::setSerialString | Set USB product serial number string |
USBHIDDevice::USBconnected | Check if the USB port is connected to a host |
USBHIDDevice::begin | Start USB HID device |
USBHIDDevice::end | Stop USB HID device |
USBHIDDevice::inputReport | Send a HID input report |
USBHIDDevice::setReportDescriptor
Description
Configure the HID report descriptor.
Syntax
void setReportDescriptor(uint8_t* report_desc, uint16_t len);
Parameters
report_desc: pointer to buffer containing HID report descriptor
len: HID report descriptor length in number of bytes
Returns
The function returns nothing.
Example Code
Example: USBHIDGamepad
Notes and Warnings
Default HID report descriptor is configured for mouse + keyboard + consumer control.
USBHIDDevice::setUSBEndpointMPS
Description
Configure USB endpoint maximum packet size.
Syntax
void setUSBEndpointMPS(uint8_t max_packet_size);
Parameters
max_packet_size: maximum HID report packet size in bytes
Returns
The function returns nothing.
Example Code
Example: USBHIDGamepad
Notes and Warnings
The USB endpoint maximum packet size should correspond to the size of the largest HID report defined in the HID report descriptor.
USBHIDDevice::setUSBEndpointInterval
Description
Configure USB endpoint polling interval.
Syntax
void setUSBEndpointInterval(uint8_t poll_interval);
Parameters
poll_interval: polling interval for USB interrupt endpoint, expressed in milliseconds
Returns
The function returns nothing.
Example Code
NA
<
Notes and Warnings
Default polling interval is set at the minimum of 1 millisecond.
USBHIDDevice::setVID
Description
Set USB vendor ID value.
Syntax
void setVID(uint16_t VID);
Parameters
VID: vendor ID
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
The VID should be configured before USBHIDDevice::begin() function is called.
USBHIDDevice::setPID
Description
Set USB product ID value.
Syntax
void setPID(uint16_t PID);
Parameters
PID: product ID
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
The PID should be configured before USBHIDDevice::begin() function is called.
USBHIDDevice::setManufacturerString
Description
Set USB manufacturer string.
Syntax
void setManufacturerString(const char* manufacturer);
Parameters
manufacturer: Character string containing manufacturer name
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
The manufacturer string should be configured before USBHIDDevice::begin() function is called.
USBHIDDevice::setModelString
Description
Set USB product model string.
Syntax
void setModelString(const char* model);
Parameters
model: Character string containing model name
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
The model string should be configured before USBHIDDevice::begin() function is called.
USBHIDDevice::setSerialString
Description
Set USB product serial number string.
Syntax
void setSerialString(const char* serial);
Parameters
serial: Character string containing serial number
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
The serial string should be configured before USBHIDDevice::begin() function is called.
USBHIDDevice::USBconnected
Description
Check if the USB port is connected to a host.
Syntax
uint8_t USBconnected();
Parameters
The function requires no input parameter.
Returns
The function returns TRUE if the USB port is connected to a host, FALSE if it is not connected.
Example Code
Example: USBHIDGamepad, USBHIDKeyboard, USBHIDMouse
Notes and Warnings
NA
USBHIDDevice::begin
Description
Start USB HID device.
Syntax
void begin();
Parameters
The function requires no input parameter.
Returns
The function returns nothing.
Example Code
Example: USBHIDGamepad, USBHIDKeyboard, USBHIDMouse
Notes and Warnings
NA
USBHIDDevice::end
Description
Stop USB HID device.
Syntax
void end();
Parameters
The function requires no input parameter.
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
NA
USBHIDDevice::inputReport
Description
Send a HID input report.
Syntax
void inputReport(uint8_t reportID, uint8_t* data, uint16_t len);
Parameters
reportID: HID report ID of input report
data: pointer to HID input report data to send
len: length of HID input report data in bytes
Returns
The function returns nothing.
Example Code
NA
Notes and Warnings
A reportID value of 0 is not a valid report ID and will send an input report without the report ID field.