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)) 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)) Index: leahi_dialin/common/td_defs.py =================================================================== diff -u -r17b02f26012e7378daf831057c6f62c4ecdcfff0 -r134ce79ed68aed5a981c07fef3bca314a9fb9b8e --- leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 17b02f26012e7378daf831057c6f62c4ecdcfff0) +++ leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 134ce79ed68aed5a981c07fef3bca314a9fb9b8e) @@ -14,6 +14,7 @@ # ############################################################################ +from enum import unique from aenum import extend_enum from typing import TYPE_CHECKING @@ -144,7 +145,7 @@ 'MODE_NLEG': 8, # Not legal - an illegal mode transition occurred 'NUM_OF_MODES': 9, # Number of TD operation modes } - return DialinEnum('TDOpModes', members) + return unique(DialinEnum('TDOpModes', members)) def _create_td_fault_states(self): @@ -153,15 +154,15 @@ 'TD_FAULT_DEENERGIZED_STATE': 1, # TD fault mode deenergized state 'NUM_OF_TD_FAULT_STATES': 2, # Number of fault mode states } - return DialinEnum('TDFaultStates', members) + return unique(DialinEnum('TDFaultStates', members)) def _create_td_service_states(self): members = { 'TD_SERVICE_STATE_START': 0, # Start service mode state 'NUM_OF_TD_SERVICE_STATES': 1, # Number of service mode states } - return DialinEnum('TDServiceStates', members) + return unique(DialinEnum('TDServiceStates', members)) def _create_td_init_states(self): @@ -187,7 +188,7 @@ 'POST_STATE_FAILED': 18, # POST self-tests failed state 'NUM_OF_POST_STATES': 19, # Number of initialize & POST mode states } - return DialinEnum('TDInitStates', members) + return unique(DialinEnum('TDInitStates', members)) def _create_td_standby_states(self): @@ -200,7 +201,7 @@ 'STANDBY_CLEANING_MODE_IN_PROGRESS_STATE': 5, # Cleaning mode in progress state. 'NUM_OF_STANDBY_STATES': 6, # Number of standby states (sub-modes). } - return DialinEnum('TDStandbyStates', members) + return unique(DialinEnum('TDStandbyStates', members)) def _create_td_treatment_param_states(self): @@ -209,7 +210,7 @@ 'TD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM': 1, # Wait for UI to confirm treatment params mode state 'NUM_OF_TD_TREATMENT_PARAMS_MODE_STATES': 2, # Number of treatment params mode states } - return DialinEnum('TDTreatmentParamStates', members) + return unique(DialinEnum('TDTreatmentParamStates', members)) def _create_td_pre_treatment_modes_states(self): @@ -224,7 +225,7 @@ 'TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE': 7, # Patient connection state 'NUM_OF_TD_PRE_TREATMENT_STATES': 8, # Number of pre-treatment mode states } - return DialinEnum('TDPreTreatmentModesStates', members) + return unique(DialinEnum('TDPreTreatmentModesStates', members)) def _create_td_treatment_states(self): @@ -241,7 +242,7 @@ 'TREATMENT_DIALYSATE_PAUSED_STATE': 9, # No dialysate flow. Dialyzer bypassed. 'NUM_OF_TREATMENT_STATES': 10, # Number of treatment states (sub-modes) } - return DialinEnum('TDTreatmentStates', members) + return unique(DialinEnum('TDTreatmentStates', members)) def _create_td_post_treatment_states(self): @@ -252,14 +253,14 @@ 'TD_POST_TREATMENT_VERIFY_STATE': 3, # Verify cartridge removed, syringe removed, and reservoirs drained state 'NUM_OF_TD_POST_TREATMENT_STATES': 4, # Number of post-treatment mode states } - return DialinEnum('TDPostTreatmentStates', members) + return unique(DialinEnum('TDPostTreatmentStates', members)) def _create_td_not_legal_states(self): members = { 'NUM_OF_NOT_LEGAL_STATES': 0, # Number of Not Legal states } - return DialinEnum('TDNotLegalStates', members) + return unique(DialinEnum('TDNotLegalStates', members)) def _create_td_event_list(self): @@ -290,7 +291,7 @@ 'TD_EVENT_VALVE_HOMED_POS_SETTING': 23, # TD pinch valve homed encoder positions for A/B/C 'NUM_OF_EVENT_IDS': 24, # Total number of TD events } - return DialinEnum('TDEventList', members) + return unique(DialinEnum('TDEventList', members)) def _create_td_event_data_types(self): @@ -302,7 +303,7 @@ 'EVENT_DATA_TYPE_BOOL': 4, # Boolean Event Data Type 'NUM_OF_EVENT_DATA_TYPES': 5, # Number of Event Data Types } - return DialinEnum('TDEventDataTypes', members) + return unique(DialinEnum('TDEventDataTypes', members)) @@ -324,7 +325,7 @@ 'TD_PRIME_COMPLETE': 12, # Prime complete state 'NUM_OF_TD_PRIME_STATES': 13, # Number of prime sub-mode states } - return DialinEnum('TDPreTreatmentPrimeStates', members) + return unique(DialinEnum('TDPreTreatmentPrimeStates', members)) def _create_td_dialysis_states(self): @@ -333,7 +334,7 @@ 'DIALYSIS_UF_PAUSED_STATE': 1, # Ultrafiltration Paused state of the dialysis sub-mode state machine 'NUM_OF_DIALYSIS_STATES': 2, # Number of dialysis sub-mode states } - return DialinEnum('TDDialysisStates', members) + return unique(DialinEnum('TDDialysisStates', members)) def _create_td_treatment_parameters(self): @@ -360,7 +361,7 @@ 'TREATMENT_PARAM_UF_VOLUME': 19, # Ultrafiltration volume (in liters) - provided separately by UI 'NUM_OF_TREATMENT_PARAMS': 20, # Total number of treatment parameters } - return DialinEnum('TDTreatmentParameters', members) + return unique(DialinEnum('TDTreatmentParameters', members)) @@ -370,7 +371,7 @@ 'H12_AIR_PUMP': 0, # TD Air Pump 'NUM_OF_AIR_PUMPS': 1, # Number of TD Air pumps } - return DialinEnum('TDAirPumpNames', members) + return unique(DialinEnum('TDAirPumpNames', members)) def _create_td_air_trap_valve_names(self): @@ -379,7 +380,7 @@ 'H20_VALV': 1, # Air trap outlet valve 'NUM_OF_AIR_TRAP_VALVES': 2, # Number of Air Trap Valves } - return DialinEnum('TDAirTrapValveNames', members) + return unique(DialinEnum('TDAirTrapValveNames', members)) def _create_td_air_trap_level_sensor_names(self): @@ -388,23 +389,23 @@ 'H16_LEVEL': 1, # Upper Level Sensor 'NUM_OF_AIR_TRAP_LEVEL_SENSORS': 2, # Number of TD Air Trap Level Sensors } - return DialinEnum('TDAirTrapLevelSensorNames', members) + return unique(DialinEnum('TDAirTrapLevelSensorNames', members)) def _create_td_air_bubble_detector_names(self): members = { 'H18_ADV': 0, # H18 Air Bubble Detector Venous 'NUM_OF_AIR_BUBBLE_DETECTORS': 1, # Number of Air Bubble Detectors } - return DialinEnum('TDAirBubbleDetectorNames', members) + return unique(DialinEnum('TDAirBubbleDetectorNames', members)) def _create_td_ejector_names(self): members = { 'H5_MOTOR': 0, # TD Ejector Motor 'NUM_OF_EJECTOR_MOTORS': 1, # Number of Ejector Motors } - return DialinEnum('TDEjectorNames', members) + return unique(DialinEnum('TDEjectorNames', members)) def _create_td_pressure_sensor_names(self): @@ -414,31 +415,31 @@ 'H23_PRES': 2, # Barometric Pressure Sensor 'NUM_OF_PRESSURE_SENSORS': 3, # Number of Pressure Sensors } - return DialinEnum('TDPressureSensorNames', members) + return unique(DialinEnum('TDPressureSensorNames', members)) def _create_td_temperature_sensor_names(self): members = { 'H23_TEMP': 0, # Barometric temperature Sensor 'NUM_OF_TEMPERATURE_SENSORS': 1, # Number of temperature Sensors } - return DialinEnum('TDTemperatureSensorNames', members) + return unique(DialinEnum('TDTemperatureSensorNames', members)) def _create_td_switch_names(self): members = { 'H9_FRONT_DOOR': 0, # Front Door Switch for TD 'NUM_OF_DOORS_AND_SWITCHES': 1, # Number of Doors and Switches } - return DialinEnum('TDSwitchNames', members) + return unique(DialinEnum('TDSwitchNames', members)) def _create_td_valve_names(self): members = { 'H1_VALV': 0, # H1 Valve for TD 'H19_VALV': 1, # H19 Valve for TD 'NUM_OF_TD_VALVES': 2, # Number of Valves for the TD } - return DialinEnum('TDValveNames', members) + return unique(DialinEnum('TDValveNames', members)) def _create_td_monitored_voltages(self): @@ -456,7 +457,7 @@ 'MONITORED_LINE_FPGA_PVN_V': 10, # FPGA Vpvn (1V) 'NUM_OF_MONITORED_VOLTAGE_LINES': 11, # Number of TD operation modes } - return DialinEnum('TDMonitoredVoltages', members) + return unique(DialinEnum('TDMonitoredVoltages', members)) @@ -467,7 +468,7 @@ 'POWER': 1, # TD Air Pump Power attribute 'NUM_OF_AIR_PUMP_ATTRIBUTES': 2, # Number of Air Pump attributes } - return DialinEnum('TDAirPumpAttributes', members) + return unique(DialinEnum('TDAirPumpAttributes', members)) def _create_td_air_trap_level_sensor_attributes(self): @@ -476,15 +477,15 @@ 'RAW': 1, # Raw reading attribute for Air Trap Level Sensor 'NUM_OF_AIR_TRAP_LEVEL_SENSOR_ATTRIBUTES': 2, # Number of Air Trap Level Sensor attributes } - return DialinEnum('TDAirTrapLevelSensorAttributes', members) + return unique(DialinEnum('TDAirTrapLevelSensorAttributes', members)) def _create_td_air_trap_state(self): members = { 'STATE_CLOSED': 0, # Closed state for Air Trap 'STATE_OPEN': 1, # Open state for Air Trap } - return DialinEnum('TDAirTrapState', members) + return unique(DialinEnum('TDAirTrapState', members)) def _create_td_blood_flow_motor_attributes(self): @@ -500,7 +501,7 @@ 'ROTOR_HALL_STATE': 8, # Rotor Hall State for Blood Flow Motor 'NUM_OF_BLOOD_FLOW_MOTOR_ATTRIBUTES': 9, # Number of Blood Flow Motor Attributes } - return DialinEnum('TDBloodFlowMotorAttributes', members) + return unique(DialinEnum('TDBloodFlowMotorAttributes', members)) def _create_td_air_bubble_detector_attributes(self): @@ -509,7 +510,7 @@ 'STATE': 1, # State of the Air Bubble Detector 'NUM_OF_AIR_BUBBLE_DETECTOR_ATTRIBUTES': 2, # Number of Air Bubble Detector Attributes } - return DialinEnum('TDAirBubbleDetectorAttributes', members) + return unique(DialinEnum('TDAirBubbleDetectorAttributes', members)) def _create_td_ejector_attributes(self): @@ -520,7 +521,7 @@ 'OPT_SNSR_ENGAGE': 3, # Ejector optical sensor engage 'NUM_OF_EJECTOR_ATTRIBUTES': 4, # Number of Ejector Attributes } - return DialinEnum('TDEjectorAttributes', members) + return unique(DialinEnum('TDEjectorAttributes', members)) def _create_td_pressure_sensor_attributes(self): @@ -531,15 +532,15 @@ 'PRES_LIMIT_MAX': 3, # Pressure Maximum Limit attribute of pressure sensor 'NUM_OF_PRESSURE_ATTRIBUTES': 4, # Number of Pressure Sensor Attributes } - return DialinEnum('TDPressureSensorAttributes', members) + return unique(DialinEnum('TDPressureSensorAttributes', members)) def _create_td_switch_status(self): members = { 'CLOSED': 0, # Closed State of the TD Switch 'OPEN': 1, # Open State of the TD Switch } - return DialinEnum('TDSwitchStatus', members) + return unique(DialinEnum('TDSwitchStatus', members)) def _create_td_valve_positions(self): @@ -550,7 +551,7 @@ 'VALVE_POSITION_C_CLOSE': 3, # Closed Valve Position 'VALVE_POSITION_C_PARTIAL_CLOSE': 4, # Partial Close Valve Position } - return DialinEnum('TDValvePositions', members) + return unique(DialinEnum('TDValvePositions', members)) def _create_td_valve_states(self): @@ -565,7 +566,7 @@ 'VALVE_STATE_IDLE': 7, # Idle Valve State. 'VALVE_STATE_IN_TRANSITION': 8, # Valve state in transition. } - return DialinEnum('TDValveStates', members) + return unique(DialinEnum('TDValveStates', members)) # ================================================== Creates a singleton ==================================================