config.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include "esp_system.h"
  5. #include "nvs_utilities.h"
  6. #include "cJSON.h"
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. #ifdef __cplusplus
  11. }
  12. #endif
  13. #define DECLARE_SET_DEFAULT(t) void config_set_default_## t (const char *key, t value);
  14. #define DECLARE_GET_NUM(t) esp_err_t config_get_## t (const char *key, t * value);
  15. DECLARE_SET_DEFAULT(uint8_t);
  16. DECLARE_SET_DEFAULT(uint16_t);
  17. DECLARE_SET_DEFAULT(uint32_t);
  18. DECLARE_SET_DEFAULT(int8_t);
  19. DECLARE_SET_DEFAULT(int16_t);
  20. DECLARE_SET_DEFAULT(int32_t);
  21. DECLARE_GET_NUM(uint8_t);
  22. DECLARE_GET_NUM(uint16_t);
  23. DECLARE_GET_NUM(uint32_t);
  24. DECLARE_GET_NUM(int8_t);
  25. DECLARE_GET_NUM(int16_t);
  26. DECLARE_GET_NUM(int32_t);
  27. bool config_has_changes();
  28. void config_commit_to_nvs();
  29. void config_start_timer();
  30. void config_init();
  31. void * config_alloc_get_default(nvs_type_t type, const char *key, void * default_value, size_t blob_size);
  32. void config_delete_key(const char *key);
  33. void config_set_default(nvs_type_t type, const char *key, void * default_value, size_t blob_size);
  34. void * config_alloc_get(nvs_type_t nvs_type, const char *key) ;
  35. bool wait_for_commit();
  36. char * config_alloc_get_json(bool bFormatted);
  37. esp_err_t config_set_value(nvs_type_t nvs_type, const char *key, void * value);
  38. nvs_type_t config_get_item_type(cJSON * entry);
  39. void * config_safe_alloc_get_entry_value(nvs_type_t nvs_type, cJSON * entry);