You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.0 KiB

12 months ago
12 months ago
12 months ago
  1. #include "config_service.hpp"
  2. #include "stm32basic/zsdk.hpp"
  3. static config_t _config;
  4. static config_t _default_val_config;
  5. #define TAG "config"
  6. static void dump_config(config_t *pcfg) {
  7. ZLOGI(TAG, "=============== config ===============");
  8. ZLOGI(TAG, "configMark : %08x", pcfg->configMark);
  9. ZLOGI(TAG, "placeHolder: %08x", pcfg->placeHolder);
  10. ZLOGI(TAG, "=");
  11. }
  12. //static void create_default_config(config_t *default_cfg) { //
  13. // default_cfg->configMark = FLASH_MASK_VAL;
  14. // default_cfg->placeHolder = 0; // dhcp
  15. //}
  16. void config_init(void) {
  17. ZLOGI(TAG, "config_init");
  18. _default_val_config.configMark = FLASH_MASK_VAL;
  19. _default_val_config.placeHolder = 0;
  20. zflash_init((uint32_t *)&_config, sizeof(config_t) / 4);
  21. zflash_set_default_data((uint32_t *)&_default_val_config);
  22. if (!zflash_check()) {
  23. zflash_factory_reset();
  24. }
  25. dump_config(&_config);
  26. }
  27. config_t *config_get(void) { return &_config; }
  28. void config_flush(void) { zflash_flush(); }
  29. void config_factory_reset(void) { zflash_factory_reset(); }