Index: tests/dg_valves_test.py =================================================================== diff -u -re97c499a943e83a39b0c1b41a7d41b706001253d -r5f062bab558dfcc367950d3fdfb70ca9d4ce369d --- tests/dg_valves_test.py (.../dg_valves_test.py) (revision e97c499a943e83a39b0c1b41a7d41b706001253d) +++ tests/dg_valves_test.py (.../dg_valves_test.py) (revision 5f062bab558dfcc367950d3fdfb70ca9d4ce369d) @@ -1 +1,151 @@ +########################################################################### +# +# Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +# +# THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN +# WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. +# +# @file dg_valves_test.py +# +# @date 20-May-2020 +# @author P. Montazemi +# +# @brief This development test script exercises the DG valves states in \n +# single and batch modes +# +############################################################################ + +import sys +sys.path.append("..") +from dialin.hd.constants import RESET, NO_RESET +from dialin.dg.dialysate_generator import DG +from time import sleep +import dialin.dg.valves as valves + +if __name__ == "__main__": + # Create an instance of the DG Class + dg = DG() + sleep(2) + + # Log in to DG as tester + if dg.cmd_log_in_to_dg() == 0: + print("DG login failed.") + exit(1) + sleep(1) + + # Reset override publish interval of DG valves states + #valves.cmd_valve_broadcast_interval_override(RESET, 0) + #sleep(1) + + # Override default publish interval (500 ms) of DG valves states + #valves.cmd_valve_broadcast_interval_override(1000) + #sleep(1) + + # Initialize (de-energize) all valves + print("Initialize all valves to DEENERGIZED state") + #valves.cmd_valve_override(0x0000, dg.valves.valves_states_all) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRF) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRI) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRD) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRO) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VPO) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VBF) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VRC) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VDR) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VPI) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VSP) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VR1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VR2) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.valve_state_VPD) + + def updateValvesStates(): + valvesStates = "VRF=" + str(dg.valves.valve_state_VRF) + \ + ", VRI=" + str(dg.valves.valve_state_VRI) + \ + ", VRD=" + str(dg.valves.valve_state_VRD) + \ + ", VRO=" + str(dg.valves.valve_state_VRO) + \ + ", VPO=" + str(dg.valves.valve_state_VPO) + \ + ", VBF=" + str(dg.valves.valve_state_VBF) + \ + ", VRC=" + str(dg.valves.valve_state_VRC) + \ + ", VDR=" + str(dg.valves.valve_state_VDR) + \ + ", VPI=" + str(dg.valves.valve_state_VPI) + \ + ", VSP=" + str(dg.valves.valve_state_VSP) + \ + ", VR1=" + str(dg.valves.valve_state_VR1) + \ + ", VR2=" + str(dg.valves.valve_state_VR2) + \ + ", VPD=" + str(dg.valves.valve_state_VPD) + + # Print to console + print("DG Valves States: " + valvesStates) + + return valvesStates + + updateValvesStates() + sleep(3) + + # Create log file + with open("DG_valves_test.log", "w") as f: + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRF) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRI) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRD) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRO) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VPO) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VBF) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VRC) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VDR) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VPI) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VSP) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VR1) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VR2) + sleep(1) + dg.valves.cmd_valve_override(valves.ENERGIZED, dg.valves.VPD) + sleep(1) + valvesStates = updateValvesStates() + + # Log data + f.write(valvesStates) + f.write("\n") + + sleep(3) + + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRF) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRI) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRD) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRO) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VPO) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VBF) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VRC) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VDR) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VPI) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VSP) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VR1) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VR2) + sleep(1) + dg.valves.cmd_valve_override(valves.DEENERGIZED, dg.valves.VPD) + valvesStates = updateValvesStates() + + # Log data + f.write(valvesStates) + f.write("\n") + + f.close()