Index: leahi_dialin/common/fp_defs.py =================================================================== diff -u -r40186f183b0331f4c76c24c1e5385539ce603402 -r134ce79ed68aed5a981c07fef3bca314a9fb9b8e --- leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 40186f183b0331f4c76c24c1e5385539ce603402) +++ leahi_dialin/common/fp_defs.py (.../fp_defs.py) (revision 134ce79ed68aed5a981c07fef3bca314a9fb9b8e) @@ -14,6 +14,7 @@ # ############################################################################ +from enum import unique from aenum import extend_enum from typing import TYPE_CHECKING @@ -128,7 +129,7 @@ 'MODE_NLEG': 8, # Not legal - an illegal mode transition occurred 'NUM_OF_FP_MODES': 9, # Number of FP operation modes } - return DialinEnum('FPOpModes', members) + return unique(DialinEnum('FPOpModes', members)) def _create_fp_fault_states(self): @@ -138,14 +139,14 @@ 'FP_FAULT_ENERGIZED_STATE': 2, # FP Fault Energized State 'NUM_OF_FP_FAULT_STATES': 3, # Number of Fault Mode State } - return DialinEnum('FPFaultStates', members) + return unique(DialinEnum('FPFaultStates', members)) def _create_fp_service_states(self): members = { 'NUM_OF_FP_SERV_STATES': 0, # Number of FP service states } - return DialinEnum('FPServiceStates', members) + return unique(DialinEnum('FPServiceStates', members)) def _create_fp_init_post_states(self): @@ -162,15 +163,15 @@ 'FP_POST_STATE_FAILED': 9, # POST self-tests failed state 'NUM_OF_FP_POST_STATES': 10 # Number of initialize & POST mode states } - return DialinEnum('FPPostStates', members) + return unique(DialinEnum('FPPostStates', members)) def _create_fp_standby_states(self): members = { 'FP_STANDBY_MODE_STATE_IDLE': 0, # Idle standby mode state 'NUM_OF_FP_STANDBY_MODE_STATES': 1, # Number of standby mode states } - return DialinEnum('FPStandbyStates', members) + return unique(DialinEnum('FPStandbyStates', members)) def _create_fp_pregen_states(self): @@ -183,7 +184,7 @@ '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 } - return DialinEnum('FPPreGenPermeateStates', members) + return unique(DialinEnum('FPPreGenPermeateStates', members)) def _create_fp_pregen_defeatured_states(self): @@ -193,7 +194,7 @@ '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 } - return DialinEnum('FPPreGenPDefStates', members) + return unique(DialinEnum('FPPreGenPDefStates', members)) def _create_fp_gen_permeate_states(self): @@ -202,7 +203,7 @@ 'FP_GENP_TANK_FULL_STATE': 1, # Gen Permeate Tank Full state 'NUM_OF_FP_GENP_MODE_STATES': 2, # Number of Gen permeate states } - return DialinEnum('FPGenPermeateStates', members) + return unique(DialinEnum('FPGenPermeateStates', members)) def _create_fp_gen_permeate_defeatured_states(self): @@ -211,14 +212,14 @@ 'FP_GENP_DEF_PAUSED': 1, # Gen Permeate Defeatured Paused state 'NUM_OF_FP_GENP_DEF_MODE_STATES': 2, # Number of Defeatured Gen permeate states } - return DialinEnum('FPGenPermeateDefStates', members) + return unique(DialinEnum('FPGenPermeateDefStates', members)) def _create_fp_not_legal_states(self): members = { 'NUM_OF_NOT_LEGAL_STATES': 0, # Number of Not Legal states } - return DialinEnum('FPNotLegalStates', members) + return unique(DialinEnum('FPNotLegalStates', members)) def _create_fp_eventlist(self): @@ -235,7 +236,7 @@ 'FP_EVENT_FAULT_ALARM_TRIGGER': 9, # FP event for alarms that would trigger 'NUM_OF_FP_EVENT_IDS': 10, # Number of FP events } - return DialinEnum('FPEventList', members) + return unique(DialinEnum('FPEventList', members)) def _create_fp_event_data_types(self): @@ -247,7 +248,7 @@ 'EVENT_DATA_TYPE_BOOL': 4, # Boolean Event Data Type 'NUM_OF_EVENT_DATA_TYPES': 5, # Number of Event Data Types } - return DialinEnum('FPEventDataTypes', members) + return unique(DialinEnum('FPEventDataTypes', members)) @@ -257,7 +258,7 @@ 'P40_PUMP': 0, # FP Boost Pump 'NUM_OF_BOOST_PUMPS': 1, # Number of FP Boost Pumps } - return DialinEnum('FPBoostPumpNames', members) + return unique(DialinEnum('FPBoostPumpNames', members)) def _create_fp_conductivity_sensor_names(self): @@ -267,7 +268,7 @@ 'NUM_OF_FP_CONDUCTIVITY_SENSRORS': 2, # Number of Conductivity sensors } - return DialinEnum('FPConductivitySensorNames', members) + return unique(DialinEnum('FPConductivitySensorNames', members)) def _create_fp_ro_rejection_ratio_names(self): @@ -279,7 +280,7 @@ 'GEN_PERMEATE_STATE': 4, # Generate Permeate State value 'NUM_OF_FP_RO_REJECTION_RATIO': 5, # Number of RO Rejection Ratio items } - return DialinEnum('FPRORejectionRatioNames', members) + return unique(DialinEnum('FPRORejectionRatioNames', members)) def _create_fp_flow_sensor_names(self): @@ -288,15 +289,15 @@ 'P16_FLOW': 1, # RO outlet flow sensor (FMP P16) 'NUM_OF_FP_FLOW_SENSORS': 2, # Number of FP Flow Sensors } - return DialinEnum('FPFlowSensorNames', members) + return unique(DialinEnum('FPFlowSensorNames', members)) def _create_fp_floater_sensor_names(self): members = { 'P25_LEVEL': 0, # P25 Level sensor 'NUM_OF_FP_LEVEL_SENSORS': 1, # Number of Level Sensors } - return DialinEnum('FPFloaterLevelSensorNames', members) + return unique(DialinEnum('FPFloaterLevelSensorNames', members)) def _create_fp_pressure_sensor_names(self): @@ -317,15 +318,15 @@ 'P17_PRES' : 3, # Pressure before the RO filter 'NUM_OF_FP_PRES_SENSORS' : 4, # Number of Pressure Sensors } - return DialinEnum('FPPressureSensorNames', members) + return unique(DialinEnum('FPPressureSensorNames', members)) def _create_fp_ro_pump_names(self): members = { 'P12_PUMP': 0, # P12 RO Pump 'NUM_OF_RO_PUMPS': 1, # Number of RO Pumps } - return DialinEnum('FPROPumpNames', members) + return unique(DialinEnum('FPROPumpNames', members)) def _create_fp_temperature_sensor_names(self): @@ -389,7 +390,7 @@ 'P6_VALV': 7, # Valve (P6 VFF) 'NUM_OF_FP_VALVES': 8, # Number of valves } - return DialinEnum('FPValveNames', members) + return unique(DialinEnum('FPValveNames', members)) @@ -398,7 +399,7 @@ 'P12_PUMP_RO': 0, # P14 RO Pump 'P40_PUMP_BOOSTER': 1, # P40 Boost Pump } - return DialinEnum('FPAllPumpNames', members) + return unique(DialinEnum('FPAllPumpNames', members)) @@ -412,7 +413,7 @@ 'LEVEL_STATE_ILLEGAL': 4, # Illegal level for FP Floater Level Sensor (indicates investigation) 'NUM_OF_LEVEL_STATES': 5, # Number of Level States } - return DialinEnum('FPFloaterLevels', members) + return unique(DialinEnum('FPFloaterLevels', members)) def _create_fp_pump_attributes(self): @@ -428,15 +429,15 @@ 'FB_DUTY_CYCLE_PCT': 8, # Feedback Duty Cycle Percentage attribute for pumps 'NUM_OF_RO_PUMP_ATTRIBUTES': 9, # Number of pump attributes } - return DialinEnum('FPPumpAttributes', members) + return unique(DialinEnum('FPPumpAttributes', members)) def _create_fp_valve_states(self): members = { 'VALVE_STATE_CLOSED': 0, # Valve Closed State 'VALVE_STATE_OPEN': 1, # Valve Open State } - return DialinEnum('FPValveStates', members) + return unique(DialinEnum('FPValveStates', members))