From 64fc98dcf7703a85b9d9868d9fd06a3ac46ec4b9 Mon Sep 17 00:00:00 2001 From: Pim van Pelt Date: Wed, 31 Oct 2018 13:51:02 +0100 Subject: [PATCH] Add a 50ms delay after switching relays, so we avoid RF spikes from inductive loads triggering capacitive touch sensors --- src/channel.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/channel.c b/src/channel.c index 9b8f71e..6bd026e 100644 --- a/src/channel.c +++ b/src/channel.c @@ -155,6 +155,9 @@ void channel_set(int idx, bool state) { s_channels[idx].relay_state = state; if (s_channels[idx].relay_gpio != GPIO_INVALID) { mgos_gpio_write(s_channels[idx].relay_gpio, state); + // We sleep for 50ms because inductive loads cause an RF spike which trips + // capacitive sensors + mgos_msleep(50); } if (s_channels[idx].led_gpio != GPIO_INVALID) { mgos_gpio_write(s_channels[idx].led_gpio, state);