From a75b46538515331e4d24b2a38d7321006f5a1831 Mon Sep 17 00:00:00 2001 From: SteWers Date: Mon, 24 Jan 2022 20:18:07 +0100 Subject: [PATCH] [SML] Check for used GPIO - Check for used GPIO - more meaningful error messages --- tasmota/xsns_53_sml.ino | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tasmota/xsns_53_sml.ino b/tasmota/xsns_53_sml.ino index 25a6b81a6..974125946 100755 --- a/tasmota/xsns_53_sml.ino +++ b/tasmota/xsns_53_sml.ino @@ -2576,7 +2576,7 @@ void SML_Init(void) { index--; srcpin = strtol(lp,&lp,10); if (Gpio_used(abs(srcpin))) { - AddLog(LOG_LEVEL_INFO, PSTR("gpio rx double define!")); + AddLog(LOG_LEVEL_INFO, PSTR("SML: Error: Duplicate GPIO %d defined. Not usable for RX in meter number %d"),abs(srcpin),index+1); dddef_exit: if (script_meter) free(script_meter); script_meter = 0; @@ -2631,7 +2631,7 @@ dddef_exit: lp++; script_meter_desc[index].trxpin = strtol(lp, &lp, 10); if (Gpio_used(script_meter_desc[index].trxpin)) { - AddLog(LOG_LEVEL_INFO, PSTR("gpio tx double define!")); + AddLog(LOG_LEVEL_INFO, PSTR("SML: Error: Duplicate GPIO %d defined. Not usable for TX in meter number %d"),script_meter_desc[index].trxpin,index+1); goto dddef_exit; } if (*lp != ',') goto next_line; @@ -3320,6 +3320,10 @@ bool XSNS_53_cmd(void) { ResponseTime_P(PSTR(",\"SML\":{\"CMD\":\"ser_act_LED_pin: %d\"}}"),ser_act_LED_pin); } else { ser_act_LED_pin=atoi(cp); + if (Gpio_used(ser_act_LED_pin)) { + AddLog(LOG_LEVEL_INFO, PSTR("SML: Error: Duplicate GPIO %d defined. Not usable for LED."),ser_act_LED_pin); + ser_act_LED_pin=255; + } if (ser_act_LED_pin!=255) { pinMode(ser_act_LED_pin, OUTPUT); }