From f39bcb304bc51f13abb465c644810a81d8a9c565 Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
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 4a73883b4..afb7ba5d4 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);
 
-- 
GitLab