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)
|
||||
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:
|
||||
|
||||
#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_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 uint8_t UsbKeyboardReportDescriptor[USB_DESCRIPTOR_LENGTH_HID_KEYBOARD_REPORT];
|
||||
|
||||
|
||||
@@ -294,37 +294,13 @@ uint8_t g_UsbDeviceString3[USB_DESCRIPTOR_LENGTH_STRING3] = {
|
||||
'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] = {
|
||||
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] = {
|
||||
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] = {{
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
#ifndef __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_DEMO_BCD_VERSION (0x0101U)
|
||||
@@ -14,13 +18,11 @@
|
||||
|
||||
#define USB_DESCRIPTOR_LENGTH_CONFIGURATION_ALL (59U)
|
||||
#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_STRING0 (4U)
|
||||
#define USB_DESCRIPTOR_LENGTH_STRING1 (58U)
|
||||
#define USB_DESCRIPTOR_LENGTH_STRING2 (34U)
|
||||
#define USB_DESCRIPTOR_LENGTH_STRING3 (34U)
|
||||
#define USB_DESCRIPTOR_LENGTH_STRING4 (40U)
|
||||
|
||||
#define USB_DEVICE_CONFIGURATION_COUNT (1U)
|
||||
#define USB_DEVICE_STRING_COUNT (5U)
|
||||
@@ -40,31 +42,12 @@
|
||||
#define USB_HID_MOUSE_SUBCLASS (0x01U)
|
||||
#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 HS_HID_MOUSE_INTERRUPT_IN_INTERVAL (0x06U) /* 2^(6-1) = 4ms */
|
||||
#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)
|
||||
|
||||
/* Function prototypes: */
|
||||
// Function prototypes:
|
||||
|
||||
usb_status_t USB_DeviceGetDeviceDescriptor(
|
||||
usb_device_handle handle, usb_device_get_device_descriptor_struct_t *deviceDescriptor);
|
||||
|
||||
Reference in New Issue
Block a user