opentrons 8.7.0a7__py3-none-any.whl → 8.7.0a9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of opentrons might be problematic. Click here for more details.

Files changed (147) hide show
  1. opentrons/_version.py +2 -2
  2. opentrons/drivers/asyncio/communication/serial_connection.py +55 -129
  3. opentrons/drivers/flex_stacker/driver.py +6 -1
  4. opentrons/drivers/heater_shaker/abstract.py +0 -5
  5. opentrons/drivers/heater_shaker/driver.py +0 -10
  6. opentrons/drivers/heater_shaker/simulator.py +0 -4
  7. opentrons/drivers/thermocycler/abstract.py +0 -6
  8. opentrons/drivers/thermocycler/driver.py +10 -61
  9. opentrons/drivers/thermocycler/simulator.py +0 -6
  10. opentrons/hardware_control/api.py +5 -24
  11. opentrons/hardware_control/backends/controller.py +2 -8
  12. opentrons/hardware_control/backends/flex_protocol.py +1 -0
  13. opentrons/hardware_control/backends/ot3controller.py +3 -3
  14. opentrons/hardware_control/backends/ot3simulator.py +2 -2
  15. opentrons/hardware_control/backends/simulator.py +1 -2
  16. opentrons/hardware_control/backends/subsystem_manager.py +2 -5
  17. opentrons/hardware_control/emulation/abstract_emulator.py +4 -6
  18. opentrons/hardware_control/emulation/connection_handler.py +5 -8
  19. opentrons/hardware_control/emulation/heater_shaker.py +3 -12
  20. opentrons/hardware_control/emulation/settings.py +1 -1
  21. opentrons/hardware_control/emulation/thermocycler.py +15 -67
  22. opentrons/hardware_control/module_control.py +8 -82
  23. opentrons/hardware_control/modules/__init__.py +0 -3
  24. opentrons/hardware_control/modules/absorbance_reader.py +4 -11
  25. opentrons/hardware_control/modules/flex_stacker.py +9 -38
  26. opentrons/hardware_control/modules/heater_shaker.py +5 -42
  27. opentrons/hardware_control/modules/magdeck.py +4 -8
  28. opentrons/hardware_control/modules/mod_abc.py +5 -13
  29. opentrons/hardware_control/modules/tempdeck.py +5 -25
  30. opentrons/hardware_control/modules/thermocycler.py +11 -68
  31. opentrons/hardware_control/modules/types.py +1 -20
  32. opentrons/hardware_control/modules/utils.py +4 -11
  33. opentrons/hardware_control/nozzle_manager.py +0 -3
  34. opentrons/hardware_control/ot3api.py +7 -26
  35. opentrons/hardware_control/poller.py +8 -22
  36. opentrons/hardware_control/protocols/gripper_controller.py +1 -0
  37. opentrons/hardware_control/scripts/update_module_fw.py +0 -5
  38. opentrons/hardware_control/types.py +2 -31
  39. opentrons/legacy_commands/module_commands.py +0 -23
  40. opentrons/legacy_commands/protocol_commands.py +0 -20
  41. opentrons/legacy_commands/types.py +0 -80
  42. opentrons/motion_planning/deck_conflict.py +12 -17
  43. opentrons/motion_planning/waypoints.py +29 -15
  44. opentrons/protocol_api/__init__.py +1 -5
  45. opentrons/protocol_api/_types.py +1 -6
  46. opentrons/protocol_api/core/common.py +1 -3
  47. opentrons/protocol_api/core/engine/_default_labware_versions.py +11 -32
  48. opentrons/protocol_api/core/engine/labware.py +1 -8
  49. opentrons/protocol_api/core/engine/module_core.py +8 -75
  50. opentrons/protocol_api/core/engine/protocol.py +1 -18
  51. opentrons/protocol_api/core/engine/well.py +0 -8
  52. opentrons/protocol_api/core/legacy/legacy_module_core.py +4 -24
  53. opentrons/protocol_api/core/legacy/legacy_protocol_core.py +1 -11
  54. opentrons/protocol_api/core/legacy/legacy_well_core.py +0 -4
  55. opentrons/protocol_api/core/legacy_simulator/legacy_protocol_core.py +2 -14
  56. opentrons/protocol_api/core/module.py +4 -37
  57. opentrons/protocol_api/core/protocol.py +2 -11
  58. opentrons/protocol_api/core/well.py +0 -4
  59. opentrons/protocol_api/labware.py +0 -5
  60. opentrons/protocol_api/module_contexts.py +61 -122
  61. opentrons/protocol_api/protocol_context.py +4 -26
  62. opentrons/protocol_api/robot_context.py +21 -38
  63. opentrons/protocol_api/validation.py +1 -6
  64. opentrons/protocol_engine/actions/__init__.py +2 -4
  65. opentrons/protocol_engine/actions/actions.py +9 -22
  66. opentrons/protocol_engine/clients/sync_client.py +7 -42
  67. opentrons/protocol_engine/commands/__init__.py +0 -42
  68. opentrons/protocol_engine/commands/absorbance_reader/close_lid.py +15 -2
  69. opentrons/protocol_engine/commands/absorbance_reader/open_lid.py +15 -2
  70. opentrons/protocol_engine/commands/aspirate.py +0 -1
  71. opentrons/protocol_engine/commands/command.py +0 -1
  72. opentrons/protocol_engine/commands/command_unions.py +0 -49
  73. opentrons/protocol_engine/commands/dispense.py +0 -1
  74. opentrons/protocol_engine/commands/drop_tip.py +8 -32
  75. opentrons/protocol_engine/commands/heater_shaker/__init__.py +0 -14
  76. opentrons/protocol_engine/commands/heater_shaker/set_and_wait_for_shake_speed.py +4 -5
  77. opentrons/protocol_engine/commands/heater_shaker/set_target_temperature.py +5 -31
  78. opentrons/protocol_engine/commands/movement_common.py +0 -2
  79. opentrons/protocol_engine/commands/pick_up_tip.py +11 -21
  80. opentrons/protocol_engine/commands/temperature_module/set_target_temperature.py +7 -38
  81. opentrons/protocol_engine/commands/thermocycler/__init__.py +0 -16
  82. opentrons/protocol_engine/commands/thermocycler/run_extended_profile.py +0 -6
  83. opentrons/protocol_engine/commands/thermocycler/run_profile.py +0 -8
  84. opentrons/protocol_engine/commands/thermocycler/set_target_block_temperature.py +6 -40
  85. opentrons/protocol_engine/commands/thermocycler/set_target_lid_temperature.py +5 -29
  86. opentrons/protocol_engine/commands/touch_tip.py +1 -1
  87. opentrons/protocol_engine/commands/unsafe/unsafe_place_labware.py +22 -6
  88. opentrons/protocol_engine/errors/__init__.py +0 -4
  89. opentrons/protocol_engine/errors/exceptions.py +0 -55
  90. opentrons/protocol_engine/execution/__init__.py +0 -2
  91. opentrons/protocol_engine/execution/command_executor.py +0 -8
  92. opentrons/protocol_engine/execution/create_queue_worker.py +1 -5
  93. opentrons/protocol_engine/execution/labware_movement.py +21 -10
  94. opentrons/protocol_engine/execution/movement.py +0 -2
  95. opentrons/protocol_engine/execution/queue_worker.py +0 -4
  96. opentrons/protocol_engine/execution/run_control.py +0 -8
  97. opentrons/protocol_engine/protocol_engine.py +34 -75
  98. opentrons/protocol_engine/resources/__init__.py +0 -2
  99. opentrons/protocol_engine/resources/deck_configuration_provider.py +0 -7
  100. opentrons/protocol_engine/resources/labware_validation.py +6 -10
  101. opentrons/protocol_engine/state/_labware_origin_math.py +636 -0
  102. opentrons/protocol_engine/state/_well_math.py +18 -60
  103. opentrons/protocol_engine/state/addressable_areas.py +0 -2
  104. opentrons/protocol_engine/state/commands.py +11 -14
  105. opentrons/protocol_engine/state/geometry.py +374 -213
  106. opentrons/protocol_engine/state/labware.py +102 -52
  107. opentrons/protocol_engine/state/module_substates/thermocycler_module_substate.py +0 -37
  108. opentrons/protocol_engine/state/modules.py +8 -21
  109. opentrons/protocol_engine/state/motion.py +0 -44
  110. opentrons/protocol_engine/state/state.py +0 -14
  111. opentrons/protocol_engine/state/state_summary.py +0 -2
  112. opentrons/protocol_engine/state/tips.py +258 -177
  113. opentrons/protocol_engine/state/update_types.py +9 -16
  114. opentrons/protocol_engine/types/__init__.py +3 -9
  115. opentrons/protocol_engine/types/deck_configuration.py +1 -5
  116. opentrons/protocol_engine/types/instrument.py +1 -8
  117. opentrons/protocol_engine/types/labware.py +13 -1
  118. opentrons/protocol_engine/types/module.py +0 -10
  119. opentrons/protocol_engine/types/tip.py +0 -9
  120. opentrons/protocol_runner/create_simulating_orchestrator.py +2 -29
  121. opentrons/protocol_runner/run_orchestrator.py +2 -18
  122. opentrons/protocols/api_support/definitions.py +1 -1
  123. opentrons/protocols/api_support/types.py +1 -2
  124. opentrons/simulate.py +15 -48
  125. opentrons/system/camera.py +1 -1
  126. {opentrons-8.7.0a7.dist-info → opentrons-8.7.0a9.dist-info}/METADATA +4 -4
  127. {opentrons-8.7.0a7.dist-info → opentrons-8.7.0a9.dist-info}/RECORD +130 -146
  128. opentrons/protocol_api/core/engine/tasks.py +0 -48
  129. opentrons/protocol_api/core/legacy/tasks.py +0 -19
  130. opentrons/protocol_api/core/legacy_simulator/tasks.py +0 -19
  131. opentrons/protocol_api/core/tasks.py +0 -31
  132. opentrons/protocol_api/tasks.py +0 -48
  133. opentrons/protocol_engine/commands/create_timer.py +0 -83
  134. opentrons/protocol_engine/commands/heater_shaker/common.py +0 -20
  135. opentrons/protocol_engine/commands/heater_shaker/set_shake_speed.py +0 -136
  136. opentrons/protocol_engine/commands/set_tip_state.py +0 -97
  137. opentrons/protocol_engine/commands/thermocycler/start_run_extended_profile.py +0 -191
  138. opentrons/protocol_engine/commands/wait_for_tasks.py +0 -98
  139. opentrons/protocol_engine/execution/task_handler.py +0 -157
  140. opentrons/protocol_engine/resources/concurrency_provider.py +0 -27
  141. opentrons/protocol_engine/state/labware_origin_math/errors.py +0 -94
  142. opentrons/protocol_engine/state/labware_origin_math/stackup_origin_to_labware_origin.py +0 -1331
  143. opentrons/protocol_engine/state/tasks.py +0 -139
  144. opentrons/protocol_engine/types/tasks.py +0 -38
  145. {opentrons-8.7.0a7.dist-info → opentrons-8.7.0a9.dist-info}/WHEEL +0 -0
  146. {opentrons-8.7.0a7.dist-info → opentrons-8.7.0a9.dist-info}/entry_points.txt +0 -0
  147. {opentrons-8.7.0a7.dist-info → opentrons-8.7.0a9.dist-info}/licenses/LICENSE +0 -0
