File tree 2 files changed +12
-0
lines changed
atmel-samd/common-hal/canio
2 files changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -356,6 +356,11 @@ mp_obj_t common_hal_canio_listener_receive(canio_listener_obj_t *self) {
356
356
if (supervisor_ticks_ms64 () > deadline ) {
357
357
return NULL ;
358
358
}
359
+ RUN_BACKGROUND_TASKS ;
360
+ // Allow user to break out of a timeout with a KeyboardInterrupt.
361
+ if ( mp_hal_is_interrupted () ) {
362
+ return NULL ;
363
+ }
359
364
} while (!common_hal_canio_listener_in_waiting (self ));
360
365
}
361
366
int index = self -> hw -> RXFS .bit .F0GI ;
Original file line number Diff line number Diff line change 30
30
#include "py/obj.h"
31
31
#include "py/runtime.h"
32
32
33
+ #include "lib/utils/interrupt_char.h"
34
+
33
35
#include "common-hal/canio/__init__.h"
34
36
#include "common-hal/canio/Listener.h"
35
37
#include "shared-bindings/canio/Listener.h"
@@ -272,6 +274,11 @@ mp_obj_t common_hal_canio_listener_receive(canio_listener_obj_t *self) {
272
274
if (supervisor_ticks_ms64 () > deadline ) {
273
275
return NULL ;
274
276
}
277
+ RUN_BACKGROUND_TASKS ;
278
+ // Allow user to break out of a timeout with a KeyboardInterrupt.
279
+ if ( mp_hal_is_interrupted () ) {
280
+ return NULL ;
281
+ }
275
282
} while (!common_hal_canio_listener_in_waiting (self ));
276
283
}
277
284
You can’t perform that action at this time.
0 commit comments