From 4d0ab9448d736bb14672f88cd556c75607f03509 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sun, 17 Feb 2019 16:43:52 +0100 Subject: [PATCH] Fix unsupported sensor ids Fix unsupported sensor ids popping up after a config restore --- sonoff/sonoff.ino | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sonoff/sonoff.ino b/sonoff/sonoff.ino index ad16735db..4a62d5c88 100755 --- a/sonoff/sonoff.ino +++ b/sonoff/sonoff.ino @@ -2316,17 +2316,23 @@ void GpioInit(void) baudrate = APP_BAUDRATE; } + for (uint8_t i = 0; i < sizeof(Settings.user_template.gp); i++) { + if ((Settings.user_template.gp.io[i] >= GPIO_SENSOR_END) && (Settings.user_template.gp.io[i] < GPIO_USER)) { + Settings.user_template.gp.io[i] = GPIO_USER; // Fix not supported sensor ids in template + } + } + myio def_gp; ModuleGpios(&def_gp); for (uint8_t i = 0; i < sizeof(Settings.my_gp); i++) { - if (Settings.my_gp.io[i] > GPIO_NONE) { + if ((Settings.my_gp.io[i] >= GPIO_SENSOR_END) && (Settings.my_gp.io[i] < GPIO_USER)) { + Settings.my_gp.io[i] = GPIO_NONE; // Fix not supported sensor ids in module + } + else if (Settings.my_gp.io[i] > GPIO_NONE) { my_module.io[i] = Settings.my_gp.io[i]; } if ((def_gp.io[i] > GPIO_NONE) && (def_gp.io[i] < GPIO_USER)) { my_module.io[i] = def_gp.io[i]; - if (USER_MODULE == Settings.module) { - Settings.my_gp.io[i] = def_gp.io[i]; // Copy user template settings - } } } my_module_flag = ModuleFlag();