#include "rtwtypes.h"
#define cmnc_num_cellUNumMax  28
#define cmnc_num_modTNumMax  8
extern const uint16_T blcc_R_esr;                          /* 均衡电阻 */
extern const uint16_T blcc_T_close;                         /* 均衡暂停温度; */
extern const uint16_T blcc_T_open;                          /* 均衡暂停恢复温度; */
extern const uint16_T blcc_V_low;                            /* 均衡开启电压阈值 */

extern const uint16_T cmnc_Q_ratedCp;                       /* 电池容量; */
extern const uint16_T cmnc_num_cellUNum;                     /* 电压采样点实际个数; */
extern const uint16_T cmnc_num_modTNum;                       /* 温度采样点实际个数; */
extern const uint16_T cmnc_tm_parkTime;                    /* 静置时间阈值; */
extern const uint16_T cmnm_F_polar[13]; /* 电池放电参数的C数组; */
extern const uint16_T cmnm_R_ohm[13];       /* 电池放电参数的Ro数组; */
extern const uint16_T cmnm_R_polar[13];       /* 电池放电参数的Rp数组; */
extern const uint16_T cmnm_V_ocv[13];       /* 电池放电参数的OCV数组; */
extern const uint16_T cmnm_pct_soc[13];                         /* 电池放电参数的SOC数组; */
extern const uint16_T cmnc_V_chrgFul;                     /* 充满电的截至电压; */

extern const int16_T sfmc_I_chrgCurrOverThr;                 /* 充电电流阈值 */
extern const int16_T sfmc_I_disChrgCurrOverThr;              /* 放电电流阈值 */
extern const int16_T sfmc_T_ACPlugTOverThrFlt1;              /* 慢充插头温度过高1级故障诊断阈值 */
extern const int16_T sfmc_T_ACPlugTOverThrFlt2;              /* 慢充插头温度过高2级故障诊断阈值 */
extern const int16_T sfmc_T_ACPlugTOverThrRec1;              /* 慢充插头温度过高1级故障恢复阈值 */
extern const int16_T sfmc_T_ACPlugTOverThrRec2;              /* 慢充插头温度过高2级故障恢复阈值 */
extern const int16_T sfmc_T_DCPlugTOverThrFlt1;              /* 快充插头温度过高1级故障诊断阈值 */
extern const int16_T sfmc_T_DCPlugTOverThrFlt2;              /* 快充插头温度过高2级故障诊断阈值 */
extern const int16_T sfmc_T_DCPlugTOverThrRec1;              /* 快充插头温度过高1级故障恢复阈值 */
extern const int16_T sfmc_T_DCPlugTOverThrRec2;              /* 快充插头温度过高2级故障恢复阈值 */
extern const uint16_T sfmc_T_chrgModTLowThrFlt1;             /* 充电模组温度过低1级故障诊断阈值 */
extern const uint16_T sfmc_T_chrgModTLowThrFlt2;             /* 充电模组温度过低2级故障诊断阈值 */
extern const uint16_T sfmc_T_chrgModTLowThrRec1;             /* 充电模组温度过低1级故障恢复阈值 */
extern const uint16_T sfmc_T_chrgModTLowThrRec2;             /* 充电模组温度过低2级故障恢复阈值 */
extern const uint16_T sfmc_T_chrgModTOverThrFlt1;            /* 充电模组温度过高1级故障诊断阈值 */
extern const uint16_T sfmc_T_chrgModTOverThrFlt2;           /* 充电模组温度过高2级故障诊断阈值 */
extern const uint16_T sfmc_T_chrgModTOverThrRec1;            /* 充电模组温度过高1级故障恢复阈值 */
extern const uint16_T sfmc_T_chrgModTOverThrRec2;            /* 充电模组温度过高2级故障恢复阈值 */
extern const int16_T sfmc_T_chrgMosTOverThrFlt1;             /* 充电Mos温度过高1级故障诊断阈值 */
extern const int16_T sfmc_T_chrgMosTOverThrFlt2;             /* 充电Mos温度过高2级故障诊断阈值 */
extern const int16_T sfmc_T_chrgMosTOverThrRec1;             /* 充电Mos温度过高1级故障恢复阈值 */
extern const int16_T sfmc_T_chrgMosTOverThrRec2;             /* 充电Mos温度过高2级故障恢复阈值 */
extern const uint16_T sfmc_T_disChrgModTLowThrFlt1;          /* 放电模组温度过低1级故障诊断阈值 */
extern const uint16_T sfmc_T_disChrgModTLowThrFlt2;          /* 放电模组温度过低2级故障诊断阈值 */
extern const uint16_T sfmc_T_disChrgModTLowThrRec1;          /* 放电模组温度过低1级故障恢复阈值 */
extern const uint16_T sfmc_T_disChrgModTLowThrRec2;          /* 放电模组温度过低2级故障恢复阈值 */
extern const uint16_T sfmc_T_disChrgModTOverThrFlt1;         /* 放电模组温度过高1级故障诊断阈值 */
extern const uint16_T sfmc_T_disChrgModTOverThrFlt2;        /* 放电模组温度过高2级故障诊断阈值 */
extern const uint16_T sfmc_T_disChrgModTOverThrRec1;         /* 放电模组温度过高1级故障恢复阈值 */
extern const uint16_T sfmc_T_disChrgModTOverThrRec2;         /* 放电模组温度过高2级故障恢复阈值 */
extern const int16_T sfmc_T_heatPanTOverThrFlt1;             /* 加热板温度过高1级故障诊断阈值 */
extern const int16_T sfmc_T_heatPanTOverThrFlt2;             /* 加热板温度过高2级故障诊断阈值 */
extern const int16_T sfmc_T_heatPanTOverThrRec1;             /* 加热板温度过高1级故障恢复阈值 */
extern const int16_T sfmc_T_heatPanTOverThrRec2;             /* 加热板温度过高2级故障恢复阈值 */
extern const int16_T sfmc_T_modTDiffThrFlt1;                  /* 模组温差过大1级故障诊断阈值 */
extern const int16_T sfmc_T_modTDiffThrFlt2;                  /* 模组温差过大2级故障诊断阈值 */
extern const int16_T sfmc_T_modTDiffThrRec1;                  /* 模组温差过大1级故障恢复阈值 */
extern const int16_T sfmc_T_modTDiffThrRec2;                  /* 模组温差过大2级故障恢复阈值 */
extern const uint16_T sfmc_V_battULowThrFlt1;               /* 总压欠压1级故障诊断阈值 */
extern const uint16_T sfmc_V_battULowThrFlt2;               /* 总压欠压2级故障诊断阈值 */
extern const uint16_T sfmc_V_battULowThrRec1;               /* 总压欠压1级故障恢复阈值 */
extern const uint16_T sfmc_V_battULowThrRec2;               /* 总压欠压2级故障恢复阈值 */
extern const uint16_T sfmc_V_battUOverThrFlt1;              /* 总压过压1级故障诊断阈值 */
extern const uint16_T sfmc_V_battUOverThrFlt2;              /* 总压过压2级故障诊断阈值 */
extern const uint16_T sfmc_V_battUOverThrRec1;              /* 总压过压1级故障恢复阈值 */
extern const uint16_T sfmc_V_battUOverThrRec2;              /* 总压过压2级故障恢复阈值 */
extern const uint16_T sfmc_V_cellULowThrFlt1;        /* 单体电压欠压1级故障诊断阈值 */
extern const uint16_T sfmc_V_cellULowThrFlt2;              /* 单体电压欠压2级故障诊断阈值 */
extern const uint16_T sfmc_V_cellULowThrRec1;              /* 单体电压欠压1级故障恢复阈值 */
extern const uint16_T sfmc_V_cellULowThrRec2;              /* 单体电压欠压2级故障恢复阈值 */
extern const uint16_T sfmc_V_cellUOverThrFlt1;             /* 单体电压过压1级故障诊断阈值 */
extern const uint16_T sfmc_V_cellUOverThrFlt2;             /* 单体电压过压2级故障诊断阈值 */
extern const uint16_T sfmc_V_cellUOverThrRec1;             /* 单体电压过压1级故障恢复阈值 */
extern const uint16_T sfmc_V_cellUOverThrRec2;             /* 单体电压过压2级故障恢复阈值 */
extern const uint16_T sfmc_flg_cellUDiffThrFlt1;            /* 压差过大1级故障诊断阈值 */
extern const uint16_T sfmc_flg_cellUDiffThrFlt2;            /* 压差过大2级故障诊断阈值 */
extern const uint16_T sfmc_flg_cellUDiffThrRec1;            /* 压差过大1级故障恢复阈值 */
extern const uint16_T sfmc_flg_cellUDiffThrRec2;            /* 压差过大2级故障恢复阈值 */
extern const uint16_T sfmc_T_disChrgMosTOverThrFlt1;
extern const uint16_T sfmc_T_disChrgMosTOverThrRec1;
extern const uint16_T sfmc_T_disChrgMosTOverThrFlt2;
extern const uint16_T sfmc_T_disChrgMosTOverThrRec2;

extern const uint16_T sohc_Q_countThr;                       /*                    */
extern const uint16_T sohc_Q_updateDeltThr;                 /*                    */


extern const uint16_T socc_pct_battSocLow;                    /* SOC下限值; */
extern const uint16_T socc_pct_battSocUp;                  /* SOC上限值; */
extern const int16_T socm_I_chrgCor[4];   /* 充电CCV对应的电流数据; */
extern const int16_T socm_I_disChrgCor[3]; /* 放电CCV对应的电流数据; */
extern const uint16_T socm_V_chrgCor[4];/* 充电CCV对应的电压; */
extern const uint16_T socm_V_disChrgCor[3]; /* 放电CCV对应的电压; */
extern const uint16_T socc_pct_chrgCor;
extern const uint16_T socc_pct_disChrgCor;

extern const int16_T cmm_T_ChrgCurr[3];
extern const int16_T cmm_V_ChrgCurr[6];
extern const int16_T cmm_I_ChrgCurr[3][6];

extern const uint16_T tmsc_T_openThr;                         /* 热管理开启温度; */
extern const uint16_T tmsc_T_closeMinThr;                     /* 热管理关闭温度(最低模组); */
extern const uint16_T tmsc_T_closeMaxThr;                     /* 热管理开启温度(最高模组); */