/* * 配置相关 */ #pragma once #ifdef __cplusplus extern "C" { #endif #include #include "device/sx1281_driver/sx1281.h" #include "module/mr16.h" #include typedef struct { uint32_t earsed_count; // 擦除计数 MR16_Param_t mr16; } Config_t; /* Exported functions prototypes -------------------------------------------- */ /** * @brief 获取机器人配置参数 * @return 机器人配置参数指针 */ Config_t* Config_Get(void); /* Try to load MR16 parameters from flash; returns pointer to loaded MR16 params on success or NULL if flash data invalid/missing */ MR16_Param_t* Config_LoadMR16FromFlash(void); /* Read MR16 params from flash and validate them. If valid, copy into runtime config and return true. If invalid or missing, return false. */ bool Config_LoadMR16FromFlashBool(void); /* Separated functions for better architecture */ bool Config_IsFlashValid(void); /* Check if flash data is valid */ void Config_LoadFromFlash(void); /* Load valid data from flash */ void Config_SetDefaults(void); /* Set default values */ #ifdef __cplusplus } #endif