########################################################################### # # Copyright (c) 2020-2024 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 test_uf.py # # @author (last) Sean Nash # @date (last) 24-Sep-2022 # @author (original) Peter Lucia # @date (original) 14-Jul-2020 # ############################################################################ import sys sys.path.append("..") from time import sleep from leahi_dialin.ro.reverse_osmosis import RO from leahi_dialin.ro.modules.boost_pump import ROPumpNames from leahi_dialin.ro.modules.valves import ROValveNames from leahi_dialin.ro.modules.valves import ROValveStates if __name__ == "__main__": # create a RO object called ro ro = RO(log_level="DEBUG") # log in to RO as a tester if ro.cmd_log_in_to_ro() == 0: exit(1) ro.valves.cmd_valve_override(ROValveNames.VCR.value,ROValveStates.VALVE_STATE_CLOSED.value) # sleep(15) #ro.valves.cmd_valve_override(ROValveNames.VCR.value,ROValveStates.VALVE_STATE_CLOSED.value) # ro.pumps.cmd_boost_pump_set_pwm_request(ROPumpNames.PUMP_RO.value,100) # sleep(15) # ro.pumps.cmd_boost_pump_set_pwm_request(ROPumpNames.PUMP_RO.value,0) # create log file with open("RO_test.log", "w") as f: # collect data and display/log it while True: sleep(1) modes = "RO.m, " + '{:2d}'.format(ro.ro_operation_mode) + \ ", RO.s, " + '{:2d}'.format(ro.ro_operation_sub_mode) pumps = ", RO.st, " + '{:4d}'.format(ro.pumps.ro_pump_state) + \ ", RO.dc, " + '{:9.2f}'.format(ro.pumps.ro_pump_duty_cycle) +\ ", RO.sp, " + '{:9.2f}'.format(ro.pumps.ro_pump_speed) press = ", PRi, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_water_inlet_pre_reg) + \ ", PRo, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_water_inlet_post_reg) + \ ", PC2o, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_water_inlet_pre_cond) + \ ", PPo, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_pre_ro_filter) + \ ", PMp, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_post_ro_filter) + \ ", PPi, " + '{:9.2f}'.format(ro.pressures.pressure_sensor_pre_ro_pump) valves = ", VWi, " + '{:4d}'.format(ro.valves.valve_state_VWI.get("state")) + \ ", VFb, " + '{:4d}'.format(ro.valves.valve_state_VFB.get("state")) + \ ", VFf, " + '{:4d}'.format(ro.valves.valve_state_VFF.get("state")) + \ ", VPi, " + '{:4d}'.format(ro.valves.valve_state_VPI.get("state")) + \ ", VCr, " + '{:4d}'.format(ro.valves.valve_state_VCR.get("state")) + \ ", VCb, " + '{:4d}'.format(ro.valves.valve_state_VCB.get("state")) + \ ", VCd, " + '{:4d}'.format(ro.valves.valve_state_VCD.get("state")) + \ ", VROD, " + '{:4d}'.format(ro.valves.valve_state_VROD.get("state")) # alarms = ", AL.s, " + '{:1d}'.format(td.alarms.get_current_alarms_state()) + \ # ", AL.t, " + '{:4d}'.format(td.alarms.alarm_top) # log data f.write(modes) f.write(pumps) f.write(press) f.write(valves) # f.write(alarms) f.write("\n") # print to console print(" Modes: "+modes) print(" Pumps: "+pumps) print(" Pressures: "+press) print(" Valves: "+valves) # print(" Alarms: "+alarms)