소스 검색

use tud_hid_set_report_cb for hid epout

hathach 6 년 전
부모
커밋
3387b9fca5
2개의 변경된 파일3개의 추가작업 그리고 6개의 파일을 삭제
  1. 1 2
      src/class/hid/hid_device.c
  2. 2 4
      src/class/hid/hid_device.h

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

@@ -301,8 +301,7 @@ bool hidd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_
 
   if (ep_addr == p_hid->ep_out)
   {
-    if (tud_hid_out_report_cb) tud_hid_out_report_cb(p_hid->epout_buf, xferred_bytes);
-
+    tud_hid_set_report_cb(0, HID_REPORT_TYPE_INVALID, p_hid->epout_buf, xferred_bytes);
     TU_ASSERT(dcd_edpt_xfer(rhport, p_hid->ep_out, p_hid->epout_buf, sizeof(p_hid->epout_buf)));
   }
 

+ 2 - 4
src/class/hid/hid_device.h

@@ -73,12 +73,10 @@ bool tud_hid_mouse_report(uint8_t report_id, uint8_t buttons, int8_t x, int8_t y
 // Return zero will cause the stack to STALL request
 uint16_t tud_hid_get_report_cb(uint8_t report_id, hid_report_type_t report_type, uint8_t* buffer, uint16_t reqlen);
 
-// Invoked when received SET_REPORT control request
+// Invoked when received SET_REPORT control request or
+// received data on OUT endpoint ( Report ID = 0, Type = 0 )
 void tud_hid_set_report_cb(uint8_t report_id, hid_report_type_t report_type, uint8_t const* buffer, uint16_t bufsize);
 
-// Invoked when received data on OUT endpoint
-ATTR_WEAK void tud_hid_out_report_cb(uint8_t const* buffer, uint16_t bufsize);
-
 // Invoked when received SET_PROTOCOL request ( mode switch Boot <-> Report )
 ATTR_WEAK void tud_hid_boot_mode_cb(uint8_t boot_mode);