mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-03-26 04:55:43 +00:00
perf(core): don't allocate if BLE event data is empty
BLE event data is not empty only on pairing: ``` core/embed/io/ble/stm32/ble.c 176: ble_event_t event = {.type = BLE_CONNECTED}; 182: ble_event_t event = {.type = BLE_DISCONNECTED}; 227: ble_event_t event = {.type = BLE_PAIRING_REQUEST, .data_len = 6}; 244: ble_event_t event = {.type = BLE_PAIRING_CANCELLED, .data_len = 0}; ``` [no changelog]
This commit is contained in:
parent
cf00130409
commit
fabb5e8c6c
@ -208,9 +208,13 @@ STATIC mp_obj_t mod_trezorio_poll(mp_obj_t ifaces, mp_obj_t list_ref,
|
||||
ble_event_t event = {0};
|
||||
bool read = ble_get_event(&event);
|
||||
if (read) {
|
||||
mp_obj_t data = mp_const_empty_bytes;
|
||||
if (event.data_len > 0) {
|
||||
data = mp_obj_new_bytes(event.data, event.data_len);
|
||||
}
|
||||
mp_obj_tuple_t *tuple = MP_OBJ_TO_PTR(mp_obj_new_tuple(2, NULL));
|
||||
tuple->items[0] = MP_OBJ_NEW_SMALL_INT(event.type);
|
||||
tuple->items[1] = mp_obj_new_bytes(event.data, event.data_len);
|
||||
tuple->items[1] = data;
|
||||
ret->items[0] = MP_OBJ_NEW_SMALL_INT(i);
|
||||
ret->items[1] = MP_OBJ_FROM_PTR(tuple);
|
||||
return mp_const_true;
|
||||
|
Loading…
Reference in New Issue
Block a user