#ifndef COMMON_FPDEFS_H_ #define COMMON_FPDEFS_H_ // ********** public definitions ********** /** * @addtogroup FPOperationModes * @{ */ /// Enumeration of operation modes. These are in order of priority (highest to lowest). enum FP_Op_Modes { FP_MODE_FAUL = 0, ///< Fault mode FP_MODE_SERV, ///< Service mode FP_MODE_INIT, ///< Initialization & POST mode FP_MODE_STAN, ///< Standby mode FP_MODE_PGEN, ///< Pre Generate Permeate mode ( RO Featured ) FP_MODE_GENP, ///< Generate Permeate mode ( RO Featured ) FP_MODE_DPGW, ///< Defeatured Pre-Generate Permeate mode FP_MODE_DEGW, ///< Defeatured Generate Permeate mode FP_MODE_NLEG, ///< Not legal - an illegal mode transition occurred NUM_OF_FP_MODES ///< Number of FP operation modes }; typedef enum FP_Op_Modes FP_OP_MODE_T; ///< Type for FP operation modes enumeration /**@}*/ /** * @addtogroup FPInitAndPOSTMode * @{ */ /// Enumeration of init & POST mode states. enum FP_POST_States { FP_POST_STATE_START = 0, ///< Start initialize & POST mode state FP_POST_STATE_FW_INTEGRITY, ///< Run firmware integrity test state FP_POST_STATE_NVDATAMGMT, ///< Run NV Data Mgmt. test state FP_POST_STATE_WATCHDOG, ///< Run watchdog test state FP_POST_STATE_SAFETY_SHUTDOWN, ///< Run safety shutdown test state FP_POST_STATE_TEMPERATURES, ///< Run temperatures POST state FP_POST_STATE_FW_COMPATIBILITY, ///< Run firmware compatibility test state FP_POST_STATE_FPGA, ///< Run FPGA test state FP_POST_STATE_COMPLETED, ///< POST self-tests completed state FP_POST_STATE_FAILED, ///< POST self-tests failed state NUM_OF_FP_POST_STATES ///< Number of initialize & POST mode states }; typedef enum FP_POST_States FP_POST_STATE_T; ///< Type for FP POST states enumeration /**@}*/ /** * @addtogroup FPFaultMode * @{ */ /// Enumeration of fault mode states. enum FP_Fault_States { FP_FAULT_STATE_START = 0, ///< FP fault start state FP_FAULT_DEENERGIZED_STATE, ///< FP fault deenergized state FP_FAULT_ENERGIZED_STATE, ///< FP fault energized state NUM_OF_FP_FAULT_STATES ///< Number of fault mode states }; typedef enum FP_Fault_States FP_FAULT_STATE_T; ///< Type for FP fault states enumeration /// Enumeration of fault NV data management states. enum FP_Fault_NVDataMgmt_States { FP_FAULT_NVDATA_STATE_START = 0, ///< FP fault NVData management start state FP_FAULT_NVDATA_STATE_RUN_NV_POSTS, ///< FP fault run RTC and NV data management posts FP_FAULT_NVDATA_STATE_COMPLETE, ///< FP fault NVData management complete NUM_OF_FP_FAULT_NVDATA_STATES ///< Number of fault NVdata management states }; typedef enum FP_Fault_NVDataMgmt_States FP_FAULT_NVDATA_STATE_T; ///< Type for FP fault NVdata Management states enumeration /**@}*/ /** * @addtogroup FPStandbyMode * @{ */ /// Enumeration of standby mode states. enum FP_Standby_Mode_States { FP_STANDBY_MODE_STATE_IDLE = 0, ///< Idle standby mode state NUM_OF_FP_STANDBY_MODE_STATES ///< Number of standby mode states }; typedef enum FP_Standby_Mode_States FP_STANDBY_MODE_STATE_T; ///< Type for FP standby mode states enumeration /**@}*/ /** * @addtogroup FPPreGenPermeateMode * @{ */ /// Enumeration of Featured Pre Gen Permeate mode states. enum FP_Pre_GenP_Mode_States { FP_PRE_GENP_INLET_PRESSURE_CHECK = 0, ///< Pre Gen Permeate Inlet Pressure Check state FP_PRE_GENP_FILTER_FLUSH, ///< Pre Gen Permeate Filter Flush state FP_PRE_GENP_PERMEATE_FLUSH, ///< Pre Gen Permeate Permeate Flush state FP_PRE_GENP_CONCENTRATE_FLUSH, ///< Pre Gen Permeate Concentrate Flush state FP_PRE_GENP_VERIFY_WATER, ///< Pre Gen Permeate Verify Water state FP_PRE_GENP_PAUSED, ///< Pre Gen Permeate Paused state NUM_OF_FP_PRE_GENW_MODE_STATES ///< Number of Pre Gen Permeate states }; typedef enum FP_Pre_GenP_Mode_States FP_PRE_GENP_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration /** * @addtogroup FPPreGenPermeateModeDefeatured * @{ */ /// Enumeration of Defeatured Pre Gen Permeate mode states. enum FP_Pre_GenP_Def_Mode_States { FP_PRE_GENP_DEF_FLUSH = 0, ///< Pre Gen Permeate Defeatured Flush state FP_PRE_GENP_DEF_INLET_WATER_CHECK, ///< Pre Gen Permeate Defeatured Inlet Water Check state FP_PRE_GENP_DEF_PAUSED, ///< Defeatured Pre Gen Permeate Paused state NUM_OF_FP_PRE_GENP_DEF_MODE_STATES ///< Number of Defeatured Pre Gen Permeate states }; typedef enum FP_Pre_GenP_Def_Mode_States FP_PRE_GENP_DEF_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration /**@}*/ /** * @addtogroup FPGenPermeateMode * @{ */ /// Enumeration of Gen Permeate mode states. enum FP_GenP_Mode_States { FP_GENP_TANK_FILL_STATE = 0, ///< Gen Permeate Tank Fill low state FP_GENP_TANK_FULL_STATE, ///< Gen Permeate Tank Full state NUM_OF_FP_GENP_MODE_STATES ///< Number of Gen permeate states }; typedef enum FP_GenP_Mode_States FP_GENP_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration /**@}*/ /** * @addtogroup FPGenPermeateModeDefeatured * @{ */ /// Enumeration of Defeatured Gen Permeate mode states. enum FP_GenP_Def_Mode_States { FP_GENP_DEF_SUPPLY_WATER = 0, ///< Gen Permeate Defeatured Supply Water state FP_GENP_DEF_PAUSED, ///< Gen Permeate Defeatured Paused state NUM_OF_FP_GENP_DEF_MODE_STATES ///< Number of gen Permeate states }; typedef enum FP_GenP_Def_Mode_States FP_GENP_DEF_MODE_STATE_T; ///< Type for FP Gen Permeate mode states enumeration /**@}*/ /** * @addtogroup FPFilterFlush * @{ */ /// Enumeration of Filter Flush states. enum FP_Filter_Flush_States { FILTER_FLUSH_IN_PROGRESS = 0, ///< Filter Flush in progress state FILTER_FLUSH_PAUSED, ///< Filter Flush paused state NUM_OF_FILTER_FLUSH_STATES ///< Number of filter flush states }; typedef enum FP_Filter_Flush_States FP_FILTER_FLUSH_STATE_T; ///< Type for FP Filter Flush states enumeration /**@}*/ /** * @addtogroup FPPermeateFlush * @{ */ /// Enumeration of Permeate Flush states. enum FP_Permeate_Flush_States { PERM_FLUSH_IN_PROGRESS = 0, ///< Permeate Flush in progress state PERM_FLUSH_PAUSED, ///< Permeate Flush paused state NUM_OF_PERM_FLUSH_STATES ///< Number of Permeate flush states }; typedef enum FP_Permeate_Flush_States FP_PERM_FLUSH_STATE_T; ///< Type for FP Permeate Flush states enumeration /**@}*/ /** * @addtogroup FPConcentrateFlush * @{ */ /// Enumeration of Concentrate Flush states. enum FP_Concentrate_Flush_States { CONC_FLUSH_IN_PROGRESS = 0, ///< Concentrate Flush in progress state CONC_FLUSH_PAUSED, ///< Concentrate Flush paused state NUM_OF_CONC_FLUSH_STATES ///< Number of Concentrate flush states }; typedef enum FP_Concentrate_Flush_States FP_CONC_FLUSH_STATE_T; ///< Type for FP Concentrate Flush states enumeration /**@}*/ /** * @addtogroup CommonHeader * @{ */ /// Enumeration of FP event IDs. enum FP_Event_List { FP_EVENT_STARTUP = 0, ///< FP startup event FP_EVENT_OP_MODE_CHANGE, ///< FP Op mode change event FP_EVENT_SUB_MODE_CHANGE, ///< FP Op sub-mode change event FP_EVENT_PRE_GEN_RO_SET_PWM, ///< FP gen permeate ro set pwm event FP_EVENT_GENP_BOOST_SET_PWM, ///< FP gen permeate boost set pwm event FP_EVENT_GENP_CHANGE, ///< FP gen permeate state change FP_EVENT_PRE_GEN_CHANGE, ///< FP pre gen state change FP_EVENT_PRE_GEN_DEF_CHANGE, ///< FP defeatured pre gen state change FP_EVENT_GENP_DEF_CHANGE, ///< FP defeatured pre gen state change NUM_OF_FP_EVENT_IDS ///< Total number of FP events }; typedef enum FP_Event_List FP_EVENT_ID_T; ///< Type for FP event list enumeration /**@}*/ /** *  @addtogroup InletPressureCheck *  @{ */ /// Enumeration of Inlet Pressure Check states. enum FP_Inlet_Pressure_Check_States { INLET_PRES_CHECK_IN_PROGRESS = 0, ///< Inlet Pressure Check in progress state INLET_PRES_CHECK_PAUSED, ///< Inlet Pressure Check paused state NUM_OF_INLET_PRES_CHECK_STATES ///< Number of Inlet Pressure Check states }; typedef enum FP_Inlet_Pressure_Check_States FP_INLET_PRES_CHECK_STATE_T; ///< Type for FP Inlet Pressure Check states enumeration /**@}*/ #endif