@@ -3,7 +3,6 @@
3
3
  Actions can be passed to the ActionDispatcher, where they will trigger
4
4
  reactions in objects that subscribe to the pipeline, like the StateStore.
5
5
  """
6
-
7
6
  import dataclasses
8
7
  from datetime import datetime
9
8
  from enum import Enum
@@ -21,7 +20,6 @@ from ..commands import (
21
20
  CommandDefinedErrorData,
22
21
  )
23
22
  from ..error_recovery_policy import ErrorRecoveryPolicy, ErrorRecoveryType
24
- from ..errors import ErrorOccurrence
25
23
  from ..notes.notes import CommandNote
26
24
  from ..state.update_types import StateUpdate
27
25
  from ..types import (
@@ -29,7 +27,6 @@ from ..types import (
29
27
  ModuleDefinition,
30
28
  Liquid,
31
29
  DeckConfigurationType,
32
- Task,
33
30
  )
34
31
 
35
32
 
@@ -63,7 +60,7 @@ class PauseAction:
63
60
  class StopAction:
64
61
  """Request engine execution to stop soon."""
65
62
 
66
- from_asynchronous_error: bool = False
63
+ from_estop: bool = False
67
64
 
68
65
 
69
66
  @dataclasses.dataclass(frozen=True)
@@ -204,22 +201,6 @@ class FailCommandAction:
204
201
  """The command to fail, in its prior `running` state."""
205
202
 
206
203
 
207
- @dataclasses.dataclass(frozen=True)
208
- class StartTaskAction:
209
- """Store new task in state."""
210
-
211
- task: Task
212
-
213
-
214
- @dataclasses.dataclass(frozen=True)
215
- class FinishTaskAction:
216
- """Mark task as finished in state."""
217
-
218
- task_id: str
219
- finished_at: datetime
220
- error: ErrorOccurrence | None
221
-
222
-
223
204
  @dataclasses.dataclass(frozen=True)
224
205
  class AddLabwareOffsetAction:
225
206
  """Add a labware offset, to apply to subsequent `LoadLabwareCommand`s."""
@@ -272,6 +253,13 @@ class AddModuleAction:
272
253
  module_live_data: LiveData
273
254
 
274
255
 
256
+ @dataclasses.dataclass(frozen=True)
257
+ class ResetTipsAction:
258
+ """Reset the tip tracking state of a given tip rack."""
259
+
260
+ labware_id: str
261
+
262
+
275
263
  @dataclasses.dataclass(frozen=True)
276
264
  class SetPipetteMovementSpeedAction:
277
265
  """Set the speed of a pipette's X/Y/Z movements. Does not affect plunger speed.
