mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-16 04:41:28 +00:00
Add new USB_Host_GetDeviceStringDescriptor() convenience function.
This commit is contained in:
parent
c49bdcb7c9
commit
c1fa230618
@ -308,6 +308,22 @@ uint8_t USB_Host_GetDeviceDescriptor(void* const DeviceDescriptorPtr)
|
|||||||
return USB_Host_SendControlRequest(DeviceDescriptorPtr);
|
return USB_Host_SendControlRequest(DeviceDescriptorPtr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t USB_Host_GetDeviceStringDescriptor(uint8_t Index, void* const Buffer, uint8_t BufferLength)
|
||||||
|
{
|
||||||
|
USB_ControlRequest = (USB_Request_Header_t)
|
||||||
|
{
|
||||||
|
bmRequestType: (REQDIR_DEVICETOHOST | REQTYPE_STANDARD | REQREC_DEVICE),
|
||||||
|
bRequest: REQ_GetDescriptor,
|
||||||
|
wValue: (DTYPE_String << 8) | Index,
|
||||||
|
wIndex: 0,
|
||||||
|
wLength: BufferLength,
|
||||||
|
};
|
||||||
|
|
||||||
|
Pipe_SelectPipe(PIPE_CONTROLPIPE);
|
||||||
|
|
||||||
|
return USB_Host_SendControlRequest(Buffer);
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t USB_Host_ClearPipeStall(uint8_t EndpointNum)
|
uint8_t USB_Host_ClearPipeStall(uint8_t EndpointNum)
|
||||||
{
|
{
|
||||||
if (Pipe_GetPipeToken() == PIPE_TOKEN_IN)
|
if (Pipe_GetPipeToken() == PIPE_TOKEN_IN)
|
||||||
|
@ -201,6 +201,22 @@
|
|||||||
*/
|
*/
|
||||||
uint8_t USB_Host_GetDeviceDescriptor(void* const DeviceDescriptorPtr);
|
uint8_t USB_Host_GetDeviceDescriptor(void* const DeviceDescriptorPtr);
|
||||||
|
|
||||||
|
/** Convenience function. This routine sends a GetDescriptor standard request to the attached
|
||||||
|
* device, requesting the string descriptor of the specified index. This can be used to easily
|
||||||
|
* retrieve string descriptors from the device by index, after the index is obtained from the
|
||||||
|
* Device or Configuration descriptors.
|
||||||
|
*
|
||||||
|
* \note After this routine returns, the control pipe will be selected.
|
||||||
|
*
|
||||||
|
* \param[in] Index Index of the string index to retrieve
|
||||||
|
* \param[out] Buffer Pointer to the destination buffer where the retrieved string decriptor is
|
||||||
|
* to be stored
|
||||||
|
* \param[in] BufferLength Maximum size of the string descriptor which can be stored into the buffer
|
||||||
|
*
|
||||||
|
* \return A value from the \ref USB_Host_SendControlErrorCodes_t enum to indicate the result.
|
||||||
|
*/
|
||||||
|
uint8_t USB_Host_GetDeviceStringDescriptor(uint8_t Index, void* const Buffer, uint8_t BufferLength);
|
||||||
|
|
||||||
/** Clears a stall condition on the given pipe, via a ClearFeature request to the attached device.
|
/** Clears a stall condition on the given pipe, via a ClearFeature request to the attached device.
|
||||||
*
|
*
|
||||||
* \note After this routine returns, the control pipe will be selected.
|
* \note After this routine returns, the control pipe will be selected.
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
* - Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype
|
* - Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype
|
||||||
* - Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values
|
* - Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values
|
||||||
* - Added new EVK527 board target
|
* - Added new EVK527 board target
|
||||||
|
* - Added new USB_Host_GetDeviceStringDescriptor() convenience function
|
||||||
*
|
*
|
||||||
* <b>Changed:</b>
|
* <b>Changed:</b>
|
||||||
* - Removed code in the Keyboard demos to send zeroed reports between two reports with differing numbers of keycodes
|
* - Removed code in the Keyboard demos to send zeroed reports between two reports with differing numbers of keycodes
|
||||||
|
Loading…
Reference in New Issue
Block a user