mirror of
https://github.com/hathach/tinyusb.git
synced 2025-03-30 04:20:26 +00:00
change report len in hid API from uint8_t to uint16_t
since HS interrupt endpoint can be up to 1024, 8-bit is not enough. affected APIs are: - tud_hid_n_report() / tud_hid_report() - tud_hid_report_complete_cb()
This commit is contained in:
parent
0b3503cb33
commit
556b5d5044
@ -181,7 +181,7 @@ void tud_hid_set_protocol_cb(uint8_t instance, uint8_t protocol)
|
|||||||
// Invoked when sent REPORT successfully to host
|
// Invoked when sent REPORT successfully to host
|
||||||
// Application can use this to send the next report
|
// Application can use this to send the next report
|
||||||
// Note: For composite reports, report[0] is report ID
|
// Note: For composite reports, report[0] is report ID
|
||||||
void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint8_t len)
|
void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint16_t len)
|
||||||
{
|
{
|
||||||
(void) instance;
|
(void) instance;
|
||||||
(void) report;
|
(void) report;
|
||||||
|
@ -225,7 +225,7 @@ void hid_task(void)
|
|||||||
// Invoked when sent REPORT successfully to host
|
// Invoked when sent REPORT successfully to host
|
||||||
// Application can use this to send the next report
|
// Application can use this to send the next report
|
||||||
// Note: For composite reports, report[0] is report ID
|
// Note: For composite reports, report[0] is report ID
|
||||||
void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint8_t len)
|
void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint16_t len)
|
||||||
{
|
{
|
||||||
(void) instance;
|
(void) instance;
|
||||||
(void) len;
|
(void) len;
|
||||||
|
@ -294,7 +294,7 @@ void hid_task(void* param)
|
|||||||
// Invoked when sent REPORT successfully to host
|
// Invoked when sent REPORT successfully to host
|
||||||
// Application can use this to send the next report
|
// Application can use this to send the next report
|
||||||
// Note: For composite reports, report[0] is report ID
|
// Note: For composite reports, report[0] is report ID
|
||||||
void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint8_t len)
|
void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint16_t len)
|
||||||
{
|
{
|
||||||
(void) instance;
|
(void) instance;
|
||||||
(void) len;
|
(void) len;
|
||||||
|
@ -81,7 +81,7 @@ bool tud_hid_n_ready(uint8_t instance)
|
|||||||
return tud_ready() && (ep_in != 0) && !usbd_edpt_busy(rhport, ep_in);
|
return tud_ready() && (ep_in != 0) && !usbd_edpt_busy(rhport, ep_in);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool tud_hid_n_report(uint8_t instance, uint8_t report_id, void const* report, uint8_t len)
|
bool tud_hid_n_report(uint8_t instance, uint8_t report_id, void const* report, uint16_t len)
|
||||||
{
|
{
|
||||||
uint8_t const rhport = 0;
|
uint8_t const rhport = 0;
|
||||||
hidd_interface_t * p_hid = &_hidd_itf[instance];
|
hidd_interface_t * p_hid = &_hidd_itf[instance];
|
||||||
@ -92,7 +92,7 @@ bool tud_hid_n_report(uint8_t instance, uint8_t report_id, void const* report, u
|
|||||||
// prepare data
|
// prepare data
|
||||||
if (report_id)
|
if (report_id)
|
||||||
{
|
{
|
||||||
len = tu_min8(len, CFG_TUD_HID_EP_BUFSIZE-1);
|
len = tu_min16(len, CFG_TUD_HID_EP_BUFSIZE-1);
|
||||||
|
|
||||||
p_hid->epin_buf[0] = report_id;
|
p_hid->epin_buf[0] = report_id;
|
||||||
memcpy(p_hid->epin_buf+1, report, len);
|
memcpy(p_hid->epin_buf+1, report, len);
|
||||||
@ -100,7 +100,7 @@ bool tud_hid_n_report(uint8_t instance, uint8_t report_id, void const* report, u
|
|||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
// If report id = 0, skip ID field
|
// If report id = 0, skip ID field
|
||||||
len = tu_min8(len, CFG_TUD_HID_EP_BUFSIZE);
|
len = tu_min16(len, CFG_TUD_HID_EP_BUFSIZE);
|
||||||
memcpy(p_hid->epin_buf, report, len);
|
memcpy(p_hid->epin_buf, report, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -402,7 +402,7 @@ bool hidd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_
|
|||||||
{
|
{
|
||||||
if (tud_hid_report_complete_cb)
|
if (tud_hid_report_complete_cb)
|
||||||
{
|
{
|
||||||
tud_hid_report_complete_cb(instance, p_hid->epin_buf, (uint8_t) xferred_bytes);
|
tud_hid_report_complete_cb(instance, p_hid->epin_buf, (uint16_t) xferred_bytes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Received report
|
// Received report
|
||||||
|
@ -62,7 +62,7 @@ uint8_t tud_hid_n_interface_protocol(uint8_t instance);
|
|||||||
uint8_t tud_hid_n_get_protocol(uint8_t instance);
|
uint8_t tud_hid_n_get_protocol(uint8_t instance);
|
||||||
|
|
||||||
// Send report to host
|
// Send report to host
|
||||||
bool tud_hid_n_report(uint8_t instance, uint8_t report_id, void const* report, uint8_t len);
|
bool tud_hid_n_report(uint8_t instance, uint8_t report_id, void const* report, uint16_t len);
|
||||||
|
|
||||||
// KEYBOARD: convenient helper to send keyboard report if application
|
// KEYBOARD: convenient helper to send keyboard report if application
|
||||||
// use template layout report as defined by hid_keyboard_report_t
|
// use template layout report as defined by hid_keyboard_report_t
|
||||||
@ -82,7 +82,7 @@ bool tud_hid_n_gamepad_report(uint8_t instance, uint8_t report_id, int8_t x, int
|
|||||||
static inline bool tud_hid_ready(void);
|
static inline bool tud_hid_ready(void);
|
||||||
static inline uint8_t tud_hid_interface_protocol(void);
|
static inline uint8_t tud_hid_interface_protocol(void);
|
||||||
static inline uint8_t tud_hid_get_protocol(void);
|
static inline uint8_t tud_hid_get_protocol(void);
|
||||||
static inline bool tud_hid_report(uint8_t report_id, void const* report, uint8_t len);
|
static inline bool tud_hid_report(uint8_t report_id, void const* report, uint16_t len);
|
||||||
static inline bool tud_hid_keyboard_report(uint8_t report_id, uint8_t modifier, uint8_t keycode[6]);
|
static inline bool tud_hid_keyboard_report(uint8_t report_id, uint8_t modifier, uint8_t keycode[6]);
|
||||||
static inline bool tud_hid_mouse_report(uint8_t report_id, uint8_t buttons, int8_t x, int8_t y, int8_t vertical, int8_t horizontal);
|
static inline bool tud_hid_mouse_report(uint8_t report_id, uint8_t buttons, int8_t x, int8_t y, int8_t vertical, int8_t horizontal);
|
||||||
static inline bool tud_hid_gamepad_report(uint8_t report_id, int8_t x, int8_t y, int8_t z, int8_t rz, int8_t rx, int8_t ry, uint8_t hat, uint32_t buttons);
|
static inline bool tud_hid_gamepad_report(uint8_t report_id, int8_t x, int8_t y, int8_t z, int8_t rz, int8_t rx, int8_t ry, uint8_t hat, uint32_t buttons);
|
||||||
@ -116,7 +116,7 @@ TU_ATTR_WEAK bool tud_hid_set_idle_cb(uint8_t instance, uint8_t idle_rate);
|
|||||||
// Invoked when sent REPORT successfully to host
|
// Invoked when sent REPORT successfully to host
|
||||||
// Application can use this to send the next report
|
// Application can use this to send the next report
|
||||||
// Note: For composite reports, report[0] is report ID
|
// Note: For composite reports, report[0] is report ID
|
||||||
TU_ATTR_WEAK void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint8_t len);
|
TU_ATTR_WEAK void tud_hid_report_complete_cb(uint8_t instance, uint8_t const* report, uint16_t len);
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
@ -137,7 +137,7 @@ static inline uint8_t tud_hid_get_protocol(void)
|
|||||||
return tud_hid_n_get_protocol(0);
|
return tud_hid_n_get_protocol(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool tud_hid_report(uint8_t report_id, void const* report, uint8_t len)
|
static inline bool tud_hid_report(uint8_t report_id, void const* report, uint16_t len)
|
||||||
{
|
{
|
||||||
return tud_hid_n_report(0, report_id, report, len);
|
return tud_hid_n_report(0, report_id, report, len);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user