settings.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef Settings_h
  2. #define Settings_h
  3. #include "configs.h"
  4. #include "SPIFFS.h"
  5. #include <FS.h>
  6. #include <ArduinoJson.h>
  7. #define FORMAT_SPIFFS_IF_FAILED true
  8. #ifdef HAS_SCREEN
  9. #include "Display.h"
  10. extern Display display_obj;
  11. #endif
  12. class Settings {
  13. private:
  14. String json_settings_string;
  15. public:
  16. bool begin();
  17. template <typename T>
  18. T loadSetting(String name);
  19. template <typename T>
  20. T saveSetting(String key, bool value);
  21. bool toggleSetting(String key);
  22. String getSettingType(String key);
  23. String setting_index_to_name(int i);
  24. int getNumberSettings();
  25. //template<>
  26. //int loadSetting<int>(String key);
  27. //template<>
  28. //String loadSetting<String>(String key);
  29. //template<>
  30. //bool loadSetting<bool>(String key);
  31. //template<>
  32. //uint8_t loadSetting<uint8_t>(String key);
  33. String getSettingsString();
  34. bool createDefaultSettings(fs::FS &fs);
  35. void printJsonSettings(String json_string);
  36. void main(uint32_t currentTime);
  37. };
  38. #endif