OMOTE/Platformio/hardware/ESP32/preferencesStorage_hal_esp3...

58 lines
1.9 KiB
C++

#include <Preferences.h>
#include "sleep_hal_esp32.h"
#include "tft_hal_esp32.h"
Preferences preferences;
std::string currentScene;
std::string currentGUIname;
void init_preferences_HAL(void) {
// Restore settings from internal flash memory
preferences.begin("settings", false);
if (preferences.getBool("alreadySetUp")) {
// from sleep.h
set_wakeupByIMUEnabled_HAL(preferences.getBool("wkpByIMU"));
set_sleepTimeout_HAL(preferences.getUInt("slpTimeout"));
// from tft.h
set_backlightBrightness_HAL(preferences.getUChar("blBrightness"));
// from here
currentScene = std::string(preferences.getString("currentScene").c_str());
currentGUIname = std::string(preferences.getString("currentGUIname").c_str());
// Serial.printf("Preferences restored: brightness %d, GUI %s, scene %s\r\n", get_backlightBrightness_HAL(), get_currentGUIname().c_str(), get_currentScene().c_str());
} else {
// Serial.printf("No preferences to restore\r\n");
}
preferences.end();
}
void save_preferences_HAL(void) {
preferences.begin("settings", false);
// from sleep.h
preferences.putBool("wkpByIMU", get_wakeupByIMUEnabled_HAL());
// from tft.h
preferences.putUInt("slpTimeout", get_sleepTimeout_HAL());
preferences.putUChar("blBrightness", get_backlightBrightness_HAL());
// from here
preferences.putString("currentScene", currentScene.c_str());
preferences.putString("currentGUIname", currentGUIname.c_str());
if (!preferences.getBool("alreadySetUp")) {
preferences.putBool("alreadySetUp", true);
}
preferences.end();
}
std::string get_currentScene_HAL() {
return currentScene;
}
void set_currentScene_HAL(std::string aCurrentScene) {
currentScene = aCurrentScene;
}
std::string get_currentGUIname_HAL(){
return currentGUIname;
}
void set_currentGUIname_HAL(std::string aCurrentGUIname) {
currentGUIname = aCurrentGUIname;
}