Index: dialin/ui/hd_simulator.py =================================================================== diff -u -rb30ee890f17656546ff5103f0c5d181cca51e45c -r261a2775ee96492502e969b458468b74f3406dad --- dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision b30ee890f17656546ff5103f0c5d181cca51e45c) +++ dialin/ui/hd_simulator.py (.../hd_simulator.py) (revision 261a2775ee96492502e969b458468b74f3406dad) @@ -51,6 +51,15 @@ self.data_int = [None] * self.MAX_NUM_PARAMETERS self.data_float = [None] * self.MAX_NUM_PARAMETERS +class PressureRanges: + PRESSURE_STEPS = 10 + + ARTERIAL_PRESSURE_LIMIT_MAX_MMHG = 100 + ARTERIAL_PRESSURE_LIMIT_MIN_MMHG = -300 + VENOUS_PRESSURE_LIMIT_MAX_MMHG = 400 + VENOUS_PRESSURE_LIMIT_MIN_MMHG = 20 + + class HDSimulator(AbstractSubSystem): __metaclass__ = ErrorCatcher ## TBD! DEBUG only: remove @@ -334,10 +343,8 @@ arterial_pressure_limit_window=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW.value], venous_pressure_limit_window=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW.value], venous_pressure_limit_asymmetric=self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC.value] ) - self.arterial_pressure_mid_mmHg = (self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] - + self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value]) / 2 - self.venous_pressure_mid_mmHg = (self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] - + self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value]) / 2 + self.arterial_pressure_mid_mmHg = ( PressureRanges.ARTERIAL_PRESSURE_LIMIT_MIN_MMHG + PressureRanges.ARTERIAL_PRESSURE_LIMIT_MAX_MMHG ) / 2 + self.venous_pressure_mid_mmHg = ( PressureRanges.VENOUS_PRESSURE_LIMIT_MIN_MMHG + PressureRanges.VENOUS_PRESSURE_LIMIT_MAX_MMHG ) / 2 self.arterial_pressure_mmHg = self.arterial_pressure_mid_mmHg - 32.0 # simulation self.venous_pressure_mmHg = self.venous_pressure_mid_mmHg + 32 # simulation # Rinseback @@ -890,12 +897,12 @@ venous_prs=self.venous_pressure_mmHg, blood_pump_occlusion=0, pressure_limit_state=0, - arterial_min_limt=0, #MG: Pressure limits need to be updated - arterial_max_limt=0, # What about window stabilization? - venous_min_limit=0, - venous_max_limit=0, - arterial_long_filtered_pressure=0, - venous_long_filtered_pressure=0 ) + arterial_min_limt=arterial_pressure_mid_mmHg - ( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW.value] / 2), + arterial_max_limt=arterial_pressure_mid_mmHg + ( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW.value] / 2), + venous_min_limit=venous_pressure_mid_mmHg -( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW.value] / 2), + venous_max_limit=venous_pressure_mid_mmHg + ( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW.value] / 2), + arterial_long_filtered_pressure=self.arterial_pressure_mmHg, + venous_long_filtered_pressure=self.venous_pressure_mmHg ) ## DIALYSIS GROUP ------------------------------------------------- @@ -976,12 +983,12 @@ venous_prs=self.venous_pressure_mmHg, blood_pump_occlusion=0, pressure_limit_state=0, - arterial_min_limt=0, #MG: Pressure limits need to be updated - arterial_max_limt=0, # What about window stabilization? - venous_min_limit=0, - venous_max_limit=0, - arterial_long_filtered_pressure=0, - venous_long_filtered_pressure=0 ) + arterial_min_limt=arterial_pressure_mid_mmHg - ( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW.value] / 2), + arterial_max_limt=arterial_pressure_mid_mmHg + ( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW.value] / 2), + venous_min_limit=venous_pressure_mid_mmHg -( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW.value] / 2), + venous_max_limit=venous_pressure_mid_mmHg + ( self.demo_treatment_params.data_int[TreatmentParameters.TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW.value] / 2), + arterial_long_filtered_pressure=self.arterial_pressure_mmHg, + venous_long_filtered_pressure=self.venous_pressure_mmHg ) # MSG_ID_RTC_EPOCH # tbd!