Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @file config_defaults.h
- * @brief Фабричные (ROM) дефолтные значения конфигурации и хелперы.
- * @date 2025-09-15
- */
- #ifndef CONFIG_DEFAULTS_H_
- #define CONFIG_DEFAULTS_H_
- #include <stdint.h>
- #include <stdbool.h>
- #include "config_store.h" /* ConfigPayload, CFG_* */
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * @brief Скопировать «фабричные» дефолты для указанной версии payload.
- * @param version Версия формата (обычно = CFG_VERSION в проекте).
- * @param out_payload Куда положить дефолтные значения.
- * @return true, если версия поддержана и out заполнен.
- *
- * @note Если версия неизвестна — функция вернёт false (можно обработать отдельно).
- */
- bool config_defaults_get(uint8_t version, ConfigPayload *out_payload);
- /**
- * @brief Нормализовать/проверить конфигурацию (границы, взаимосвязи).
- * @param io_payload Конфигурация для проверки/починки in-place.
- * @return void
- *
- * @note Держи все «правила» в одном месте: min/max порогов, порядок t1<=t2<=... и т.п.
- */
- void config_sanitize(ConfigPayload *io_payload);
- /**
- * @brief Сброс к фабричным настройкам: положить дефолты и сохранить в EEPROM.
- * @param version Версия формата.
- * @return true, если запись прошла успешно (или EEPROM недоступна, но дефолты в RAM готовы).
- *
- * @note Если EEPROM недоступна (init/is_ready=false), просто возвращаем false —
- * но вызвавший код всё равно может продолжить работу с дефолтами в RAM.
- */
- bool config_factory_reset(uint8_t version);
- #ifdef __cplusplus
- }
- #endif
- #endif /* CONFIG_DEFAULTS_H_ */
Advertisement
Add Comment
Please, Sign In to add comment