Index: leahi_dialin/common/fp_defs.py =================================================================== diff -u -rdf6d6e28353d8575f92030b8688d48d0f6eb99af -r5d5363c270d5bc6c45f9d3cc4f0b141c90ef5cbb --- leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision df6d6e28353d8575f92030b8688d48d0f6eb99af) +++ leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 5d5363c270d5bc6c45f9d3cc4f0b141c90ef5cbb) @@ -18,14 +18,22 @@ @unique class FPOpModes(DialinEnum): - FP_MODE_FAUL = 0 # Fault mode - FP_MODE_SERV = 1 # Service mode - FP_MODE_INIT = 2 # Initialization & POST mode - FP_MODE_STAN = 3 # Standby mode - FP_MODE_NLEG = 4 # Not legal - an illegal mode transition occurred - NUM_OF_FP_MODES = 5 # Number of TD operation modes - + MODE_FAUL = 0 # Fault mode + MODE_SERV = 1 # Service mode + MODE_INIT = 2 # Initialization & POST mode + MODE_STAN = 3 # Standby mode + MODE_PRE_GENP = 4 # Pre Generate Permeate Mode + MODE_GENP = 5 # Generate Permeate Mode + MODE_DPGP = 6 # Defeatured Pre-Generate Permeate Mode + MODE_DEGP = 7 # Defeatured Generate Permeate Mode + MODE_NLEG = 8 # Not legal - an illegal mode transition occurred + NUM_OF_FP_MODES = 9 # Number of TD operation modes + @unique +class FPServiceStates(DialinEnum): + NUM_OF_FP_SERV_STATES = 0 # TODO populate with FP service states + +@unique class FPPostStates(DialinEnum): FP_POST_STATE_START = 0 # Start initialize & POST mode state FP_POST_STATE_FW_INTEGRITY = 1 # Run firmware integrity test state @@ -38,18 +46,170 @@ FP_POST_STATE_COMPLETED = 8 # POST self-tests completed state FP_POST_STATE_FAILED = 9 # POST self-tests failed state NUM_OF_FP_POST_STATES = 10 # Number of initialize & POST mode states - + @unique +class FPFaultStates(DialinEnum): + FP_FAULT_STATE_START = 0 # FP Fault Start State + FP_FAULT_DEENERGIZED_STATE = 1 # FP Fault De-energized State + FP_FAULT_ENERGIZED_STATE = 2 # FP Fault Energized State + NUM_OF_FP_FAULT_STATES = 3 # Number of Fault Mode State + +@unique +class FPStandbyStates(DialinEnum): + FP_STANDBY_MODE_STATE_IDLE = 0 # Idle standby mode state + NUM_OF_FP_STANDBY_MODE_STATES = 1 # Number of standby mode states + +@unique +class FPPreGenPermeateStates(DialinEnum): + FP_PRE_GENP_INLET_PRES_CHECK = 0 # FP Pre Gen Permeate Inlet Pressure Check State + FP_PRE_GENP_FILTER_FLUSH = 1 # FP Pre Gen Permeate Filter Flush State + FP_PRE_GENP_PERMEATE_FLUSH = 2 # FP Pre Gen Permeate Permeate Flush State + FP_PRE_GENP_CONCENTRATE_FLUSH = 3 # FP Pre Gen Permeate Concentrate Flush State + FP_PRE_GENP_VERIFY_WATER = 4 # FP Pre Gen Permeate Verify Water State + FP_PRE_GENP_PAUSED = 5 # FP Pre Gen Permeate Paused State + NUM_OF_FP_PRE_GENP_MODE_STATES = 6 # Number of Pre-Gen Permeate mode states + +@unique +class FPPreGenPDefStates(DialinEnum): + FP_PRE_GENP_DEF_FLUSH = 0 # Pre Gen Permeate Defeatured Flush state + FP_PRE_GENP_DEF_INLET_WATER_CHECK = 1 # Pre Gen Permeate Defeatured Inlet Water Check state + FP_PRE_GENP_DEF_PAUSED = 2 # Defeatured Pre Gen Permeate Paused state + NUM_OF_FP_PRE_GENP_DEF_MODE_STATES = 3 # Number of Defeatured Pre Gen Permeate states + +@unique +class FPGenPermeateStates(DialinEnum): + FP_GENP_TANK_FILL_STATE = 0 # Gen Permeate Tank Fill low state + FP_GENP_TANK_FULL_STATE = 1 # Gen Permeate Tank Full state + NUM_OF_FP_GENP_MODE_STATES = 2 # Number of Gen permeate states + +@unique +class FPGenPermeateDefStates(DialinEnum): + FP_GENP_DEF_SUPPLY_WATER = 0 # Gen Permeate Defeatured Supply Water state + FP_GENP_DEF_PAUSED = 1 # Gen Permeate Defeatured Paused state + NUM_OF_FP_GENP_DEF_MODE_STATES = 2 # Number of gen Permeate states + +@unique +class FPNotLegalStates(DialinEnum): + NUM_OF_NOT_LEGAL_STATES = 0 # TODO: populate with Not Legal states + +@unique class FPEventList(DialinEnum): FP_EVENT_STARTUP = 0 # FP startup event FP_EVENT_OP_MODE_CHANGE = 1 # FP Op mode change event FP_EVENT_SUB_MODE_CHANGE = 2 # FP Op sub-mode change event - NUM_OF_FP_EVENT_IDS = 3 # Total number of FP events + FP_EVENT_PRE_GEN_RO_SET_PWM = 3 # FP gen permeate ro set pwm event + FP_EVENT_GENP_BOOST_SET_PWM = 4 # FP gen permeate boost set pwm event + FP_EVENT_GENP_CHANGE = 5 # FP gen permeate state change + FP_EVENT_PRE_GEN_CHANGE = 6 # FP pre gen state change + FP_EVENT_PRE_GEN_DEF_CHANGE = 7 # FP defeatured pre gen state change + FP_EVENT_GENP_DEF_CHANGE = 8 # FP defeatured pre gen state change + FP_EVENT_FAULT_ALARM_TRIGGER = 9 # FP event for alarms that would trigger + NUM_OF_FP_EVENT_IDS = 10 # Total number of FP events + @unique class FPEventDataType(DialinEnum): - EVENT_DATA_TYPE_NONE = 0 - EVENT_DATA_TYPE_U32 = 1 - EVENT_DATA_TYPE_S32 = 2 - EVENT_DATA_TYPE_F32 = 3 - EVENT_DATA_TYPE_BOOL = 4 - NUM_OF_EVENT_DATA_TYPES = 5 \ No newline at end of file + EVENT_DATA_TYPE_NONE = 0 # No Event Data Type + EVENT_DATA_TYPE_U32 = 1 # Unsigned 32bit Event Data Type + EVENT_DATA_TYPE_S32 = 2 # Signed 32bit Event Data Type + EVENT_DATA_TYPE_F32 = 3 # Float 32bit Event Data Type + EVENT_DATA_TYPE_BOOL = 4 # Boolean Event Data Type + NUM_OF_EVENT_DATA_TYPES = 5 # Number of Event Data Types + +@unique +class FPBoostPumpNames(DialinEnum): + P40_PUMP = 0 # FP Boost Pump + NUM_OF_BOOST_PUMPS = 1 # Number of FP Boost Pumps + +@unique +class FPConductivitySensorsEnum(DialinEnum): + P9_COND = 0 # CPi (P9) conductivity sensor value + P18_COND = 1 # CPo (P18) conductivity sensor value + NUM_OF_FP_CONDUCTIVITY = 2 # Number of Conductivity sensors + +@unique +class FPFlowSensorNames(DialinEnum): + P7_FLOW = 0 # Water inlet flow sensor (FMS P7) + P16_FLOW = 1 # RO outlet flow sensor (FMP P16) + NUM_OF_FP_FLOW_SENSORS = 2 # Number of FP Flow Sensors + +@unique +class FPFloaterLevels(DialinEnum): + LEVEL_STATE_LOW = 0 # Low level for the FP Floater Level Sensors + LEVEL_STATE_MEDIUM = 1 # Medium level for the FP Floater Level Sensors + LEVEL_STATE_HIGH = 2 # High level for the FP Floater Level Sensors + LEVEL_STATE_ILLEGAL = 3 # Illegal level for FP Floater Level Sensor (indicates investigation) + NUM_OF_LEVEL_STATES = 4 # Number of Level States + +@unique +class FPFloaterLevelSensorNames(DialinEnum): + P25_LEVEL = 0 # P25 Level sensor + NUM_OF_FP_LEVEL_SENSORS = 1 # Number of FP Level Sensors + +@unique +class FPPressureSensorNames(DialinEnum): + M3_PRES = 0 # Water inlet pressure before regulator + P8_PRES = 1 # Water inlet pressure after regulator + P13_PRES = 2 # Water inlet pressure before the conductivity sensor + P17_PRES = 3 # Pressure before the RO filter + P46_PRES = 4 # Pressure after the RO filter + NUM_OF_FP_PRES_SENSORS = 5 # Number of Pressure Sensors + +@unique +class ROPumpNames(DialinEnum): + P12_PUMP = 0 # P12 RO Pump + NUM_OF_RO_PUMPS = 1 # Number of RO Pumps + +@unique +class FPPumpAttributes(DialinEnum): + STATE = 0 # State to command attribute for Pumps + DUTY_CYCLE = 1 # Duty Cycle attribute for Pumps + FB_DUTY_CYCLE = 2 # Feedback Duty Cycle attribute for Pumps + SPEED = 3 # Current Speed attribute for pumps + TARGET_PRES = 4 # Target Pressure attribute for pumps + TARGET_FLOW = 5 # Target Flow attribute for pumps + TARGET_DUTY_CYCLE = 6 # Target Duty Cycle attribute for pumps + DUTY_CYCLE_PCT = 7 # Duty Cycle Percentage attribute for pumps + FB_DUTY_CYCLE_PCT = 8 # Feedback Duty Cycle Percentage attribute for pumps + NUM_OF_RO_PUMP_ATTRIBUTES = 9 # Number of pump attributes + +BETA_CONDUCTIVITY_SENSOR_OFFSET = 3 # Offset to translate Dialin FPTemperaturesNames to DD firmware ConductivitySensors enum +BETA_FLOW_SENSOR_OFFSET = 7 # Offset to translate Dialin FPTemperaturesNames to DD firmware FlowSensors enum +BETA_IO_PRES_SENSOR_OFFSET = 5 # Offset to translate Dialin FPTemperaturesNames to DD firmware PressureSensors enum +BETA_FP_PRES_SENSOR_OFFSET = 3 # Offset to translate Dialin FPTemperaturesNames to DD firmware PressureSensors enum + +@unique +class FPTemperaturesNames(DialinEnum): + M3_TEMP = 0 # Temperature after pressure regulator (M3) + P10_TEMP = 1 # P10 temperature from inlet conductivity sensor. + P19_TEMP = 2 # P19 temperature from outlet conductivity sensor. + P8_TEMP = 3 # Temperature before inlet conductivity sensor (P8) + P13_TEMP = 4 # Temperature before RO filter (P13) + P17_TEMP = 5 # Temperature after RO filter (P17) + P7_TEMP = 6 # Temperature at p7 flow meter + P16_TEMP = 7 # Temperature at p16 flow meter + P46_TEMP = 8 # Temperature after sediment filter (P46) + NUM_OF_TEMPERATURE_SENSORS = 9 # Number of Temperature Sensors + +@unique +class FPValveStates(DialinEnum): + VALVE_STATE_CLOSED = 0 # Valve Closed State + VALVE_STATE_OPEN = 1 # Valve Open State + +BETA_IOFP_VALVE_OFFSET = 32 # Offset to translate Dialin FPValveNames to DD firmware DD_Valves + +@unique +class FPValveNames(DialinEnum): + M4_VALV = 0 # Valve (M4 VWi) + M12_VALV = 1 # Valve (M12) + P11_VALV = 2 # Valve (P11 VPi) + P33_VALV = 3 # Valve (P33 VCr) + P34_VALV = 4 # Valve (P34 VCb) + P37_VALV = 5 # Valve (P37 VCd) + P39_VALV = 6 # Valve (P39 VROd) + P6_VALV = 7 # Valve (P6 VFF) + NUM_OF_FP_VALVES = 8 # Number of valves + +@unique +class FPPumpNames(DialinEnum): + P12_PUMP_RO = 0 # RO Pump + P40_PUMP_BOOSTER = 1 # Booster Pump \ No newline at end of file