Zachery Littell пре 5 година
родитељ
комит
298aa1b669

+ 1 - 1
examples/device/hid_multipleinterface/src/tusb_config.h

@@ -101,7 +101,7 @@
 #define CFG_TUD_VENDOR            0
 
 // HID buffer size Should be sufficient to hold ID (if any) + Data
-#define CFG_TUD_HID_EP_BUFSIZE    16
+#define CFG_TUD_HID_EP_BUFSIZE    8
 
 #ifdef __cplusplus
  }

+ 10 - 10
examples/device/hid_multipleinterface/src/usb_descriptors.c

@@ -75,7 +75,7 @@ uint8_t const desc_hid_report1[] =
   TUD_HID_REPORT_DESC_KEYBOARD()
 };
 
-uint8_t desc_hid_report2[] =
+uint8_t const desc_hid_report2[] =
 {
   TUD_HID_REPORT_DESC_MOUSE()
 };
@@ -86,15 +86,15 @@ uint8_t desc_hid_report2[] =
 uint8_t const * tud_hid_n_descriptor_report_cb(uint8_t itf)
 {
   if (itf == 0)
-	{
-		return desc_hid_report1;
-	}
-	else if (itf == 1)
-	{
-		return desc_hid_report2;
-	}
-
-		return 0;
+  {
+    return desc_hid_report1;
+  }
+  else if (itf == 1)
+  {
+    return desc_hid_report2;
+  }
+
+  return NULL;
 }
 
 //--------------------------------------------------------------------+

+ 3 - 1
src/class/hid/hid_device.c

@@ -74,7 +74,7 @@ static inline uint8_t get_hid_index_by_itfnum(uint8_t itf_num)
 		if ( itf_num == _hidd_itf[i].itf_num ) return i;
 	}
 
-	return 0;
+	return 0xFF;
 }
 
 //--------------------------------------------------------------------+
@@ -232,6 +232,7 @@ bool hidd_control_request(uint8_t rhport, tusb_control_request_t const * request
 
   #if CFG_TUD_HID>1
   uint8_t const hid_itf = get_hid_index_by_itfnum((uint8_t) request->wIndex);
+  TU_VERIFY(hid_itf<0xFF, 0);
   #endif
 
   if (request->bmRequestType_bit.type == TUSB_REQ_TYPE_STANDARD)
@@ -345,6 +346,7 @@ bool hidd_control_complete(uint8_t rhport, tusb_control_request_t const * p_requ
 
     #if CFG_TUD_HID>1
     uint8_t const hid_itf = get_hid_index_by_itfnum((uint8_t)p_request->wIndex);
+    TU_VERIFY(hid_itf<0xFF, 0);
     tud_hid_n_set_report_cb(hid_itf, report_id, (hid_report_type_t) report_type, p_hid->epout_buf, p_request->wLength);
     #else
     tud_hid_set_report_cb(report_id, (hid_report_type_t) report_type, p_hid->epout_buf, p_request->wLength);