@@ -308,8 +296,7 @@ Action = Union[
308
296
  SetDeckConfigurationAction,
309
297
  AddAddressableAreaAction,
310
298
  AddLiquidAction,
299
+ ResetTipsAction,
311
300
  SetPipetteMovementSpeedAction,
312
301
  SetErrorRecoveryPolicyAction,
313
- StartTaskAction,
314
- FinishTaskAction,
315
302
  ]
@@ -65,48 +65,6 @@ class SyncClient:
65
65
  ) -> commands.LoadLabwareResult:
66
66
  pass
67
67
 
68
- @overload
69
- def execute_command_without_recovery(
70
- self, params: commands.CreateTimerParams
71
- ) -> commands.CreateTimerResult:
72
- pass
73
-
74
- @overload
75
- def execute_command_without_recovery(
76
- self, params: commands.temperature_module.SetTargetTemperatureParams
77
- ) -> commands.temperature_module.SetTargetTemperatureResult:
78
- pass
79
-
80
- @overload
81
- def execute_command_without_recovery(
82
- self, params: commands.thermocycler.StartRunExtendedProfileParams
83
- ) -> commands.thermocycler.StartRunExtendedProfileResult:
84
- pass
85
-
86
- @overload
87
- def execute_command_without_recovery(
88
- self, params: commands.heater_shaker.SetTargetTemperatureParams
89
- ) -> commands.heater_shaker.SetTargetTemperatureResult:
90
- pass
91
-
92
- @overload
93
- def execute_command_without_recovery(
94
- self, params: commands.heater_shaker.SetShakeSpeedParams
95
- ) -> commands.heater_shaker.SetShakeSpeedResult:
96
- pass
97
-
98
- @overload
99
- def execute_command_without_recovery(
100
- self, params: commands.thermocycler.SetTargetBlockTemperatureParams
101
- ) -> commands.thermocycler.SetTargetBlockTemperatureResult:
102
- pass
103
-
104
- @overload
105
- def execute_command_without_recovery(
106
- self, params: commands.thermocycler.SetTargetLidTemperatureParams
107
- ) -> commands.thermocycler.SetTargetLidTemperatureResult:
108
- pass
109
-
110
68
  @overload
