Index: tests/data_capture_helpers/fp_helpers.py =================================================================== diff -u -r18c90a1b2b6c7339bdd192a2d2fac32f2b8a35df -r38e8dd31728056dbb7f9304c98ab16d7147b75a2 --- tests/data_capture_helpers/fp_helpers.py (.../fp_helpers.py) (revision 18c90a1b2b6c7339bdd192a2d2fac32f2b8a35df) +++ tests/data_capture_helpers/fp_helpers.py (.../fp_helpers.py) (revision 38e8dd31728056dbb7f9304c98ab16d7147b75a2) @@ -7,13 +7,8 @@ from threading import Lock -from leahi_dialin import FP -from leahi_dialin.fp.modules.conductivity_sensors import FPConductivitySensorNames -from leahi_dialin.fp.modules.flow_sensors import FPFlowSensorNames -from leahi_dialin.fp.modules.pressure_sensors import FPPressureSensorNames -from leahi_dialin.fp.modules.levels import FPFloaterLevels -from leahi_dialin.fp.modules.valves import FPValveNames, FPValveStates -from leahi_dialin.fp.modules.temperatures import FPTemperaturesNames +from leahi_dialin import FP, DD +from leahi_dialin.common import fp_enum_repository, dd_enum_repository excel.ExcelFormatter.header_style = None write_mutex = Lock() @@ -31,7 +26,7 @@ df = pd.read_csv(file) print("Adding {}".format(file)) df.to_excel( writer, header = False,index=False, - sheet_name=os.path.split(file)[1], float_format = "%0.1f") + sheet_name=os.path.split(file)[1], float_format = "%0.5f") writer.close() else: print("no files found.") @@ -54,29 +49,25 @@ """ # only manage if we know that the pump is running while True: - if fp.levels.p25_level == FPFloaterLevels.LEVEL_STATE_HIGH.value: - if fp.valves.m4_valv != FPValveStates.VALVE_STATE_CLOSED.value: - fp.valves.cmd_valve_override(FPValveNames.M4_VALV.value, FPValveStates.VALVE_STATE_CLOSED.value) + if fp.levels.p25_level == fp_enum_repository.FPFloaterLevels.LEVEL_STATE_HIGH.value: + if fp.valves.m4_valv != fp_enum_repository.FPValveStates.VALVE_STATE_CLOSED.value: + fp.valves.cmd_valve_override(fp_enum_repository.fp_enum_repository.FPValveNames.M4_VALV.value, fp_enum_repository.FPValveStates.VALVE_STATE_CLOSED.value) - if fp.levels.p25_level == FPFloaterLevels.LEVEL_STATE_LOW.value: - if fp.valves.m4_valv != FPValveStates.VALVE_STATE_OPEN.value: - fp.valves.cmd_valve_override(FPValveNames.M4_VALV.value, FPValveStates.VALVE_STATE_OPEN.value) + if fp.levels.p25_level == fp_enum_repository.FPFloaterLevels.LEVEL_STATE_LOW.value: + if fp.valves.m4_valv != fp_enum_repository.FPValveStates.VALVE_STATE_OPEN.value: + fp.valves.cmd_valve_override(fp_enum_repository.fp_enum_repository.FPValveNames.M4_VALV.value, fp_enum_repository.FPValveStates.VALVE_STATE_OPEN.value) sleep(interval) def fp_pressure_recorder(fp:FP, interval: float = 1.0, log_path : str = "{}FP_test_pressures.log".format(DEFAULT_LOG_DIR)): while True: write_mutex.acquire() with open(log_path, "a") as f: # collect data and log it - press = "{}, ".format(FPPressureSensorNames.M1_PRES.name) + '{}'.format(fp.pressures.m1_pres) + \ - ", {}, ".format(FPPressureSensorNames.M3_PRES.name) + '{}'.format(fp.pressures.m3_pres) + \ - ", {}, ".format(FPPressureSensorNames.P8_PRES.name) + '{}'.format(fp.pressures.p8_pres) + \ - ", {}, ".format(FPPressureSensorNames.P13_PRES.name) + '{}'.format(fp.pressures.p13_pres) + \ - ", {}, ".format(FPPressureSensorNames.P17_PRES.name) + '{}'.format(fp.pressures.p17_pres) + \ - ", {}, ".format(FPPressureSensorNames.X1_PRES.name) + '{}'.format(fp.pressures.x1_pres) + \ - ", {}, ".format(FPPressureSensorNames.X2_PRES.name) + '{}'.format(fp.pressures.x2_pres) + \ - ", {}, ".format(FPPressureSensorNames.X3_PRES.name) + '{}'.format(fp.pressures.x3_pres) + \ - ", {} ,".format(FPPressureSensorNames.X4_PRES.name) + '{}'.format(fp.pressures.x4_pres) + \ + press = "{}, ".format(fp_enum_repository.FPPressureSensorNames.M1_PRES.name) + '{}'.format(fp.pressures.fp_pressures[fp_enum_repository.FPPressureSensorNames.M1_PRES.name]) + \ + ", {}, ".format(fp_enum_repository.FPPressureSensorNames.M3_PRES.name) + '{}'.format(fp.pressures.fp_pressures[fp_enum_repository.FPPressureSensorNames.M3_PRES.name]) + \ + ", {}, ".format(fp_enum_repository.FPPressureSensorNames.P8_PRES.name) + '{}'.format(fp.pressures.fp_pressures[fp_enum_repository.FPPressureSensorNames.P8_PRES.name]) + \ + ", {}, ".format(fp_enum_repository.FPPressureSensorNames.P13_PRES.name) + '{}'.format(fp.pressures.fp_pressures[fp_enum_repository.FPPressureSensorNames.P13_PRES.name]) + \ + ", {}, ".format(fp_enum_repository.FPPressureSensorNames.P17_PRES.name) + '{}'.format(fp.pressures.fp_pressures[fp_enum_repository.FPPressureSensorNames.P17_PRES.name]) + \ ", {}\n".format(fp.pressures.fp_pressure_timestamp) f.write(press) @@ -89,30 +80,23 @@ write_mutex.acquire() with open(log_path, "a") as f: # collect data and log it - temp = "{}, ".format(FPTemperaturesNames.P10_TEMP.name) + \ - '{},'.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.P10_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.P19_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.P19_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.M1_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.M1_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.M3_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.M3_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.P8_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.P8_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.P13_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.P13_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.X1_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.X1_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.X2_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.X2_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.X3_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.X3_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.X4_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.X4_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.P7_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.P7_TEMP.name]) + \ - "{}, ".format(FPTemperaturesNames.P16_TEMP.name) + \ - '{}, '.format(fp.temperatures.fp_temperatures[FPTemperaturesNames.P16_TEMP.name]) + \ + temp = "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.P10_TEMP.name) + \ + '{},'.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P10_TEMP.name]) + \ + "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.P19_TEMP.name) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P19_TEMP.name]) + \ + "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.M1_TEMP.name) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.M1_TEMP.name]) + \ + "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.M3_TEMP.name) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.M3_TEMP.name]) + \ + "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.P8_TEMP.name) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P8_TEMP.name]) + \ + "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.P13_TEMP.name) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P13_TEMP.name]) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.X4_TEMP.name]) + \ + "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.P7_TEMP.name) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P7_TEMP.name]) + \ + "{}, ".format(fp_enum_repository.FPTemperatureSensorNames.P16_TEMP.name) + \ + '{}, '.format(fp.temperatures.fp_temperatures[fp_enum_repository.FPTemperatureSensorNames.P16_TEMP.name]) + \ ", {}\n".format(fp.temperatures.fp_temperature_sensors_timestamp) f.write(temp) @@ -125,7 +109,8 @@ write_mutex.acquire() with open(log_path, "a") as f: # collect data and log it - level = "p25_level, " + '{}'.format(fp.levels.p25_level) + \ + level = "{}, ".format(fp_enum_repository.FPFloaterLevelSensorNames.P25_LEVEL.name) + \ + '{}'.format(fp.levels.fp_levels[fp_enum_repository.FPFloaterLevelSensorNames.P25_LEVEL.name]) + \ ", {}\n".format(fp.levels.fp_levels_timestamp) f.write(level) @@ -137,9 +122,9 @@ while True: write_mutex.acquire() with open(log_path, "a") as f: - # collect data and log it - flows = "{}, ".format(FPFlowSensorNames.P7_FLOW.name) + '{}'.format(fp.flows.p7_flow) + \ - ", {}, ".format(FPFlowSensorNames.P16_FLOW.name) + '{}'.format(fp.flows.p16_flow) + \ + # collect data and log itfp_enum_repository.FPFlowSensorNames + flows = "{}, ".format(fp_enum_repository.FPFlowSensorNames.P7_FLOW.name) + '{}'.format(fp.flows.fp_flows[fp_enum_repository.FPFlowSensorNames.P7_FLOW.name]["FLOW"]) + \ + ", {}, ".format(fp_enum_repository.FPFlowSensorNames.P16_FLOW.name) + '{}'.format(fp.flows.fp_flows[fp_enum_repository.FPFlowSensorNames.P16_FLOW.name]['FLOW']) + \ ", {}\n".format(fp.flows.fp_flow_timestamp) f.write(flows) @@ -152,30 +137,32 @@ write_mutex.acquire() with open(log_path, "a") as f: # collect data and log it - cond = "{}, ".format(FPConductivitySensorNames.P9_COND.name) + '{}'.format(fp.conductivity.p9_cond) + \ - ", {}, ".format(FPConductivitySensorNames.P18_COND.name) + '{}'.format(fp.conductivity.p18_cond) + \ + cond = "{}, ".format(fp_enum_repository.FPConductivitySensorNames.P9_COND.name) + '{}'.format(fp.conductivity.fp_conductivity['P9_COND']) + \ + ", {}, ".format(fp_enum_repository.FPConductivitySensorNames.P18_COND.name) + '{}'.format(fp.conductivity.fp_conductivity['P18_COND']) + \ ", {}\n".format(fp.conductivity.fp_conductivity_timestamp) f.write(cond) f.close() write_mutex.release() sleep(interval) -def fp_valve_recorder(fp:FP, interval: float = 1.0, log_path : str = "{}FP_test_valve.log".format(DEFAULT_LOG_DIR) ): +def fp_valve_recorder(fp:FP, dd:DD, interval: float = 1.0, log_path : str = "{}FP_test_valve.log".format(DEFAULT_LOG_DIR) ): while True: write_mutex.acquire() with open(log_path, "a") as f: # collect data and log it + ddvalve = dd.valves.d3_valv.get("state", None) list_of_states = fp.valves.get_valve_states() - valves = "{}, ".format(FPValveNames.M4_VALV.name) + '{}'.format(list_of_states[0]) + \ - ", {}, ".format(FPValveNames.P39_VALV.name) + '{}'.format(list_of_states[1]) + \ - ", {}, ".format(FPValveNames.P6_VALV.name) + '{}'.format(list_of_states[2]) + \ - ", {}, ".format(FPValveNames.P11_VALV.name) + '{}'.format(list_of_states[3]) + \ - ", {}, ".format(FPValveNames.P33_VALV.name) + '{}'.format(list_of_states[4]) + \ - ", {}, ".format(FPValveNames.P34_VALV.name) + '{}'.format(list_of_states[5]) + \ - ", {}, ".format(FPValveNames.P37_VALV.name) + '{}'.format(list_of_states[6]) + \ - ", {}, ".format(FPValveNames.M7_VALV.name) + '{}'.format(list_of_states[7]) + \ - ", {}, ".format(FPValveNames.P20_VALV.name) + '{}'.format(list_of_states[8]) + \ + valves = "{}, ".format(fp_enum_repository.FPValveNames.M4_VALV.name) + '{}'.format(list_of_states[0]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.P39_VALV.name) + '{}'.format(list_of_states[1]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.P6_VALV.name) + '{}'.format(list_of_states[2]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.P11_VALV.name) + '{}'.format(list_of_states[3]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.P33_VALV.name) + '{}'.format(list_of_states[4]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.P34_VALV.name) + '{}'.format(list_of_states[5]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.P37_VALV.name) + '{}'.format(list_of_states[6]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.M7_VALV.name) + '{}'.format(list_of_states[7]) + \ + ", {}, ".format(fp_enum_repository.FPValveNames.P20_VALV.name) + '{}'.format(list_of_states[8]) + \ + ", {}, ".format(dd_enum_repository.DDValveNames.D3_VALV.name) + '{}'.format(ddvalve) + \ ", {}\n".format(fp.valves.fp_valves_states_timestamp) f.write(valves) @@ -188,14 +175,16 @@ write_mutex.acquire() with open(log_path, "a") as f: # collect data and log it - ro = "p12_pump_state, ".format(FPValveNames.M4_VALV.name) + '{}'.format(fp.ro_pump.p12_pump_state) + \ - ", p12_pump_duty_cycle, ".format(FPValveNames.P39_VALV.name) + '{}'.format(fp.ro_pump.p12_pump_duty_cycle) + \ - ", p12_pump_fb_duty_cycle, ".format(FPValveNames.P6_VALV.name) + '{}'.format(fp.ro_pump.p12_pump_fb_duty_cycle) + \ - ", p12_pump_speed, ".format(FPValveNames.P11_VALV.name) + '{}'.format(fp.ro_pump.p12_pump_speed) + \ - ", p12_target_pressure, ".format(FPValveNames.P33_VALV.name) + '{}'.format(fp.ro_pump.p12_target_pressure) + \ - ", p12_target_flow, ".format(FPValveNames.P34_VALV.name) + '{}'.format(fp.ro_pump.p12_target_flow) + \ - ", p12_target_duty_cycle, ".format(FPValveNames.P37_VALV.name) + '{}'.format(fp.ro_pump.p12_target_duty_cycle) + \ - ", {}\n".format(fp.ro_pump.ro_pump_timestamp) + ro = "{}, ".format(fp_enum_repository.FPPumpAttributes.STATE.name) + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.STATE.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name) + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE.name) + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE.name]) + \ + ", {}, ".format('Ctl_sig_out') + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.SPEED.name]) + \ + ", {}, ".format('Ctl_sig_err') + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.TARGET_PRES.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.TARGET_FLOW.name) + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.TARGET_FLOW.name]) + \ + ", {}, ".format('Kp') + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.TARGET_DUTY_CYCLE.name]) + \ + ", {}, ".format('Ki') + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.DUTY_CYCLE_PCT.name]) + \ + ", {}, ".format('errsum') + '{}'.format(fp.ro_pump.ro_pump['P12_PUMP'][fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE_PCT.name]) + \ + ", {}\n".format(fp.ro_pump.ro_pump_timestamp) f.write(ro) f.close() @@ -207,14 +196,16 @@ write_mutex.acquire() with open(log_path, "a") as f: # collect data and log it - boost = "p40_pump_state, " + '{}'.format(fp.boost_pump.p40_pump_state) + \ - ", p40_pump_duty_cycle, " + '{}'.format(fp.boost_pump.p40_pump_duty_cycle) + \ - ", p40_pump_fb_duty_cycle, " + '{}'.format(fp.boost_pump.p40_pump_fb_duty_cycle) + \ - ", p40_pump_speed, " + '{}'.format(fp.boost_pump.p40_pump_speed) + \ - " p40_target_pressure, " + '{}'.format(fp.boost_pump.p40_target_pressure) + \ - ", p40_target_flow, " + '{}'.format(fp.boost_pump.p40_target_flow) + \ - ", p40_target_duty_cycle, " + '{}'.format(fp.boost_pump.p40_target_duty_cycle) + \ - ", {}\n".format(fp.boost_pump.boost_pump_timestamp) + boost = "{}, ".format(fp_enum_repository.FPPumpAttributes.STATE.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.STATE.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.DUTY_CYCLE.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.SPEED.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.SPEED.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.TARGET_PRES.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.TARGET_PRES.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.TARGET_FLOW.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.TARGET_FLOW.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.TARGET_DUTY_CYCLE.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.TARGET_DUTY_CYCLE.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.DUTY_CYCLE_PCT.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.DUTY_CYCLE_PCT.name]) + \ + ", {}, ".format(fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE_PCT.name) + '{}'.format(fp.boost_pump.boost_pump['P40_PUMP'][fp_enum_repository.FPPumpAttributes.FB_DUTY_CYCLE_PCT.name]) + \ + ", {}\n".format(fp.boost_pump.boost_pump_timestamp) f.write(boost) f.close()