| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- /******************************************************************************
- 版权所有:
- 文件名称: factor.h
- 文件版本: 01.01
- 创建作者: sunxi
- 创建日期: 2013-05-20
- 功能说明: 通道参数处理。
- 其它说明:
- 修改记录:
- */
- #ifndef _FACTOR_H
- #define _FACTOR_H
- /*------------------------------- 头文件 --------------------------------------
- */
- #include "equ.h"
- /*------------------------------- 宏定义 --------------------------------------
- */
- #define ACFACTOR_FILE_VERSION 0X01010103 //文件版本
- #define MAX_FACTOR 1.5 // 通道系数最大值
- #define MIN_FACTOR 0.5 // 通道系数最小值
- #define DEFAULT_FACTOR 1.0 // 通道系数默认值
- #define MAX_PHASE 10.0 // 角度系数最大值
- #define MIN_PHASE -10.0 // 角度系数最小值
- #define DEFAULT_PHASE 0.0 // 角度系数默认值
- /*------------------------------ 类型结构 -------------------------------------
- */
- struct ac_slot_factor
- {
- float factor_e_c[EQU_SLOT_AC_CHN]; // 幅值系数
- float factor_p_c[EQU_SLOT_AC_CHN];
- // 角度系统
- #ifdef PROTECT_AC_ADJUST
- float factor_p_e_c[EQU_SLOT_AC_CHN]; // 保护幅值系数
- #endif
- float pq_factor[EQU_SLOT_AC_CHN][2];// PQ系数
- float temp; // 校准温度
- };
- //系数文件头,16bytes
- struct acfactor_file_head
- {
- u32 signature; //文件签名
- u32 version; //文件版本
- u32 reserved0; //保留0
- u32 reserved1; //保留1
- };
- struct acfactor_file_head_data
- {
- // 文件头
- struct acfactor_file_head cfh;
- u8 auth_id[AUTH_ID_LEN];//比对flash的唯一ID号,以保证校准文件与板卡的对应
- u16 base_v; // 最后一次校准的基准电压
- u16 base_i; // 最后一次校准的基准电流
- u16 addr; //起始地址
- u16 num; //存储总量
- };
- /*------------------------------ 函数声明 -------------------------------------
- */
- extern u32 g_factor_version;
- extern const float g_e_k_ECVT[EQU_SCALE_NUM];
- int factor_init(void);
- int factor_exit(void);
- int factor_read(u32 index,struct ac_slot_factor *asf);
- int factor_write(u32 index,struct ac_slot_factor *asf);
- int factor_write_all(u16 base_v,u16 base_i);
- int factor_write_board(u32 board,struct ac_slot_factor *asf);
- int factor_get_default(struct ac_slot_factor *asf);
- int factor_restore_default(void);
- int factor_e_c_get(u32 slot,u32 index,float *f);
- int factor_e_c_set(u32 slot,u32 index,float f);
- int factor_p_c_get(u32 slot,u32 index,float *f);
- int factor_p_c_set(u32 slot,u32 index,float f);
- #ifdef PROTECT_AC_ADJUST
- int factor_p_e_c_get(u32 slot,u32 index,float *f);
- int factor_p_e_c_set(u32 slot,u32 index,float f);
- #endif
- int factor_pq_get(u32 slot,u32 index,float *f);
- int factor_pq_set(u32 slot,u32 index,float *f);
- float factor_e_k(u32 index);
- float factor_p_k(u32 index);
- float factor_e_ps(u32 index);
- int factor_temp_get(int slot,float *temp);
- int factor_temp_set(int slot,float temp);
- int factor_printf(void);
- #endif//
- //========================== 本文件结束 =============================
|