forked from mfulz_github/qmk_firmware
Replace CDC interface numbers with enums.
This commit is contained in:
parent
ab238601b9
commit
352152c664
|
@ -123,8 +123,8 @@ const USB_Descriptor_Configuration_t ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = 0x06,
|
.Subtype = 0x06,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -48,12 +48,12 @@ const USB_Descriptor_HIDReport_Datatype_t HIDReport[] =
|
||||||
HID_RI_USAGE_PAGE(16, 0xFFDC), /* Vendor Page 0xDC */
|
HID_RI_USAGE_PAGE(16, 0xFFDC), /* Vendor Page 0xDC */
|
||||||
HID_RI_USAGE(8, 0xFB), /* Vendor Usage 0xFB */
|
HID_RI_USAGE(8, 0xFB), /* Vendor Usage 0xFB */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Vendor Usage 1 */
|
HID_RI_COLLECTION(8, 0x01), /* Vendor Usage 1 */
|
||||||
HID_RI_USAGE(8, 0x02), /* Vendor Usage 2 */
|
HID_RI_USAGE(8, 0x02), /* Vendor Usage 2 */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
|
HID_RI_LOGICAL_MAXIMUM(8, 0xFF),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_REPORT_COUNT(16, (sizeof(uint16_t) + SPM_PAGESIZE)),
|
HID_RI_REPORT_COUNT(16, (sizeof(uint16_t) + SPM_PAGESIZE)),
|
||||||
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
*/
|
*/
|
||||||
enum InterfaceDescriptors_t
|
enum InterfaceDescriptors_t
|
||||||
{
|
{
|
||||||
INTERFACE_ID_Printer = 0, /**< Printer interface descriptor ID */
|
INTERFACE_ID_Printer = 0, /**< Printer interface descriptor ID */
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
|
/** Enum for the device string descriptor IDs within the device. Each string descriptor should
|
||||||
|
|
|
@ -91,7 +91,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
{
|
{
|
||||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
||||||
|
|
||||||
.FirstInterfaceIndex = 0,
|
.FirstInterfaceIndex = INTERFACE_ID_CDC1_CCI,
|
||||||
.TotalInterfaces = 2,
|
.TotalInterfaces = 2,
|
||||||
|
|
||||||
.Class = CDC_CSCP_CDCClass,
|
.Class = CDC_CSCP_CDCClass,
|
||||||
|
@ -138,8 +138,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC1_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC1_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC1_ManagementEndpoint =
|
.CDC1_ManagementEndpoint =
|
||||||
|
@ -192,7 +192,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
{
|
{
|
||||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
||||||
|
|
||||||
.FirstInterfaceIndex = 2,
|
.FirstInterfaceIndex = INTERFACE_ID_CDC2_CCI,
|
||||||
.TotalInterfaces = 2,
|
.TotalInterfaces = 2,
|
||||||
|
|
||||||
.Class = CDC_CSCP_CDCClass,
|
.Class = CDC_CSCP_CDCClass,
|
||||||
|
@ -239,8 +239,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 2,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC2_CCI,
|
||||||
.SlaveInterfaceNumber = 3,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC2_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC2_ManagementEndpoint =
|
.CDC2_ManagementEndpoint =
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
// Keyboard HID Interface
|
// Keyboard HID Interface
|
||||||
USB_Descriptor_Interface_t HID_Interface;
|
USB_Descriptor_Interface_t HID_Interface;
|
||||||
USB_HID_Descriptor_HID_t HID_KeyboardHID;
|
USB_HID_Descriptor_HID_t HID_KeyboardHID;
|
||||||
USB_Descriptor_Endpoint_t HID_ReportINEndpoint;
|
USB_Descriptor_Endpoint_t HID_ReportINEndpoint;
|
||||||
} USB_Descriptor_Configuration_t;
|
} USB_Descriptor_Configuration_t;
|
||||||
|
|
||||||
/** Enum for the device interface descriptor IDs within the device. Each interface descriptor
|
/** Enum for the device interface descriptor IDs within the device. Each interface descriptor
|
||||||
|
|
|
@ -44,7 +44,7 @@ static uint8_t PrevKeyboardHIDReportBuffer[sizeof(USB_KeyboardReport_Data_t)];
|
||||||
* within a device can be differentiated from one another.
|
* within a device can be differentiated from one another.
|
||||||
*/
|
*/
|
||||||
USB_ClassInfo_HID_Device_t Keyboard_HID_Interface =
|
USB_ClassInfo_HID_Device_t Keyboard_HID_Interface =
|
||||||
{
|
{
|
||||||
.Config =
|
.Config =
|
||||||
{
|
{
|
||||||
.InterfaceNumber = INTERFACE_ID_Keyboard,
|
.InterfaceNumber = INTERFACE_ID_Keyboard,
|
||||||
|
@ -57,7 +57,7 @@ USB_ClassInfo_HID_Device_t Keyboard_HID_Interface =
|
||||||
.PrevReportINBuffer = PrevKeyboardHIDReportBuffer,
|
.PrevReportINBuffer = PrevKeyboardHIDReportBuffer,
|
||||||
.PrevReportINBufferSize = sizeof(PrevKeyboardHIDReportBuffer),
|
.PrevReportINBufferSize = sizeof(PrevKeyboardHIDReportBuffer),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/** Main program entry point. This routine contains the overall program flow, including initial
|
/** Main program entry point. This routine contains the overall program flow, including initial
|
||||||
|
|
|
@ -52,30 +52,30 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM HIDReport[] =
|
||||||
HID_RI_USAGE(8, 0x02), /* Mouse */
|
HID_RI_USAGE(8, 0x02), /* Mouse */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Application */
|
HID_RI_COLLECTION(8, 0x01), /* Application */
|
||||||
HID_RI_REPORT_ID(8, HID_REPORTID_MouseReport),
|
HID_RI_REPORT_ID(8, HID_REPORTID_MouseReport),
|
||||||
HID_RI_USAGE(8, 0x01), /* Pointer */
|
HID_RI_USAGE(8, 0x01), /* Pointer */
|
||||||
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
||||||
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x01),
|
HID_RI_USAGE_MINIMUM(8, 0x01),
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x03),
|
HID_RI_USAGE_MAXIMUM(8, 0x03),
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||||
HID_RI_REPORT_COUNT(8, 0x03),
|
HID_RI_REPORT_COUNT(8, 0x03),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x05),
|
HID_RI_REPORT_SIZE(8, 0x05),
|
||||||
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x30), /* Usage X */
|
HID_RI_USAGE(8, 0x30), /* Usage X */
|
||||||
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, -1),
|
HID_RI_LOGICAL_MINIMUM(8, -1),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 1),
|
HID_RI_LOGICAL_MAXIMUM(8, 1),
|
||||||
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
||||||
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
||||||
HID_RI_REPORT_COUNT(8, 0x02),
|
HID_RI_REPORT_COUNT(8, 0x02),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
|
|
||||||
/* Keyboard Report */
|
/* Keyboard Report */
|
||||||
|
@ -83,34 +83,34 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM HIDReport[] =
|
||||||
HID_RI_USAGE(8, 0x06), /* Keyboard */
|
HID_RI_USAGE(8, 0x06), /* Keyboard */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Application */
|
HID_RI_COLLECTION(8, 0x01), /* Application */
|
||||||
HID_RI_REPORT_ID(8, HID_REPORTID_KeyboardReport),
|
HID_RI_REPORT_ID(8, HID_REPORTID_KeyboardReport),
|
||||||
HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
|
HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
|
HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
|
HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_REPORT_COUNT(8, 0x08),
|
HID_RI_REPORT_COUNT(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
|
HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
|
HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
|
HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
|
||||||
HID_RI_REPORT_COUNT(8, 0x05),
|
HID_RI_REPORT_COUNT(8, 0x05),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x03),
|
HID_RI_REPORT_SIZE(8, 0x03),
|
||||||
HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
|
HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x65),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x65),
|
||||||
HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
|
HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
|
HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
|
HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
|
||||||
HID_RI_REPORT_COUNT(8, 0x06),
|
HID_RI_REPORT_COUNT(8, 0x06),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -108,13 +108,13 @@ void SetupHardware()
|
||||||
/** Event handler for the library USB Connection event. */
|
/** Event handler for the library USB Connection event. */
|
||||||
void EVENT_USB_Device_Connect(void)
|
void EVENT_USB_Device_Connect(void)
|
||||||
{
|
{
|
||||||
LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
|
LEDs_SetAllLEDs(LEDMASK_USB_ENUMERATING);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Event handler for the library USB Disconnection event. */
|
/** Event handler for the library USB Disconnection event. */
|
||||||
void EVENT_USB_Device_Disconnect(void)
|
void EVENT_USB_Device_Disconnect(void)
|
||||||
{
|
{
|
||||||
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
|
LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Event handler for the library USB Configuration Changed event. */
|
/** Event handler for the library USB Configuration Changed event. */
|
||||||
|
|
|
@ -123,8 +123,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -124,8 +124,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -91,7 +91,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
{
|
{
|
||||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
||||||
|
|
||||||
.FirstInterfaceIndex = 0,
|
.FirstInterfaceIndex = INTERFACE_ID_CDC_CCI,
|
||||||
.TotalInterfaces = 2,
|
.TotalInterfaces = 2,
|
||||||
|
|
||||||
.Class = CDC_CSCP_CDCClass,
|
.Class = CDC_CSCP_CDCClass,
|
||||||
|
@ -138,8 +138,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -110,7 +110,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
{
|
{
|
||||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
||||||
|
|
||||||
.FirstInterfaceIndex = 0,
|
.FirstInterfaceIndex = INTERFACE_ID_CDC_CCI,
|
||||||
.TotalInterfaces = 2,
|
.TotalInterfaces = 2,
|
||||||
|
|
||||||
.Class = CDC_CSCP_CDCClass,
|
.Class = CDC_CSCP_CDCClass,
|
||||||
|
@ -157,8 +157,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -91,7 +91,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
{
|
{
|
||||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
||||||
|
|
||||||
.FirstInterfaceIndex = 0,
|
.FirstInterfaceIndex = INTERFACE_ID_CDC1_CCI,
|
||||||
.TotalInterfaces = 2,
|
.TotalInterfaces = 2,
|
||||||
|
|
||||||
.Class = CDC_CSCP_CDCClass,
|
.Class = CDC_CSCP_CDCClass,
|
||||||
|
@ -138,8 +138,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC1_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC1_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC1_ManagementEndpoint =
|
.CDC1_ManagementEndpoint =
|
||||||
|
@ -192,7 +192,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
{
|
{
|
||||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
||||||
|
|
||||||
.FirstInterfaceIndex = 2,
|
.FirstInterfaceIndex = INTERFACE_ID_CDC2_CCI,
|
||||||
.TotalInterfaces = 2,
|
.TotalInterfaces = 2,
|
||||||
|
|
||||||
.Class = CDC_CSCP_CDCClass,
|
.Class = CDC_CSCP_CDCClass,
|
||||||
|
@ -239,8 +239,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 2,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC2_CCI,
|
||||||
.SlaveInterfaceNumber = 3,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC2_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC2_ManagementEndpoint =
|
.CDC2_ManagementEndpoint =
|
||||||
|
|
|
@ -48,30 +48,30 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM JoystickReport[] =
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x04), /* Joystick */
|
HID_RI_USAGE(8, 0x04), /* Joystick */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Application */
|
HID_RI_COLLECTION(8, 0x01), /* Application */
|
||||||
HID_RI_USAGE(8, 0x01), /* Pointer */
|
HID_RI_USAGE(8, 0x01), /* Pointer */
|
||||||
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
||||||
HID_RI_USAGE(8, 0x30), /* Usage X */
|
HID_RI_USAGE(8, 0x30), /* Usage X */
|
||||||
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
||||||
HID_RI_USAGE(8, 0x32), /* Usage Z */
|
HID_RI_USAGE(8, 0x32), /* Usage Z */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, -100),
|
HID_RI_LOGICAL_MINIMUM(8, -100),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 100),
|
HID_RI_LOGICAL_MAXIMUM(8, 100),
|
||||||
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
||||||
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
||||||
HID_RI_REPORT_COUNT(8, 0x03),
|
HID_RI_REPORT_COUNT(8, 0x03),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x01),
|
HID_RI_USAGE_MINIMUM(8, 0x01),
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x02),
|
HID_RI_USAGE_MAXIMUM(8, 0x02),
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_REPORT_COUNT(8, 0x02),
|
HID_RI_REPORT_COUNT(8, 0x02),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_REPORT_SIZE(8, 0x06),
|
HID_RI_REPORT_SIZE(8, 0x06),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -49,34 +49,34 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] =
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x06), /* Keyboard */
|
HID_RI_USAGE(8, 0x06), /* Keyboard */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Application */
|
HID_RI_COLLECTION(8, 0x01), /* Application */
|
||||||
HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
|
HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
|
HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
|
HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_REPORT_COUNT(8, 0x08),
|
HID_RI_REPORT_COUNT(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
|
HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
|
HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
|
HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
|
||||||
HID_RI_REPORT_COUNT(8, 0x05),
|
HID_RI_REPORT_COUNT(8, 0x05),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x03),
|
HID_RI_REPORT_SIZE(8, 0x03),
|
||||||
HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
|
HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x65),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x65),
|
||||||
HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
|
HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
|
HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
|
HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
|
||||||
HID_RI_REPORT_COUNT(8, 0x06),
|
HID_RI_REPORT_COUNT(8, 0x06),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -51,30 +51,30 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM MouseReport[] =
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x02), /* Mouse */
|
HID_RI_USAGE(8, 0x02), /* Mouse */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Application */
|
HID_RI_COLLECTION(8, 0x01), /* Application */
|
||||||
HID_RI_USAGE(8, 0x01), /* Pointer */
|
HID_RI_USAGE(8, 0x01), /* Pointer */
|
||||||
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
||||||
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x01),
|
HID_RI_USAGE_MINIMUM(8, 0x01),
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x03),
|
HID_RI_USAGE_MAXIMUM(8, 0x03),
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||||
HID_RI_REPORT_COUNT(8, 0x03),
|
HID_RI_REPORT_COUNT(8, 0x03),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x05),
|
HID_RI_REPORT_SIZE(8, 0x05),
|
||||||
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x30), /* Usage X */
|
HID_RI_USAGE(8, 0x30), /* Usage X */
|
||||||
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, -1),
|
HID_RI_LOGICAL_MINIMUM(8, -1),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 1),
|
HID_RI_LOGICAL_MAXIMUM(8, 1),
|
||||||
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
||||||
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
||||||
HID_RI_REPORT_COUNT(8, 0x02),
|
HID_RI_REPORT_COUNT(8, 0x02),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -84,34 +84,34 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] =
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x06), /* Keyboard */
|
HID_RI_USAGE(8, 0x06), /* Keyboard */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Application */
|
HID_RI_COLLECTION(8, 0x01), /* Application */
|
||||||
HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
|
HID_RI_USAGE_PAGE(8, 0x07), /* Key Codes */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
|
HID_RI_USAGE_MINIMUM(8, 0xE0), /* Keyboard Left Control */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
|
HID_RI_USAGE_MAXIMUM(8, 0xE7), /* Keyboard Right GUI */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_REPORT_COUNT(8, 0x08),
|
HID_RI_REPORT_COUNT(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
|
HID_RI_USAGE_PAGE(8, 0x08), /* LEDs */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
|
HID_RI_USAGE_MINIMUM(8, 0x01), /* Num Lock */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
|
HID_RI_USAGE_MAXIMUM(8, 0x05), /* Kana */
|
||||||
HID_RI_REPORT_COUNT(8, 0x05),
|
HID_RI_REPORT_COUNT(8, 0x05),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x03),
|
HID_RI_REPORT_SIZE(8, 0x03),
|
||||||
HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
|
HID_RI_OUTPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x65),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x65),
|
||||||
HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
|
HID_RI_USAGE_PAGE(8, 0x07), /* Keyboard */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
|
HID_RI_USAGE_MINIMUM(8, 0x00), /* Reserved (no event indicated) */
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
|
HID_RI_USAGE_MAXIMUM(8, 0x65), /* Keyboard Application */
|
||||||
HID_RI_REPORT_COUNT(8, 0x06),
|
HID_RI_REPORT_COUNT(8, 0x06),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -48,30 +48,30 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM MouseReport[] =
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x02), /* Mouse */
|
HID_RI_USAGE(8, 0x02), /* Mouse */
|
||||||
HID_RI_COLLECTION(8, 0x01), /* Application */
|
HID_RI_COLLECTION(8, 0x01), /* Application */
|
||||||
HID_RI_USAGE(8, 0x01), /* Pointer */
|
HID_RI_USAGE(8, 0x01), /* Pointer */
|
||||||
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
HID_RI_COLLECTION(8, 0x00), /* Physical */
|
||||||
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
HID_RI_USAGE_PAGE(8, 0x09), /* Button */
|
||||||
HID_RI_USAGE_MINIMUM(8, 0x01),
|
HID_RI_USAGE_MINIMUM(8, 0x01),
|
||||||
HID_RI_USAGE_MAXIMUM(8, 0x03),
|
HID_RI_USAGE_MAXIMUM(8, 0x03),
|
||||||
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
HID_RI_LOGICAL_MINIMUM(8, 0x00),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||||
HID_RI_REPORT_COUNT(8, 0x03),
|
HID_RI_REPORT_COUNT(8, 0x03),
|
||||||
HID_RI_REPORT_SIZE(8, 0x01),
|
HID_RI_REPORT_SIZE(8, 0x01),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE),
|
||||||
HID_RI_REPORT_COUNT(8, 0x01),
|
HID_RI_REPORT_COUNT(8, 0x01),
|
||||||
HID_RI_REPORT_SIZE(8, 0x05),
|
HID_RI_REPORT_SIZE(8, 0x05),
|
||||||
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
HID_RI_INPUT(8, HID_IOF_CONSTANT),
|
||||||
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
|
||||||
HID_RI_USAGE(8, 0x30), /* Usage X */
|
HID_RI_USAGE(8, 0x30), /* Usage X */
|
||||||
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
HID_RI_USAGE(8, 0x31), /* Usage Y */
|
||||||
HID_RI_LOGICAL_MINIMUM(8, -1),
|
HID_RI_LOGICAL_MINIMUM(8, -1),
|
||||||
HID_RI_LOGICAL_MAXIMUM(8, 1),
|
HID_RI_LOGICAL_MAXIMUM(8, 1),
|
||||||
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
HID_RI_PHYSICAL_MINIMUM(8, -1),
|
||||||
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
HID_RI_PHYSICAL_MAXIMUM(8, 1),
|
||||||
HID_RI_REPORT_COUNT(8, 0x02),
|
HID_RI_REPORT_COUNT(8, 0x02),
|
||||||
HID_RI_REPORT_SIZE(8, 0x08),
|
HID_RI_REPORT_SIZE(8, 0x08),
|
||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
HID_RI_END_COLLECTION(0),
|
HID_RI_END_COLLECTION(0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -123,8 +123,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -124,8 +124,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -123,8 +123,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -124,8 +124,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -136,8 +136,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -124,8 +124,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -91,7 +91,7 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
{
|
{
|
||||||
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
.Header = {.Size = sizeof(USB_Descriptor_Interface_Association_t), .Type = DTYPE_InterfaceAssociation},
|
||||||
|
|
||||||
.FirstInterfaceIndex = 0,
|
.FirstInterfaceIndex = INTERFACE_ID_CDC_CCI,
|
||||||
.TotalInterfaces = 2,
|
.TotalInterfaces = 2,
|
||||||
|
|
||||||
.Class = CDC_CSCP_CDCClass,
|
.Class = CDC_CSCP_CDCClass,
|
||||||
|
@ -138,8 +138,8 @@ const USB_Descriptor_Configuration_t PROGMEM ConfigurationDescriptor =
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
|
@ -124,8 +124,8 @@ const USART_USB_Descriptor_Configuration_t PROGMEM USART_ConfigurationDescriptor
|
||||||
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
.Header = {.Size = sizeof(USB_CDC_Descriptor_FunctionalUnion_t), .Type = DTYPE_CSInterface},
|
||||||
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
.Subtype = CDC_DSUBTYPE_CSInterface_Union,
|
||||||
|
|
||||||
.MasterInterfaceNumber = 0,
|
.MasterInterfaceNumber = INTERFACE_ID_CDC_CCI,
|
||||||
.SlaveInterfaceNumber = 1,
|
.SlaveInterfaceNumber = INTERFACE_ID_CDC_DCI,
|
||||||
},
|
},
|
||||||
|
|
||||||
.CDC_NotificationEndpoint =
|
.CDC_NotificationEndpoint =
|
||||||
|
|
Loading…
Reference in New Issue