From f39bcb304bc51f13abb465c644810a81d8a9c565 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 7 Jan 2016 18:58:52 +0200 Subject: [PATCH] esp8266/modmachine: Changing params of a timer requires disarming it first. --- esp8266/modmachine.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/esp8266/modmachine.c b/esp8266/modmachine.c index 4a73883b4b..afb7ba5d4d 100644 --- a/esp8266/modmachine.c +++ b/esp8266/modmachine.c @@ -75,6 +75,8 @@ STATIC mp_obj_t esp_timer_init_helper(esp_timer_obj_t *self, mp_uint_t n_args, c mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args); self->callback = args[2].u_obj; + // Be sure to disarm timer before making any changes + os_timer_disarm(&self->timer); os_timer_setfn(&self->timer, esp_timer_cb, self); os_timer_arm(&self->timer, args[0].u_int, args[1].u_int);