@ -357,7 +357,7 @@
HID_RI_USAGE ( 8 , 0x31 ) , \
HID_RI_REPORT_SIZE ( 8 , ( ( ( ( ( uint16_t ) MinAxisVal > 0xFF ) & & ( ( uint16_t ) MaxAxisVal < 0xFF ) ) ? 8 : 16 ) ) ) , \
HID_RI_REPORT_COUNT ( 8 , 0x02 ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE ) , \
HID_RI_END_COLLECTION ( 0 ) , \
HID_RI_USAGE_PAGE ( 8 , 0x09 ) , \
HID_RI_USAGE_MINIMUM ( 8 , 0x01 ) , \
@ -366,7 +366,7 @@
HID_RI_LOGICAL_MAXIMUM ( 8 , 0x01 ) , \
HID_RI_REPORT_SIZE ( 8 , 0x01 ) , \
HID_RI_REPORT_COUNT ( 8 , Buttons ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE ) , \
HID_RI_REPORT_SIZE ( 8 , ( 8 - ( Buttons % 8 ) ) ) , \
HID_RI_REPORT_COUNT ( 8 , 0x01 ) , \
HID_RI_INPUT ( 8 , HID_IOF_CONSTANT ) , \
@ -400,7 +400,7 @@
HID_RI_LOGICAL_MAXIMUM ( 8 , 0x01 ) , \
HID_RI_REPORT_SIZE ( 8 , 0x01 ) , \
HID_RI_REPORT_COUNT ( 8 , 0x08 ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE ) , \
HID_RI_REPORT_COUNT ( 8 , 0x01 ) , \
HID_RI_REPORT_SIZE ( 8 , 0x08 ) , \
HID_RI_INPUT ( 8 , HID_IOF_CONSTANT ) , \
@ -420,7 +420,7 @@
HID_RI_USAGE_MAXIMUM ( 8 , 0x65 ) , \
HID_RI_REPORT_COUNT ( 8 , MaxKeys ) , \
HID_RI_REPORT_SIZE ( 8 , 0x08 ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE ) , \
HID_RI_END_COLLECTION ( 0 )
/** \hideinitializer
@ -460,7 +460,7 @@
HID_RI_LOGICAL_MAXIMUM ( 8 , 0x01 ) , \
HID_RI_REPORT_COUNT ( 8 , Buttons ) , \
HID_RI_REPORT_SIZE ( 8 , 0x01 ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUT E | HID_IOF_VOLATIL E) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUT E) , \
HID_RI_REPORT_COUNT ( 8 , 0x01 ) , \
HID_RI_REPORT_SIZE ( 8 , ( 8 - ( Buttons % 8 ) ) ) , \
HID_RI_INPUT ( 8 , HID_IOF_CONSTANT ) , \
@ -473,9 +473,38 @@
HID_RI_PHYSICAL_MAXIMUM ( 16 , MaxPhysicalVal ) , \
HID_RI_REPORT_COUNT ( 8 , 0x02 ) , \
HID_RI_REPORT_SIZE ( 8 , ( ( ( ( ( uint16_t ) MinAxisVal > 0xFF ) & & ( ( uint16_t ) MaxAxisVal < 0xFF ) ) ? 8 : 16 ) ) ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | ( AbsoluteCoords ? HID_IOF_ABSOLUTE : HID_IOF_RELATIVE ) | HID_IOF_NON_VOLATILE ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | ( AbsoluteCoords ? HID_IOF_ABSOLUTE : HID_IOF_RELATIVE ) ) , \
HID_RI_END_COLLECTION ( 0 ) , \
HID_RI_END_COLLECTION ( 0 )
/** \hideinitializer
* A list of HID report item array elements that describe a typical Vendor Defined byte array HID report descriptor ,
* used for transporting abitrary data between the USB host and device via HID reports . The resulting report should be
* a uint8_t byte array of the specified length in both Device to Host ( IN ) and Host to Device ( OUT ) directions .
*
* \ param [ in ] VendorPageNum Vendor Defined HID Usage Page index , ranging from 0x00 to 0xFF
* \ param [ in ] CollectionUsage Vendor Usage for the encompasing report IN and OUT collection , ranging from 0x00 to 0xFF
* \ param [ in ] DataINUsage Vendor Usage for the IN report data , ranging from 0x00 to 0xFF
* \ param [ in ] DataOUTUsage Vendor Usage for the OUT report data , ranging from 0x00 to 0xFF
* \ param [ in ] NumBytes Length of the data IN and OUT reports
*/
# define HID_DESCRIPTOR_VENDOR(VendorPageNum, CollectionUsage, DataINUsage, DataOUTUsage, NumBytes) \
HID_RI_USAGE_PAGE ( 16 , ( 0xFF00 | VendorPageNum ) ) , \
HID_RI_USAGE ( 8 , CollectionUsage ) , \
HID_RI_COLLECTION ( 8 , 0x01 ) , \
HID_RI_USAGE ( 8 , DataINUsage ) , \
HID_RI_LOGICAL_MINIMUM ( 8 , 0x00 ) , \
HID_RI_LOGICAL_MAXIMUM ( 8 , 0xFF ) , \
HID_RI_REPORT_SIZE ( 8 , 0x08 ) , \
HID_RI_REPORT_COUNT ( 8 , NumBytes ) , \
HID_RI_INPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE ) , \
HID_RI_USAGE ( 8 , DataOUTUsage ) , \
HID_RI_LOGICAL_MINIMUM ( 8 , 0x00 ) , \
HID_RI_LOGICAL_MAXIMUM ( 8 , 0xFF ) , \
HID_RI_REPORT_SIZE ( 8 , 0x08 ) , \
HID_RI_REPORT_COUNT ( 8 , NumBytes ) , \
HID_RI_OUTPUT ( 8 , HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE ) , \
HID_RI_END_COLLECTION ( 0 )
//@}
/* Type Defines: */