diff --git a/api/src/opentrons/protocol_engine/state/addressable_areas.py b/api/src/opentrons/protocol_engine/state/addressable_areas.py index c1857ee6dde..bbad97db7b5 100644 --- a/api/src/opentrons/protocol_engine/state/addressable_areas.py +++ b/api/src/opentrons/protocol_engine/state/addressable_areas.py @@ -211,9 +211,9 @@ def _add_addressable_area(self, addressable_area_name: str) -> None: deck_definition=self._state.deck_definition, ) ) - self._state.loaded_addressable_areas_by_name[addressable_area.area_name] = ( - addressable_area - ) + self._state.loaded_addressable_areas_by_name[ + addressable_area.area_name + ] = addressable_area def _validate_addressable_area_for_simulation( self, addressable_area_name: str @@ -236,9 +236,9 @@ def _validate_addressable_area_for_simulation( set(potential_fixtures) ) - self._state.potential_cutout_fixtures_by_cutout_id[cutout_id] = ( - remaining_fixtures - ) + self._state.potential_cutout_fixtures_by_cutout_id[ + cutout_id + ] = remaining_fixtures else: self._state.potential_cutout_fixtures_by_cutout_id[cutout_id] = set( potential_fixtures diff --git a/api/tests/opentrons/protocol_engine/state/test_geometry_view.py b/api/tests/opentrons/protocol_engine/state/test_geometry_view.py index 948347ce4f4..81f35b41183 100644 --- a/api/tests/opentrons/protocol_engine/state/test_geometry_view.py +++ b/api/tests/opentrons/protocol_engine/state/test_geometry_view.py @@ -76,7 +76,6 @@ OnLabwareLocationSequenceComponent, NotOnDeckLocationSequenceComponent, OnCutoutFixtureLocationSequenceComponent, - PotentialCutoutFixture, ) from opentrons.protocol_engine.commands import ( CommandStatus, diff --git a/robot-server/tests/integration/http_api/protocols/test_v6_json_upload.tavern.yaml b/robot-server/tests/integration/http_api/protocols/test_v6_json_upload.tavern.yaml index e6a76463763..6b6de70fb72 100644 --- a/robot-server/tests/integration/http_api/protocols/test_v6_json_upload.tavern.yaml +++ b/robot-server/tests/integration/http_api/protocols/test_v6_json_upload.tavern.yaml @@ -212,7 +212,10 @@ stages: moduleId: temperatureModuleId - kind: onAddressableArea addressableAreaName: '1' - slotName: '1' + - kind: onCutoutFixture + cutoutId: cutout1 + possibleCutoutFixtureIds: + - 'singleStandardSlot' notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -237,7 +240,10 @@ stages: moduleId: magneticModuleId - kind: onAddressableArea addressableAreaName: '3' - slotName: '3' + - kind: onCutoutFixture + cutoutId: cutout3 + possibleCutoutFixtureIds: + - 'singleStandardSlot' notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -260,7 +266,10 @@ stages: locationSequence: - kind: onAddressableArea addressableAreaName: '8' - slotName: '8' + - kind: onCutoutFixture + cutoutId: cutout8 + possibleCutoutFixtureIds: + - 'singleStandardSlot' notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" diff --git a/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_flex.tavern.yaml b/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_flex.tavern.yaml index d77fa75c60f..c3afd71907e 100644 --- a/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_flex.tavern.yaml +++ b/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_flex.tavern.yaml @@ -219,11 +219,19 @@ stages: labwareId: sourcePlateId definition: !anydict locationSequence: - - kind: onModule - moduleId: temperatureModuleId - kind: onAddressableArea addressableAreaName: temperatureModuleV2D1 - slotName: D1 + - kind: onModule + moduleId: temperatureModuleId + - kind: onCutoutFixture + cutoutId: cutoutD1 + # note: this is not how it should work and happens because the loadModule + # command always loads onto an addressable area, presenting a conflict between + # the cutout fixture required by the module being present and the cutout fixture + # required by the deck slot addressable area that was used to load the module + # being present. other work will fix this, and once that other work is merged + # this value should be ["temperatureModuleV2"] + possibleCutoutFixtureIds: [] notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -244,11 +252,14 @@ stages: labwareId: destPlateId definition: !anydict locationSequence: - - kind: onModule - moduleId: magneticBlockId - kind: onAddressableArea addressableAreaName: magneticBlockV1D3 - slotName: D3 + - kind: onModule + moduleId: magneticBlockId + - kind: onCutoutFixture + cutoutId: cutoutD3 + # note: this should be ["magneticBlockV1"], see above + possibleCutoutFixtureIds: [] notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -271,7 +282,10 @@ stages: locationSequence: - kind: onAddressableArea addressableAreaName: B2 - slotName: B2 + - kind: onCutoutFixture + cutoutId: cutoutB2 + possibleCutoutFixtureIds: + - singleCenterSlot notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -294,7 +308,12 @@ stages: locationSequence: - kind: onAddressableArea addressableAreaName: A3 - slotName: A3 + - kind: onCutoutFixture + cutoutId: cutoutA3 + possibleCutoutFixtureIds: + - flexStackerModuleV1 + - singleRightSlot + - stagingAreaRightSlot notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" diff --git a/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_ot2.tavern.yaml b/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_ot2.tavern.yaml index d27ff1a7e4e..a4e20528280 100644 --- a/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_ot2.tavern.yaml +++ b/robot-server/tests/integration/http_api/protocols/test_v8_json_upload_ot2.tavern.yaml @@ -223,7 +223,10 @@ stages: moduleId: temperatureModuleId - kind: onAddressableArea addressableAreaName: '1' - slotName: '1' + - kind: onCutoutFixture + cutoutId: cutout1 + possibleCutoutFixtureIds: + - singleStandardSlot notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -248,7 +251,10 @@ stages: moduleId: magneticModuleId - kind: onAddressableArea addressableAreaName: '3' - slotName: '3' + - kind: onCutoutFixture + cutoutId: cutout3 + possibleCutoutFixtureIds: + - singleStandardSlot notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -271,7 +277,10 @@ stages: locationSequence: - kind: onAddressableArea addressableAreaName: '8' - slotName: '8' + - kind: onCutoutFixture + cutoutId: cutout8 + possibleCutoutFixtureIds: + - singleStandardSlot notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" @@ -294,7 +303,10 @@ stages: locationSequence: - kind: onAddressableArea addressableAreaName: '12' - slotName: '12' + - kind: onCutoutFixture + cutoutId: cutout12 + possibleCutoutFixtureIds: + - singleStandardSlot notes: [] startedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))" completedAt: !re_fullmatch "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d+(Z|([+-]\\d{2}:\\d{2}))"