diff options
Diffstat (limited to 'LUFA/Drivers/USB/Class/Common')
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/AudioClassCommon.h | 11 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h | 293 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/CDCClassCommon.h | 60 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/HIDClassCommon.h | 5 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/HIDParser.c | 12 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/HIDParser.h | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/HIDReportData.h | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/MIDIClassCommon.h | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/PrinterClassCommon.h | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/RNDISClassCommon.h | 4 | ||||
-rw-r--r-- | LUFA/Drivers/USB/Class/Common/StillImageClassCommon.h | 4 |
13 files changed, 353 insertions, 60 deletions
diff --git a/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h b/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h index fdf8671fc..3fd58bc06 100644 --- a/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/AndroidAccessoryClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted diff --git a/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h b/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h index 46ecd0858..4ab201800 100644 --- a/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/AudioClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -245,6 +245,13 @@ */ }; + /** Enum for the Audio class specific descriptor types. */ + enum AUDIO_DescriptorTypes_t + { + AUDIO_DTYPE_CSInterface = 0x24, /**< Audio class specific Interface functional descriptor. */ + AUDIO_DTYPE_CSEndpoint = 0x25, /**< Audio class specific Endpoint functional descriptor. */ + }; + /** Audio class specific interface description subtypes, for the Audio Control interface. */ enum Audio_CSInterface_AC_SubTypes_t { diff --git a/LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h b/LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h new file mode 100644 index 000000000..3f4031ac8 --- /dev/null +++ b/LUFA/Drivers/USB/Class/Common/CCIDClassCommon.h @@ -0,0 +1,293 @@ +/* + LUFA Library + Copyright (C) Dean Camera, 2019. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +*/ + +/* + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Filipe Rodrigues (filipepazrodrigues [at] gmail [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaims all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. +*/ + +/** \file + * \brief Common definitions and declarations for the library USB CCID Class driver. + * + * Common definitions and declarations for the library USB CCID Class driver. + * + * \note This file should not be included directly. It is automatically included as needed by the USB module driver + * dispatch header located in LUFA/Drivers/USB.h. + */ + +/** \ingroup Group_USBClassCCID + * \defgroup Group_USBClassCCIDCommon Common Class Definitions + * + * \section Sec_USBClassCCIDCommon_ModDescription Module Description + * Constants, Types and Enum definitions that are common to both Device and Host modes for the USB + * CCID Class. + * + * @{ + */ + +#ifndef _CCID_CLASS_COMMON_H_ +#define _CCID_CLASS_COMMON_H_ + + /* Includes: */ + #include "../../Core/StdDescriptors.h" + + /* Enable C linkage for C++ Compilers: */ + #if defined(__cplusplus) + extern "C" { + #endif + + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_CCID_DRIVER) + #error Do not include this file directly. Include LUFA/Drivers/USB.h instead. + #endif + + /* Macros: */ + #define CCID_CURRENT_SPEC_RELEASE_NUMBER 0x0110 + #define CCID_VOLTAGESUPPORT_5V 0 + #define CCID_VOLTAGESUPPORT_3V (1 << 0) + #define CCID_VOLTAGESUPPORT_1V8 (1 << 1) + + #define CCID_PROTOCOLS_T0 (1 << 0) + #define CCID_PROTOCOLS_T1 (1 << 1) + + #define CCID_PROTOCOLNUM_T0 0 + #define CCID_PROTOCOLNUM_T1 (1 << 0) + + #define CCID_ICCSTATUS_PRESENTANDACTIVE 0 + #define CCID_ICCSTATUS_PRESENTANDINACTIVE (1 << 0) + #define CCID_ICCSTATUS_NOICCPRESENT (1 << 1) + + #define CCID_COMMANDSTATUS_PROCESSEDWITHOUTERROR 0 + #define CCID_COMMANDSTATUS_ERROR 1 + #define CCID_COMMANDSTATUS_FAILED (1 << 6) + #define CCID_COMMANDSTATUS_TIMEEXTENSIONREQUESTED (2 << 6) + #define CCID_COMMANDSTATUS_RFU (3 << 6) + + #define CCID_ERROR_RFU_START 0x80 + #define CCID_ERROR_NO_ERROR 0x80 + #define CCID_ERROR_NOT_SUPPORTED 0 + #define CCID_ERROR_CMD_ABORTED 0xFF + #define CCID_ERROR_CMD_NOT_ABORTED 0xFF + + #define CCID_ERROR_PARAMETERS_PROTOCOL_NOT_SUPPORTED 0x7 + + #define CCID_ERROR_SLOT_NOT_FOUND 5 + + #define CCID_DESCRIPTOR_CLOCK_KHZ(khz) (khz) + #define CCID_DESCRIPTOR_CLOCK_MHZ(mhz) ((mhz) * 1000) + + + /* Enums: */ + /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the CCID + * device class. + */ + enum CCID_Descriptor_ClassSubclassProtocol_t + { + CCID_CSCP_CCIDClass = 0x0b, /**< Descriptor Class value indicating that the device or interface + * belongs to the CCID class. + */ + CCID_CSCP_NoSpecificSubclass = 0x00, /**< Descriptor Subclass value indicating that the device or interface + * belongs to no specific subclass of the CCID class. + */ + CCID_CSCP_NoSpecificProtocol = 0x00, /**< Descriptor Protocol value indicating that the device or interface + * belongs to no specific protocol of the CCID class. + */ + }; + + /** Enum for possible bulk messages between PC and Reader */ + enum CCID_BulkOutMessages_t + { + CCID_PC_to_RDR_IccPowerOn = 0x62, + CCID_PC_to_RDR_IccPowerOff = 0x63, + CCID_PC_to_RDR_GetSlotStatus = 0x65, + CCID_PC_to_RDR_XfrBlock = 0x6f, + CCID_PC_to_RDR_GetParameters = 0x6c, + CCID_PC_to_RDR_ResetParameters = 0x6d, + CCID_PC_to_RDR_SetParameters = 0x61, + CCID_PC_to_RDR_Escape = 0x6b, + CCID_PC_to_RDR_IccClock = 0x6e, + CCID_PC_to_RDR_T0APDU = 0x6a, + CCID_PC_to_RDR_Secure = 0x69, + CCID_PC_to_RDR_Mechanical = 0x71, + CCID_PC_to_RDR_Abort = 0x72, + CCID_PC_to_RDR_SetDataRateAndClockFrequency = 0x73, + + CCID_RDR_to_PC_DataBlock = 0x80, + CCID_RDR_to_PC_SlotStatus = 0x81, + CCID_RDR_to_PC_Parameters = 0x82, + CCID_RDR_to_PC_Escape = 0x83, + CCID_RDR_to_PC_DataRateAndClockFrequency = 0x84, + }; + + /** Enum for the CCID class specific control requests that can be issued by the USB bus host. */ + enum CCID_ClassRequests_t + { + CCID_ABORT = 0x1, + CCID_GET_CLOCK_FREQUENCIES = 0x2, + CCID_GET_DATA_RATES = 0x3, + }; + + /** Enum for the CCID class specific descriptor types. */ + enum CCID_DescriptorTypes_t + { + CCID_DTYPE_Functional = 0x21, /**< CCID class specific Interface functional descriptor. */ + }; + + enum CCID_Features_Auto_t + { + CCID_Features_Auto_None = 0x0, + CCID_Features_Auto_ParameterConfiguration = 0x2, + CCID_Features_Auto_ICCActivation = 0x4, + CCID_Features_Auto_VoltageSelection = 0x8, + + CCID_Features_Auto_ICCClockFrequencyChange = 0x10, + CCID_Features_Auto_ICCBaudRateChange = 0x20, + CCID_Features_Auto_ParameterNegotiation = 0x40, + CCID_Features_Auto_PPS = 0x80, + }; + + enum CCID_Features_ExchangeLevel_t + { + CCID_Features_ExchangeLevel_TPDU = 0x00010000, + CCID_Features_ExchangeLevel_ShortAPDU = 0x00020000, + CCID_Features_ExchangeLevel_ShortExtendedAPDU = 0x00040000 + }; + + /* Type Defines: */ + typedef struct + { + USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */ + + uint16_t CCID; + uint8_t MaxSlotIndex; + uint8_t VoltageSupport; + uint32_t Protocols; + uint32_t DefaultClock; + uint32_t MaximumClock; + uint8_t NumClockSupported; + uint32_t DataRate; + uint32_t MaxDataRate; + uint8_t NumDataRatesSupported; + uint32_t MaxIFSD; + uint32_t SynchProtocols; + uint32_t Mechanical; + uint32_t Features; + uint32_t MaxCCIDMessageLength; + uint8_t ClassGetResponse; + uint8_t ClassEnvelope; + uint16_t LcdLayout; + uint8_t PINSupport; + uint8_t MaxCCIDBusySlots; + } ATTR_PACKED USB_CCID_Descriptor_t; + + typedef struct + { + uint8_t FindexDindex; + uint8_t TCCKST0; + uint8_t GuardTimeT0; + uint8_t WaitingIntegerT0; + uint8_t ClockStop; + } ATTR_PACKED USB_CCID_ProtocolData_T0_t; + + typedef struct + { + uint8_t FindexDindex; + uint8_t TCCKST1; + uint8_t GuardTimeT1; + uint8_t WaitingIntegerT1; + uint8_t ClockStop; + uint8_t FSC; + uint8_t NadValue; + } ATTR_PACKED USB_CCID_ProtocolData_T1_t; + + + /** Enum for a common bulk message header. */ + typedef struct + { + uint8_t MessageType; + uint32_t Length; + uint8_t Slot; + uint8_t Seq; + } ATTR_PACKED USB_CCID_BulkMessage_Header_t; + + typedef struct + { + USB_CCID_BulkMessage_Header_t CCIDHeader; + uint8_t Status; + uint8_t Error; + uint8_t ChainParam; + uint8_t Data[0]; + } ATTR_PACKED USB_CCID_RDR_to_PC_DataBlock_t; + + typedef struct + { + USB_CCID_BulkMessage_Header_t CCIDHeader; + uint8_t Status; + uint8_t Error; + uint8_t ClockStatus; + } ATTR_PACKED USB_CCID_RDR_to_PC_SlotStatus_t; + + typedef struct + { + USB_CCID_BulkMessage_Header_t CCIDHeader; + uint8_t Status; + uint8_t Error; + uint8_t ProtocolNum; + union + { + USB_CCID_ProtocolData_T0_t T0; + USB_CCID_ProtocolData_T1_t T1; + } ProtocolData; + } ATTR_PACKED USB_CCID_RDR_to_PC_Parameters_t; + + typedef struct + { + USB_CCID_BulkMessage_Header_t CCIDHeader; + uint8_t Status; + uint8_t Error; + uint8_t RFU; + uint8_t Data[0]; + } ATTR_PACKED USB_CCID_RDR_to_PC_Escape_t; + + typedef struct + { + USB_CCID_BulkMessage_Header_t CCIDHeader; + uint8_t Status; + uint8_t Error; + uint8_t RFU; + uint32_t ClockFrequency; + uint32_t DataRate; + } ATTR_PACKED USB_CCID_RDR_to_PC_DataRateAndClockFrequency_t; + + /* Disable C linkage for C++ Compilers: */ + #if defined(__cplusplus) + } + #endif + +#endif + +/** @} */ + diff --git a/LUFA/Drivers/USB/Class/Common/CDCClassCommon.h b/LUFA/Drivers/USB/Class/Common/CDCClassCommon.h index 1ad49eca1..c107a36a0 100644 --- a/LUFA/Drivers/USB/Class/Common/CDCClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/CDCClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -112,21 +112,6 @@ #define CDC_CONTROL_LINE_IN_OVERRUNERROR (1 << 6) //@} - /** Macro to define a CDC class-specific functional descriptor. CDC functional descriptors have a - * uniform structure but variable sized data payloads, thus cannot be represented accurately by - * a single \c typedef \c struct. A macro is used instead so that functional descriptors can be created - * easily by specifying the size of the payload. This allows \c sizeof() to work correctly. - * - * \param[in] DataSize Size in bytes of the CDC functional descriptor's data payload. - */ - #define CDC_FUNCTIONAL_DESCRIPTOR(DataSize) \ - struct \ - { \ - USB_Descriptor_Header_t Header; \ - uint8_t SubType; \ - uint8_t Data[DataSize]; \ - } - /* Enums: */ /** Enum for possible Class, Subclass and Protocol values of device and interface descriptors relating to the CDC * device class. @@ -183,26 +168,33 @@ */ }; + /** Enum for the CDC class specific descriptor types. */ + enum CDC_DescriptorTypes_t + { + CDC_DTYPE_CSInterface = 0x24, /**< CDC class specific Interface functional descriptor. */ + CDC_DTYPE_CSEndpoint = 0x25, /**< CDC class specific Endpoint functional descriptor. */ + }; + /** Enum for the CDC class specific interface descriptor subtypes. */ enum CDC_DescriptorSubtypes_t { - CDC_DSUBTYPE_CSInterface_Header = 0x00, /**< CDC class-specific Header functional descriptor. */ - CDC_DSUBTYPE_CSInterface_CallManagement = 0x01, /**< CDC class-specific Call Management functional descriptor. */ - CDC_DSUBTYPE_CSInterface_ACM = 0x02, /**< CDC class-specific Abstract Control Model functional descriptor. */ - CDC_DSUBTYPE_CSInterface_DirectLine = 0x03, /**< CDC class-specific Direct Line functional descriptor. */ - CDC_DSUBTYPE_CSInterface_TelephoneRinger = 0x04, /**< CDC class-specific Telephone Ringer functional descriptor. */ - CDC_DSUBTYPE_CSInterface_TelephoneCall = 0x05, /**< CDC class-specific Telephone Call functional descriptor. */ - CDC_DSUBTYPE_CSInterface_Union = 0x06, /**< CDC class-specific Union functional descriptor. */ - CDC_DSUBTYPE_CSInterface_CountrySelection = 0x07, /**< CDC class-specific Country Selection functional descriptor. */ - CDC_DSUBTYPE_CSInterface_TelephoneOpModes = 0x08, /**< CDC class-specific Telephone Operation Modes functional descriptor. */ - CDC_DSUBTYPE_CSInterface_USBTerminal = 0x09, /**< CDC class-specific USB Terminal functional descriptor. */ - CDC_DSUBTYPE_CSInterface_NetworkChannel = 0x0A, /**< CDC class-specific Network Channel functional descriptor. */ - CDC_DSUBTYPE_CSInterface_ProtocolUnit = 0x0B, /**< CDC class-specific Protocol Unit functional descriptor. */ - CDC_DSUBTYPE_CSInterface_ExtensionUnit = 0x0C, /**< CDC class-specific Extension Unit functional descriptor. */ - CDC_DSUBTYPE_CSInterface_MultiChannel = 0x0D, /**< CDC class-specific Multi-Channel Management functional descriptor. */ - CDC_DSUBTYPE_CSInterface_CAPI = 0x0E, /**< CDC class-specific Common ISDN API functional descriptor. */ - CDC_DSUBTYPE_CSInterface_Ethernet = 0x0F, /**< CDC class-specific Ethernet functional descriptor. */ - CDC_DSUBTYPE_CSInterface_ATM = 0x10, /**< CDC class-specific Asynchronous Transfer Mode functional descriptor. */ + CDC_DSUBTYPE_CSInterface_Header = 0x00, /**< CDC class specific Header functional descriptor. */ + CDC_DSUBTYPE_CSInterface_CallManagement = 0x01, /**< CDC class specific Call Management functional descriptor. */ + CDC_DSUBTYPE_CSInterface_ACM = 0x02, /**< CDC class specific Abstract Control Model functional descriptor. */ + CDC_DSUBTYPE_CSInterface_DirectLine = 0x03, /**< CDC class specific Direct Line functional descriptor. */ + CDC_DSUBTYPE_CSInterface_TelephoneRinger = 0x04, /**< CDC class specific Telephone Ringer functional descriptor. */ + CDC_DSUBTYPE_CSInterface_TelephoneCall = 0x05, /**< CDC class specific Telephone Call functional descriptor. */ + CDC_DSUBTYPE_CSInterface_Union = 0x06, /**< CDC class specific Union functional descriptor. */ + CDC_DSUBTYPE_CSInterface_CountrySelection = 0x07, /**< CDC class specific Country Selection functional descriptor. */ + CDC_DSUBTYPE_CSInterface_TelephoneOpModes = 0x08, /**< CDC class specific Telephone Operation Modes functional descriptor. */ + CDC_DSUBTYPE_CSInterface_USBTerminal = 0x09, /**< CDC class specific USB Terminal functional descriptor. */ + CDC_DSUBTYPE_CSInterface_NetworkChannel = 0x0A, /**< CDC class specific Network Channel functional descriptor. */ + CDC_DSUBTYPE_CSInterface_ProtocolUnit = 0x0B, /**< CDC class specific Protocol Unit functional descriptor. */ + CDC_DSUBTYPE_CSInterface_ExtensionUnit = 0x0C, /**< CDC class specific Extension Unit functional descriptor. */ + CDC_DSUBTYPE_CSInterface_MultiChannel = 0x0D, /**< CDC class specific Multi-Channel Management functional descriptor. */ + CDC_DSUBTYPE_CSInterface_CAPI = 0x0E, /**< CDC class specific Common ISDN API functional descriptor. */ + CDC_DSUBTYPE_CSInterface_Ethernet = 0x0F, /**< CDC class specific Ethernet functional descriptor. */ + CDC_DSUBTYPE_CSInterface_ATM = 0x10, /**< CDC class specific Asynchronous Transfer Mode functional descriptor. */ }; /** Enum for the possible line encoding formats of a virtual serial port. */ diff --git a/LUFA/Drivers/USB/Class/Common/HIDClassCommon.h b/LUFA/Drivers/USB/Class/Common/HIDClassCommon.h index 6e700a9b1..c59e769d8 100644 --- a/LUFA/Drivers/USB/Class/Common/HIDClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/HIDClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -112,6 +112,7 @@ /** \name Keyboard Standard Report Key Scan-codes */ //@{ + #define HID_KEYBOARD_SC_RESERVED 0x00 #define HID_KEYBOARD_SC_ERROR_ROLLOVER 0x01 #define HID_KEYBOARD_SC_POST_FAIL 0x02 #define HID_KEYBOARD_SC_ERROR_UNDEFINED 0x03 diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.c b/LUFA/Drivers/USB/Class/Common/HIDParser.c index 62f10c4e2..fe2ebc1d5 100644 --- a/LUFA/Drivers/USB/Class/Common/HIDParser.c +++ b/LUFA/Drivers/USB/Class/Common/HIDParser.c @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -92,7 +92,7 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, memcpy((CurrStateTable + 1), CurrStateTable, - sizeof(HID_ReportItem_t)); + sizeof(HID_StateTable_t)); CurrStateTable++; break; @@ -105,9 +105,6 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, break; case HID_RI_USAGE_PAGE(0): - if ((HIDReportItem & HID_RI_DATA_SIZE_MASK) == HID_RI_DATA_BITS_32) - CurrStateTable->Attributes.Usage.Page = (ReportItemData >> 16); - CurrStateTable->Attributes.Usage.Page = ReportItemData; break; @@ -178,6 +175,9 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, if (UsageListSize == HID_USAGE_STACK_DEPTH) return HID_PARSE_UsageListOverflow; + if ((HIDReportItem & HID_RI_DATA_SIZE_MASK) == HID_RI_DATA_BITS_32) + CurrStateTable->Attributes.Usage.Page = (ReportItemData >> 16); + UsageList[UsageListSize++] = ReportItemData; break; diff --git a/LUFA/Drivers/USB/Class/Common/HIDParser.h b/LUFA/Drivers/USB/Class/Common/HIDParser.h index 023316d7e..4b4b9a819 100644 --- a/LUFA/Drivers/USB/Class/Common/HIDParser.h +++ b/LUFA/Drivers/USB/Class/Common/HIDParser.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted diff --git a/LUFA/Drivers/USB/Class/Common/HIDReportData.h b/LUFA/Drivers/USB/Class/Common/HIDReportData.h index fe1c4df94..979fc46c3 100644 --- a/LUFA/Drivers/USB/Class/Common/HIDReportData.h +++ b/LUFA/Drivers/USB/Class/Common/HIDReportData.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted diff --git a/LUFA/Drivers/USB/Class/Common/MIDIClassCommon.h b/LUFA/Drivers/USB/Class/Common/MIDIClassCommon.h index b6414bc06..d4976c796 100644 --- a/LUFA/Drivers/USB/Class/Common/MIDIClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/MIDIClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted diff --git a/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h b/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h index d2ea37a82..ddf2c9f12 100644 --- a/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/MassStorageClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted diff --git a/LUFA/Drivers/USB/Class/Common/PrinterClassCommon.h b/LUFA/Drivers/USB/Class/Common/PrinterClassCommon.h index 2db830e04..64412993d 100644 --- a/LUFA/Drivers/USB/Class/Common/PrinterClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/PrinterClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted diff --git a/LUFA/Drivers/USB/Class/Common/RNDISClassCommon.h b/LUFA/Drivers/USB/Class/Common/RNDISClassCommon.h index ade1af067..7bc94b703 100644 --- a/LUFA/Drivers/USB/Class/Common/RNDISClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/RNDISClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted diff --git a/LUFA/Drivers/USB/Class/Common/StillImageClassCommon.h b/LUFA/Drivers/USB/Class/Common/StillImageClassCommon.h index 7608b18cc..7a5b5ac03 100644 --- a/LUFA/Drivers/USB/Class/Common/StillImageClassCommon.h +++ b/LUFA/Drivers/USB/Class/Common/StillImageClassCommon.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2017. + Copyright (C) Dean Camera, 2019. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2019 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted |