Index: leahi_dialin/common/dd_defs.py =================================================================== diff -u -r62640bb1dfcb4279d31719ca933c3ce69bfb46be -ra7faef2bbda805946bbb55873e2b0b3146083555 --- leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision 62640bb1dfcb4279d31719ca933c3ce69bfb46be) +++ leahi_dialin/common/dd_defs.py (.../dd_defs.py) (revision a7faef2bbda805946bbb55873e2b0b3146083555) @@ -8,18 +8,18 @@ # @file dd_defs.py # # @author (last) Zoltan Miskolci -# @date (last) 28-Jan-2026 +# @date (last) 25-Feb-2026 # @author (original) Peter Lucia # @date (original) 22-Jun-2021 # ############################################################################ from enum import unique -from ..utils.base import DialinEnum +from ..utils.enums import DialinEnum -# ================================================== Enum Creators: Operations ================================================== +# ================================================== Enum Creators: Operations Lvl 1 ================================================== @unique class DDOpModes(DialinEnum): MODE_FAUL = 0 # Fault mode @@ -52,6 +52,8 @@ } +# ================================================== Enum Creators: Operations Lvl 2 ================================================== +# DDOpModes.MODE_FAUL sub states @unique class DDFaultStates(DialinEnum): DD_FAULT_STATE_START = 0 # DD Fault Start State @@ -68,23 +70,8 @@ } +# DDOpModes.MODE_SERV sub states @unique -class DDFaultNVDataStates(DialinEnum): - DD_FAULT_STATE_START = 0 # DD fault start state - DD_FAULT_STATE_RUN_NV_POSTS = 1 # DD fault run RTC and NV data management post - DD_FAULT_STATE_COMPLETE = 2 # DD fault complete - NUM_OF_DD_FAULT_NVDATA_STATES = 3 # Number of fault mode NV Data management states - -DDFaultNVDataStates._str_list = { - # Official Name : Accepted strings - 'DD_FAULT_STATE_START': ['start'], - 'DD_FAULT_STATE_RUN_NV_POSTS': ['running'], - 'DD_FAULT_STATE_COMPLETE': ['complete', 'done'], - 'NUM_OF_DD_FAULT_NVDATA_STATES': [], -} - - -@unique class DDServiceStates(DialinEnum): DD_SERVICE_STATE_START = 0 # Start service mode state NUM_OF_DD_SERVICE_STATES = 1 # Number of service mode states @@ -96,6 +83,7 @@ } +# DDOpModes.MODE_INIT sub states @unique class DDInitStates(DialinEnum): DD_POST_STATE_START = 0 # Post Generate Dialysate Start State @@ -134,6 +122,7 @@ } +# DDOpModes.MODE_STAN sub states @unique class DDStandbyStates(DialinEnum): DD_STANDBY_MODE_STATE_IDLE = 0 # Idle standby mode state @@ -148,12 +137,14 @@ } +# DDOpModes.MODE_PREG sub states @unique class DDPreGenDialysateStates(DialinEnum): DD_PRE_GEN_DIALYSATE_HYD_CHAMBER_FILL_CHECK = 0 # DD Pre-Gen Dialysate hyrochamber fill check DD_PRE_GEN_WET_SELF_TEST = 1 # DD Pre-Gen Wet Self Test - DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND = 2 # DD Pre-Gen Dialysate Wait for Gen Dialysate state transition - NUM_OF_DD_PRE_GEN_DIALYSATE_STATES = 3 # Number of Pre-Gen Dialysate mode states + DD_PRE_GEN_DRY_BICART_INITIAL_FILL = 2 # DD Pre-Gen DryBicart Initial Fill + DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND = 3 # DD Pre-Gen Dialysate Wait for Gen Dialysate state transition + NUM_OF_DD_PRE_GEN_DIALYSATE_STATES = 4 # Number of Pre-Gen Dialysate mode states DDPreGenDialysateStates._str_list = { # Official Name : Accepted strings @@ -164,6 +155,7 @@ } +# DDOpModes.MODE_GEND sub states @unique class DDGenDialysateModeStates(DialinEnum): DD_GEND_STATE_START = 0 # Gen dialysate start state @@ -188,6 +180,7 @@ } +# DDOpModes.MODE_POSG sub states @unique class DDPostGenDialysateStates(DialinEnum): DD_POST_GEN_DIALYSATE_STATE_START = 0 # DD Post-Gen Dialysate state start @@ -202,6 +195,7 @@ } +# DDOpModes.MODE_HEAT sub states @unique class DDHeatDisinfectStates(DialinEnum): DD_HEAT_DISINFECT_STATE_START = 0 # Heat disinfect, start mode state @@ -216,6 +210,7 @@ } +# DDOpModes.MODE_HCOL sub states @unique class DDHeaterCoolingStates(DialinEnum): NUM_OF_DD_HEAT_COOL_STATES = 0 # Number of Heater Cooling states @@ -226,6 +221,7 @@ } +# DDOpModes.MODE_ROPS sub states @unique class DDROPermeateStates(DialinEnum): NUM_OF_RO_PERMEATE_STATES = 0 # Number of RO Permeate states @@ -236,6 +232,7 @@ } +# DDOpModes.MODE_NLEG sub states @unique class DDNotLegalStates(DialinEnum): NUM_OF_NOT_LEGAL_STATES = 0 # Number of Not Legal states @@ -246,7 +243,76 @@ } +# ================================================== Enum Creators: Operations Lvl 3 ================================================== +# DDFaultStates. sub states +@unique +class DDFaultNVDataStates(DialinEnum): + DD_NVDATA_STATE_START = 0 # DD Non-Volatile Data Management start state + DD_NVDATA_STATE_RUN_NV_POSTS = 1 # DD Non-Volatile Data Management run RTC and NV data management posts + DD_NVDATA_STATE_COMPLETE = 2 # DD Non-Volatile Data Management Complete + NUM_OF_DD_NVDATA_STATES = 3 # Number of fault mode NV Data management states +DDFaultNVDataStates._str_list = { + # Official Name : Accepted strings + 'DD_NVDATA_STATE_START': ['start'], + 'DD_NVDATA_STATE_RUN_NV_POSTS': ['running', 'run nv posts'], + 'DD_NVDATA_STATE_COMPLETE': ['complete', 'done'], + 'NUM_OF_DD_INIT_NVDATA_STATES': [], +} + + +# DDStandbyStates. sub states +@unique +class DDStanDisinfectStates(DialinEnum): + DD_DISINFECT_FLUSH_STATE = 0 # DD disinfect flush + DD_DISINFECT_HEAT_STATE = 1 # DD disinfect heat + DD_DISINFECT_RO_PERMEATE_SAMPLE_STATE = 2 # DD disinfect RO permeate sample + DD_DISINFECT_NOT_RUNNING_STATE = 3 # DD disinfect not running + NUM_OF_DD_DISINFECT_STATES = 4 # Number of DD disinfect states + +DDStanDisinfectStates._str_list = { + # Official Name : Accepted strings + 'DD_DISINFECT_FLUSH_STATE': ['flush'], + 'DD_DISINFECT_HEAT_STATE': ['heat', 'heating'], + 'DD_DISINFECT_RO_PERMEATE_SAMPLE_STATE': ['ro sample', 'ro permeate sample'], + 'DD_DISINFECT_NOT_RUNNING_STATE': ['not running', 'on hold'], + 'NUM_OF_DD_DISINFECT_STATES': [], +} + + +# DDPreGenDialysateStates.DD_PRE_GEN_WET_SELF_TEST sub states +@unique +class DDPreGenWetSelfTestStates(DialinEnum): + DD_WET_SELF_TEST_START = 0 # DD Wet Slef test Start + DD_WET_SELF_TEST_NEGATIVE_DEAERATION_PRES_CHECK = 1 # DD Wet Self Test Negative Deaeration Pressure check + DD_WET_SELF_TEST_POSITIVE_DEAERATION_PRES_CHECK = 2 # DD Wet Self Test Postive Deaeration Pressure check + DD_WET_SELF_TEST_SPENT_DIAL_PRES_CHECK = 3 # DD Wet Self Test Spent Dialysate Pressure check + DD_WET_SELF_TEST_BAL_CHAMBER_VALV_LEAK_CHECK = 4 # DD Wet Self Test Balancing Chamber Valve Leak check + DD_WET_SELF_TEST_DIAL_FLOW_PATH_LEAK_CHECK = 5 # DD Wet Self Test Dialysate flow path leak check + DD_WET_SELF_TEST_UF_PRES_DROP_CHECK = 6 # DD Wet Self Test Ultrafilter pressure drop check + DD_WET_SELF_TEST_BLOOD_LEAK_CHECK = 7 # DD Wet Self Test Ultrafilter pressure drop check + DD_WET_SELF_TEST_BAL_CHAMBER_MEMBRANE_INTEGRITY_CHECK = 8 # DD Wet Self Test Balancing Chamber Membrane Integrity check + DD_WET_SELF_TEST_LEVEL_SENSOR_CHECK = 9 # DD Wet Self Test Level Sensor check + DD_WET_SELF_TEST_PAUSE = 10 # DD Wet Self Test Pause state + NUM_OF_DD_PRE_GEN_WET_SELF_TEST_STATES = 11 # Number of Wet Self Test states + +DDPreGenWetSelfTestStates._str_list = { + # Official Name : Accepted strings + 'DD_WET_SELF_TEST_START': [ 'start', 'test start' ], + 'DD_WET_SELF_TEST_NEGATIVE_DEAERATION_PRES_CHECK': [ 'negative check' ], + 'DD_WET_SELF_TEST_POSITIVE_DEAERATION_PRES_CHECK': [ 'positive check' ], + 'DD_WET_SELF_TEST_SPENT_DIAL_PRES_CHECK': [ 'spent check' ], + 'DD_WET_SELF_TEST_BAL_CHAMBER_VALV_LEAK_CHECK': [ 'bc valve leak check' ], + 'DD_WET_SELF_TEST_DIAL_FLOW_PATH_LEAK_CHECK': [ 'flow path leak check' ], + 'DD_WET_SELF_TEST_UF_PRES_DROP_CHECK': [ 'uf check', 'ultrafiltration check' ], + 'DD_WET_SELF_TEST_BLOOD_LEAK_CHECK': [ 'blood leak check' ], + 'DD_WET_SELF_TEST_BAL_CHAMBER_MEMBRANE_INTEGRITY_CHECK': [ 'bc membrane integrity check' ], + 'DD_WET_SELF_TEST_LEVEL_SENSOR_CHECK': [ 'level sensor check' ], + 'DD_WET_SELF_TEST_PAUSE': [ 'pause', 'test pause' ], + 'NUM_OF_DD_PRE_GEN_WET_SELF_TEST_STATES': [ ] +} + + # ================================================== Enum Creators: Events ================================================== @unique class DDEventList(DialinEnum): @@ -255,16 +321,22 @@ DD_EVENT_SUB_MODE_CHANGE = 2 # DD Op sub-mode change event DD_EVENT_OPERATION_STATUS = 3 # DD operation status event DD_EVENT_D6_LEVL_CHANGE = 4 # DD floater level change event - DD_EVENT_D63_LEVL_CHANGE = 5 # DD bicarb level change event - DD_EVENT_D46_LEVL_CHANGE = 6 # DD spent dialysate air seperation level change event - DD_EVENT_TD_COMMUNICATION_LOSS = 7 # DD TD communication loss - DD_EVENT_TEMPERATURE_DRIFT = 8 # DD dialysate temperature drift - DD_EVENT_BLOOD_LEAK_ZEROING_REQUEST = 9 # DD blood leak zeroing request - DD_EVENT_BLOOD_LEAK_ZEROING_REQUIRED = 10 # DD blood leak zeroing required - DD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES = 11 # DD blood leak number of setpoint check failures - 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 - + DD_EVENT_D63_LEVL_CHANGE = 5 # DD bicarb upper level change event + DD_EVENT_D98_LEVL_CHANGE = 6 # DD bicarb lower level change event + DD_EVENT_D46_LEVL_CHANGE = 7 # DD spent dialysate air seperation level change event + DD_EVENT_TD_COMMUNICATION_LOSS = 8 # DD TD communication loss + DD_EVENT_TEMPERATURE_DRIFT = 9 # DD dialysate temperature drift + DD_EVENT_BLOOD_LEAK_ZEROING_REQUEST = 10 # DD blood leak zeroing request + DD_EVENT_BLOOD_LEAK_ZEROING_REQUIRED = 11 # DD blood leak zeroing required + DD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES = 12 # DD blood leak number of setpoint check failures + DD_EVENT_CPU_RAM_ERROR_STATUS = 13 # DD CPU RAM error + DD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT = 14 # DD blood leak self test result + DD_EVENT_BC_SWITCH_ONLY_MODE_CHANGE = 15 # DD Balancing Chamber Switching Only status event + DD_EVENT_BC_FILL_STATE_CHANGE = 16 # Balancing chamber state switch event + DD_EVENT_HEATER_STATE_CHANGE = 17 # DD heater state change event + DD_EVENT_DRY_BICART_STATE_CHANGE = 18 # DD Dry Bicart State change event + NUM_OF_DD_EVENT_IDS = 19 # Total number of DD events + DDEventList._str_list = { # Official Name : Accepted strings 'DD_EVENT_STARTUP': ['startup'], @@ -280,31 +352,16 @@ 'DD_EVENT_BLOOD_LEAK_ZEROING_REQUIRED': ['blood leak zeroing required'], 'DD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES': ['blood leak check failed'], 'DD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT': ['blood leak self test'], + 'DD_EVENT_CPU_RAM_ERROR_STATUS': ['cpu ram error status', 'cpu error status', 'ram error status', 'memory error status'], + 'DD_EVENT_BC_SWITCH_ONLY_MODE_CHANGE': ['bc switch only change'], + 'DD_EVENT_BC_FILL_STATE_CHANGE': ['bc state change'], + 'DD_EVENT_HEATER_STATE_CHANGE': ['heater state change'], + 'DD_EVENT_DRY_BICART_STATE_CHANGE': ['dry bicart state change'], 'NUM_OF_DD_EVENT_IDS': [], } -@unique -class DDEventDataTypes(DialinEnum): - 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 -DDEventDataTypes._str_list = { - # Official Name : Accepted strings - 'EVENT_DATA_TYPE_NONE': ['none'], - 'EVENT_DATA_TYPE_U32': ['u32'], - 'EVENT_DATA_TYPE_S32': ['s32'], - 'EVENT_DATA_TYPE_F32': ['f32'], - 'EVENT_DATA_TYPE_BOOL': ['bool', 'boolean'], - 'NUM_OF_EVENT_DATA_TYPES': [], -} - - - # ================================================== Enum Creators: Names ================================================== @unique class DDConcentratePumpNames(DialinEnum): @@ -329,8 +386,7 @@ D29_COND = 2 # Water, Bicarbonate, and Acid Collective Conductivity Sensor D43_COND = 3 # Self Test Conductivity Sensor (not used for dialysate conductivity) D74_COND = 4 # Water and Bicarbonate Collective Conductivity Sensor - D98_COND = 5 # D98 Conductivity Sensor - NUM_OF_CONDUCTIVITY_SENSORS = 6 # Number of Conductivity Sensors + NUM_OF_CONDUCTIVITY_SENSORS = 5 # Number of Conductivity Sensors DDConductivitySensorNames._str_list = { # Official Name : Accepted strings @@ -339,7 +395,6 @@ 'D29_COND': ['d29'], 'D43_COND': ['d43'], 'D74_COND': ['d74'], - 'D98_COND': ['d98'], 'NUM_OF_CONDUCTIVITY_SENSORS': [] } @@ -374,18 +429,18 @@ @unique class DDLevelSensorNames(DialinEnum): - D6_LEVEL = 0 # floater switch low, medium and high status - D63_LEVEL = 1 # bicarb level low or high status - D46_LEVEL = 2 # Spent dialysate air separation chamber level low or high status - D98_LEVEL = 3 # D98 Conductivity Level Sensor + D46_LEVEL = 0 # Spent dialysate air separation chamber level low or high status + D63_LEVEL = 1 # bicarb lower conductivity level sensor low or high status + D98_LEVEL = 2 # bicarb upper conductivity level sensor low or high status + D6_LEVEL = 3 # floater switch low, medium and high status NUM_OF_LEVELS = 4 # Number of Level Sensors DDLevelSensorNames._str_list = { # Official Name : Accepted strings - 'D6_LEVEL': ['d6'], - 'D63_LEVEL': ['d63'], 'D46_LEVEL': ['d46'], + 'D63_LEVEL': ['d63'], 'D98_LEVEL': ['d98'], + 'D6_LEVEL': ['d6'], 'NUM_OF_LEVELS': [], } @@ -405,7 +460,18 @@ 'NUM_OF_PISTON_PUMPS': [], } +@unique +class DDSubstitutionPumpNames(DialinEnum): + D92_PUMP = 0 # HDF Substitution pump + NUM_OF_SUB_PUMPS = 1 # Number of substituion pumps +DDSubstitutionPumpNames._str_list = { + # Official Name : Accepted strings + 'D92_PUMP': ['d92', 'sub pump'], + 'NUM_OF_SUB_PUMPS': [], +} + + @unique class DDPressureSensorNames(DialinEnum): D9_PRES = 0 # Hydraulics outlet pressure (PHo/Pn) @@ -445,21 +511,23 @@ D99_AVG_TEMP = 13 # D99 Filtered value D28_AVG_TEMP = 14 # D28 Filtered value D30_AVG_TEMP = 15 # D30 Filtered value - D9_TEMP = 16 # D9 Pressure sensor temperature value - D66_TEMP = 17 # D66 Pressure sensor temperature value - D51_TEMP = 18 # D51 Pressure sensor temperature value - D18_TEMP = 19 # D18 Pressure sensor temperature value - D41_TEMP = 20 # D41 Pressure sensor temperature value - D87_TEMP = 21 # D87 Pressure sensor temperature value - NUM_OF_TEMP_SENSORS = 22 # Number of Temperature Sensors + D78_AVG_TEMP = 16 # D78 Filtered value + D1_AVG_TEMP = 17 # D1 Filtered value + D9_TEMP = 18 # D9 Pressure sensor temperature value + D66_TEMP = 19 # D66 Pressure sensor temperature value + D51_TEMP = 20 # D51 Pressure sensor temperature value + D18_TEMP = 21 # D18 Pressure sensor temperature value + D41_TEMP = 22 # D41 Pressure sensor temperature value + D87_TEMP = 23 # D87 Pressure sensor temperature value + NUM_OF_TEMP_SENSORS = 24 # Number of Temperature Sensors # Aliases FIRST_PRESSURE_SENSOR = D9_TEMP LAST_PRESSURE_SENSOR = D87_TEMP FIRST_CONDUCTIVITY_SENSOR = D16_TEMP LAST_CONDUCTIVITY_SENSOR = D75_TEMP FIRST_AVERAGE_SENSOR = D4_AVG_TEMP - LAST_AVERAGE_SENSOR = D30_AVG_TEMP + LAST_AVERAGE_SENSOR = D78_AVG_TEMP DDTemperatureSensorNames._str_list = { # Official Name : Accepted strings @@ -515,11 +583,11 @@ D20_VALV = 21 # Balancing chamber Valve 6 (D20) D26_VALV = 22 # Balancing chamber Valve 7 (D26) D22_VALV = 23 # Balancing chamber Valve 8 (D22) - D79_PMP_VALV = 24 # D79 pump mapped to Spare Valve 0 + D88_D79_VALV = 24 # D88 Valve (2.0+) or D79 pump valve (1.0-1.9) mapped to Spare Valve 0 D83_VALV = 25 # D83 De-scaler Valve mapped to Spare Valve 1 D91_VALV = 26 # D91 De-scaler Valve mapped to Spare Valve 2 - SPARE3_VALV = 27 # Spare Valve 3 - SPARE4_VALV = 28 # Spare Valve 4 + D104_VALV = 27 # D104 Valve mapped to Spare Valve 3 + D95_VALV = 28 # D95 Valve mapped to Spare Valve 4 SPARE5_VALV = 29 # Spare Valve 5 D100_VALV = 30 # D100 De-scaler Valve mapped to Spare Valve 6 SPARE7_VALV = 31 # Spare Valve 7 @@ -551,11 +619,11 @@ 'D20_VALV': ['d20'], 'D26_VALV': ['d26'], 'D22_VALV': ['d22'], - 'D79_PMP_VALV': ['d79'], + 'D88_D79_VALV': ['d79', 'd79_valv', 'd79_pmp_valv', 'd88', 'd88_valv'], 'D83_VALV': ['d83'], 'D91_VALV': ['d91'], - 'SPARE3_VALV': ['spare3'], - 'SPARE4_VALV': ['spare4'], + 'D104_VALV': ['d104'], + 'D95_VALV': ['d95'], 'SPARE5_VALV': ['spare5'], 'D100_VALV': ['d100'], 'SPARE7_VALV': ['spare7'], @@ -573,7 +641,11 @@ MONITORED_LINE_FPGA_VCC_V = 5 # FPGA Vcc (3V) MONITORED_LINE_FPGA_AUX_V = 6 # FPGA Vaux (3V) MONITORED_LINE_FPGA_PVN_V = 7 # FPGA Vpvn (1V) - NUM_OF_MONITORED_VOLTAGE_LINES = 8 # Number of TD operation modes + FPGA_AC_DC_POWER_SUPPY_VOLTAGE = 8 # FPGA power supply voltage, not-monitored + FPGA_AC_DC_POWER_SUPPY_CURRENT = 9 # FPGA power supply current, not-monitored + FPGA_AC_HEATER_VOLTAGE = 10 # FPGA heater voltage, not-monitored + FPGA_AC_HEATER_CURRENT = 11 # FPGA heater current, not-monitored + NUM_OF_MONITORED_VOLTAGE_LINES = 12 # Number of TD operation modes DDMonitoredVoltages._str_list = { # Official Name : Accepted strings @@ -585,6 +657,10 @@ 'MONITORED_LINE_FPGA_VCC_V': ['fpga vcc'], 'MONITORED_LINE_FPGA_AUX_V': ['fpga aux'], 'MONITORED_LINE_FPGA_PVN_V': ['fpga pvn'], + 'FPGA_AC_DC_POWER_SUPPY_VOLTAGE': ['power supply voltage'], + 'FPGA_AC_DC_POWER_SUPPY_CURRENT': ['power supply current'], + 'FPGA_AC_HEATER_VOLTAGE':['ac heater voltage'], + 'FPGA_AC_HEATER_CURRENT':['ac heater current'], 'NUM_OF_MONITORED_VOLTAGE_LINES': [], } @@ -630,6 +706,32 @@ @unique +class DDBicartChFFillExecStates(DialinEnum): + BICARB_CHAMBER_START_STATE = 0 # Initial state of Chamber F fill + BICARB_CARTRIDGE_FILL_WATER_START_STATE = 1 # Dry bicart fill water start state while dialysate delivery + BICARB_CARTRIDGE_FILL_WATER_END_STATE = 2 # Dry bicart fill water end state while dialysate delivery + BICARB_CHAMBER_CHECK_LEVEL_STATE = 3 # Bicarb Chamber check level state + BICARB_CHAMBER_FILL_STATE = 4 # Bicarb Chamber fill start state + BICARB_CHAMBER_PRESSURE_CHECK_STATE = 5 # Bicarb Chamber pressure check start state + BICARB_SUPPLY_VENT_START_STATE = 6 # Bicarb Chamber supply vent cartridge and Chamber F start state + BICARB_SUPPLY_VENT_END_STATE = 7 # Bicarb Chamber supply vent cartridge and Chamber F end state + NUM_OF_BICARB_CHAMBER_FILL_EXEC_STATES = 8 # Number of Bicarb chamber fill state + +DDBicartChFFillExecStates._str_list = { + # Official Name : Accepted strings + 'BICARB_CHAMBER_START_STATE': ['start'], + 'BICARB_CARTRIDGE_FILL_WATER_START_STATE': ['cartridge fill start', 'cartridge priming start'], + 'BICARB_CARTRIDGE_FILL_WATER_END_STATE': ['cartridge fill end', 'cartridge priming end'], + 'BICARB_CHAMBER_CHECK_LEVEL_STATE': ['chamber level check'], + 'BICARB_CHAMBER_FILL_STATE': ['champer fill'], + 'BICARB_CHAMBER_PRESSURE_CHECK_STATE': ['chamber pressure check'], + 'BICARB_SUPPLY_VENT_START_STATE': ['vent start', 'supply vent start'], + 'BICARB_SUPPLY_VENT_END_STATE': ['vent end', 'supply vent end'], + 'NUM_OF_BICARB_CHAMBER_FILL_EXEC_STATES': [], +} + + +@unique class DDBloodLeakStates(DialinEnum): BLOOD_LEAK_WAIT_FOR_POST_STATE = 0 # BLOOD_LEAK_CHECK_SET_POINT_STATE = 1 # @@ -744,6 +846,48 @@ @unique +class DDDryBicartDrainExecStates(DialinEnum): + DRY_BICART_DRAIN_START_STATE = 0 # Initial state of dry bicart drain + DRY_BICART_FLUID_DRAIN_STATE = 1 # Dry bicart fluid drain state + DRY_BICART_FLUID_DRAIN_DURATION_CHECK_STATE = 2 # Dry bicart drain duration check state + DRY_BICART_FLUID_DRAIN_END_STATE = 3 # Dry bicart drain end state + NUM_OF_DRY_BICART_DRAIN_EXEC_STATES = 4 # Number of dry bicart drain states + +DDDryBicartDrainExecStates._str_list = { + # Official Name : Accepted strings + 'DRY_BICART_DRAIN_START_STATE': ['start', 'drain start'], + 'DRY_BICART_FLUID_DRAIN_STATE': ['draining', 'drain in progress'], + 'DRY_BICART_FLUID_DRAIN_DURATION_CHECK_STATE': ['drain duration check'], + 'DRY_BICART_FLUID_DRAIN_END_STATE': ['end', 'drain end'], + 'NUM_OF_DRY_BICART_DRAIN_EXEC_STATES': [], +} + + +@unique +class DDDryBicartFillExecStates(DialinEnum): + DRY_BICART_START_STATE = 0 # Initial state of dry bicart fill + DRY_BICART_FILL_WATER_START_STATE = 1 # Dry bicart fill start state + DRY_BICART_FILL_WATER_END_STATE = 2 # Dry bicart fill end state + DRY_BICART_DEGAS_START_STATE = 3 # Dry bicart vent start state + DRY_BICART_DEGAS_END_STATE = 4 # Dry bicart vent end state + DRY_BICART_FILL_DURATION_CHECK_STATE = 5 # Dry bicart fill duration check state + DRY_BICART_FILL_COMPLETE_STATE = 6 # Dry bicart fill complete state + NUM_OF_DRY_BICART_FILL_EXEC_STATES = 7 # Number of dry bicart fill states + +DDDryBicartFillExecStates._str_list = { + # Official Name : Accepted strings + 'DRY_BICART_START_STATE': ['start'], + 'DRY_BICART_FILL_WATER_START_STATE': ['fill water start'], + 'DRY_BICART_FILL_WATER_END_STATE': ['fill water end'], + 'DRY_BICART_DEGAS_START_STATE': ['degas start', 'degasing start'], + 'DRY_BICART_DEGAS_END_STATE': ['degas end', 'degasing end'], + 'DRY_BICART_FILL_DURATION_CHECK_STATE': ['fill duration check', 'duration check'], + 'DRY_BICART_FILL_COMPLETE_STATE': ['fill complete', 'complete', 'done'], + 'NUM_OF_DRY_BICART_FILL_EXEC_STATES': [], +} + + +@unique class DDHeaterStartStop(DialinEnum): STOP = 0 # Stop heater START = 1 # Start heater @@ -762,7 +906,7 @@ HEAT_DUTY_CYCLE = 0 # Heat Duty Cycle Attribute for Heaters HEAT_TARGET_TEMP = 1 # Target Temperature Attribute for Heaters HEAT_STATE = 2 # State to command Attribute for Heaters - DUTY_CYCLE_COUNT = 3 # Duty Cycle Count Attribute for Heaters + FEED_FORWARD = 3 # Feed Forward Attribute for Heaters PWM_PERIOD = 4 # Pulse Width Modulation Attribute for Heaters ADJUSTED_TARGET_TEMP = 5 # Adjusted Target Temperature Attribute for Heaters TARGET_TEMP_TD = 6 # Target Temperature Attribute for Heaters @@ -773,7 +917,7 @@ 'HEAT_DUTY_CYCLE': ['duty cycle'], 'HEAT_TARGET_TEMP': ['target temperature', 'target temp'], 'HEAT_STATE': ['state', 'heat state'], - 'DUTY_CYCLE_COUNT': ['duty cycle count'], + 'FEED_FORWARD': [], 'PWM_PERIOD': ['pwm', 'pwm period'], 'ADJUSTED_TARGET_TEMP': ['adjusted target temperature', 'adj target temp'], 'TARGET_TEMP_TD': ['target temperature td', 'target temp td'], @@ -816,6 +960,30 @@ @unique +class DDSpentChFillExecState(DialinEnum): + SPENT_CHAMBER_FILL_STATE_START = 0 # Initial state of spent chamber fill + SPENT_CHAMBER_FILL_STATE1_FILL_START = 1 # Spent chamber fill state 1 fill start state + SPENT_CHAMBER_FILL_STATE1_DOSING_CNTRL = 2 # Spent chamber fill state 1 dosing control + SPENT_CHAMBER_FILL_STATE1_FILL_END = 3 # Spent chamber fill state 1 fill end state + SPENT_CHAMBER_FILL_STATE2_FILL_START = 4 # Spent chamber fill state 2 fill start state + SPENT_CHAMBER_FILL_STATE2_DOSING_CNTRL = 5 # Spent chamber fill state 2 dosing control + SPENT_CHAMBER_FILL_STATE2_FILL_END = 6 # Spent chamber fill state 2 fill end state + NUM_OF_SPENT_CHAMBER_FILL_EXEC_STATES = 7 # Number of spent chamber fill states + +DDPistonPumpAttributes._str_list = { + # Official Name : Accepted strings + 'SPENT_CHAMBER_FILL_STATE_START': ['start'], + 'SPENT_CHAMBER_FILL_STATE1_FILL_START': ['state 1 start'], + 'SPENT_CHAMBER_FILL_STATE1_DOSING_CNTRL': ['state 1 dosing'], + 'SPENT_CHAMBER_FILL_STATE1_FILL_END': ['state 1 end'], + 'SPENT_CHAMBER_FILL_STATE2_FILL_START': ['state 2 start'], + 'SPENT_CHAMBER_FILL_STATE2_DOSING_CNTRL': ['state 2 dosing'], + 'SPENT_CHAMBER_FILL_STATE2_FILL_END': ['state 2 end'], + 'NUM_OF_SPENT_CHAMBER_FILL_EXEC_STATES': [], +} + + +@unique class DDValveStates(DialinEnum): VALVE_STATE_CLOSED = 0 # Valve Closed State VALVE_STATE_OPEN = 1 # Valve Open State @@ -829,49 +997,57 @@ } +@unique +class DDCancelModes(DialinEnum): + CANCELLATION_MODE_NONE = 0 # Cancellation mode none. + CANCELLATION_MODE_BASIC = 1 # Cancellation mode basic. + CANCELLATION_MODE_HOT = 2 # Cancellation mode hot. + CANCELLATION_MODE_COLD = 3 # Cancellation mode cold. + CANCELLATION_MODE_WATER = 4 # Cancellation mode water. + NUM_OF_CANCELLATION_MODES = 5 # Number of cancellation modes. -# ================================================== Creates a singleton ================================================== -class DD_Defs(): +DDValveStates._str_list = { + # Official Name : Accepted strings + 'CANCELLATION_MODE_NONE': ['none'], + 'CANCELLATION_MODE_BASIC': ['basic'], + 'CANCELLATION_MODE_HOT': ['hot'], + 'CANCELLATION_MODE_COLD': ['cold'], + 'CANCELLATION_MODE_WATER': ['water'], + 'NUM_OF_CANCELLATION_MODES': [], +} - DDOpModes = DDOpModes - DDFaultStates = DDFaultStates - DDFaultNVDataStates = DDFaultNVDataStates - DDServiceStates = DDServiceStates - DDInitStates = DDInitStates - DDStandbyStates = DDStandbyStates - DDPreGenDialysateStates = DDPreGenDialysateStates - DDGenDialysateModeStates = DDGenDialysateModeStates - DDPostGenDialysateStates = DDPostGenDialysateStates - DDHeatDisinfectStates = DDHeatDisinfectStates - DDHeaterCoolingStates = DDHeaterCoolingStates - DDROPermeateStates = DDROPermeateStates - DDNotLegalStates = DDNotLegalStates - DDEventList = DDEventList - DDEventDataTypes = DDEventDataTypes +@unique +class DDSubstitutionPumpAttributes(DialinEnum): + TARGET_SPEED = 0 # Target RPM Substitution Pump Attribute + CURRENT_SPEED = 1 # Current Speed Substitution Pump Attribute + STATE = 2 # State to command Substitution Pump Attribute + MEASURED_SPEED = 3 # Measured Speed Substitution Pump Attribute + NUM_OF_DIALYSATE_PUMP_ATTRIBUTES = 4 # Number of Substitution Pump Attributes - DDConcentratePumpNames = DDConcentratePumpNames - DDConductivitySensorNames = DDConductivitySensorNames - DDDialysatePumpNames = DDDialysatePumpNames - DDHeaterNames = DDHeaterNames - DDLevelSensorNames = DDLevelSensorNames - DDPistonPumpNames = DDPistonPumpNames - DDPressureSensorNames = DDPressureSensorNames - DDTemperatureSensorNames = DDTemperatureSensorNames - DDValveNames = DDValveNames - DDMonitoredVoltages = DDMonitoredVoltages +DDSubstitutionPumpAttributes._str_list = { + # Official Name : Accepted strings + 'TARGET_SPEED': ['target rp,'], + 'CURRENT_SPEED': ['current speed'], + 'STATE': ['state'], + 'MEASURED_SPEED': ['measured speed'], + 'NUM_OF_DIALYSATE_PUMP_ATTRIBUTES': [], +} - DDBalancingChamberStates = DDBalancingChamberStates - DDBalancingChamberSwitchStates = DDBalancingChamberSwitchStates - DDBloodLeakStates = DDBloodLeakStates - DDConcentratePumpAttributes = DDConcentratePumpAttributes - DDConcentratePumpStates = DDConcentratePumpStates - DDDialysatePumpAttributes = DDDialysatePumpAttributes - DDDialysatePumpsStates =DDDialysatePumpsStates - DDHeaterStartStop = DDHeaterStartStop - DDHeaterAttributes = DDHeaterAttributes - DDHeaterExecState = DDHeaterExecState - DDPistonPumpAttributes = DDPistonPumpAttributes - DDValveStates = DDValveStates -dd_enum_repository = DD_Defs() +@unique +class DDConductivityResistanceAttributes(DialinEnum): + CONDUCTIVITY = 0 # Conductivity + CONDUCTIVITY_RESISTANCE = 1 # raw conductivity resistance Attribute + RTD_RESISTANCE = 2 # raw RTD resistance Attribute + UNCOMPENSATED_COND = 3 # Uncompensated Conductivity + NUM_OF_RESISTANCE_ATTRIBUTES = 4 # Number of conductivity sensor Attributes + +DDConductivityResistanceAttributes._str_list = { + # Official Name : Accepted strings + 'CONDUCTIVITY': ['conductivity,'], + 'CONDUCTIVITY_RESISTANCE': ['conductivity resistance'], + 'RTD_RESISTANCE' : ['rtd resistance'], + 'UNCOMPENSATED_COND' : ['uncompensated conductivity'], + 'NUM_OF_RESISTANCE_ATTRIBUTES': [], +} \ No newline at end of file