From dbfd1906539c6392fa4ab82d0e4584333fa0d232 Mon Sep 17 00:00:00 2001 From: SirSydom Date: Mon, 14 Feb 2022 23:14:46 +0100 Subject: [PATCH] rolled back linux plattform to eeprom --- src/linux_platform.cpp | 27 ++++++++++++++------------- src/linux_platform.h | 4 ++-- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/linux_platform.cpp b/src/linux_platform.cpp index b1ff65f..4ad15b3 100644 --- a/src/linux_platform.cpp +++ b/src/linux_platform.cpp @@ -1,15 +1,5 @@ #include "linux_platform.h" #ifdef __linux__ - -#include "knx/device_object.h" -#include "knx/address_table_object.h" -#include "knx/association_table_object.h" -#include "knx/group_object_table_object.h" -#include "knx/application_program_object.h" -#include "knx/ip_parameter_object.h" -#include "knx/bits.h" -#include "knx/ip_host_protocol_address_information.h" - #include #include #include @@ -38,6 +28,15 @@ #include // Needed for GPIO edge detection #include // Needed for delayMicroseconds() +#include "knx/device_object.h" +#include "knx/address_table_object.h" +#include "knx/association_table_object.h" +#include "knx/group_object_table_object.h" +#include "knx/application_program_object.h" +#include "knx/ip_parameter_object.h" +#include "knx/bits.h" +#include "knx/ip_host_protocol_address_information.h" + #define MAX_MEM 4096 LinuxPlatform::LinuxPlatform() @@ -266,15 +265,15 @@ int LinuxPlatform::readBytesMultiCast(uint8_t* buffer, uint16_t maxLen) return len; } -uint8_t* LinuxPlatform::getNonVolatileMemoryStart() +uint8_t* LinuxPlatform::getEepromBuffer(uint16_t size) { if (_fd < 0) doMemoryMapping(); - return _mappedFile; + return _mappedFile + 2; } -void LinuxPlatform::commitNonVolatileMemory() +void LinuxPlatform::commitToEeprom() { if (_fd < 0) doMemoryMapping(); @@ -314,6 +313,8 @@ void LinuxPlatform::doMemoryMapping() if (addr[0] != 0xAF || addr[1] != 0xFE) { memset(addr, 0, FLASHSIZE); + addr[0] = 0xAF; + addr[1] = 0xFE; } if (addr == MAP_FAILED) diff --git a/src/linux_platform.h b/src/linux_platform.h index 9eb0723..0ec9bb9 100644 --- a/src/linux_platform.h +++ b/src/linux_platform.h @@ -55,8 +55,8 @@ public: int readWriteSpi (uint8_t *data, size_t len) override; //memory - uint8_t* getNonVolatileMemoryStart() override; - void commitNonVolatileMemory() override; + uint8_t* getEepromBuffer(uint16_t size) override; + void commitToEeprom() override; void cmdlineArgs(int argc, char** argv); private: