Extract further keyboard interface specific macros and variable to keyboard_descriptors.[ch]
This commit is contained in:
@@ -91,3 +91,27 @@ uint8_t UsbKeyboardReportDescriptor[USB_DESCRIPTOR_LENGTH_HID_KEYBOARD_REPORT] =
|
|||||||
0x81U, 0x00U, // Input(Data, Array), Key arrays(6U bytes)
|
0x81U, 0x00U, // Input(Data, Array), Key arrays(6U bytes)
|
||||||
0xC0U, // End collection
|
0xC0U, // End collection
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uint8_t g_UsbKeyboardString[USB_KEYBOARD_STRING_DESCRIPTOR_LENGTH] = {
|
||||||
|
sizeof(g_UsbKeyboardString),
|
||||||
|
USB_DESCRIPTOR_TYPE_STRING,
|
||||||
|
'H', 0x00U,
|
||||||
|
'I', 0x00U,
|
||||||
|
'D', 0x00U,
|
||||||
|
' ', 0x00U,
|
||||||
|
'K', 0x00U,
|
||||||
|
'E', 0x00U,
|
||||||
|
'Y', 0x00U,
|
||||||
|
'B', 0x00U,
|
||||||
|
'O', 0x00U,
|
||||||
|
'A', 0x00U,
|
||||||
|
'R', 0x00U,
|
||||||
|
'D', 0x00U,
|
||||||
|
' ', 0x00U,
|
||||||
|
'D', 0x00U,
|
||||||
|
'E', 0x00U,
|
||||||
|
'V', 0x00U,
|
||||||
|
'I', 0x00U,
|
||||||
|
'C', 0x00U,
|
||||||
|
'E', 0x00U,
|
||||||
|
};
|
||||||
|
|||||||
@@ -3,10 +3,24 @@
|
|||||||
|
|
||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
|
#define USB_HID_KEYBOARD_INTERFACE_COUNT (1U)
|
||||||
|
#define USB_DESCRIPTOR_LENGTH_HID_KEYBOARD_REPORT (63U)
|
||||||
|
#define USB_KEYBOARD_STRING_DESCRIPTOR_LENGTH (40U)
|
||||||
#define USB_KEYBOARD_INTERFACE_ALTERNATE_SETTING (0U)
|
#define USB_KEYBOARD_INTERFACE_ALTERNATE_SETTING (0U)
|
||||||
|
#define USB_HID_KEYBOARD_ENDPOINT_IN (2U)
|
||||||
|
#define FS_HID_KEYBOARD_INTERRUPT_IN_PACKET_SIZE (8U)
|
||||||
|
#define USB_HID_KEYBOARD_ENDPOINT_COUNT (1U)
|
||||||
|
#define USB_HID_KEYBOARD_CLASS (0x03U)
|
||||||
|
#define USB_HID_KEYBOARD_SUBCLASS (0x01U)
|
||||||
|
#define USB_HID_KEYBOARD_PROTOCOL (0x01U)
|
||||||
|
#define USB_HID_KEYBOARD_INTERFACE_INDEX (1U)
|
||||||
|
#define USB_HID_KEYBOARD_IN_BUFFER_LENGTH (8U)
|
||||||
|
#define FS_HID_KEYBOARD_INTERRUPT_IN_INTERVAL (0x04U)
|
||||||
|
#define USB_HID_KEYBOARD_REPORT_LENGTH (0x08U)
|
||||||
|
|
||||||
// Function prototypes:
|
// Variables:
|
||||||
|
|
||||||
|
extern uint8_t g_UsbKeyboardString[USB_KEYBOARD_STRING_DESCRIPTOR_LENGTH];
|
||||||
extern usb_device_class_struct_t UsbKeyboardClass;
|
extern usb_device_class_struct_t UsbKeyboardClass;
|
||||||
extern uint8_t UsbKeyboardReportDescriptor[USB_DESCRIPTOR_LENGTH_HID_KEYBOARD_REPORT];
|
extern uint8_t UsbKeyboardReportDescriptor[USB_DESCRIPTOR_LENGTH_HID_KEYBOARD_REPORT];
|
||||||
|
|
||||||
|
|||||||
@@ -294,37 +294,13 @@ uint8_t g_UsbDeviceString3[USB_DESCRIPTOR_LENGTH_STRING3] = {
|
|||||||
'E', 0x00U,
|
'E', 0x00U,
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t g_UsbDeviceString4[USB_DESCRIPTOR_LENGTH_STRING4] = {
|
|
||||||
sizeof(g_UsbDeviceString4),
|
|
||||||
USB_DESCRIPTOR_TYPE_STRING,
|
|
||||||
'H', 0x00U,
|
|
||||||
'I', 0x00U,
|
|
||||||
'D', 0x00U,
|
|
||||||
' ', 0x00U,
|
|
||||||
'K', 0x00U,
|
|
||||||
'E', 0x00U,
|
|
||||||
'Y', 0x00U,
|
|
||||||
'B', 0x00U,
|
|
||||||
'O', 0x00U,
|
|
||||||
'A', 0x00U,
|
|
||||||
'R', 0x00U,
|
|
||||||
'D', 0x00U,
|
|
||||||
' ', 0x00U,
|
|
||||||
'D', 0x00U,
|
|
||||||
'E', 0x00U,
|
|
||||||
'V', 0x00U,
|
|
||||||
'I', 0x00U,
|
|
||||||
'C', 0x00U,
|
|
||||||
'E', 0x00U,
|
|
||||||
};
|
|
||||||
|
|
||||||
uint32_t g_UsbDeviceStringDescriptorLength[USB_DEVICE_STRING_COUNT] = {
|
uint32_t g_UsbDeviceStringDescriptorLength[USB_DEVICE_STRING_COUNT] = {
|
||||||
sizeof(g_UsbDeviceString0), sizeof(g_UsbDeviceString1), sizeof(g_UsbDeviceString2),
|
sizeof(g_UsbDeviceString0), sizeof(g_UsbDeviceString1), sizeof(g_UsbDeviceString2),
|
||||||
sizeof(g_UsbDeviceString3), sizeof(g_UsbDeviceString4),
|
sizeof(g_UsbDeviceString3), sizeof(g_UsbKeyboardString),
|
||||||
};
|
};
|
||||||
|
|
||||||
uint8_t *g_UsbDeviceStringDescriptorArray[USB_DEVICE_STRING_COUNT] = {
|
uint8_t *g_UsbDeviceStringDescriptorArray[USB_DEVICE_STRING_COUNT] = {
|
||||||
g_UsbDeviceString0, g_UsbDeviceString1, g_UsbDeviceString2, g_UsbDeviceString3, g_UsbDeviceString4,
|
g_UsbDeviceString0, g_UsbDeviceString1, g_UsbDeviceString2, g_UsbDeviceString3, g_UsbKeyboardString,
|
||||||
};
|
};
|
||||||
|
|
||||||
usb_language_t g_UsbDeviceLanguage[USB_DEVICE_LANGUAGE_COUNT] = {{
|
usb_language_t g_UsbDeviceLanguage[USB_DEVICE_LANGUAGE_COUNT] = {{
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
#ifndef __USB_DEVICE_DESCRIPTOR_H__
|
#ifndef __USB_DEVICE_DESCRIPTOR_H__
|
||||||
#define __USB_DEVICE_DESCRIPTOR_H__
|
#define __USB_DEVICE_DESCRIPTOR_H__
|
||||||
|
|
||||||
/* Macros: */
|
// Includes:
|
||||||
|
|
||||||
|
#include "keyboard_descriptors.h"
|
||||||
|
|
||||||
|
// Macros:
|
||||||
|
|
||||||
#define USB_DEVICE_SPECIFIC_BCD_VERSION (0x0200U)
|
#define USB_DEVICE_SPECIFIC_BCD_VERSION (0x0200U)
|
||||||
#define USB_DEVICE_DEMO_BCD_VERSION (0x0101U)
|
#define USB_DEVICE_DEMO_BCD_VERSION (0x0101U)
|
||||||
@@ -14,13 +18,11 @@
|
|||||||
|
|
||||||
#define USB_DESCRIPTOR_LENGTH_CONFIGURATION_ALL (59U)
|
#define USB_DESCRIPTOR_LENGTH_CONFIGURATION_ALL (59U)
|
||||||
#define USB_DESCRIPTOR_LENGTH_HID_MOUSE_REPORT (52U)
|
#define USB_DESCRIPTOR_LENGTH_HID_MOUSE_REPORT (52U)
|
||||||
#define USB_DESCRIPTOR_LENGTH_HID_KEYBOARD_REPORT (63U)
|
|
||||||
#define USB_DESCRIPTOR_LENGTH_HID (9U)
|
#define USB_DESCRIPTOR_LENGTH_HID (9U)
|
||||||
#define USB_DESCRIPTOR_LENGTH_STRING0 (4U)
|
#define USB_DESCRIPTOR_LENGTH_STRING0 (4U)
|
||||||
#define USB_DESCRIPTOR_LENGTH_STRING1 (58U)
|
#define USB_DESCRIPTOR_LENGTH_STRING1 (58U)
|
||||||
#define USB_DESCRIPTOR_LENGTH_STRING2 (34U)
|
#define USB_DESCRIPTOR_LENGTH_STRING2 (34U)
|
||||||
#define USB_DESCRIPTOR_LENGTH_STRING3 (34U)
|
#define USB_DESCRIPTOR_LENGTH_STRING3 (34U)
|
||||||
#define USB_DESCRIPTOR_LENGTH_STRING4 (40U)
|
|
||||||
|
|
||||||
#define USB_DEVICE_CONFIGURATION_COUNT (1U)
|
#define USB_DEVICE_CONFIGURATION_COUNT (1U)
|
||||||
#define USB_DEVICE_STRING_COUNT (5U)
|
#define USB_DEVICE_STRING_COUNT (5U)
|
||||||
@@ -40,31 +42,12 @@
|
|||||||
#define USB_HID_MOUSE_SUBCLASS (0x01U)
|
#define USB_HID_MOUSE_SUBCLASS (0x01U)
|
||||||
#define USB_HID_MOUSE_PROTOCOL (0x02U)
|
#define USB_HID_MOUSE_PROTOCOL (0x02U)
|
||||||
|
|
||||||
#define HS_HID_MOUSE_INTERRUPT_IN_PACKET_SIZE (8U)
|
|
||||||
#define FS_HID_MOUSE_INTERRUPT_IN_PACKET_SIZE (8U)
|
#define FS_HID_MOUSE_INTERRUPT_IN_PACKET_SIZE (8U)
|
||||||
#define HS_HID_MOUSE_INTERRUPT_IN_INTERVAL (0x06U) /* 2^(6-1) = 4ms */
|
|
||||||
#define FS_HID_MOUSE_INTERRUPT_IN_INTERVAL (0x04U)
|
#define FS_HID_MOUSE_INTERRUPT_IN_INTERVAL (0x04U)
|
||||||
|
|
||||||
#define USB_HID_KEYBOARD_CLASS (0x03U)
|
|
||||||
#define USB_HID_KEYBOARD_SUBCLASS (0x01U)
|
|
||||||
#define USB_HID_KEYBOARD_PROTOCOL (0x01U)
|
|
||||||
|
|
||||||
#define USB_HID_KEYBOARD_INTERFACE_COUNT (1U)
|
|
||||||
#define USB_HID_KEYBOARD_INTERFACE_INDEX (1U)
|
|
||||||
#define USB_HID_KEYBOARD_IN_BUFFER_LENGTH (8U)
|
|
||||||
#define USB_HID_KEYBOARD_ENDPOINT_COUNT (1U)
|
|
||||||
#define USB_HID_KEYBOARD_ENDPOINT_IN (2U)
|
|
||||||
|
|
||||||
#define HS_HID_KEYBOARD_INTERRUPT_IN_PACKET_SIZE (8U)
|
|
||||||
#define FS_HID_KEYBOARD_INTERRUPT_IN_PACKET_SIZE (8U)
|
|
||||||
#define HS_HID_KEYBOARD_INTERRUPT_IN_INTERVAL (0x06U) /* 2^(6-1) = 4ms */
|
|
||||||
#define FS_HID_KEYBOARD_INTERRUPT_IN_INTERVAL (0x04U)
|
|
||||||
|
|
||||||
#define USB_HID_KEYBOARD_REPORT_LENGTH (0x08U)
|
|
||||||
|
|
||||||
#define USB_COMPOSITE_INTERFACE_COUNT (USB_HID_KEYBOARD_INTERFACE_COUNT + USB_HID_MOUSE_INTERFACE_COUNT)
|
#define USB_COMPOSITE_INTERFACE_COUNT (USB_HID_KEYBOARD_INTERFACE_COUNT + USB_HID_MOUSE_INTERFACE_COUNT)
|
||||||
|
|
||||||
/* Function prototypes: */
|
// Function prototypes:
|
||||||
|
|
||||||
usb_status_t USB_DeviceGetDeviceDescriptor(
|
usb_status_t USB_DeviceGetDeviceDescriptor(
|
||||||
usb_device_handle handle, usb_device_get_device_descriptor_struct_t *deviceDescriptor);
|
usb_device_handle handle, usb_device_get_device_descriptor_struct_t *deviceDescriptor);
|
||||||
|
|||||||
Reference in New Issue
Block a user