Index: leahi_dialin/common/dd_defs.py =================================================================== diff -u -r40186f183b0331f4c76c24c1e5385539ce603402 -r134ce79ed68aed5a981c07fef3bca314a9fb9b8e --- leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 40186f183b0331f4c76c24c1e5385539ce603402) +++ leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 134ce79ed68aed5a981c07fef3bca314a9fb9b8e) @@ -14,6 +14,7 @@ # ############################################################################ +from enum import unique from aenum import extend_enum from typing import TYPE_CHECKING @@ -150,7 +151,7 @@ 'MODE_NLEG': 10, # Non-legal Mode - an illegitimate mode transition has occurred 'NUM_OF_DD_MODES': 11, # Number of Modes for the DD } - return DialinEnum('DDOpModes', members) + return unique(DialinEnum('DDOpModes', members)) def _create_dd_fault_states(self): @@ -160,7 +161,7 @@ 'DD_FAULT_ENERGIZED_STATE': 2, # DD fault energized state 'NUM_OF_DD_FAULT_STATES': 3, # Number of fault mode states } - return DialinEnum('DDFaultStates', members) + return unique(DialinEnum('DDFaultStates', members)) def _create_dd_fault_nvdata_states(self): @@ -170,15 +171,15 @@ 'DD_FAULT_STATE_COMPLETE': 2, # DD fault complete 'NUM_OF_DD_FAULT_NVDATA_STATES': 3, # Number of fault mode NV Data management states } - return DialinEnum('DDFaultNVDataStates', members) + return unique(DialinEnum('DDFaultNVDataStates', members)) def _create_dd_service_states(self): members = { 'DD_SERVICE_STATE_START': 0, # Start service mode state 'NUM_OF_DD_SERVICE_STATES': 1, # Number of service mode states } - return DialinEnum('DDServiceStates', members) + return unique(DialinEnum('DDServiceStates', members)) def _create_dd_init_states(self): @@ -199,7 +200,7 @@ 'DD_POST_STATE_FAILED': 13, # Post Generate Dialysate Fail State 'NUM_OF_DD_POST_STATES': 14, # Number of Post Generate Dialysate States } - return DialinEnum('DDInitStates', members) + return unique(DialinEnum('DDInitStates', members)) def _create_dd_standby_states(self): @@ -208,7 +209,7 @@ 'DD_STANDBY_MODE_STATE_PAUSE': 1, # Pause state 'NUM_OF_DD_STANDBY_MODE_STATES': 2, # Number of standby mode states } - return DialinEnum('DDStandbyStates', members) + return unique(DialinEnum('DDStandbyStates', members)) def _create_dd_pregen_states(self): @@ -219,7 +220,7 @@ 'NUM_OF_DD_PRE_GEN_DIALYSATE_STATES': 3, # Number of Pre-Gen Dialysate mode states } - return DialinEnum('DDPreGenDialysateStates', members) + return unique(DialinEnum('DDPreGenDialysateStates', members)) def _create_dd_gen_states(self): @@ -234,7 +235,7 @@ 'NUM_OF_DD_GEND_MODE_STATES': 7, # Number of gen dialysate states } - return DialinEnum('DDGenDialysateModeStates', members) + return unique(DialinEnum('DDGenDialysateModeStates', members)) def _create_dd_postgen_states(self): @@ -244,7 +245,7 @@ 'NUM_OF_DD_POST_GEN_DIALYSATE_STATES': 2, # Number of Post-Gen Dialysate mode states } - return DialinEnum('DDPostGenDialysateStates', members) + return unique(DialinEnum('DDPostGenDialysateStates', members)) def _create_dd_heat_disinfect_states(self): @@ -253,28 +254,28 @@ 'DD_HEAT_DISINFECT_STATE_COMPLETE': 1, # Heat disinfect, complete state 'NUM_OF_DD_HEAT_DISINFECT_STATES': 2 # Number of heat disinfect mode states } - return DialinEnum('DDHeatDisinfectStates', members) + return unique(DialinEnum('DDHeatDisinfectStates', members)) def _create_dd_heater_cooling_states(self): members = { 'NUM_OF_DD_HEAT_COOL_STATES': 0, # Number of Heater Cooling states } - return DialinEnum('DDHeaterCoolingStates', members) + return unique(DialinEnum('DDHeaterCoolingStates', members)) def _create_dd_ro_permeate_states(self): members = { 'NUM_OF_RO_PERMEATE_STATES': 0, # Number of RO Permeate states } - return DialinEnum('DDROPermeateStates', members) + return unique(DialinEnum('DDROPermeateStates', members)) def _create_dd_not_legal_states(self): members = { 'NUM_OF_NOT_LEGAL_STATES': 0, # Number of Not Legal states } - return DialinEnum('DDNotLegalStates', members) + return unique(DialinEnum('DDNotLegalStates', members)) def _create_dd_event_list(self): @@ -294,7 +295,7 @@ 'DD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT': 12, # DD blood leak self test result 'NUM_OF_DD_EVENT_IDS': 13, # Total number of DD events } - return DialinEnum('DDEventList', members) + return unique(DialinEnum('DDEventList', members)) def _create_dd_event_data_types(self): @@ -306,7 +307,7 @@ 'EVENT_DATA_TYPE_BOOL': 4, # Boolean Event Data Type 'NUM_OF_EVENT_DATA_TYPES': 5, # Number of Event Data Types } - return DialinEnum('DDEventDataTypes', members) + return unique(DialinEnum('DDEventDataTypes', members)) @@ -318,7 +319,7 @@ 'D76_UF': 2, # Ultrafiltration Concentrate Pump 'NUM_OF_CONCENTRATE_PUMPS': 3, # Number of Concentrate Pumps } - return DialinEnum('DDConcentratePumpNames', members) + return unique(DialinEnum('DDConcentratePumpNames', members)) def _create_dd_conductivity_sensor_names(self): @@ -330,7 +331,7 @@ 'D74_COND': 4, # Water and Bicarbonate Collective Conductivity Sensor 'NUM_OF_CONDUCTIVITY_SENSORS': 5 # Number of Conductivity Sensors } - return DialinEnum('DDConductivitySensorNames', members) + return unique(DialinEnum('DDConductivitySensorNames', members)) def _create_dd_dialysate_pump_names(self): @@ -339,7 +340,7 @@ 'D48_PUMP': 1, # Spent Dialysate Pump 'NUM_OF_DIALYSATE_PUMPS': 2, # Number of Dialysate Pumps } - return DialinEnum('DDDialysatePumpNames', members) + return unique(DialinEnum('DDDialysatePumpNames', members)) def _create_dd_heater_names(self): @@ -348,7 +349,7 @@ 'D45_HEAT': 1, # Trimmer heater 'NUM_OF_DD_HEATERS': 2, # Number of Heaters } - return DialinEnum('DDHeaterNames', members) + return unique(DialinEnum('DDHeaterNames', members)) def _create_dd_level_sensor_names(self): @@ -358,7 +359,7 @@ 'D46_LEVEL': 2, # Spent dialysate air separation chamber level low or high status 'NUM_OF_LEVELS': 3, # Number of Level Sensors } - return DialinEnum('DDLevelSensorNames', members) + return unique(DialinEnum('DDLevelSensorNames', members)) def _create_dd_piston_pump_names(self): @@ -368,7 +369,7 @@ 'UF': 2, # Ultrafiltration piston pump 'NUM_OF_PISTON_PUMPS': 3, # Number of piston pumps } - return DialinEnum('DDPistonPumpNames', members) + return unique(DialinEnum('DDPistonPumpNames', members)) def _create_dd_pressure_sensor_names(self): @@ -391,7 +392,7 @@ 'D41_PRES': 4, # Transmembrane pressure (Ptm) 'NUM_OF_PRESSURE_SENSORS': 5, # Number of pressure sensors } - return DialinEnum('DDPressureSensorNames', members) + return unique(DialinEnum('DDPressureSensorNames', members)) def _create_dd_temperature_sensor_names(self): @@ -497,7 +498,7 @@ 'SPARE7_VALV': 31, # Spare Valve 7 'NUM_OF_DD_VALVES': 32, # Number of Valves for the DD } - return DialinEnum('DDValveNames', members) + return unique(DialinEnum('DDValveNames', members)) def _create_dd_monitored_voltages(self): @@ -512,7 +513,7 @@ 'MONITORED_LINE_FPGA_PVN_V': 7, # FPGA Vpvn (1V) 'NUM_OF_MONITORED_VOLTAGE_LINES': 8, # Number of TD operation modes } - return DialinEnum('DDMonitoredVoltages', members) + return unique(DialinEnum('DDMonitoredVoltages', members)) @@ -528,7 +529,7 @@ 'BAL_CHAMBER_STATE2_FILL_END': 6, # Balancing Chamber state 2 fill end state 'NUM_OF_BAL_CHAMBER_EXEC_STATES': 7, # Number of balancing chamber states } - return DialinEnum('DDBalancingChamberStates', members) + return unique(DialinEnum('DDBalancingChamberStates', members)) def _create_dd_balancing_chamber_switch_states(self): @@ -537,7 +538,7 @@ 'BAL_CHAMBER_SW_STATE2': 1, # Balancing chamber switching state 2 ( V1,V6 and V4, V7 open, rest closed) 'NUM_OF_BAL_CHAMBER_SW': 2, # Number of balancing chamber states } - return DialinEnum('DDBalancingChamberSwitchStates', members) + return unique(DialinEnum('DDBalancingChamberSwitchStates', members)) def _create_dd_blood_leak_states(self): @@ -551,7 +552,7 @@ 'BLOOD_LEAK_RECOVER_BLOOD_DETECT_STATE': 6, # 'NUM_OF_BLOOD_LEAK_STATES': 7, # Number of blood leak states } - return DialinEnum('DDBloodLeakStates', members) + return unique(DialinEnum('DDBloodLeakStates', members)) def _create_dd_concentrate_pump_attributes(self): @@ -567,7 +568,7 @@ 'PARK_FAULT': 8, # Park Fault Concentrate Pump Attribute 'NUM_OF_D10_D11_CONCENTRATE_PUMP_ATTRIBUTES': 9, # Number of Acid (D11) and Bicarbonate (D10) Concentrate Pump Attributes } - return DialinEnum('DDConcentratePumpAttributes', members) + return unique(DialinEnum('DDConcentratePumpAttributes', members)) def _create_dd_concentrate_pump_states(self): @@ -577,7 +578,7 @@ 'CONCENTRATE_PUMP_CONTROL_TARGET_SPEED_STATE': 2, # Control Target Speed Concentrate Pump State 'NUM_OF_CONCENTRATE_PUMP_STATES': 3, # Number of Concentrate Pump States } - return DialinEnum('DDConcentratePumpStates', members) + return unique(DialinEnum('DDConcentratePumpStates', members)) def _create_dd_dialysate_pump_attributes(self): @@ -594,7 +595,7 @@ 'MEASURED_DIRECTION': 9, # Measured Direction Dialysate Pump Attribute 'NUM_OF_DIALYSATE_PUMP_ATTRIBUTES': 10, # Number of Dialysate Pump Attributes } - return DialinEnum('DDDialysatePumpAttributes', members) + return unique(DialinEnum('DDDialysatePumpAttributes', members)) def _create_dd_dialysate_pump_states(self): @@ -604,11 +605,11 @@ 'DIALYSATE_PUMP_CONTROL_TO_TARGET_STATE': 2, # Dialysate Pump Control to Target State 'NUM_OF_DIALYSATE_PUMP_STATES': 3, # Number of Dialysate Pump States } - return DialinEnum('DDDialysatePumpsStates', members) + return unique(DialinEnum('DDDialysatePumpsStates', members)) def _create_dd_heater_start_stop(self): - return DialinEnum('DDHeaterStartStop', {'STOP': 0, 'START': 1}) + return unique(DialinEnum('DDHeaterStartStop', {'STOP': 0, 'START': 1})) def _create_dd_heater_attributes(self): @@ -622,7 +623,7 @@ 'TARGET_TEMP_TD': 6, # Target Temperature Attribute for Heaters 'NUM_OF_DD_HEATER_ATTRIBUTES': 7, # Number of Heater Attributes } - return DialinEnum('DDHeaterAttributes', members) + return unique(DialinEnum('DDHeaterAttributes', members)) def _create_dd_heater_exec_states(self): @@ -633,7 +634,7 @@ 'HEATER_EXEC_STATE_CONTROL_TO_DISINFECT_TARGET': 3, # Heater Execution Control to Disinfection State 'NUM_OF_HEATERS_EXEC_STATE': 4, # Number of Heater Execution States } - return DialinEnum('DDHeaterExecState', members) + return unique(DialinEnum('DDHeaterExecState', members)) def _create_dd_piston_pump_attributes(self): @@ -643,15 +644,15 @@ 'CYCLE_COUNTER': 2, # Cycle Counter for the Piston Pumps 'NUM_OF_PISTON_PUMP_ATTRIBUTES': 3, # Number of Piston Pump Attributes } - return DialinEnum('DDPistonPumpAttributes', members) + return unique(DialinEnum('DDPistonPumpAttributes', members)) def _create_dd_valve_states(self): members = { 'VALVE_STATE_CLOSED': 0, # Valve Closed State 'VALVE_STATE_OPEN': 1, # Valve Open State } - return DialinEnum('DDValveStates', members) + return unique(DialinEnum('DDValveStates', members))