Clean up USB string descriptor related identifier names and the section titles of header files.

This commit is contained in:
László Monda
2016-02-25 16:19:56 +01:00
parent ce8deaac2c
commit 075338f398
8 changed files with 56 additions and 39 deletions

View File

@@ -1,12 +1,12 @@
#ifndef __USB_DEVICE_COMPOSITE_H__
#define __USB_DEVICE_COMPOSITE_H__
/* Macros: */
// Macros:
#define CONTROLLER_ID kUSB_ControllerKhci0
#define USB_DEVICE_INTERRUPT_PRIORITY (3U)
/* Type defines: */
// Typedefs:
typedef struct _usb_device_composite_struct {
usb_device_handle deviceHandle;

View File

@@ -1,7 +1,7 @@
#ifndef __USB_DEVICE_HID_KEYBOARD_H__
#define __USB_DEVICE_HID_KEYBOARD_H__
/* Macros: */
// Macros:
#define KEY_ERRORROLLOVER 0x01U
#define KEY_POSTFAIL 0x02U
@@ -231,14 +231,14 @@
#define MODIFERKEYS_RIGHT_ALT 0x40U
#define MODIFERKEYS_RIGHT_GUI 0x80U
/* Type defines: */
// Typedefs:
typedef struct _usb_device_hid_keyboard_struct {
uint8_t buffer[USB_KEYBOARD_REPORT_LENGTH];
uint8_t idleRate;
} usb_device_hid_keyboard_struct_t;
/* Function prototypes: */
// Functions:
extern usb_status_t USB_DeviceHidKeyboardInit(usb_device_composite_struct_t *deviceComposite);
extern usb_status_t USB_DeviceHidKeyboardCallback(class_handle_t handle, uint32_t event, void *param);

View File

@@ -1,14 +1,14 @@
#ifndef __USB_DEVICE_HID_MOUSE_H__
#define __USB_DEVICE_HID_MOUSE_H__
/* Type defines: */
// Typedefs:
typedef struct usb_device_hid_mouse_struct {
uint8_t buffer[USB_MOUSE_REPORT_LENGTH];
uint8_t idleRate;
} usb_device_hid_mouse_struct_t;
/* Function prototypes: */
// Functions:
extern usb_status_t USB_DeviceHidMouseInit(usb_device_composite_struct_t *deviceComposite);
extern usb_status_t USB_DeviceHidMouseCallback(class_handle_t handle, uint32_t event, void *param);

View File

@@ -125,12 +125,15 @@ uint8_t UsbConfigurationDescriptor[USB_DESCRIPTOR_LENGTH_CONFIGURATION_ALL] = {
USB_KEYBOARD_INTERRUPT_IN_INTERVAL,
};
uint8_t g_UsbDeviceString0[USB_DESCRIPTOR_LENGTH_STRING0] = {
sizeof(g_UsbDeviceString0), USB_DESCRIPTOR_TYPE_STRING, 0x09U, 0x04U,
uint8_t UsbLanguageListStringDescriptor[USB_DESCRIPTOR_LENGTH_STRING0] = {
sizeof(UsbLanguageListStringDescriptor),
USB_DESCRIPTOR_TYPE_STRING,
GET_LSB_OF_WORD(USB_LANGUAGE_ID_UNITED_STATES),
GET_MSB_OF_WORD(USB_LANGUAGE_ID_UNITED_STATES)
};
uint8_t g_UsbDeviceString1[USB_DESCRIPTOR_LENGTH_STRING1] = {
sizeof(g_UsbDeviceString1),
uint8_t UsbManufacturerString[USB_MANUFACTURER_STRING_DESCRIPTOR_LENGTH] = {
sizeof(UsbManufacturerString),
USB_DESCRIPTOR_TYPE_STRING,
'F', 0x00U,
'R', 0x00U,
@@ -162,8 +165,8 @@ uint8_t g_UsbDeviceString1[USB_DESCRIPTOR_LENGTH_STRING1] = {
'.', 0x00U,
};
uint8_t g_UsbDeviceString2[USB_DESCRIPTOR_LENGTH_STRING2] = {
sizeof(g_UsbDeviceString2),
uint8_t UsbProductString[USB_DESCRIPTOR_LENGTH_STRING2] = {
sizeof(UsbProductString),
USB_DESCRIPTOR_TYPE_STRING,
'C', 0x00U,
'O', 0x00U,
@@ -183,21 +186,33 @@ uint8_t g_UsbDeviceString2[USB_DESCRIPTOR_LENGTH_STRING2] = {
'E', 0x00U,
};
uint32_t g_UsbDeviceStringDescriptorLength[USB_DEVICE_STRING_COUNT] = {
sizeof(g_UsbDeviceString0), sizeof(g_UsbDeviceString1), sizeof(g_UsbDeviceString2),
sizeof(UsbMouseString), sizeof(UsbKeyboardString),
uint32_t UsbStringDescriptorLengths[USB_STRING_DESCRIPTOR_COUNT] = {
sizeof(UsbLanguageListStringDescriptor),
sizeof(UsbManufacturerString),
sizeof(UsbProductString),
sizeof(UsbMouseString),
sizeof(UsbKeyboardString),
};
uint8_t *g_UsbDeviceStringDescriptorArray[USB_DEVICE_STRING_COUNT] = {
g_UsbDeviceString0, g_UsbDeviceString1, g_UsbDeviceString2, UsbMouseString, UsbKeyboardString,
uint8_t *UsbStringDescriptors[USB_STRING_DESCRIPTOR_COUNT] = {
UsbLanguageListStringDescriptor,
UsbManufacturerString,
UsbProductString,
UsbMouseString,
UsbKeyboardString,
};
usb_language_t g_UsbDeviceLanguage[USB_DEVICE_LANGUAGE_COUNT] = {{
g_UsbDeviceStringDescriptorArray, g_UsbDeviceStringDescriptorLength, (uint16_t)0x0409U,
UsbStringDescriptors,
UsbStringDescriptorLengths,
(uint16_t)USB_LANGUAGE_ID_UNITED_STATES,
}};
usb_language_list_t g_UsbDeviceLanguageList = {
g_UsbDeviceString0, sizeof(g_UsbDeviceString0), g_UsbDeviceLanguage, USB_DEVICE_LANGUAGE_COUNT,
usb_language_list_t UsbLanguageList = {
UsbLanguageListStringDescriptor,
sizeof(UsbLanguageListStringDescriptor),
g_UsbDeviceLanguage,
USB_DEVICE_LANGUAGE_COUNT,
};
usb_status_t USB_DeviceGetDeviceDescriptor(
@@ -223,26 +238,26 @@ usb_status_t USB_DeviceGetStringDescriptor(
usb_device_handle handle, usb_device_get_string_descriptor_struct_t *stringDescriptor)
{
if (stringDescriptor->stringIndex == 0U) {
stringDescriptor->buffer = (uint8_t *)g_UsbDeviceLanguageList.languageString;
stringDescriptor->length = g_UsbDeviceLanguageList.stringLength;
stringDescriptor->buffer = (uint8_t *)UsbLanguageList.languageString;
stringDescriptor->length = UsbLanguageList.stringLength;
} else {
uint8_t languageId = 0U;
uint8_t languageIndex = USB_DEVICE_STRING_COUNT;
uint8_t languageIndex = USB_STRING_DESCRIPTOR_COUNT;
for (; languageId < USB_DEVICE_STRING_COUNT; languageId++) {
if (stringDescriptor->languageId == g_UsbDeviceLanguageList.languageList[languageId].languageId) {
if (stringDescriptor->stringIndex < USB_DEVICE_STRING_COUNT) {
for (; languageId < USB_STRING_DESCRIPTOR_COUNT; languageId++) {
if (stringDescriptor->languageId == UsbLanguageList.languageList[languageId].languageId) {
if (stringDescriptor->stringIndex < USB_STRING_DESCRIPTOR_COUNT) {
languageIndex = stringDescriptor->stringIndex;
}
break;
}
}
if (USB_DEVICE_STRING_COUNT == languageIndex) {
if (USB_STRING_DESCRIPTOR_COUNT == languageIndex) {
return kStatus_USB_InvalidRequest;
}
stringDescriptor->buffer = (uint8_t *)g_UsbDeviceLanguageList.languageList[languageId].string[languageIndex];
stringDescriptor->length = g_UsbDeviceLanguageList.languageList[languageId].length[languageIndex];
stringDescriptor->buffer = (uint8_t *)UsbLanguageList.languageList[languageId].string[languageIndex];
stringDescriptor->length = UsbLanguageList.languageList[languageId].length[languageIndex];
}
return kStatus_USB_Success;
}

View File

@@ -11,6 +11,8 @@
#define USB_VENDOR_ID 0x15A2U
#define USB_PRODUCT_ID 0x007EU
#define USB_LANGUAGE_ID_UNITED_STATES (0x0409U)
#define USB_DEVICE_SPECIFICATION_BCD_VERSION (0x0200U)
#define USB_DEVICE_RELEASE_NUMBER (0x0101U)
@@ -23,11 +25,11 @@
#define USB_DESCRIPTOR_LENGTH_CONFIGURATION_ALL (59U)
#define USB_DESCRIPTOR_LENGTH_HID (9U)
#define USB_DESCRIPTOR_LENGTH_STRING0 (4U)
#define USB_DESCRIPTOR_LENGTH_STRING1 (58U)
#define USB_MANUFACTURER_STRING_DESCRIPTOR_LENGTH (58U)
#define USB_DESCRIPTOR_LENGTH_STRING2 (34U)
#define USB_DEVICE_CONFIGURATION_COUNT (1U)
#define USB_DEVICE_STRING_COUNT (5U)
#define USB_STRING_DESCRIPTOR_COUNT (5U)
#define USB_DEVICE_LANGUAGE_COUNT (1U)
#define USB_STRING_DESCRIPTOR_ID_SERIAL_NUMBER 0x00U
@@ -40,7 +42,7 @@
#define USB_COMPOSITE_INTERFACE_COUNT (USB_KEYBOARD_INTERFACE_COUNT + USB_MOUSE_INTERFACE_COUNT)
// Function prototypes:
// Functions:
usb_status_t USB_DeviceGetDeviceDescriptor(
usb_device_handle handle, usb_device_get_device_descriptor_struct_t *deviceDescriptor);

View File

@@ -50,11 +50,11 @@ uint8_t UsbKeyboardReportDescriptor[USB_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = {
0x15U, 0x00U, // Logical Minimum (0U)
0x25U, 0x01U, // Logical Maximum (1U)
0x81U, 0x02U, // Input(Data, Variable, Absolute) Modifier byte
0x81U, 0x02U, // Input (Data, Variable, Absolute) modifier byte
0x95U, 0x01U, // Report count (1U)
0x75U, 0x08U, // Report Size (8U)
0x81U, 0x01U, // Input (Constant), Reserved byte
0x81U, 0x01U, // Input (Constant), reserved byte
0x95U, 0x05U, // Report count (5U)
0x75U, 0x01U, // Report Size (1U)
@@ -74,7 +74,7 @@ uint8_t UsbKeyboardReportDescriptor[USB_KEYBOARD_REPORT_DESCRIPTOR_LENGTH] = {
0x19U, 0x00U, // Usage Minimum (0U)
0x29U, 0xFFU, // Usage Maximum (255U)
0x81U, 0x00U, // Input(Data, Array), Key arrays(6U bytes)
0x81U, 0x00U, // Input (Data, Array), Key arrays (6U bytes)
0xC0U, // End collection
};

View File

@@ -71,7 +71,7 @@ uint8_t UsbMouseReportDescriptor[USB_MOUSE_REPORT_DESCRIPTOR_LENGTH] = {
0x75U, 0x08U, // Report Size (8U)
0x95U, 0x03U, // Report Count (3U)
0x81U, 0x06U, // Input(Data, Variable, Relative), 3 position bytes (X & Y & Z)
0x81U, 0x06U, // Input (Data, Variable, Relative), 3 position bytes (X & Y & Z)
0xC0U, // End collection, Close Pointer collection
0xC0U // End collection, Close Mouse collection
};

View File

@@ -3,7 +3,7 @@
// Macros:
#define GET_MSB_OF_WORD(word) ((uint8_t)(word >> 8))
#define GET_LSB_OF_WORD(word) ((uint8_t)(word & 0xff))
#define GET_MSB_OF_WORD(word) ((uint8_t)((word) >> 8))
#define GET_LSB_OF_WORD(word) ((uint8_t)((word) & 0xff))
#endif