X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/6a10d6b465be27db090d760dc0fbe722c94e4344..e0985b995009d71b80d214a66944e76f4e41aadb:/LUFA/Drivers/USB/Class/HIDReportData.h diff --git a/LUFA/Drivers/USB/Class/HIDReportData.h b/LUFA/Drivers/USB/Class/HIDReportData.h index 1bb8676d7..eee38be04 100644 --- a/LUFA/Drivers/USB/Class/HIDReportData.h +++ b/LUFA/Drivers/USB/Class/HIDReportData.h @@ -34,6 +34,14 @@ * flag's meaning when applied to an IN, OUT or FEATURE item. */ +/** \ingroup Group_HIDParser + * @defgroup Group_HIDIOFConst Input/Output/Feature Masks + * + * Masks indicating the type of Input, Output of Feature HID report item. + * + * @{ + */ + #ifndef __HIDREPORTDATA_H__ #define __HIDREPORTDATA_H__ @@ -84,45 +92,49 @@ /** HID_ReportItem_t.ItemFlags flag for buffered bytes. */ #define IOF_BUFFEREDBYTES (1 << 8) - /** HID_ReportItem_t.ItemFlags flag for bitfield data. */ + /** HID_ReportItem_t.ItemFlags flag for bit field data. */ #define IOF_BITFIELD (0 << 8) /* Private Interface - For use in library only: */ #if !defined(__DOXYGEN__) /* Macros: */ - #define DATA_SIZE_MASK 0b00000011 - #define TYPE_MASK 0b00001100 - #define TAG_MASK 0b11110000 - - #define DATA_SIZE_0 0b00000000 - #define DATA_SIZE_1 0b00000001 - #define DATA_SIZE_2 0b00000010 - #define DATA_SIZE_4 0b00000011 + #define DATA_SIZE_MASK 0x03 + #define TYPE_MASK 0x0C + #define TAG_MASK 0xF0 + + #define DATA_SIZE_0 0x00 + #define DATA_SIZE_1 0x01 + #define DATA_SIZE_2 0x02 + #define DATA_SIZE_4 0x03 - #define TYPE_MAIN 0b00000000 - #define TYPE_GLOBAL 0b00000100 - #define TYPE_LOCAL 0b00001000 + #define TYPE_MAIN 0x00 + #define TYPE_GLOBAL 0x04 + #define TYPE_LOCAL 0x08 - #define TAG_MAIN_INPUT 0b10000000 - #define TAG_MAIN_OUTPUT 0b10010000 - #define TAG_MAIN_COLLECTION 0b10100000 - #define TAG_MAIN_FEATURE 0b10110000 - #define TAG_MAIN_ENDCOLLECTION 0b11000000 - #define TAG_GLOBAL_USAGEPAGE 0b00000000 - #define TAG_GLOBAL_LOGICALMIN 0b00010000 - #define TAG_GLOBAL_LOGICALMAX 0b00100000 - #define TAG_GLOBAL_PHYSMIN 0b00110000 - #define TAG_GLOBAL_PHYSMAX 0b01000000 - #define TAG_GLOBAL_UNITEXP 0b01010000 - #define TAG_GLOBAL_UNIT 0b01100000 - #define TAG_GLOBAL_REPORTSIZE 0b01110000 - #define TAG_GLOBAL_REPORTID 0b10000000 - #define TAG_GLOBAL_REPORTCOUNT 0b10010000 - #define TAG_GLOBAL_PUSH 0b10100000 - #define TAG_GLOBAL_POP 0b10110000 - #define TAG_LOCAL_USAGE 0b00000000 - #define TAG_LOCAL_USAGEMIN 0b00010000 - #define TAG_LOCAL_USAGEMAX 0b00100000 + #define TAG_MAIN_INPUT 0x80 + #define TAG_MAIN_OUTPUT 0x90 + #define TAG_MAIN_COLLECTION 0xA0 + #define TAG_MAIN_FEATURE 0xB0 + #define TAG_MAIN_ENDCOLLECTION 0xC0 + + #define TAG_GLOBAL_USAGEPAGE 0x00 + #define TAG_GLOBAL_LOGICALMIN 0x10 + #define TAG_GLOBAL_LOGICALMAX 0x20 + #define TAG_GLOBAL_PHYSMIN 0x30 + #define TAG_GLOBAL_PHYSMAX 0x40 + #define TAG_GLOBAL_UNITEXP 0x50 + #define TAG_GLOBAL_UNIT 0x60 + #define TAG_GLOBAL_REPORTSIZE 0x70 + #define TAG_GLOBAL_REPORTID 0x80 + #define TAG_GLOBAL_REPORTCOUNT 0x90 + #define TAG_GLOBAL_PUSH 0xA0 + #define TAG_GLOBAL_POP 0xB0 + + #define TAG_LOCAL_USAGE 0x00 + #define TAG_LOCAL_USAGEMIN 0x10 + #define TAG_LOCAL_USAGEMAX 0x20 #endif + +/** @} */ #endif