#ifndef __CALIB_MODEL_H #define __CALIB_MODEL_H #include #ifdef __cplusplus extern "C" { #endif // ======================== // 三阶拟合系数定义 // ======================== extern float g_coeff_a; extern float g_coeff_b; extern float g_coeff_c; extern float g_coeff_d; typedef struct { float a; float b; float c; float d; } CalibCoeffs_t; extern CalibCoeffs_t g_coeffs ; /** * @brief 根据电容值估算油水混合百分比 * @param cap 滤波后的电容值(单位 pF) * @return 油水混合百分比(单位 %,0~100) */ float Estimate_Percentage(float cap); /** * @brief 设置三阶拟合系数(如从 Flash 加载) */ void Set_Calib_Coeffs(float a, float b, float c, float d); // ======================== // 接口函数 void Init_CalibModel_FromFlash(void); void Save_Current_Calib_ToFlash(void); void pack_CalibModel_a(void); // float g_coeff_a --> uint32_t uint_coeff_a void pack_CalibModel_b(void); // float g_coeff_b --> uint32_t uint_coeff_b void pack_CalibModel_c(void); // float g_coeff_c --> uint32_t uint_coeff_c void pack_CalibModel_d(void); // float g_coeff_d --> uint32_t uint_coeff_d // ======================== #ifdef __cplusplus } #endif #endif // __CALIB_MODEL_H