Skip to content

Commit

Permalink
Cleaned up USB HID Reports and added usages
Browse files Browse the repository at this point in the history
  • Loading branch information
ryantheleach authored and DDRBoxman committed Aug 17, 2022
1 parent d2ccdcf commit b79d2be
Showing 1 changed file with 48 additions and 57 deletions.
105 changes: 48 additions & 57 deletions src/usb_descriptors.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,68 +64,59 @@ uint8_t const * tud_descriptor_device_cb(void)
//--------------------------------------------------------------------+
// HID Report Descriptor
//--------------------------------------------------------------------+
#define PEDAL_INPUT_FLAGS HID_DATA | HID_VARIABLE | HID_ABSOLUTE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION
#define PEDAL_OUTPUT_FLAGS HID_DATA | HID_VARIABLE | HID_ABSOLUTE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE
#define PEDAL_FEATURE_FLAGS HID_DATA | HID_ARRAY | HID_RELATIVE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE
#define PEDAL_REPORT_FIELD() HID_LOGICAL_MIN ( 0 ), HID_LOGICAL_MAX ( 0xFF ), HID_REPORT_SIZE ( 8 ),


#define TUD_HID_REPORT_DESC_PEDAL() \
HID_USAGE_PAGE ( HID_USAGE_PAGE_CONSUMER ), \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_COLLECTION ( HID_COLLECTION_APPLICATION ), \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT_N( 1023, 2) , \
HID_REPORT_ID ( 2 ) \
HID_OUTPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE ) ,\
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT ( 7 ), \
HID_REPORT_ID (0x01) \
HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE| HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION ), \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x03) \
HID_FEATURE ( HID_DATA | HID_ARRAY | HID_RELATIVE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE ), \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x06) \
HID_FEATURE ( HID_DATA | HID_ARRAY | HID_RELATIVE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE ), \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x07) \
HID_FEATURE ( HID_DATA | HID_ARRAY | HID_RELATIVE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE ), \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x05) \
HID_FEATURE ( HID_DATA | HID_ARRAY | HID_RELATIVE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE ), \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x04) \
HID_FEATURE ( HID_DATA | HID_ARRAY | HID_RELATIVE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE ), \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
HID_LOGICAL_MIN ( 0 ), \
HID_LOGICAL_MAX ( 0xFF ), \
HID_REPORT_SIZE ( 8 ), \
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x08) \
HID_FEATURE ( HID_DATA | HID_ARRAY | HID_RELATIVE | HID_WRAP_NO | HID_LINEAR | HID_PREFERRED_STATE | HID_NO_NULL_POSITION | HID_NON_VOLATILE ), \
HID_COLLECTION_END \
/** Uses Vendor Page for whole collection unless redefined. **/ \
HID_USAGE_PAGE_N(HID_USAGE_PAGE_VENDOR, 2), \
PEDAL_REPORT_FIELD() \
HID_REPORT_COUNT_N( 1023, 2) , \
HID_REPORT_ID ( 2 ) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_OUTPUT ( PEDAL_OUTPUT_FLAGS ) ,\
\
HID_REPORT_COUNT ( 7 ), \
HID_REPORT_ID (0x01) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_INPUT ( PEDAL_INPUT_FLAGS ), \
\
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x03) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_FEATURE ( PEDAL_FEATURE_FLAGS ), \
\
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x06) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_FEATURE ( PEDAL_FEATURE_FLAGS ), \
\
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x07) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_FEATURE ( PEDAL_FEATURE_FLAGS ), \
\
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x05) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_FEATURE ( PEDAL_FEATURE_FLAGS ), \
\
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x04) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_FEATURE ( PEDAL_FEATURE_FLAGS ), \
\
HID_REPORT_COUNT ( 31 ), \
HID_REPORT_ID (0x08) \
HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), \
HID_FEATURE ( PEDAL_FEATURE_FLAGS ), \
HID_COLLECTION_END \

uint8_t const desc_hid_report[] =
{
Expand Down

0 comments on commit b79d2be

Please sign in to comment.