Skip to content
Snippets Groups Projects
Commit 44951ee7 authored by schneider's avatar schneider
Browse files

change(hid): Keep trying to type if queue is full

parent 65ecd937
No related branches found
No related tags found
1 merge request!382HID over BLE
import sys_ble_hid
import time
class Report:
......@@ -8,7 +9,12 @@ class Report:
self.usage = usage
def send_report(self, data):
sys_ble_hid.send_report(self.report_id, data)
while True:
try:
sys_ble_hid.send_report(self.report_id, data)
break
except MemoryError:
time.sleep(0.1)
# Reports as defined in the HID report map in epicardium/ble/hid.c
......
......@@ -12,6 +12,15 @@ static mp_obj_t mp_sys_ble_hid_send_report(mp_obj_t report_id, mp_obj_t data)
int ret = epic_ble_hid_send_report(
mp_obj_get_int(report_id), bufinfo.buf, bufinfo.len
);
if (ret == -EAGAIN) {
mp_raise_msg(&mp_type_MemoryError, NULL);
}
if (ret < 0) {
mp_raise_OSError(-ret);
}
return mp_obj_new_int(ret);
}
static MP_DEFINE_CONST_FUN_OBJ_2(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment