/*
 * params_protect.h
 *
 *  Created on: 17 δεκ. 2020 γ.
 *      Author: star
 */

#ifndef SRC_MAIN_PROTECT_LEVELS_H_
#define SRC_MAIN_PROTECT_LEVELS_H_

#include <params_protect_adc.h>

typedef struct {

    int alarm_temper_u_01;
    int alarm_temper_u_02;
    int alarm_temper_u_03;
    int alarm_temper_u_04;
    int alarm_temper_u_05;
    int alarm_temper_u_06;
    int alarm_temper_u_07;

    int abnormal_temper_u_01;
    int abnormal_temper_u_02;
    int abnormal_temper_u_03;
    int abnormal_temper_u_04;
    int abnormal_temper_u_05;
    int abnormal_temper_u_06;
    int abnormal_temper_u_07;

    int alarm_temper_water_int;
    int abnormal_temper_water_int;

    int alarm_temper_water_ext;
    int abnormal_temper_water_ext;

    int alarm_p_water_max_int;
    int abnormal_p_water_max_int;

    int alarm_p_water_min_int;
    int abnormal_p_water_min_int;

    int alarm_temper_air_int_01;
    int alarm_temper_air_int_02;
    int alarm_temper_air_int_03;
    int alarm_temper_air_int_04;

    int abnormal_temper_air_int_01;
    int abnormal_temper_air_int_02;
    int abnormal_temper_air_int_03;
    int abnormal_temper_air_int_04;

    int alarm_temper_acdrive_winding_U1;
    int alarm_temper_acdrive_winding_V1;
    int alarm_temper_acdrive_winding_W1;
    int alarm_temper_acdrive_winding_U2;
    int alarm_temper_acdrive_winding_V2;
    int alarm_temper_acdrive_winding_W2;

    int abnormal_temper_acdrive_winding_U1;
    int abnormal_temper_acdrive_winding_V1;
    int abnormal_temper_acdrive_winding_W1;
    int abnormal_temper_acdrive_winding_U2;
    int abnormal_temper_acdrive_winding_V2;
    int abnormal_temper_acdrive_winding_W2;

    int alarm_temper_acdrive_bear_DNE;
    int alarm_temper_acdrive_bear_NE;
    int abnormal_temper_acdrive_bear_DNE;
    int abnormal_temper_acdrive_bear_NE;

    int alarm_Uin_max_Up;
    int alarm_Uin_max_Down;
    int alarm_Uin_min_Up;
    int alarm_Uin_min_Down;

    int alarm_Udc_max_Up;
    int alarm_Udc_max_Down;
    int alarm_Udc_min_Up;
    int alarm_Udc_min_Down;
    int alarm_Izpt_max;

    int alarm_Imax_U01;
    int alarm_Imax_U02;
    int alarm_Imax_U03;
    int alarm_Imax_U04;
    int alarm_Imax_U05;
    int alarm_Imax_U06;
    int alarm_Imax_U07;

    int alarm_Iged_max;

} PROTECT_LEVELS;

#define PROTECT_LEVELS_DEFAULTS {ALARM_TEMPER_AF,ALARM_TEMPER_AF,ALARM_TEMPER_AF,\
    ALARM_TEMPER_AF,ALARM_TEMPER_AF,ALARM_TEMPER_AF,ALARM_TEMPER_AF,\
    ABNORMAL_TEMPER_AF,ABNORMAL_TEMPER_AF,ABNORMAL_TEMPER_AF,ABNORMAL_TEMPER_AF,\
    ABNORMAL_TEMPER_AF,ABNORMAL_TEMPER_AF,ABNORMAL_TEMPER_AF,\
    ALARM_TEMPER_WATER_INT,ABNORMAL_TEMPER_WATER_INT,\
    ALARM_TEMPER_WATER_EXT,ABNORMAL_TEMPER_WATER_EXT,\
    ALARM_P_WATER_MAX_INT,ABNORMAL_P_WATER_MAX_INT,\
    ALARM_P_WATER_MIN_INT,ABNORMAL_P_WATER_MIN_INT,\
    ALARM_TEMPER_AIR_INT,ALARM_TEMPER_AIR_INT,ALARM_TEMPER_AIR_INT,ALARM_TEMPER_AIR_INT,\
    ABNORMAL_TEMPER_AIR_INT,ABNORMAL_TEMPER_AIR_INT,ABNORMAL_TEMPER_AIR_INT,ABNORMAL_TEMPER_AIR_INT,\
    ALARM_TEMPER_ACDRIVE_WINDING,ALARM_TEMPER_ACDRIVE_WINDING,ALARM_TEMPER_ACDRIVE_WINDING,\
        ALARM_TEMPER_ACDRIVE_WINDING,ALARM_TEMPER_ACDRIVE_WINDING,ALARM_TEMPER_ACDRIVE_WINDING,\
    ABNORMAL_TEMPER_ACDRIVE_WINDING,ABNORMAL_TEMPER_ACDRIVE_WINDING,ABNORMAL_TEMPER_ACDRIVE_WINDING,\
        ABNORMAL_TEMPER_ACDRIVE_WINDING,ABNORMAL_TEMPER_ACDRIVE_WINDING,ABNORMAL_TEMPER_ACDRIVE_WINDING,\
    ALARM_TEMPER_ACDRIVE_BEAR,ALARM_TEMPER_ACDRIVE_BEAR,\
    ABNORMAL_TEMPER_ACDRIVE_BEAR,ABNORMAL_TEMPER_ACDRIVE_BEAR,\
    LEVEL_ADC_U_IN_MAX,LEVEL_ADC_U_IN_MAX, LEVEL_ADC_U_IN_MIN,LEVEL_ADC_U_IN_MIN,\
    LEVEL_ADC_U_ZPT_MAX,LEVEL_ADC_U_ZPT_MAX,LEVEL_ADC_U_ZPT_MIN,LEVEL_ADC_U_ZPT_MIN,\
    LEVEL_ADC_I_ZPT,\
    LEVEL_ADC_I_BREAK, LEVEL_ADC_I_AF,LEVEL_ADC_I_AF,LEVEL_ADC_I_AF,LEVEL_ADC_I_AF,LEVEL_ADC_I_AF,LEVEL_ADC_I_AF,\
    LEVEL_ADC_I_OUT_MAX}

extern PROTECT_LEVELS protect_levels;

#endif /* SRC_MAIN_PROTECT_LEVELS_H_ */
