From e60256011171a7b53ae22de08a28d99c263f7db3 Mon Sep 17 00:00:00 2001 From: gac-S_Changer Date: Tue, 23 Jun 2020 13:19:01 +0200 Subject: [PATCH] commiting a ton of changes --- config/devices-modbus.properties | 4 ++++ config/devices.properties | 4 ++++ config/settings.properties | 9 ++++----- config/variables.properties | 4 ++-- devices/humidity.properties | 6 ++++++ devices/led_ctrl_1.properties | 2 +- devices/led_ctrl_2.properties | 2 +- devices/led_ctrl_3.properties | 2 +- devices/temperature.properties | 6 ++++++ devices/th2e.properties | 8 ++++++++ script/data/pucks.py | 30 +++++++++++++++++++++++++++++- script/data/samples.py | 2 ++ script/devices/Hexiposi.py | 1 - script/motion/dry.py | 4 +++- script/motion/unmount.py | 9 ++++----- 15 files changed, 75 insertions(+), 18 deletions(-) create mode 100644 devices/humidity.properties create mode 100644 devices/temperature.properties create mode 100644 devices/th2e.properties diff --git a/config/devices-modbus.properties b/config/devices-modbus.properties index c915432..d1313b0 100644 --- a/config/devices-modbus.properties +++ b/config/devices-modbus.properties @@ -1,3 +1,7 @@ +th2e=ch.psi.pshell.modbus.ModbusTCP|129.129.118.200:502||| +temperature=ch.psi.pshell.modbus.ReadonlyProcessVariable|th2e 1||10000| +humidity=ch.psi.pshell.modbus.ReadonlyProcessVariable|th2e 5||10000| +#dew_point=ch.psi.pshell.modbus.ReadonlyProcessVariable|th2e 9||1000| wago=ch.psi.pshell.modbus.ModbusTCP|tell10s-wago:502||| led_ok_1=ch.psi.pshell.modbus.DigitalInput|wago 0||1000| led_ok_2=ch.psi.pshell.modbus.DigitalInput|wago 1||1000| diff --git a/config/devices.properties b/config/devices.properties index de1a941..6a4d147 100644 --- a/config/devices.properties +++ b/config/devices.properties @@ -1,3 +1,7 @@ +th2e=ch.psi.pshell.modbus.ModbusTCP|129.129.118.200:502||| +temperature=ch.psi.pshell.modbus.ReadonlyProcessVariable|th2e 1||10000| +humidity=ch.psi.pshell.modbus.ReadonlyProcessVariable|th2e 5||10000| +#dew_point=ch.psi.pshell.modbus.ReadonlyProcessVariable|th2e 9||1000| #img=ch.psi.pshell.prosilica.Prosilica|204464 "PacketSize=1504;PixelFormat=Mono8;BinningX=1;BinningY=1;RegionX=290;RegionY=130;Width=1000;Height=1000;MulticastEnable=Off"||-200|false #gripper_cam=ch.psi.pshell.imaging.MjpegSource|http://axis-accc8ea5e463.psi.ch/axis-cgi/mjpg/video.cgi?camera=1 reopen||-200|false #monitoring_cam=ch.psi.pshell.imaging.MjpegSource|http://axis-accc8ea5e463.psi.ch/axis-cgi/mjpg/video.cgi?camera=2 reopen||-200| diff --git a/config/settings.properties b/config/settings.properties index 4b39e31..3e43b14 100644 --- a/config/settings.properties +++ b/config/settings.properties @@ -1,15 +1,14 @@ -#Wed Mar 04 13:44:38 CET 2020 -dry_mount_counter=6 -mounted_sample_position=A25 +#Tue Jun 23 13:18:10 CEST 2020 +dry_mount_counter=0 room_temperature_enabled=false pin_offset=0.0 puck_types=true imaging_enabled=false -dry_timestamp=1.583324556612E9 +dry_timestamp=1.592911090051E9 roi_h=1000 led_level=0.0 beamline_status_enabled=false -force_dry_mount_count=10 +force_dry_mount_count=15 roi_y=124 barcode_reader_scan_pucks=false cold_position_timeout=3600 diff --git a/config/variables.properties b/config/variables.properties index 39d0fb0..64212ff 100644 --- a/config/variables.properties +++ b/config/variables.properties @@ -1,2 +1,2 @@ -#Fri Feb 28 10:25:18 CET 2020 -FileSequentialNumber=41 +#Wed Jun 17 15:36:32 CEST 2020 +FileSequentialNumber=107 diff --git a/devices/humidity.properties b/devices/humidity.properties new file mode 100644 index 0000000..c5f201d --- /dev/null +++ b/devices/humidity.properties @@ -0,0 +1,6 @@ +#Thu May 28 11:26:23 CEST 2020 +unit=null +offset=0.0 +precision=-1 +sign_bit=0 +scale=0.1 diff --git a/devices/led_ctrl_1.properties b/devices/led_ctrl_1.properties index ccb7015..6f380d8 100644 --- a/devices/led_ctrl_1.properties +++ b/devices/led_ctrl_1.properties @@ -1,4 +1,4 @@ -#Wed Mar 04 10:29:38 CET 2020 +#Wed Jun 03 10:41:30 CEST 2020 minValue=0.0 unit=V offset=0.0 diff --git a/devices/led_ctrl_2.properties b/devices/led_ctrl_2.properties index ccb7015..6f380d8 100644 --- a/devices/led_ctrl_2.properties +++ b/devices/led_ctrl_2.properties @@ -1,4 +1,4 @@ -#Wed Mar 04 10:29:38 CET 2020 +#Wed Jun 03 10:41:30 CEST 2020 minValue=0.0 unit=V offset=0.0 diff --git a/devices/led_ctrl_3.properties b/devices/led_ctrl_3.properties index ccb7015..6f380d8 100644 --- a/devices/led_ctrl_3.properties +++ b/devices/led_ctrl_3.properties @@ -1,4 +1,4 @@ -#Wed Mar 04 10:29:38 CET 2020 +#Wed Jun 03 10:41:30 CEST 2020 minValue=0.0 unit=V offset=0.0 diff --git a/devices/temperature.properties b/devices/temperature.properties new file mode 100644 index 0000000..e951a40 --- /dev/null +++ b/devices/temperature.properties @@ -0,0 +1,6 @@ +#Thu May 28 11:25:52 CEST 2020 +unit=null +offset=0.0 +precision=-1 +sign_bit=0 +scale=0.1 diff --git a/devices/th2e.properties b/devices/th2e.properties new file mode 100644 index 0000000..2e92e42 --- /dev/null +++ b/devices/th2e.properties @@ -0,0 +1,8 @@ +#Tue May 26 10:24:55 CEST 2020 +offsetWriteAnalogOutput=0 +offsetWriteDigitalOutput=0 +offsetReadAnalogOutput=0 +offsetReadDigitalInput=0 +offsetReadAnalogInput=0 +offsetReadDigitalOutput=0 +timeout=1000 diff --git a/script/data/pucks.py b/script/data/pucks.py index bdb925b..e48db2c 100644 --- a/script/data/pucks.py +++ b/script/data/pucks.py @@ -19,4 +19,32 @@ def get_puck_obj_by_id(puck_id): if puck.id == puck_id: return puck return None - \ No newline at end of file + + +def set_puck_info(puck_info): + #print puck_info + for i in puck_info: + p=get_puck_obj(i["address"]) + if p is not None: + if (p.status == 'Present') and ( i["status"] =='Present'): + if i['barcode'] and (i['barcode'] != str(None)): + #print "Setting ", p, " to ", i['barcode'] + p.id = i['barcode'] + +def clear_puck_info(): + save_puck_info([]) + +def save_puck_info(): + data = get_puck_info() + output_file = open( get_context().setup.expandPath("{context}/pucks_info.json") , "w") + output_file.write(json.dumps(data)) + output_file.close() + +def restore_puck_info(): + try: + inputfile = open(get_context().setup.expandPath("{context}/pucks_info.json"), "r") + info = json.loads(inputfile.read()) + except: + print >> sys.stderr, "Error reading pucks info file: " + str(sys.exc_info()[1]) + info = [] + set_puck_info(info) \ No newline at end of file diff --git a/script/data/samples.py b/script/data/samples.py index 87480df..7110d57 100644 --- a/script/data/samples.py +++ b/script/data/samples.py @@ -39,8 +39,10 @@ def save_samples_info(): output_file.write(data) output_file.close() get_context().sendEvent("samples_updated", True) + save_puck_info() def restore_samples_info(): + restore_puck_info() try: inputfile = open(get_context().setup.expandPath("{context}/samples_info.json"), "r") info = inputfile.read() diff --git a/script/devices/Hexiposi.py b/script/devices/Hexiposi.py index 1018306..aff08e0 100644 --- a/script/devices/Hexiposi.py +++ b/script/devices/Hexiposi.py @@ -35,7 +35,6 @@ class Hexiposi(DiscretePositionerBase): self.homed = self.status["homed"] self.error = self.status["errorCode"] self.remote = self.status["mode"] == "remote" - self.moving = self.status["errorCode"] self.pos = self.status["position"] self.moving = self.status["moving"] self.offset = self.status["offset"] diff --git a/script/motion/dry.py b/script/motion/dry.py index b77d5dd..43d7bac 100644 --- a/script/motion/dry.py +++ b/script/motion/dry.py @@ -9,7 +9,6 @@ def dry(heat_time=None, speed=None, wait_cold = None): wait_cold(float): if negative, move to dewar after drying Else move to cold and wait (in seconds) before returning. """ - print "dry" if heat_time is None: heat_time = DEFAULT_DRY_HEAT_TIME @@ -20,6 +19,9 @@ def dry(heat_time=None, speed=None, wait_cold = None): if wait_cold is None: wait_cold = DEFAULT_DRY_WAIT_COLD + print "dry heat_time = {}, speed = {}, wait_cold = {}".format(heat_time, speed, wait_cold) + + if robot.simulated: time.sleep(10.0) return diff --git a/script/motion/unmount.py b/script/motion/unmount.py index 9306863..8d1e5c9 100644 --- a/script/motion/unmount.py +++ b/script/motion/unmount.py @@ -3,11 +3,6 @@ def unmount(segment = None, puck = None, sample = None, force=False, auto_unmoun """ print "unmount: ", segment, puck, sample, force - #ZACH - is_aux = (segment == AUX_SEGMENT) - needs_chilling = not is_aux and (not robot.is_cold()) - needs_drying = is_aux and robot.is_cold() - if (segment is None) or (puck is None) or (sample is None): pos = get_setting("mounted_sample_position") if pos is None: @@ -15,6 +10,10 @@ def unmount(segment = None, puck = None, sample = None, force=False, auto_unmoun segment, puck , sample = pos[0:1], int(pos[1]), int(pos[2:]) print "Mounted sample position: ", segment, puck , sample + #ZACH + is_aux = (segment == AUX_SEGMENT) + needs_chilling = not is_aux and (not robot.is_cold()) + needs_drying = is_aux and robot.is_cold() #Initial checks if not auto_unmount: