@@ -220,7 +220,7 @@ class IntroConfirm3(SessionStep):
220220 def render (self , ctx : SessionContext ) -> CalibrationStep :
221221 step = steps .info (
222222 "Keep hardware safe" ,
223- "Move the vial and output end of the tubing away from the Pioreactor hardware. " ,
223+ "Keep the vial and tubing away from the Pioreactor hardware during this protocol " ,
224224 )
225225 step .metadata = {
226226 "image" : {
@@ -323,7 +323,31 @@ def advance(self, ctx: SessionContext) -> SessionStep | None:
323323 dc = ctx .inputs .float ("dc" , minimum = 0 , maximum = 100 , default = 100.0 )
324324 ctx .data ["hz" ] = hz
325325 ctx .data ["dc" ] = dc
326- return PrimePumpDuration ()
326+ return TubingIntoWater ()
327+
328+
329+ class TubingIntoWater (SessionStep ):
330+ step_id = "tubing_into_water"
331+
332+ def render (self , ctx : SessionContext ) -> CalibrationStep :
333+ pump_device = _get_pump_device (ctx )
334+ step = steps .info (
335+ f"Place tubing ends in water ({ pump_device } )" ,
336+ "Place both ends of the tubing into the larger container of water before priming." ,
337+ )
338+ step .metadata = {
339+ "image" : {
340+ "src" : "/static/svgs/tubing-ends-in-water.svg" ,
341+ "alt" : "Place both ends of the tubing into the larger water container." ,
342+ "caption" : "Both tubing ends should sit below the water line." ,
343+ }
344+ }
345+ return step
346+
347+ def advance (self , ctx : SessionContext ) -> SessionStep | None :
348+ if ctx .inputs .has_inputs :
349+ return PrimePumpDuration ()
350+ return None
327351
328352
329353class PrimePumpDuration (SessionStep ):
@@ -351,7 +375,7 @@ def render(self, ctx: SessionContext) -> CalibrationStep:
351375 tracer_duration = float (ctx .data .get ("tracer_duration_s" , 1.0 ))
352376 step = steps .action (
353377 "Tracer run" ,
354- f"Running the pump for { tracer_duration :.2f} seconds. While running, hold the tube above the vial. Please measure the volume expelled." ,
378+ f"Running the pump for { tracer_duration :.2f} seconds. While running, hold the tube above the vial. Please measure the volume expelled. Ready? " ,
355379 )
356380 step .metadata = {
357381 "image" : {
@@ -404,7 +428,7 @@ def render(self, ctx: SessionContext) -> CalibrationStep:
404428 duration = float (durations [test_index ])
405429 step = steps .action (
406430 "Dispense" ,
407- f"Next: running the pump for { duration :.2f} seconds. Please measure the volume expelled." ,
431+ f"Next: running the pump for { duration :.2f} seconds. Please measure the volume expelled. Ready? " ,
408432 )
409433 if results :
410434 step .metadata = {
@@ -514,6 +538,7 @@ def advance(self, ctx: SessionContext) -> SessionStep | None:
514538 IntroConfirm1 .step_id : IntroConfirm1 ,
515539 IntroConfirm2 .step_id : IntroConfirm2 ,
516540 IntroConfirm3 .step_id : IntroConfirm3 ,
541+ TubingIntoWater .step_id : TubingIntoWater ,
517542 NameInput .step_id : NameInput ,
518543 NameOverwriteConfirm .step_id : NameOverwriteConfirm ,
519544 VolumeTargets .step_id : VolumeTargets ,
0 commit comments