111
69
  def execute_command_without_recovery(
112
70
  self, params: commands.LoadModuleParams
@@ -191,6 +149,13 @@ class SyncClient:
191
149
  """Add a liquid to the engine."""
192
150
  return self._transport.call_method("add_liquid", name=name, color=color, description=description) # type: ignore[no-any-return]
193
151
 
152
+ def reset_tips(self, labware_id: str) -> None:
153
+ """Reset a labware's tip tracking state.."""
154
+ self._transport.call_method(
155
+ "reset_tips",
156
+ labware_id=labware_id,
157
+ )
158
+
194
159
  def add_labware_offset(self, request: LabwareOffsetCreate) -> None:
195
160
  """Add a labware offset."""
196
161
  self._transport.call_method("add_labware_offset", request=request)
@@ -271,22 +271,6 @@ from .wait_for_duration import (
271
271
  WaitForDurationCommandType,
272
272
  )
273
273
 
274
- from .create_timer import (
275
- CreateTimer,
276
- CreateTimerCreate,
277
- CreateTimerParams,
278
- CreateTimerResult,
279
- CreateTimerCommandType,
280
- )
281
-
282
- from .wait_for_tasks import (
283
- WaitForTasks,
284
- WaitForTasksCreate,
285
- WaitForTasksParams,
286
- WaitForTasksResult,
287
- WaitForTasksCommandType,
288
- )
289
-
290
274
  from .pick_up_tip import (
291
275
  PickUpTip,
292
276
  PickUpTipParams,
@@ -400,14 +384,6 @@ from .get_next_tip import (
400
384
  GetNextTipCommandType,
401
385
  )
402
386
 
403
- from .set_tip_state import (
404
- SetTipState,
405
- SetTipStateCreate,
406
- SetTipStateParams,
407
- SetTipStateResult,
408
- SetTipStateCommandType,
409
- )
410
-
411
387
  from .liquid_probe import (
412
388
  LiquidProbe,
413
389
  LiquidProbeParams,
@@ -643,12 +619,6 @@ __all__ = [
643
619
  "WaitForDurationCreate",
644
620
  "WaitForDurationResult",
645
621
  "WaitForDurationCommandType",
646
- # Timer command models
647
- "CreateTimer",
648
- "CreateTimerCreate",
649
- "CreateTimerParams",
650
- "CreateTimerResult",
651
- "CreateTimerCommandType",
652
622
  # pick up tip command models
653
623
  "PickUpTip",
654
624
  "PickUpTipCreate",
@@ -755,12 +725,6 @@ __all__ = [
755
725
  "GetNextTipParams",
756
726
  "GetNextTipResult",
757
727
  "GetNextTipCommandType",
758
- # set tip state command bundle
759
- "SetTipState",
760
- "SetTipStateCreate",
761
- "SetTipStateParams",
762
- "SetTipStateResult",
763
- "SetTipStateCommandType",
764
728
  # liquid probe command bundle
765
729
  "LiquidProbe",
766
730
  "LiquidProbeParams",
@@ -790,10 +754,4 @@ __all__ = [
790
754
  "PressureDispenseCreate",
791
755
  "PressureDispenseResult",
792
756
  "PressureDispenseCommandType",
793
- # wait for tasks command bundle
794
- "WaitForTasks",
795
- "WaitForTasksCreate",
796
- "WaitForTasksParams",
797
- "WaitForTasksResult",
798
- "WaitForTasksCommandType",
799
757
  ]
@@ -102,12 +102,25 @@ class CloseLidImpl(AbstractCommandImpl[CloseLidParams, SuccessData[CloseLidResul
102
102
  )
103
103
  )
104
104
 
105
+ # The lid's labware definition stores gripper offsets for itself in the
106
+ # space normally meant for offsets for labware stacked atop it.
107
+ lid_gripper_offsets = self._state_view.labware.get_child_gripper_offsets(
108
+ labware_definition=lid_definition,
109
+ slot_name=None,
110
+ )
111
+ if lid_gripper_offsets is None:
112
+ raise ValueError(
113
+ "Gripper Offset values for Absorbance Reader Lid labware must not be None."
114
+ )
115
+
105
116
  await self._labware_movement.move_labware_with_gripper(
106
117
  labware_definition=lid_definition,
107
118
  current_location=current_location,
108
119
  new_location=new_location,
109
- user_pick_up_offset=Point(),
110
- user_drop_offset=Point(),
120
+ user_pick_up_offset=Point.from_xyz_attrs(
121
+ lid_gripper_offsets.pickUpOffset
122
+ ),
123
+ user_drop_offset=Point.from_xyz_attrs(lid_gripper_offsets.dropOffset),
111
124
  post_drop_slide_offset=None,
112
125
  gripper_z_offset=LID_Z_CLEARANCE,
113
126
  )
@@ -103,12 +103,25 @@ class OpenLidImpl(AbstractCommandImpl[OpenLidParams, SuccessData[OpenLidResult]]
103
103
  mod_substate.module_id
104
104
  )
105
105
 
106
+ # The lid's labware definition stores gripper offsets for itself in the
107
+ # space normally meant for offsets for labware stacked atop it.
108
+ lid_gripper_offsets = self._state_view.labware.get_child_gripper_offsets(
109
+ labware_definition=lid_definition,
110
+ slot_name=None,
111
+ )
112
+ if lid_gripper_offsets is None:
113
+ raise ValueError(
114
+ "Gripper Offset values for Absorbance Reader Lid labware must not be None."
115
+ )
116
+
106
117
  await self._labware_movement.move_labware_with_gripper(
107
118
  labware_definition=lid_definition,
108
119
  current_location=current_location,
109
120
  new_location=new_location,
110
- user_pick_up_offset=Point(),
111
- user_drop_offset=Point(),
121
+ user_pick_up_offset=Point.from_xyz_attrs(
122
+ lid_gripper_offsets.pickUpOffset
123
+ ),
124
+ user_drop_offset=Point.from_xyz_attrs(lid_gripper_offsets.dropOffset),
112
125
  post_drop_slide_offset=None,
113
126
  gripper_z_offset=LID_Z_CLEARANCE,
114
127
  )
@@ -161,7 +161,6 @@ class AspirateImplementation(AbstractCommandImpl[AspirateParams, _ExecuteReturn]
161
161
  well_location=well_location,
162
162
  current_well=current_well,
163
163
  operation_volume=-params.volume,
164
- offset_pipette_for_reservoir_subwells=False,
165
164
  )
166
165
  state_update.append(move_result.state_update)
167
166
  if isinstance(move_result, DefinedErrorData):
@@ -185,7 +185,6 @@ class AbstractCommandImpl(
185
185
  tip_handler: execution.TipHandler,
186
186
  run_control: execution.RunControlHandler,
187
187
  rail_lights: execution.RailLightsHandler,
188
- task_handler: execution.TaskHandler,
189
188
  model_utils: ModelUtils,
190
189
  status_bar: execution.StatusBarHandler,
191
190
  command_note_adder: CommandNoteAdder,
@@ -267,22 +267,6 @@ from .wait_for_duration import (
267
267
  WaitForDurationCommandType,
268
268
  )
269
269
 
270
- from .create_timer import (
271
- CreateTimer,
272
- CreateTimerCreate,
273
- CreateTimerParams,
274
- CreateTimerResult,
275
- CreateTimerCommandType,
276
- )
277
-
278
- from .wait_for_tasks import (
279
- WaitForTasks,
280
- WaitForTasksCreate,
281
- WaitForTasksParams,
282
- WaitForTasksResult,
283
- WaitForTasksCommandType,
284
- )
285
-
286
270
  from .pick_up_tip import (
287
271
  PickUpTip,
288
272
  PickUpTipParams,
@@ -388,14 +372,6 @@ from .get_next_tip import (
388
372
  GetNextTipCommandType,
389
373
  )
390
374
 
391
- from .set_tip_state import (
392
- SetTipState,
393
- SetTipStateCreate,
394
- SetTipStateParams,
395
- SetTipStateResult,
396
- SetTipStateCommandType,
397
- )
398
-
399
375
  from .liquid_probe import (
400
376
  LiquidProbe,
401
377
  LiquidProbeParams,
@@ -478,8 +454,6 @@ Command = Annotated[
478
454
  PrepareToAspirate,
479
455
  WaitForResume,
480
456
  WaitForDuration,
481
- WaitForTasks,
482
- CreateTimer,
483
457
  PickUpTip,
484
458
  SavePosition,
485
459
  SetRailLights,
@@ -488,7 +462,6 @@ Command = Annotated[
488
462
  VerifyTipPresence,
489
463
  GetTipPresence,
490
464
  GetNextTip,
491
- SetTipState,
492
465
  LiquidProbe,
493
466
  TryLiquidProbe,
494
467
  SealPipetteToTip,
@@ -498,7 +471,6 @@ Command = Annotated[
498
471
  heater_shaker.SetTargetTemperature,
499
472
  heater_shaker.DeactivateHeater,
500
473
  heater_shaker.SetAndWaitForShakeSpeed,
501
- heater_shaker.SetShakeSpeed,
502
474
  heater_shaker.DeactivateShaker,
503
475
  heater_shaker.OpenLabwareLatch,
504
476
  heater_shaker.CloseLabwareLatch,
@@ -516,7 +488,6 @@ Command = Annotated[
516
488
  thermocycler.OpenLid,
517
489
  thermocycler.CloseLid,
518
490
  thermocycler.RunProfile,
519
- thermocycler.StartRunExtendedProfile,
520
491
  thermocycler.RunExtendedProfile,
521
492
  absorbance_reader.CloseLid,
522
493
  absorbance_reader.OpenLid,
@@ -586,8 +557,6 @@ CommandParams = Union[
586
557
  PrepareToAspirateParams,
587
558
  WaitForResumeParams,
588
559
  WaitForDurationParams,
589
- WaitForTasksParams,
590
- CreateTimerParams,
591
560
  PickUpTipParams,
592
561
  SavePositionParams,
593
562
  SetRailLightsParams,
@@ -596,7 +565,6 @@ CommandParams = Union[
596
565
  VerifyTipPresenceParams,
597
566
  GetTipPresenceParams,
598
567
  GetNextTipParams,
599
- SetTipStateParams,
600
568
  LiquidProbeParams,
601
569
  TryLiquidProbeParams,
602
570
  SealPipetteToTipParams,
@@ -606,7 +574,6 @@ CommandParams = Union[
606
574
  heater_shaker.SetTargetTemperatureParams,
607
575
  heater_shaker.DeactivateHeaterParams,
608
576
  heater_shaker.SetAndWaitForShakeSpeedParams,
609
- heater_shaker.SetShakeSpeedParams,
610
577
  heater_shaker.DeactivateShakerParams,
611
578
  heater_shaker.OpenLabwareLatchParams,
612
579
  heater_shaker.CloseLabwareLatchParams,
@@ -624,7 +591,6 @@ CommandParams = Union[
624
591
  thermocycler.OpenLidParams,
625
592
  thermocycler.CloseLidParams,
626
593
  thermocycler.RunProfileParams,
627
- thermocycler.StartRunExtendedProfileParams,
628
594
  thermocycler.RunExtendedProfileParams,
629
595
  absorbance_reader.CloseLidParams,
630
596
  absorbance_reader.OpenLidParams,
@@ -692,8 +658,6 @@ CommandType = Union[
692
658
  PrepareToAspirateCommandType,
693
659
  WaitForResumeCommandType,
694
660
  WaitForDurationCommandType,
695
- WaitForTasksCommandType,
696
- CreateTimerCommandType,
697
661
  PickUpTipCommandType,
698
662
  SavePositionCommandType,
699
663
  SetRailLightsCommandType,
@@ -702,7 +666,6 @@ CommandType = Union[
702
666
  VerifyTipPresenceCommandType,
703
667
  GetTipPresenceCommandType,
704
668
  GetNextTipCommandType,
705
- SetTipStateCommandType,
706
669
  LiquidProbeCommandType,
707
670
  TryLiquidProbeCommandType,
708
671
  SealPipetteToTipCommandType,
@@ -712,7 +675,6 @@ CommandType = Union[
712
675
  heater_shaker.SetTargetTemperatureCommandType,
713
676
  heater_shaker.DeactivateHeaterCommandType,
714
677
  heater_shaker.SetAndWaitForShakeSpeedCommandType,
715
- heater_shaker.SetShakeSpeedCommandType,
716
678
  heater_shaker.DeactivateShakerCommandType,
717
679
  heater_shaker.OpenLabwareLatchCommandType,
718
680
  heater_shaker.CloseLabwareLatchCommandType,
@@ -730,7 +692,6 @@ CommandType = Union[
730
692
  thermocycler.OpenLidCommandType,
731
693
  thermocycler.CloseLidCommandType,
732
694
  thermocycler.RunProfileCommandType,
733
- thermocycler.StartRunExtendedProfileCommandType,
734
695
  thermocycler.RunExtendedProfileCommandType,
735
696
  absorbance_reader.CloseLidCommandType,
736
697
  absorbance_reader.OpenLidCommandType,
@@ -799,8 +760,6 @@ CommandCreate = Annotated[
799
760
  PrepareToAspirateCreate,
800
761
  WaitForResumeCreate,
801
762
  WaitForDurationCreate,
802
- WaitForTasksCreate,
803
- CreateTimerCreate,
804
763
  PickUpTipCreate,
805
764
  SavePositionCreate,
806
765
  SetRailLightsCreate,
@@ -809,7 +768,6 @@ CommandCreate = Annotated[
809
768
  VerifyTipPresenceCreate,
810
769
  GetTipPresenceCreate,
811
770
  GetNextTipCreate,
812
- SetTipStateCreate,
813
771
  LiquidProbeCreate,
814
772
  TryLiquidProbeCreate,
815
773
  SealPipetteToTipCreate,
@@ -819,7 +777,6 @@ CommandCreate = Annotated[
819
777
  heater_shaker.SetTargetTemperatureCreate,
820
778
  heater_shaker.DeactivateHeaterCreate,
821
779
  heater_shaker.SetAndWaitForShakeSpeedCreate,
822
- heater_shaker.SetShakeSpeedCreate,
823
780
  heater_shaker.DeactivateShakerCreate,
824
781
  heater_shaker.OpenLabwareLatchCreate,
825
782
  heater_shaker.CloseLabwareLatchCreate,
@@ -837,7 +794,6 @@ CommandCreate = Annotated[
837
794
  thermocycler.OpenLidCreate,
838
795
  thermocycler.CloseLidCreate,
839
796
  thermocycler.RunProfileCreate,
840
- thermocycler.StartRunExtendedProfileCreate,
841
797
  thermocycler.RunExtendedProfileCreate,
842
798
  absorbance_reader.CloseLidCreate,
843
799
  absorbance_reader.OpenLidCreate,
@@ -914,8 +870,6 @@ CommandResult = Union[
914
870
  PrepareToAspirateResult,
915
871
  WaitForResumeResult,
916
872
  WaitForDurationResult,
917
- WaitForTasksResult,
918
- CreateTimerResult,
919
873
  PickUpTipResult,
920
874
  SavePositionResult,
921
875
  SetRailLightsResult,
@@ -924,7 +878,6 @@ CommandResult = Union[
924
878
  VerifyTipPresenceResult,
925
879
  GetTipPresenceResult,
926
880
  GetNextTipResult,
927
- SetTipStateResult,
928
881
  LiquidProbeResult,
929
882
  TryLiquidProbeResult,
930
883
  SealPipetteToTipResult,
@@ -934,7 +887,6 @@ CommandResult = Union[
934
887
  heater_shaker.SetTargetTemperatureResult,
935
888
  heater_shaker.DeactivateHeaterResult,
936
889
  heater_shaker.SetAndWaitForShakeSpeedResult,
937
- heater_shaker.SetShakeSpeedResult,
938
890
  heater_shaker.DeactivateShakerResult,
939
891
  heater_shaker.OpenLabwareLatchResult,
940
892
  heater_shaker.CloseLabwareLatchResult,
@@ -952,7 +904,6 @@ CommandResult = Union[
952
904
  thermocycler.OpenLidResult,
953
905
  thermocycler.CloseLidResult,
954
906
  thermocycler.RunProfileResult,
955
- thermocycler.StartRunExtendedProfileResult,
956
907
  thermocycler.RunExtendedProfileResult,
957
908
  absorbance_reader.CloseLidResult,
958
909
  absorbance_reader.OpenLidResult,
@@ -101,7 +101,6 @@ class DispenseImplementation(AbstractCommandImpl[DispenseParams, _ExecuteReturn]
101
101
  well_name=well_name,
102
102
  well_location=well_location,
103
103
  operation_volume=volume,
104
- offset_pipette_for_reservoir_subwells=False,
105
104
  )
106
105
  if isinstance(move_result, DefinedErrorData):
107
106
  return move_result
@@ -12,7 +12,7 @@ from opentrons.protocol_engine.errors.exceptions import TipAttachedError
12
12
  from opentrons.protocol_engine.resources.model_utils import ModelUtils
13
13
 
14
14
  from ..state.update_types import StateUpdate
15
- from ..types import DropTipWellLocation, TipRackWellState
15
+ from ..types import DropTipWellLocation
16
16
  from .pipetting_common import (
17
17
  PipetteIdMixin,
18
18
  TipPhysicallyAttachedError,
@@ -140,25 +140,6 @@ class DropTipImplementation(AbstractCommandImpl[DropTipParams, _ExecuteReturn]):
140
140
  partially_configured=is_partially_configured,
141
141
  )
142
142
 
143
- is_tip_rack = self._state_view.labware.get_definition(
144
- labware_id
145
- ).parameters.isTiprack
146
-
147
- # It's possible that we are dropping tips into a labware trash for pre API v2.14 OT-2 protocols
148
- # (or something else unexpected), so if it is not a tip rack mark no wells as used
149
- if is_tip_rack:
150
- tips_to_mark_as_used = (
151
- self._state_view.tips.compute_tips_to_mark_as_used_or_empty(
152
- labware_id=labware_id,
153
- well_name=well_name,
154
- nozzle_map=self._state_view.pipettes.get_nozzle_configuration(
155
- pipette_id
156
- ),
157
- )
158
- )
159
- else:
160
- tips_to_mark_as_used = []
161
-
162
143
  move_result = await move_to_well(
163
144
  movement=self._movement_handler,
164
145
  model_utils=self._model_utils,
@@ -171,7 +152,12 @@ class DropTipImplementation(AbstractCommandImpl[DropTipParams, _ExecuteReturn]):
171
152
  return move_result
172
153
 
173
154
  scrape_type = TipScrapeType.NONE
174
- if params.scrape_tips and is_tip_rack:
155
+ if (
156
+ params.scrape_tips
157
+ and self._state_view.geometry._labware.get_definition(
158
+ labware_id
159
+ ).parameters.isTiprack
160
+ ):
175
161
  if int("".join(filter(str.isdigit, well_name))) <= 6:
176
162
  scrape_type = TipScrapeType.RIGHT_ONE_COL
177
163
  else:
@@ -208,10 +194,6 @@ class DropTipImplementation(AbstractCommandImpl[DropTipParams, _ExecuteReturn]):
208
194
  pipette_id=params.pipetteId,
209
195
  tip_geometry=None,
210
196
  tip_source=None,
211
- ).update_tip_rack_well_state(
212
- tip_state=TipRackWellState.USED,
213
- labware_id=labware_id,
214
- well_names=tips_to_mark_as_used,
215
197
  ),
216
198
  )
217
199
  else:
@@ -219,16 +201,10 @@ class DropTipImplementation(AbstractCommandImpl[DropTipParams, _ExecuteReturn]):
219
201
  public=DropTipResult(position=move_result.public.position),
220
202
  state_update=move_result.state_update.set_fluid_unknown(
221
203
  pipette_id=pipette_id
222
- )
223
- .update_pipette_tip_state(
204
+ ).update_pipette_tip_state(
224
205
  pipette_id=params.pipetteId,
225
206
  tip_geometry=None,
226
207
  tip_source=None,
227
- )
228
- .update_tip_rack_well_state(
229
- tip_state=TipRackWellState.USED,
230
- labware_id=labware_id,
231
- well_names=tips_to_mark_as_used,
232
208
  ),
233
209
  )
234
210
 
@@ -32,14 +32,6 @@ from .set_and_wait_for_shake_speed import (
32
32
  SetAndWaitForShakeSpeedCommandType,
33
33
  )
34
34
 
35
- from .set_shake_speed import (
36
- SetShakeSpeed,
37
- SetShakeSpeedCreate,
38
- SetShakeSpeedParams,
39
- SetShakeSpeedResult,
40
- SetShakeSpeedCommandType,
41
- )
42
-
43
35
  from .deactivate_shaker import (
44
36
  DeactivateShaker,
45
37
  DeactivateShakerCreate,
@@ -89,12 +81,6 @@ __all__ = [
89
81
  "SetAndWaitForShakeSpeedParams",
90
82
  "SetAndWaitForShakeSpeedResult",
91
83
  "SetAndWaitForShakeSpeedCommandType",
92
- # heaterShaker/setShakeSpeed
93
- "SetShakeSpeed",
94
- "SetShakeSpeedCreate",
95
- "SetShakeSpeedParams",
96
- "SetShakeSpeedResult",
97
- "SetShakeSpeedCommandType",
98
84
  # heaterShaker/deactivateShaker
99
85
  "DeactivateShaker",
100
86
  "DeactivateShakerCreate",
@@ -8,8 +8,6 @@ from ..command import AbstractCommandImpl, BaseCommand, BaseCommandCreate, Succe
8
8
  from ...errors.error_occurrence import ErrorOccurrence
9
9
  from ...state import update_types
10
10
 
11
- from .common import get_heatershaker_ready_to_shake
12
-
13
11
  if TYPE_CHECKING:
14
12
  from opentrons.protocol_engine.state.state import StateView
15
13
  from opentrons.protocol_engine.execution import EquipmentHandler, MovementHandler
@@ -66,9 +64,10 @@ class SetAndWaitForShakeSpeedImpl(
66
64
  module_id=params.moduleId
67
65
  )
68
66
 
69
- validated_speed = await get_heatershaker_ready_to_shake(
70
- hs_module_substate, params.rpm
71
- )
67
+ hs_module_substate.raise_if_labware_latch_not_closed()
68
+
69
+ # Verify speed from hs module view
70
+ validated_speed = hs_module_substate.validate_target_speed(params.rpm)
72
71
 
73
72
  pipette_should_retract = (
74
73
  self._state_view.motion.check_pipette_blocking_hs_shaker(