From 4c65136cb0d9370248e77b391463bc8c267c40e9 Mon Sep 17 00:00:00 2001 From: sakinit Date: Sun, 10 May 2020 13:33:35 +0200 Subject: [PATCH] Fix ESP32 undefined pin initialisation --- src/Hardware.ino | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Hardware.ino b/src/Hardware.ino index 003217ff8..6439dea44 100644 --- a/src/Hardware.ino +++ b/src/Hardware.ino @@ -7,13 +7,15 @@ void hardwareInit() { // set GPIO pins state if not set to default + constexpr byte maxStates = sizeof(Settings.PinBootStates)/sizeof(Settings.PinBootStates[0]); for (byte gpio = 0; gpio < PIN_D_MAX; ++gpio) { bool serialPinConflict = (Settings.UseSerial && (gpio == 1 || gpio == 3)); + const int8_t bootState = (gpio < maxStates) ? Settings.PinBootStates[gpio] : 0; - if (!serialPinConflict && (Settings.PinBootStates[gpio] != 0)) { + if (!serialPinConflict && (bootState != 0)) { const uint32_t key = createKey(1, gpio); - switch (Settings.PinBootStates[gpio]) + switch (bootState) { case 1: pinMode(gpio, OUTPUT);