diff --git a/tasmota/support.ino b/tasmota/support.ino index 303a66e87..429236033 100644 --- a/tasmota/support.ino +++ b/tasmota/support.ino @@ -1885,15 +1885,14 @@ void SetSerialBegin(void) { AddLog(LOG_LEVEL_INFO, PSTR(D_LOG_SERIAL "Set to %s %d bit/s"), GetSerialConfig().c_str(), TasmotaGlobal.baudrate); Serial.flush(); #ifdef ESP8266 - Serial.begin(TasmotaGlobal.baudrate, (SerialConfig)pgm_read_byte(kTasmotaSerialConfig + Settings->serial_config)); + Serial.begin(TasmotaGlobal.baudrate, (SerialConfig)ConvertSerialConfig(Settings->serial_config)); SetSerialSwap(); #endif // ESP8266 #ifdef ESP32 delay(10); // Allow time to cleanup queues - if not used hangs ESP32 Serial.end(); delay(10); // Allow time to cleanup queues - if not used hangs ESP32 - uint32_t config = pgm_read_dword(kTasmotaSerialConfig + Settings->serial_config); - Serial.begin(TasmotaGlobal.baudrate, config); + Serial.begin(TasmotaGlobal.baudrate, ConvertSerialConfig(Settings->serial_config)); #endif // ESP32 } diff --git a/tasmota/xdrv_08_serial_bridge.ino b/tasmota/xdrv_08_serial_bridge.ino index 50a457fc5..9d297bd2a 100644 --- a/tasmota/xdrv_08_serial_bridge.ino +++ b/tasmota/xdrv_08_serial_bridge.ino @@ -46,14 +46,7 @@ bool serial_bridge_raw = false; /********************************************************************************************/ bool SetSSerialBegin(void) { - uint32_t config; -#ifdef ESP8266 - config = pgm_read_byte(kTasmotaSerialConfig + Settings->sserial_config); -#endif // ESP8266 -#ifdef ESP32 - config = pgm_read_dword(kTasmotaSerialConfig + Settings->sserial_config); -#endif // ESP32 - return SerialBridgeSerial->begin(Settings->sbaudrate * 300, config); // Reinitialize serial port with new baud rate + return SerialBridgeSerial->begin(Settings->sbaudrate * 300, ConvertSerialConfig(Settings->sserial_config)); // Reinitialize serial port with new baud rate } void SetSSerialConfig(uint32_t serial_config) { diff --git a/tasmota/xdrv_10_scripter.ino b/tasmota/xdrv_10_scripter.ino index 929b2adec..6483d8fa9 100755 --- a/tasmota/xdrv_10_scripter.ino +++ b/tasmota/xdrv_10_scripter.ino @@ -3709,15 +3709,7 @@ extern char *SML_GetSVal(uint32_t index); glob_script_mem.sp = new TasmotaSerial(rxpin, txpin, 1, 0, rxbsiz); if (glob_script_mem.sp) { - uint32_t config; -#ifdef ESP8266 - config = pgm_read_byte(kTasmotaSerialConfig + sconfig); -#endif // ESP8266 - -#ifdef ESP32 - config = pgm_read_dword(kTasmotaSerialConfig + sconfig); -#endif // ESP32 - fvar = glob_script_mem.sp->begin(br, config); + fvar = glob_script_mem.sp->begin(br, ConvertSerialConfig(sconfig)); uint32_t savc = Settings->serial_config; //setRxBufferSize(TMSBSIZ);