Wemos D1 Mini Frimware zur Steuerung einer RGBW-LED-Lampe
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

ConfigManager.cpp 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. * MemoryManager.cpp
  3. *
  4. * Created on: 21.06.2026
  5. * Author: FSmilari
  6. */
  7. #include "ConfigManager.h"
  8. ConfigManager::ConfigManager() {
  9. memset(&_config, 0, sizeof(Config));
  10. _config.wifiValid = false;
  11. }
  12. ConfigManager::~ConfigManager() {
  13. // TODO Auto-generated destructor stub
  14. }
  15. bool ConfigManager::loadConfig() {
  16. EEPROM.begin(sizeof(Config));
  17. EEPROM.get(0, _config);
  18. if (_config.wifiValid != true) {
  19. memset(&_config, 0, sizeof(Config));
  20. _config.wifiValid = false;
  21. return false;
  22. }
  23. return true;
  24. }
  25. bool ConfigManager::saveConfig(const Config &config) {
  26. _config = config;
  27. EEPROM.begin(sizeof(Config));
  28. EEPROM.put(0, _config);
  29. return EEPROM.commit();
  30. }
  31. void ConfigManager::resetConfig() {
  32. memset(&_config, 0, sizeof(Config));
  33. _config.wifiValid = false;
  34. EEPROM.begin(sizeof(Config));
  35. EEPROM.put(0, _config);
  36. EEPROM.commit();
  37. }
  38. Config& ConfigManager::setToDefaultConfig() {
  39. memset(&_config, 0, sizeof(Config));
  40. String ssid = "";
  41. String pass = "";
  42. ssid.toCharArray(_config.ssid, sizeof(_config.ssid));
  43. pass.toCharArray(_config.pass, sizeof(_config.pass));
  44. _config.wifiValid = false;
  45. _config.version = CONFIG_VERSION;
  46. _config.mode = LM_SINGLE_COLOR;
  47. _config.color.r = 0;
  48. _config.color.g = 0;
  49. _config.color.b = 0;
  50. _config.color.w = 255;
  51. _config.brightness = 128;
  52. EEPROM.begin(sizeof(Config));
  53. EEPROM.put(0, _config);
  54. EEPROM.commit();
  55. return _config;
  56. }
  57. Config& ConfigManager::getConfig() {
  58. return _config;
  59. }