summaryrefslogtreecommitdiff
path: root/esp8266/machine_pin.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-02-15 17:45:36 +1100
committerDamien George <damien.p.george@gmail.com>2017-03-20 15:20:26 +1100
commit1b7d67266df7dd0853698726e98d63b4aeebe205 (patch)
tree59ef8880c23b1587585d5a6c4dce0fa21f708513 /esp8266/machine_pin.c
parenta5159edc2090a5670c33a829d7e54ab2ba8635c4 (diff)
esp8266: Enable micropython.schedule() with locking in pin callback.
Diffstat (limited to 'esp8266/machine_pin.c')
-rw-r--r--esp8266/machine_pin.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/esp8266/machine_pin.c b/esp8266/machine_pin.c
index a1e94e898..9ea5197bc 100644
--- a/esp8266/machine_pin.c
+++ b/esp8266/machine_pin.c
@@ -100,6 +100,7 @@ void pin_init0(void) {
}
void pin_intr_handler(uint32_t status) {
+ mp_sched_lock();
gc_lock();
status &= 0xffff;
for (int p = 0; status; ++p, status >>= 1) {
@@ -111,6 +112,7 @@ void pin_intr_handler(uint32_t status) {
}
}
gc_unlock();
+ mp_sched_unlock();
}
pyb_pin_obj_t *mp_obj_get_pin_obj(mp_obj_t pin_in) {