Index: tests/dg_tests.py =================================================================== diff -u -r7ea4b936cef531b2cde9053ae58b7119a3bf0e6c -r920d1a0826639951cd7f6cfa07b41dc175083043 --- tests/dg_tests.py (.../dg_tests.py) (revision 7ea4b936cef531b2cde9053ae58b7119a3bf0e6c) +++ tests/dg_tests.py (.../dg_tests.py) (revision 920d1a0826639951cd7f6cfa07b41dc175083043) @@ -113,7 +113,7 @@ def get_dg_reservoirs_info(): info = ('Time_rsrvr_cycle, {}, Time_rsrvr_fill_2_switch, {}, Time_uf_decay, {:5.3f}, Temp_uf_fill, {:5.3f}, ' 'Temp_rsrvr_use_actual, {:5.3f}, Temp_rsrvr_end_fill, {:5.3}, Temp_avg_fill, {:5.3f}, ' - 'Temp_last_fill, {:5.3f}, Time_rsrvr_fill, ' + 'Temp_last_fill, {:5.3f}, Time_rsrvr_fill, {:5.3f}, ' .format(dg.reservoirs.time_reservoir_cycle, dg.reservoirs.time_reservoir_fill_2_switch, dg.reservoirs.time_uf_decay, dg.reservoirs.temp_uf_fill, dg.reservoirs.temp_reservoir_use_actual, dg.reservoirs.temp_reservoir_end_fill, dg.reservoirs.temp_avg_fill, dg.reservoirs.temp_last_fill, @@ -171,14 +171,22 @@ def get_ro_info(): info = ('RO, {}, PPi, {:5.3f}, PPo, {:5.3f}, PWM, {:5.3f}, Flow, {:5.3f}, Tgt_flow, {:5.3f}, Dia_flow, {:5.3f}, ' - 'Feedback_PWM, {:5.3f}, flow_with_conc_pumps, {:5.3f}, ' + 'Feedback_PWM, {:5.3f}, Flow_with_conc_pumps, {:5.3f}, Dialysate_flow, {:5.3f}, ' .format(dg.ro_pump.ro_pump_state, dg.pressures.ro_pump_inlet_pressure, dg.pressures.ro_pump_outlet_pressure, dg.ro_pump.pwm_duty_cycle_pct, dg.ro_pump.measured_flow_rate_lpm, dg.ro_pump.target_flow_lpm, dg.dialysate_flow_sensor.flow_rate, - dg.ro_pump.feedback_duty_cycle_pct, dg.ro_pump.measured_raw_flow_rate_with_conc_pumps_mlp)) + dg.ro_pump.feedback_duty_cycle_pct, dg.ro_pump.measured_raw_flow_rate_with_conc_pumps_mlp, + dg.dialysate_flow_sensor.flow_rate)) return info +def get_new_ro_info(): + info = ('New_flow, {:5.3f}, Tgt_flow, {:5.3f}, New_flow_with_conc_pumps, {:5.3f}, New_dialysate_flow, {:5.3f}, ' + .format(dg.dialysate_flow_sensor.new_ro_flow, dg.dialysate_flow_sensor.new_dialysate_flow, + dg.dialysate_flow_sensor.new_ro_flow_with_conc, dg.dialysate_flow_sensor.new_dialysate_flow)) + return info + + def get_heaters_with_no_temp_info(): info = ('Pri_main_DC, {:5.3f}, Pri_state, {}, Trimmer_DC, {:5.3f}, Trim_state, {}, ' 'Primary_target_temp, {:5.3f}, Trimmer_target_temp, {:5.3f}, '. @@ -191,20 +199,21 @@ def get_heaters_info(): info = ('Pri_main_DC, {:5.3f}, Pri_state, {}, Trimmer_DC, {:5.3f}, Trimmer_state, {}, ' 'Primary_target_temp, {:5.3f}, Trimmer_target_temp, {:5.3f}, Primary_eff, {:5.3f}, ' - 'Primary_calc_temp, {:5.3f}, Trimmer_calc_temp, {:5.3f}, Primary_volt, {:5.3f}, Trimmer_volt, {:5.3f}, '. - format(dg.heaters.main_primary_heater_duty_cycle, dg.heaters.primary_heater_state, - dg.heaters.trimmer_heater_duty_cycle, dg.heaters.trimmer_heater_state, - dg.heaters.primary_heaters_target_temperature, dg.heaters.trimmer_heater_target_temperature, - dg.heaters.primary_efficiency, dg.heaters.primary_heaters_target_temperature, - dg.heaters.trimmer_calc_target_temperature, - dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_PRIM_HTR_V.value], - dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_TRIM_HTR_V.value])) + 'Primary_calc_temp, {:5.3f}, Trimmer_calc_temp, {:5.3f}, Primary_volt, {:5.3f}, Trimmer_volt, {:5.3f}, ' + .format(dg.heaters.main_primary_heater_duty_cycle, dg.heaters.primary_heater_state, + dg.heaters.trimmer_heater_duty_cycle, dg.heaters.trimmer_heater_state, + dg.heaters.primary_heaters_target_temperature, dg.heaters.trimmer_heater_target_temperature, + dg.heaters.primary_efficiency, dg.heaters.primary_calc_target_temperature, + dg.heaters.trimmer_calc_target_temperature, + dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_PRIM_HTR_V.value], + dg.voltages.monitored_voltages[DGMonitoredVoltages.MONITORED_LINE_24V_TRIM_HTR_V.value])) return info def get_temperature_sensors_info(): - info = ('TPi, {:5.3f}, TPo, {:5.3f}, TD1, {:5.3f}, TD2, {:5.3f}, TRo, {:5.3f}, TDi, {:5.3f}, ' + info = ('TPi, {:5.3f}, THd, {:5.3f}, TPo, {:5.3f}, TD1, {:5.3f}, TD2, {:5.3f}, TRo, {:5.3f}, TDi, {:5.3f}, ' .format(dg.temperatures.temperatures[DGTemperaturesNames.INLET_PRIMARY_HEATER.name], + dg.temperatures.temperatures[DGTemperaturesNames.HEAT_DISINFECT.name], dg.temperatures.temperatures[DGTemperaturesNames.OUTLET_PRIMARY_HEATER.name], dg.temperatures.temperatures[DGTemperaturesNames.CONDUCTIVITY_SENSOR_1.name], dg.temperatures.temperatures[DGTemperaturesNames.CONDUCTIVITY_SENSOR_2.name], @@ -311,9 +320,9 @@ f = open("/home/fw/projects/dialin/tests/run_dg.log", "w") dg.hd_proxy.cmd_start_stop_dg() - sleep(0.1) + sleep(1) - dg.hd_proxy.cmd_switch_reservoirs(reservoir_id=1) + dg.heaters.cmd_start_stop_primary_heater() sleep(0.1) try: @@ -361,19 +370,26 @@ def collect_treatment_data(): f = open("/home/fw/projects/dialin/tests/treatment_run.log", "w") + + #dg.conductivity_sensors.cmd_conductivity_sensor_override(ConductivitySensorsEnum.CPI.value, 1500.00) + #sleep(1) + """ - dg.conductivity_sensors.cmd_conductivity_sensor_override(ConductivitySensorsEnum.CD2.value, 6900.00) - sleep(1) dg.conductivity_sensors.cmd_conductivity_sensor_override(ConductivitySensorsEnum.CD1.value, 12100.00) - sleep(1) + sleep(1)SW_CONFIG_DISABLE_WATER_QUALITY_CHECK dg.dialysate_fill.cmd_used_bicarb_volume_override(3700.0) sleep(1) """ counter = 1 start = False + sleep_time = 1 + #dg.heaters.cmd_heaters_broadcast_interval_override(50) + #sleep(1) + #dg.voltages.cmd_monitored_voltages_broadcast_interval_override(50) + try: while True: hd_run = get_hd_run_info() @@ -384,6 +400,7 @@ load_cell = get_load_cells_info() valves = get_dg_valves_states() ro = get_ro_info() + new_ro = get_new_ro_info() temp = get_temperature_sensors_info() heaters = get_heaters_info() dg_fans = get_dg_fans_info() @@ -394,7 +411,7 @@ idle_bad_fill = get_dg_idle_bad_fill_info() var = str(datetime.now()) + ', ' + hd_run + dg_run + hd_rsrvrs + dg_rsrvrs + load_cell + drain + ro + \ - temp + heaters + conc_pumps + dg_fans + valves + blood_leak + hd_pumps + fill_info + idle_bad_fill + '\r' + new_ro + temp + heaters + conc_pumps + dg_fans + valves + blood_leak + hd_pumps + fill_info + '\r' if hd.alarms.get_alarm_state(97) and start is False: dg.conductivity_sensors.cmd_conductivity_sensor_override(ConductivitySensorsEnum.CD2.value, 13700.00) @@ -419,7 +436,7 @@ """ print(var) f.write(var) - sleep(1) + sleep(sleep_time) except KeyboardInterrupt: dg.hd_proxy.cmd_start_stop_dg(start=False) f.close() @@ -443,7 +460,7 @@ def run_heat_disinfect(): complete_counter = 1 f = open("/home/fw/projects/dialin/tests/Heat_disinfect.log", "w") - dg.hd_proxy.cmd_start_stop_heat_disinfect() + dg.hd_proxy.cmd_start_stop_dg_heat_disinfect() try: while True: @@ -469,7 +486,7 @@ if dg.dg_operation_mode == 3 or dg.dg_operation_mode == 4: # If it is the first call, stop heat disinfect if complete_counter == 1: - dg.hd_proxy.cmd_start_stop_heat_disinfect(start=False) + dg.hd_proxy.cmd_start_stop_dg_heat_disinfect(start=False) # Write a few more complete states to make sure the complete state items are recorded elif complete_counter == 3: @@ -480,7 +497,7 @@ complete_counter += 1 except KeyboardInterrupt: - dg.hd_proxy.cmd_start_stop_heat_disinfect(start=False) + dg.hd_proxy.cmd_start_stop_dg_heat_disinfect(start=False) f.close() @@ -534,48 +551,6 @@ sleep(1) -def test_hd_fans_alarms(): - f = open("/home/fw/projects/dialin/tests/fans_issues.log", "w") - counter = 0 - while counter < 10: - - hd.cmd_hd_software_reset_request() - sleep(1) - hd.alarms.clear_dialin_alarms() - - while True: - if hd.hd_operation_mode == HDOpModes.MODE_STAN.value: - hd.cmd_log_in_to_hd() - sleep(1) - hd.fans.cmd_fans_data_broadcast_interval_override(50, reset=0) - sleep(1) - hd.fans.cmd_fans_rpm_override(0, 1000.0, reset=0) - start_time = datetime.now() - i = 0 - ack = False - counter = 0 - while True: - alarm_state = hd.alarms.get_alarm_state(AlarmList.ALARM_ID_HD_FAN_RPM_OUT_OF_RANGE.value) - info = str(alarm_state) + ', ' + str(datetime.now() - start_time) + ', ' + get_hd_fans_info() + '\r' - print(info) - f.write(info) - - if alarm_state: - if ack is False and counter == 0: - hd.ui.cmd_ui_user_alarm_response(3) - ack = True - if ack: - if i == 0 and counter == 50: - hd.fans.cmd_fans_rpm_alarm_start_time_offset(86300) - i += 1 - elif alarm_state and i > 0: - break - counter += 1 - - sleep(0.05) - break - - def test_dg_fans_alarms(): f = open("/home/fw/projects/dialin/tests/dg_fans_issues.log", "w") @@ -619,6 +594,53 @@ break +def test_dvt_drain_pump(): + + dg.drain_pump.cmd_drain_pump_set_rpm(2000) + try: + while True: + print(get_drain_states_info(), get_temperature_sensors_info(), get_dg_fans_info()) + sleep(1) + except KeyboardInterrupt: + dg.drain_pump.cmd_drain_pump_set_rpm(0) + + +def test_conc_pumps(): + + dg.concentrate_pumps.cmd_concentrate_pump_state_change_request(0, True) + sleep(1) + #dg.concentrate_pumps.cmd_concentrate_pump_state_change_request(1, True) + # sleep(1) + dg.concentrate_pumps.cmd_concentrate_pump_target_speed_override(0, 35) + #sleep(1) + #dg.concentrate_pumps.cmd_concentrate_pump_target_speed_override(1, 20) + + try: + while True: + print(get_concentrate_pumps_info()) + sleep(1) + except KeyboardInterrupt: + dg.concentrate_pumps.cmd_concentrate_pump_state_change_request(0, False) + sleep(0.5) + dg.concentrate_pumps.cmd_concentrate_pump_state_change_request(1, False) + + +def test_hd_valves(): + while True: + + #VALVE_POSITION_A_INSERT_EJECT = 1 + #VALVE_POSITION_B_OPEN = 2 + #VALVE_POSITION_C_CLOSE = 3 + # + + hd.valves.cmd_set_hd_valve_position(3,3) + sleep(2) + hd.valves.cmd_set_hd_valve_position(3,2) + sleep(2) + hd.valves.cmd_set_hd_valve_position(3,1) + sleep(2) + + if __name__ == "__main__": dg = DG(log_level='DEBUG') dg.cmd_log_in_to_dg() @@ -631,23 +653,32 @@ # run_chemical_disinfect() - # run_dg() + #run_dg() # cmd_set_disinfect_ui_screen() - collect_treatment_data() + #collect_treatment_data() #collect_hd_treatment() - # test_hd_fans_alarms() + #while True: + # print(get_temperature_sensors_info(), get_dg_fans_info()) + # sleep(1) - # test_dg_fans_alarms() #while True: - # print(get_temperature_sensors_info()) - #print(hd.hd_debug_events) + # print(get_new_ro_info(), get_ro_info()) # sleep(1) + # test_dg_fans_alarms() + + #test_dvt_drain_pump() + + test_conc_pumps() + #ui = HDSimulator() #ui.cmd_send_hd_operation_mode(3, 1) + #test_hd_valves() + +