diff --git a/include/ModbusSlaveConfigToEEPROM.h b/include/ModbusSlaveConfigToEEPROM.h index 73b1f78..322c807 100644 --- a/include/ModbusSlaveConfigToEEPROM.h +++ b/include/ModbusSlaveConfigToEEPROM.h @@ -65,7 +65,12 @@ void ModBusConfig::SetModbusID(int ID) { } void ModBusConfig::ResetModbusID() { - SetModbusID(STANDARD_MODBUS_ID); // Reset to standard ID + unsigned long currentTime = millis(); + if (currentTime - lastWriteTimeID >= WRITE_INTERVAL) { // Only write if enough time has passed + SetModbusID(STANDARD_MODBUS_ID); // Reset to standard ID + lastWriteTimeID = currentTime; + } + } void ModBusConfig::SetBaudRate(int BAUDRATE) { @@ -86,7 +91,12 @@ void ModBusConfig::SetBaudRate(int BAUDRATE) { } void ModBusConfig::ResetBaudRate() { - SetBaudRate(STANDARD_MODBUS_BAUDRATE); // Reset to standard Baud rate + unsigned long currentTime = millis(); + if (currentTime - lastWriteTimeBaud >= WRITE_INTERVAL) { + SetBaudRate(STANDARD_MODBUS_BAUDRATE); // Reset to standard Baud rate + lastWriteTimeBaud = currentTime; + } + } int ModBusConfig::GetModbusID() {