#ifndef _DATA_TELEMET_COMMON_H
#define _DATA_TELEMET_COMMON_H

#include <stdint.h>
//#include <stdbool.h>
#include "data_config.h"

#ifdef __cplusplus
extern "C" {
#endif

/* ====================================================================================================================
 * 文件名称: data_telemet_common.h
 * 文件职责: 公共遥测取值模块头文件 - 统一封装遥测取值、零抑制、一次二次值换算等逻辑
 * 架构位置: Data层公共模块
 * ==================================================================================================================== */

/* 遥测显示类型枚举 - 统一定义，避免业务代码使用裸值 */
typedef enum
{
    TYPE_MAINPAGE = 0,         /* 主界面获取遥测值，根据主界面遥测显示类型投退返回当前遥测值是一次还是二次 */
    TYPE_YCDISPLY_PRIMARY,     /* 遥测显示界面获取遥测一次值，根据变比返回遥测值，不需判投退 */
    TYPE_YCDISPLY_SECONDY,     /* 遥测显示界面获取遥测二次值 */
} GET_TYPE;

/**
 * @brief  获取遥测显示值（公共封装接口）
 * @param  sw        开关号 0：公共，1~16：开关1~16
 * @param  ac_index  交流量索引
 * @param  type      显示类型
 * @return 处理后的遥测值
 * @note   统一封装遥测取值、零抑制、PT/CT比例换算逻辑
 */
float data_telemet_get_value(int32_t sw, uint16_t ac_index, GET_TYPE type);

#ifdef __cplusplus
}
#endif

#endif /* _DATA_TELEMET_COMMON_H */
