summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/usbdev/class/src
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2015-04-13 16:59:05 +0100
committerDamien George <damien.p.george@gmail.com>2015-04-13 16:59:05 +0100
commitb1f68685ec462bcde572455c262cb78a53112816 (patch)
tree9f320ba8e128e1888dcf68a049b52791b31ad0df /stmhal/usbdev/class/src
parent99f718407336bf2bd1c07035399e9809f72d4586 (diff)
downloadmicropython-b1f68685ec462bcde572455c262cb78a53112816.tar.gz
micropython-b1f68685ec462bcde572455c262cb78a53112816.zip
stmhal: In USB HID driver, make polling interval configurable.
When setting usb_mode to "HID", hid config object now has polling-interval (in ms) as the 4th element. It mmust now be a 5-tuple of the form: (subclass, protocol, max_packet_len, polling_interval, report_desc) The mouse and keyboard defaults have polling interval at 8ms.
Diffstat (limited to 'stmhal/usbdev/class/src')
-rw-r--r--stmhal/usbdev/class/src/usbd_cdc_msc_hid.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c b/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c
index 8af2124dc0..bbb666861b 100644
--- a/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c
+++ b/stmhal/usbdev/class/src/usbd_cdc_msc_hid.c
@@ -38,6 +38,7 @@
#define HID_DESC_OFFSET_REPORT_DESC_LEN (16)
#define HID_DESC_OFFSET_MAX_PACKET_LO (22)
#define HID_DESC_OFFSET_MAX_PACKET_HI (23)
+#define HID_DESC_OFFSET_POLLING_INTERVAL (24)
#define HID_SUBDESC_LEN (9)
#define CDC_IFACE_NUM_ALONE (0)
@@ -605,6 +606,7 @@ int USBD_SelectMode(uint32_t mode, USBD_HID_ModeInfoTypeDef *hid_info) {
hid_desc[HID_DESC_OFFSET_REPORT_DESC_LEN] = hid_info->report_desc_len;
hid_desc[HID_DESC_OFFSET_MAX_PACKET_LO] = hid_info->max_packet_len;
hid_desc[HID_DESC_OFFSET_MAX_PACKET_HI] = 0;
+ hid_desc[HID_DESC_OFFSET_POLLING_INTERVAL] = hid_info->polling_interval;
hid_report_desc = hid_info->report_desc;
}