From a2e39d3bdb13cf7a8d8acc7e7df3aa3b745f7471 Mon Sep 17 00:00:00 2001 From: rekumar Date: Tue, 9 Aug 2022 11:51:37 -0700 Subject: [PATCH 01/11] should work --- frgpascal/hardware/hardwareconstants.yaml | 1 + frgpascal/hardware/liquidhandler.py | 6 +- frgpascal/workers.py | 184 ++++++++++++++++++---- 3 files changed, 159 insertions(+), 32 deletions(-) diff --git a/frgpascal/hardware/hardwareconstants.yaml b/frgpascal/hardware/hardwareconstants.yaml index 35926747..3d7af2f2 100644 --- a/frgpascal/hardware/hardwareconstants.yaml +++ b/frgpascal/hardware/hardwareconstants.yaml @@ -102,6 +102,7 @@ liquidhandler: travel_slow: 4 #time to move if slow_travel active dispensedelay: 0.8 # time (seconds) between initiating a dispense command and the liquid beginning to hit the spincoating sample dispensedelay_slow: 1 #time to dispense *from staging position* if slow_travel active + droptipintotrash: 10 #time to drop a tip into the trash and reset the pipette to be ready for further instructions # dispense_delay: 1 # aspiration_delay: 22.5 # time (seconds) to perform an aspiration and stage the pipette # staging_delay: 1.5 # time (seconds) to move pipette into position for drop staging diff --git a/frgpascal/hardware/liquidhandler.py b/frgpascal/hardware/liquidhandler.py index 29f35e39..af3c7c23 100644 --- a/frgpascal/hardware/liquidhandler.py +++ b/frgpascal/hardware/liquidhandler.py @@ -17,11 +17,12 @@ tc = constants["timings"] -def expected_timings(drop): +def expected_timings(drop, drop_previous_tip=False): """Estimate the duration (seconds) liquid aspiration will require for a given drop Args: drop (dict): dictionary of drop parameters + drop_previous_tip (dict): whether the previous tip must be dropped prior to aspiration Returns: float: duration, in seconds @@ -37,7 +38,8 @@ def expected_timings(drop): aspirate_duration += ac["slowretract"] if drop["air_gap"]: aspirate_duration += ac["airgap"] - + if drop_previous_tip: + aspirate_duration += tc["droptipintotrash"] if drop["slow_travel"]: staging_duration = tc["travel_slow"] dispense_duration = tc["dispensedelay_slow"] diff --git a/frgpascal/workers.py b/frgpascal/workers.py index 793a743d..e6bc469e 100644 --- a/frgpascal/workers.py +++ b/frgpascal/workers.py @@ -138,7 +138,10 @@ def future_callback(future): self.logger.info(f"executing {task_description} as thread") future = asyncio.gather( self.loop.run_in_executor( - self.maestro.threadpool, function, sample, details, + self.maestro.threadpool, + function, + sample, + details, ) ) future.add_done_callback(future_callback) @@ -537,9 +540,11 @@ def _expected_dispense_duration(self, drop) -> float: def _generatelhtasks_onedrop(self, t0, drop): liquidhandlertasks = {} - (aspirate_duration, staging_duration, dispense_duration,) = expected_timings( - drop - ) + ( + aspirate_duration, + staging_duration, + dispense_duration, + ) = expected_timings(drop) headstart = ( aspirate_duration + staging_duration + dispense_duration - drop["time"] @@ -582,40 +587,60 @@ def _generatelhtasks_onedrop(self, t0, drop): return headstart, liquidhandlertasks def _generatelhtasks_twodrops(self, t0, drop0, drop1): - aspirate0_duration, staging0_duration, dispense0_duration = expected_timings( drop0 ) aspirate1_duration, staging1_duration, dispense1_duration = expected_timings( - drop1 - ) + drop1, drop_previous_tip=True + ) # drop_previous_tip should usually be false, but for now we are assuming we only have one pipette tip to work with! + if (drop1["time"] - drop0["time"]) < ( aspirate1_duration + staging1_duration + dispense1_duration - ): # if the two drops are too close in time, let's aspirate them both at the beginning - return self._generatelhtasks_twodrops_together( - t0, - drop0, - drop1, - aspirate0_duration, - staging0_duration, - dispense0_duration, - aspirate1_duration, - staging1_duration, - dispense1_duration, + ): + raise ValueError( + "Drops are not spaced enough apart for the liquid handler to perform the spincoating process!" ) - else: - return self._generatelhtasks_twodrops_separate( - t0, - drop0, - drop1, - aspirate0_duration, - staging0_duration, - dispense0_duration, - aspirate1_duration, - staging1_duration, - dispense1_duration, - ) + return self._generatelhtasks_twodrops_onlyrightpipette( + t0, + drop0, + drop1, + aspirate0_duration, + staging0_duration, + dispense0_duration, + aspirate1_duration, + staging1_duration, + dispense1_duration, + ) + + ### TYPICAL LOGIC ASSUMING WE HAVE TWO PIPETTE TIPS TO WORK WITH + # if (drop1["time"] - drop0["time"]) < ( + # aspirate1_duration + staging1_duration + dispense1_duration + # ): # if the two drops are too close in time, let's aspirate them both at the beginning + # return self._generatelhtasks_twodrops_together( + # t0, + # drop0, + # drop1, + # aspirate0_duration, + # staging0_duration, + # dispense0_duration, + # aspirate1_duration, + # staging1_duration, + # dispense1_duration, + # ) + + # else: + # return self._generatelhtasks_twodrops_separate( + # t0, + # drop0, + # drop1, + # aspirate0_duration, + # staging0_duration, + # dispense0_duration, + # aspirate1_duration, + # staging1_duration, + # dispense1_duration, + # ) def _generatelhtasks_twodrops_together( self, @@ -826,6 +851,105 @@ def _generatelhtasks_twodrops_separate( return headstart, liquidhandlertasks + def _generatelhtasks_twodrops_onlyrightpipette( + self, + t0, + drop0, + drop1, + aspirate0_duration, + staging0_duration, + dispense0_duration, + aspirate1_duration, + staging1_duration, + dispense1_duration, + ): + """Aspirate, stage, and dispense first drop before aspirating the second drop.""" + liquidhandlertasks = {} + + # timings + headstart = ( + aspirate0_duration + staging0_duration + dispense0_duration - drop0["time"] + ) + headstart = max(headstart, 0) + aspirate0_time = ( + t0 + + drop0["time"] + + headstart + - aspirate0_duration + - staging0_duration + - dispense0_duration + ) + dispense0_time = t0 + drop0["time"] + headstart - dispense0_duration + aspirate1_time = ( + t0 + + drop1["time"] + + headstart + - aspirate1_duration + - staging1_duration + - dispense1_duration + ) + dispense1_time = t0 + drop1["time"] + headstart - dispense1_duration + + # build tasklist + liquidhandlertasks[ + "aspirate_solution0" + ] = self.liquidhandler.aspirate_for_spincoating( + nist_time=aspirate0_time, + tray=drop0["solution"]["well"]["labware"], + well=drop0["solution"]["well"]["well"], + volume=drop0["volume"], + pipette="perovskite", + slow_retract=drop0["slow_retract"], + air_gap=drop0["air_gap"], + touch_tip=drop0["touch_tip"], + pre_mix=drop0["pre_mix"], + reuse_tip=drop0["reuse_tip"], + ) + liquidhandlertasks["stage_solution0"] = self.liquidhandler.stage_perovskite( + nist_time=aspirate0_time + 0.1, # immediately after aspiration + slow_travel=drop0["slow_travel"], + ) + liquidhandlertasks["dispense_solution0"] = self.liquidhandler.drop_perovskite( + nist_time=dispense0_time, + height=drop0["height"], + rate=drop0["rate"], + slow_travel=drop0["slow_travel"], + ) + + liquidhandlertasks["drop_tip_from_dispense0"] = self.liquidhandler.cleanup( + nist_time=dispense0_time + 0.1 + ) + + liquidhandlertasks[ + "aspirate_solution1" + ] = self.liquidhandler.aspirate_for_spincoating( + nist_time=aspirate1_time, + tray=drop1["solution"]["well"]["labware"], + well=drop1["solution"]["well"]["well"], + volume=drop1["volume"], + pipette="perovskite", + slow_retract=drop1["slow_retract"], + air_gap=drop1["air_gap"], + touch_tip=drop1["touch_tip"], + pre_mix=drop1["pre_mix"], + reuse_tip=drop1["reuse_tip"], + ) + liquidhandlertasks["stage_solution1"] = self.liquidhandler.stage_perovskite( + nist_time=aspirate1_time + 0.1, # immediately after aspiration + slow_travel=drop1["slow_travel"], + ) + + liquidhandlertasks["dispense_solution1"] = self.liquidhandler.drop_perovskite( + nist_time=dispense1_time, + height=drop1["height"], + rate=drop1["rate"], + slow_travel=drop1["slow_travel"], + ) + + self.liquidhandler.cleanup(nist_time=dispense1_time + 0.5) + + return headstart, liquidhandlertasks + def spincoat(self, sample, details): """executes a series of spin coating steps. A final "stop" step is inserted at the end to bring the rotor to a halt. From f574bf7dc0b7540c0bf4f62aea8ad3e3b67ee988 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Tue, 9 Aug 2022 13:22:28 -0700 Subject: [PATCH 02/11] Update hardwareconstants.yaml --- frgpascal/hardware/hardwareconstants.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frgpascal/hardware/hardwareconstants.yaml b/frgpascal/hardware/hardwareconstants.yaml index 3d7af2f2..c568ec09 100644 --- a/frgpascal/hardware/hardwareconstants.yaml +++ b/frgpascal/hardware/hardwareconstants.yaml @@ -102,7 +102,7 @@ liquidhandler: travel_slow: 4 #time to move if slow_travel active dispensedelay: 0.8 # time (seconds) between initiating a dispense command and the liquid beginning to hit the spincoating sample dispensedelay_slow: 1 #time to dispense *from staging position* if slow_travel active - droptipintotrash: 10 #time to drop a tip into the trash and reset the pipette to be ready for further instructions + droptipintotrash: 18 #time to drop a tip into the trash and reset the pipette to be ready for further instructions # dispense_delay: 1 # aspiration_delay: 22.5 # time (seconds) to perform an aspiration and stage the pipette # staging_delay: 1.5 # time (seconds) to move pipette into position for drop staging From 2c60fab3e80ce5729e553a276a7def17d91ebd24 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Thu, 11 Aug 2022 12:12:26 -0700 Subject: [PATCH 03/11] calibrations --- .../calibrations/Hotplate1_calibration.yaml | 10 ++++---- .../calibrations/Tray1_calibration.yaml | 24 +++++++++---------- .../calibrations/Tray2_calibration.yaml | 24 +++++++++---------- .../characterizationaxis_calibration.yaml | 6 ++--- .../calibrations/spincoater_calibration.yaml | 6 ++--- frgpascal/hardware/hardwareconstants.yaml | 2 +- frgpascal/hardware/liquidhandler.py | 20 ++++++---------- 7 files changed, 43 insertions(+), 49 deletions(-) diff --git a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml index beea195c..af3acf97 100644 --- a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml @@ -1,15 +1,15 @@ p0: - - 214.4 - - 89.3 + - 73.3 - 52.5 - - 274.4 - - 89.3 + - 73.3 - 52.5 - - 274.4 - - 149.3 - - 52.6 + - 133.3 + - 52.5 - - 214.4 - - 149.3 + - 133.3 - 52.5 p1: - - 0.0 diff --git a/frgpascal/hardware/calibrations/Tray1_calibration.yaml b/frgpascal/hardware/calibrations/Tray1_calibration.yaml index 0d2aa4b7..81633059 100644 --- a/frgpascal/hardware/calibrations/Tray1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray1_calibration.yaml @@ -1,16 +1,16 @@ p0: -- - 492.0 - - 35.5 - - 57.2 -- - 492.0 - - 160.7 - - 57.2 -- - 546.0 - - 160.7 - - 57.2 -- - 546.0 - - 35.5 - - 57.2 +- - 494.0 + - 19.0 + - 57.7 +- - 494.0 + - 144.2 + - 57.7 +- - 548.0 + - 144.2 + - 57.7 +- - 548.0 + - 19.0 + - 57.7 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/Tray2_calibration.yaml b/frgpascal/hardware/calibrations/Tray2_calibration.yaml index 59190c17..02bf0f75 100644 --- a/frgpascal/hardware/calibrations/Tray2_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray2_calibration.yaml @@ -1,16 +1,16 @@ p0: -- - 405.1 - - 35.5 - - 57.1 -- - 405.1 - - 160.7 - - 57.1 -- - 459.1 - - 160.7 - - 57.1 -- - 459.1 - - 35.5 - - 57.1 +- - 407.3 + - 19.7 + - 57.2 +- - 407.3 + - 144.9 + - 57.2 +- - 461.3 + - 144.9 + - 57.2 +- - 461.3 + - 19.7 + - 57.2 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml index 62d421f2..9921a864 100644 --- a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml +++ b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml @@ -1,3 +1,3 @@ -- 562.1 -- 264.1 -- 52.3 +- 563.6 +- 247.7 +- 52.7 diff --git a/frgpascal/hardware/calibrations/spincoater_calibration.yaml b/frgpascal/hardware/calibrations/spincoater_calibration.yaml index 954a10e7..16b99654 100644 --- a/frgpascal/hardware/calibrations/spincoater_calibration.yaml +++ b/frgpascal/hardware/calibrations/spincoater_calibration.yaml @@ -1,3 +1,3 @@ -- 0.6 -- 28.7 -- 54.3 +- 2 +- 11.5 +- 54.1 diff --git a/frgpascal/hardware/hardwareconstants.yaml b/frgpascal/hardware/hardwareconstants.yaml index c568ec09..d9b8ab6c 100644 --- a/frgpascal/hardware/hardwareconstants.yaml +++ b/frgpascal/hardware/hardwareconstants.yaml @@ -102,7 +102,7 @@ liquidhandler: travel_slow: 4 #time to move if slow_travel active dispensedelay: 0.8 # time (seconds) between initiating a dispense command and the liquid beginning to hit the spincoating sample dispensedelay_slow: 1 #time to dispense *from staging position* if slow_travel active - droptipintotrash: 18 #time to drop a tip into the trash and reset the pipette to be ready for further instructions + droptipintotrash: 26 #time to drop a tip into the trash and reset the pipette to be ready for further instructions # dispense_delay: 1 # aspiration_delay: 22.5 # time (seconds) to perform an aspiration and stage the pipette # staging_delay: 1.5 # time (seconds) to move pipette into position for drop staging diff --git a/frgpascal/hardware/liquidhandler.py b/frgpascal/hardware/liquidhandler.py index af3c7c23..45147fd3 100644 --- a/frgpascal/hardware/liquidhandler.py +++ b/frgpascal/hardware/liquidhandler.py @@ -17,7 +17,7 @@ tc = constants["timings"] -def expected_timings(drop, drop_previous_tip=False): +def expected_timings(drop, drop_previous_tip=True): """Estimate the duration (seconds) liquid aspiration will require for a given drop Args: @@ -34,10 +34,10 @@ def expected_timings(drop, drop_previous_tip=False): ) # overhead time for aspirate+dispense cycles to mix solution prior to final aspiration if drop["touch_tip"]: aspirate_duration += ac["touchtip"] - if drop["slow_retract"]: - aspirate_duration += ac["slowretract"] - if drop["air_gap"]: - aspirate_duration += ac["airgap"] + # if drop["slow_retract"]: + # aspirate_duration += ac["slowretract"] + # if drop["air_gap"]: + # aspirate_duration += ac["airgap"] if drop_previous_tip: aspirate_duration += tc["droptipintotrash"] if drop["slow_travel"]: @@ -148,19 +148,13 @@ def stage_antisolvent( def clear_chuck(self, taskid=None, nist_time=None, **kwargs): taskid = self.server.add_to_queue( - task="clear_chuck", - taskid=taskid, - nist_time=nist_time, - **kwargs, + task="clear_chuck", taskid=taskid, nist_time=nist_time, **kwargs, ) return taskid def cleanup(self, taskid=None, nist_time=None, **kwargs): taskid = self.server.add_to_queue( - task="cleanup", - taskid=taskid, - nist_time=nist_time, - **kwargs, + task="cleanup", taskid=taskid, nist_time=nist_time, **kwargs, ) return taskid From 600b03d2d325d686b986a4e1db29f4a813beb58b Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Mon, 15 Aug 2022 16:41:53 -0700 Subject: [PATCH 04/11] calibrations --- .../calibrations/Hotplate1_calibration.yaml | 8 +++---- .../calibrations/Hotplate2_calibration.yaml | 8 +++---- .../calibrations/Tray1_calibration.yaml | 16 ++++++------- .../calibrations/Tray2_calibration.yaml | 24 +++++++++---------- .../characterizationaxis_calibration.yaml | 6 ++--- .../calibrations/spincoater_calibration.yaml | 6 ++--- 6 files changed, 34 insertions(+), 34 deletions(-) diff --git a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml index af3acf97..91659d3c 100644 --- a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml @@ -1,16 +1,16 @@ p0: - - 214.4 - 73.3 - - 52.5 + - 52.3 - - 274.4 - 73.3 - - 52.5 + - 52.3 - - 274.4 - 133.3 - - 52.5 + - 52.3 - - 214.4 - 133.3 - - 52.5 + - 52.3 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml b/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml index 81b6a1e1..0e49aecb 100644 --- a/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml +++ b/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml @@ -1,16 +1,16 @@ p0: - - 214.2 - 216.3 - - 51.4 + - 51.0 - - 274.2 - 216.3 - - 51.7 + - 51.3 - - 274.2 - 276.3 - - 51.9 + - 51.3 - - 214.2 - 276.3 - - 51.7 + - 51.3 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/Tray1_calibration.yaml b/frgpascal/hardware/calibrations/Tray1_calibration.yaml index 81633059..2ea4b94e 100644 --- a/frgpascal/hardware/calibrations/Tray1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray1_calibration.yaml @@ -1,16 +1,16 @@ p0: - - 494.0 - - 19.0 - - 57.7 + - 18.5 + - 57.9 - - 494.0 - - 144.2 - - 57.7 + - 143.7 + - 57.9 - - 548.0 - - 144.2 - - 57.7 + - 143.7 + - 57.9 - - 548.0 - - 19.0 - - 57.7 + - 18.5 + - 57.9 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/Tray2_calibration.yaml b/frgpascal/hardware/calibrations/Tray2_calibration.yaml index 02bf0f75..3c5c0b70 100644 --- a/frgpascal/hardware/calibrations/Tray2_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray2_calibration.yaml @@ -1,16 +1,16 @@ p0: -- - 407.3 - - 19.7 - - 57.2 -- - 407.3 - - 144.9 - - 57.2 -- - 461.3 - - 144.9 - - 57.2 -- - 461.3 - - 19.7 - - 57.2 +- - 407.5 + - 19.5 + - 57.6 +- - 407.5 + - 144.7 + - 57.6 +- - 461.5 + - 144.7 + - 57.6 +- - 461.5 + - 19.5 + - 57.6 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml index 9921a864..bdc03f05 100644 --- a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml +++ b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml @@ -1,3 +1,3 @@ -- 563.6 -- 247.7 -- 52.7 +- 563.5 +- 247.9 +- 52.5 diff --git a/frgpascal/hardware/calibrations/spincoater_calibration.yaml b/frgpascal/hardware/calibrations/spincoater_calibration.yaml index 16b99654..372e0539 100644 --- a/frgpascal/hardware/calibrations/spincoater_calibration.yaml +++ b/frgpascal/hardware/calibrations/spincoater_calibration.yaml @@ -1,3 +1,3 @@ -- 2 -- 11.5 -- 54.1 +- 2.3 +- 11.2 +- 55 From 06f4656027a7a8963c8f0fad23df6b051e6d2708 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Mon, 15 Aug 2022 16:44:29 -0700 Subject: [PATCH 05/11] Update hardwareconstants.yaml --- frgpascal/hardware/hardwareconstants.yaml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/frgpascal/hardware/hardwareconstants.yaml b/frgpascal/hardware/hardwareconstants.yaml index d9b8ab6c..455ec26a 100644 --- a/frgpascal/hardware/hardwareconstants.yaml +++ b/frgpascal/hardware/hardwareconstants.yaml @@ -5,7 +5,7 @@ gantry: device_identifiers: vid: 7855 #vendor id, converted from hex to integer. WINDOWS ONLY can be determined by https://interworks.com/blog/ijahanshahi/2014/07/18/identify-vid-pid-usb-device/ pid: 4 #product id, converted from hex to integer. WINDOWS ONLY. see link above - location: "1-1.1.1.2" #WINDOWS + location: "1-10" #WINDOWS pollingrate: 0.05 #delay (seconds) between sending a command and reading a response timeout: 15 #max time (seconds) allotted to gantry motion before flagging a movement error @@ -102,7 +102,6 @@ liquidhandler: travel_slow: 4 #time to move if slow_travel active dispensedelay: 0.8 # time (seconds) between initiating a dispense command and the liquid beginning to hit the spincoating sample dispensedelay_slow: 1 #time to dispense *from staging position* if slow_travel active - droptipintotrash: 26 #time to drop a tip into the trash and reset the pipette to be ready for further instructions # dispense_delay: 1 # aspiration_delay: 22.5 # time (seconds) to perform an aspiration and stage the pipette # staging_delay: 1.5 # time (seconds) to move pipette into position for drop staging @@ -118,9 +117,9 @@ spincoater: # communication device_identifiers: #for the arduino controlling the vacuum solenoid # serialid: #LINUX ONLY "558383339323513140D1" #hardware ID of spincoater arduino. Used to find correct COM port - vid: 9025 #WINDOWS ONLY - pid: 67 #WINDOWS ONLY - serial_number: '55838333932351108212' + vid: 2341 #WINDOWS ONLY + pid: 0043 #WINDOWS ONLY + serial_number: '95032303737351B01170' switchindex: "vacuumsolenoid" #key for switchbox relay that controls the vacuum solenoid (look at line ~32 in frgpascal.hardware.switchbox) communication_interval: 0.1 #delay (seconds) between communication to the odrive # movement @@ -137,7 +136,7 @@ characterizationline: device_identifiers: vid: 7855 #WINDOWS ONLY pid: 4 #WINDOWS ONLY - location: "1-1.1.4" #WINDOWS + GANTRY ONLY + location: "1-1.3" #WINDOWS + GANTRY ONLY pollingrate: 0.05 timeout: 20 #max time (seconds) to allow movement before flagging an error positiontolerance: 0.05 #tolerance (mm) for movements to be considered complete From ec397cad85ca59802872f18e194b9900fac1b084 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Mon, 15 Aug 2022 16:58:52 -0700 Subject: [PATCH 06/11] forgot to add droptip setting --- frgpascal/hardware/hardwareconstants.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/frgpascal/hardware/hardwareconstants.yaml b/frgpascal/hardware/hardwareconstants.yaml index 455ec26a..6e907e3c 100644 --- a/frgpascal/hardware/hardwareconstants.yaml +++ b/frgpascal/hardware/hardwareconstants.yaml @@ -102,6 +102,7 @@ liquidhandler: travel_slow: 4 #time to move if slow_travel active dispensedelay: 0.8 # time (seconds) between initiating a dispense command and the liquid beginning to hit the spincoating sample dispensedelay_slow: 1 #time to dispense *from staging position* if slow_travel active + droptipintotrash: 26 #time to drop a tip into the trash and reset the pipette to be ready for further instructions # dispense_delay: 1 # aspiration_delay: 22.5 # time (seconds) to perform an aspiration and stage the pipette # staging_delay: 1.5 # time (seconds) to move pipette into position for drop staging From 3091646fde55b3104ba0b62960ebc15cf38d1cfa Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Tue, 16 Aug 2022 14:12:46 -0700 Subject: [PATCH 07/11] update calibration --- .../hardware/calibrations/Hotplate1_calibration.yaml | 8 ++++---- .../hardware/calibrations/spincoater_calibration.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml index 91659d3c..324bfa4d 100644 --- a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml @@ -1,16 +1,16 @@ p0: - - 214.4 - 73.3 - - 52.3 + - 52.6 - - 274.4 - 73.3 - - 52.3 + - 52.6 - - 274.4 - 133.3 - - 52.3 + - 52.6 - - 214.4 - 133.3 - - 52.3 + - 52.6 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/spincoater_calibration.yaml b/frgpascal/hardware/calibrations/spincoater_calibration.yaml index 372e0539..b0159c5c 100644 --- a/frgpascal/hardware/calibrations/spincoater_calibration.yaml +++ b/frgpascal/hardware/calibrations/spincoater_calibration.yaml @@ -1,3 +1,3 @@ - 2.3 -- 11.2 -- 55 +- 11.3 +- 54.5 From 3aa5a4271235f1c27a87ea54862a666dafc5c2b2 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Mon, 22 Aug 2022 16:13:46 -0700 Subject: [PATCH 08/11] update calibrations --- .../calibrations/Hotplate1_calibration.yaml | 8 ++++---- .../calibrations/Hotplate2_calibration.yaml | 8 ++++---- .../calibrations/Tray1_calibration.yaml | 8 ++++---- .../calibrations/Tray2_calibration.yaml | 20 +++++++++---------- .../characterizationaxis_calibration.yaml | 4 ++-- .../calibrations/spincoater_calibration.yaml | 6 +++--- 6 files changed, 27 insertions(+), 27 deletions(-) diff --git a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml index 324bfa4d..91659d3c 100644 --- a/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Hotplate1_calibration.yaml @@ -1,16 +1,16 @@ p0: - - 214.4 - 73.3 - - 52.6 + - 52.3 - - 274.4 - 73.3 - - 52.6 + - 52.3 - - 274.4 - 133.3 - - 52.6 + - 52.3 - - 214.4 - 133.3 - - 52.6 + - 52.3 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml b/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml index 0e49aecb..3c14084c 100644 --- a/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml +++ b/frgpascal/hardware/calibrations/Hotplate2_calibration.yaml @@ -1,16 +1,16 @@ p0: - - 214.2 - 216.3 - - 51.0 + - 51.2 - - 274.2 - 216.3 - - 51.3 + - 51.2 - - 274.2 - 276.3 - - 51.3 + - 51.2 - - 214.2 - 276.3 - - 51.3 + - 51.2 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/Tray1_calibration.yaml b/frgpascal/hardware/calibrations/Tray1_calibration.yaml index 2ea4b94e..df9531d8 100644 --- a/frgpascal/hardware/calibrations/Tray1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray1_calibration.yaml @@ -1,16 +1,16 @@ p0: - - 494.0 - 18.5 - - 57.9 + - 57.5 - - 494.0 - 143.7 - - 57.9 + - 57.5 - - 548.0 - 143.7 - - 57.9 + - 57.5 - - 548.0 - 18.5 - - 57.9 + - 57.5 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/Tray2_calibration.yaml b/frgpascal/hardware/calibrations/Tray2_calibration.yaml index 3c5c0b70..75dee59a 100644 --- a/frgpascal/hardware/calibrations/Tray2_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray2_calibration.yaml @@ -1,16 +1,16 @@ p0: -- - 407.5 - - 19.5 +- - 406.8 + - 20.0 + - 57.4 +- - 407.1 + - 145.2 - 57.6 -- - 407.5 - - 144.7 - - 57.6 -- - 461.5 - - 144.7 - - 57.6 -- - 461.5 - - 19.5 +- - 461.1 + - 145.2 - 57.6 +- - 461.1 + - 20.0 + - 57.2 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml index bdc03f05..fb8738d5 100644 --- a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml +++ b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml @@ -1,3 +1,3 @@ -- 563.5 -- 247.9 +- 563.0 +- 247.7 - 52.5 diff --git a/frgpascal/hardware/calibrations/spincoater_calibration.yaml b/frgpascal/hardware/calibrations/spincoater_calibration.yaml index b0159c5c..6705d3f1 100644 --- a/frgpascal/hardware/calibrations/spincoater_calibration.yaml +++ b/frgpascal/hardware/calibrations/spincoater_calibration.yaml @@ -1,3 +1,3 @@ -- 2.3 -- 11.3 -- 54.5 +- 2.2 +- 11.2 +- 55 From b264da9ba57c6dd7adb7d7a75a10e84bf7246506 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Mon, 22 Aug 2022 17:09:54 -0700 Subject: [PATCH 09/11] update calibrations --- .../hardware/calibrations/Tray1_calibration.yaml | 16 ++++++++-------- .../characterizationaxis_calibration.yaml | 4 ++-- .../calibrations/spincoater_calibration.yaml | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frgpascal/hardware/calibrations/Tray1_calibration.yaml b/frgpascal/hardware/calibrations/Tray1_calibration.yaml index df9531d8..298fdccf 100644 --- a/frgpascal/hardware/calibrations/Tray1_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray1_calibration.yaml @@ -1,15 +1,15 @@ p0: -- - 494.0 - - 18.5 +- - 494.2 + - 18.3 - 57.5 -- - 494.0 - - 143.7 +- - 494.2 + - 143.5 - 57.5 -- - 548.0 - - 143.7 +- - 548.2 + - 143.5 - 57.5 -- - 548.0 - - 18.5 +- - 548.2 + - 18.3 - 57.5 p1: - - 0.0 diff --git a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml index fb8738d5..705e45ff 100644 --- a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml +++ b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml @@ -1,3 +1,3 @@ -- 563.0 -- 247.7 +- 563.3 +- 247.8 - 52.5 diff --git a/frgpascal/hardware/calibrations/spincoater_calibration.yaml b/frgpascal/hardware/calibrations/spincoater_calibration.yaml index 6705d3f1..372e0539 100644 --- a/frgpascal/hardware/calibrations/spincoater_calibration.yaml +++ b/frgpascal/hardware/calibrations/spincoater_calibration.yaml @@ -1,3 +1,3 @@ -- 2.2 +- 2.3 - 11.2 - 55 From 1913caaf3c1dec006cc24bf62aa9527741b84cb7 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Mon, 22 Aug 2022 17:15:04 -0700 Subject: [PATCH 10/11] Update characterizationaxis_calibration.yaml --- .../hardware/calibrations/characterizationaxis_calibration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml index 705e45ff..acdc9053 100644 --- a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml +++ b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml @@ -1,3 +1,3 @@ - 563.3 - 247.8 -- 52.5 +- 52.6 From 384cc58969d57252cd6456a22c47890a235ba579 Mon Sep 17 00:00:00 2001 From: Deniz Cakan Date: Wed, 24 Aug 2022 10:15:06 -0700 Subject: [PATCH 11/11] calibrations --- .../calibrations/Tray2_calibration.yaml | 20 +++++++++---------- .../characterizationaxis_calibration.yaml | 4 ++-- .../calibrations/spincoater_calibration.yaml | 6 +++--- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/frgpascal/hardware/calibrations/Tray2_calibration.yaml b/frgpascal/hardware/calibrations/Tray2_calibration.yaml index 75dee59a..2e38b7ea 100644 --- a/frgpascal/hardware/calibrations/Tray2_calibration.yaml +++ b/frgpascal/hardware/calibrations/Tray2_calibration.yaml @@ -1,16 +1,16 @@ p0: -- - 406.8 - - 20.0 - - 57.4 -- - 407.1 - - 145.2 +- - 407.3 + - 19.9 - 57.6 -- - 461.1 - - 145.2 +- - 407.3 + - 145.1 + - 57.6 +- - 461.3 + - 145.1 + - 57.6 +- - 461.3 + - 19.9 - 57.6 -- - 461.1 - - 20.0 - - 57.2 p1: - - 0.0 - 0.0 diff --git a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml index acdc9053..d5ffcdad 100644 --- a/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml +++ b/frgpascal/hardware/calibrations/characterizationaxis_calibration.yaml @@ -1,3 +1,3 @@ - 563.3 -- 247.8 -- 52.6 +- 247.7 +- 52.7 diff --git a/frgpascal/hardware/calibrations/spincoater_calibration.yaml b/frgpascal/hardware/calibrations/spincoater_calibration.yaml index 372e0539..5541cc48 100644 --- a/frgpascal/hardware/calibrations/spincoater_calibration.yaml +++ b/frgpascal/hardware/calibrations/spincoater_calibration.yaml @@ -1,3 +1,3 @@ -- 2.3 -- 11.2 -- 55 +- 2.0 +- 11.5 +- 54.8