/* Insgesamt ermöglicht die ModBusConfig-Klasse das Speichern und Abrufen von Modbus-Konfigurationsdaten (ID und Baudrate) in einem EEPROM. Dies ist besonders nützlich für Anwendungen, bei denen Konfigurationsdaten zwischen den Stromzyklen erhalten bleiben sollen. Die Klasse abstrahiert die EEPROM-Operationen und bietet eine benutzerfreundliche Schnittstelle zur Verwaltung von Modbus-Konfigurationen. */ #ifndef ModbusSlaveConfigToEEPROM_H #define ModbusSlaveConfigToEEPROM_H #include #include class ModBusConfig{ public: ModBusConfig(int ID, int BAUDRATE); void SetModbusID(int ID); void SetBaudRate(int BAUDRATE); int GetModbusID(); int GetBaudRate(); private: int ModBusID; int ModBusBaudrate; }; void ModBusConfig::SetModbusID(int BAUDRATE){ EEPROM.write(0,BAUDRATE); } void ModBusConfig::SetBaudRate(int BAUDRATE){ // divide Baudrate / 100 - to save it in Eeprom (8Bit 0 - 255) int dividedBaudrate = BAUDRATE/100; if ( dividedBaudrate != EEPROM.read(1)){ EEPROM.write(1,dividedBaudrate); } } int ModBusConfig::GetModbusID(){ return EEPROM.read(0); } int ModBusConfig::GetBaudRate(){ int Baudrate = EEPROM.read(1)*100; return Baudrate; } #endif