123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #ifndef __CALIB_MODEL_H
- #define __CALIB_MODEL_H
- #include <stdint.h>
- #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
|