75 lines
2.4 KiB
C++
75 lines
2.4 KiB
C++
#include <Preferences.h>
|
|
#include "sleep_hal_esp32.h"
|
|
#include "tft_hal_esp32.h"
|
|
|
|
Preferences preferences;
|
|
|
|
std::string activeScene;
|
|
std::string activeGUIname;
|
|
int activeGUIlist;
|
|
int lastActiveGUIlistIndex;
|
|
|
|
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
|
|
activeScene = std::string(preferences.getString("currentScene").c_str());
|
|
activeGUIname = std::string(preferences.getString("currentGUIname").c_str());
|
|
activeGUIlist =(preferences.getInt("currentGUIlist"));
|
|
lastActiveGUIlistIndex = (preferences.getInt("lastActiveIndex"));
|
|
|
|
// Serial.printf("Preferences restored: brightness %d, GUI %s, scene %s\r\n", get_backlightBrightness_HAL(), get_activeGUIname().c_str(), get_activeScene().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", activeScene.c_str());
|
|
preferences.putString("currentGUIname", activeGUIname.c_str());
|
|
preferences.putInt("currentGUIlist", activeGUIlist);
|
|
preferences.putInt("lastActiveIndex", lastActiveGUIlistIndex);
|
|
if (!preferences.getBool("alreadySetUp")) {
|
|
preferences.putBool("alreadySetUp", true);
|
|
}
|
|
preferences.end();
|
|
}
|
|
|
|
std::string get_activeScene_HAL() {
|
|
return activeScene;
|
|
}
|
|
void set_activeScene_HAL(std::string anActiveScene) {
|
|
activeScene = anActiveScene;
|
|
}
|
|
std::string get_activeGUIname_HAL(){
|
|
return activeGUIname;
|
|
}
|
|
void set_activeGUIname_HAL(std::string anActiveGUIname) {
|
|
activeGUIname = anActiveGUIname;
|
|
}
|
|
int get_activeGUIlist_HAL() {
|
|
return activeGUIlist;
|
|
}
|
|
void set_activeGUIlist_HAL(int anActiveGUIlist) {
|
|
activeGUIlist = anActiveGUIlist;
|
|
}
|
|
int get_lastActiveGUIlistIndex_HAL() {
|
|
return lastActiveGUIlistIndex;
|
|
}
|
|
void set_lastActiveGUIlistIndex_HAL(int aGUIlistIndex) {
|
|
lastActiveGUIlistIndex = aGUIlistIndex;
|
|
}
|