From 5f809c2aa06d9c58b9cdfd81982e37edaf708dff Mon Sep 17 00:00:00 2001 From: Marcel Schulz Date: Fri, 15 Dec 2017 14:06:14 +0100 Subject: [PATCH] Did some changes in header include structure, because the library was not compiling successfully after extracting code to SBDevice.cpp. --- src/SBDevice.cpp | 32 ++++++++++++++++++++++++++++++++ src/SBDevice.h | 2 ++ src/SBNetwork.h | 2 -- 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 src/SBDevice.cpp diff --git a/src/SBDevice.cpp b/src/SBDevice.cpp new file mode 100644 index 0000000..6012e6b --- /dev/null +++ b/src/SBDevice.cpp @@ -0,0 +1,32 @@ +#include "SBDevice.h" + +SBMasterStorage SBMasterStorage::initialize() { + SBMasterStorage storage; +#if defined(ESP8266) + EEPROM.begin(SB_NETWORK_FLASH_SIZE); +#endif + EEPROM.get(0 + sizeof(SBNetworkDevice), storage); + if (storage.ID[0] != 'M' || storage.ID[1] != 'S') { + // We have to create a new one + storage.ID[0] = 'M'; + storage.ID[1] = 'S'; + Serial.println("Creating new Master Storage"); + EEPROM.put(0 + sizeof(SBNetworkDevice), storage); +#if defined(ESP8266) + EEPROM.commit(); + EEPROM.end(); +#endif + } + return storage; +} + +void SBMasterStorage::save() { +#if defined(ESP8266) + EEPROM.begin(SB_NETWORK_FLASH_SIZE); +#endif + EEPROM.put(sizeof(SBNetworkDevice), *this); +#if defined(ESP8266) + EEPROM.commit(); + EEPROM.end(); +#endif +} \ No newline at end of file diff --git a/src/SBDevice.h b/src/SBDevice.h index 05218fd..131be89 100644 --- a/src/SBDevice.h +++ b/src/SBDevice.h @@ -1,6 +1,8 @@ #ifndef _SB_NETWORK_DEVCIE_ #define _SB_NETWORK_DEVCIE_ +#include "SBNetwork_config.h" +#include "SBTypes.h" #include class SBNetworkDevice { diff --git a/src/SBNetwork.h b/src/SBNetwork.h index a14d3fe..efb407e 100644 --- a/src/SBNetwork.h +++ b/src/SBNetwork.h @@ -8,8 +8,6 @@ #include #include -#include "SBTypes.h" -#include "SBNetwork_config.h" #include "SBDevice.h" #define BROADCAST_MAC (SBMacAddress(0x9E, 0x0E, 0x9E, 0x0E, 0x9E))