summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-01-07 18:58:52 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-03-04 18:41:37 +0200
commitf39bcb304bc51f13abb465c644810a81d8a9c565 (patch)
tree70e15b0c0ec1f4fb4b9a847b65fdbd0c028c1ebf /esp8266
parent7193086c036e270e6b6e2f9d179428d51daa6cd4 (diff)
downloadmicropython-f39bcb304bc51f13abb465c644810a81d8a9c565.tar.gz
micropython-f39bcb304bc51f13abb465c644810a81d8a9c565.zip
esp8266/modmachine: Changing params of a timer requires disarming it first.
Diffstat (limited to 'esp8266')
-rw-r--r--esp8266/modmachine.c2
1 files changed, 2 insertions, 0 deletions
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);