Skip to content

Commit

Permalink
feat(shared-data): add flex stacker addressable area to deck definiti…
Browse files Browse the repository at this point in the history
…on (#17204)
  • Loading branch information
ahiuchingau authored Jan 8, 2025
1 parent 0c3e609 commit 204abed
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,11 @@ def test_get_provided_addressable_area_names(
cutout_fixture_id="stagingAreaRightSlot",
provided_addressable_areas=frozenset({"D3", "D4"}),
),
PotentialCutoutFixture(
cutout_id="cutoutD3",
cutout_fixture_id="flexStackerV1",
provided_addressable_areas=frozenset({"D3", "flexStackerV1D4"}),
),
},
lazy_fixture("ot3_standard_deck_def"),
),
Expand Down
3 changes: 3 additions & 0 deletions robot-server/tests/deck_configuration/test_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,9 @@ def test_unrecognized_cutout_fixture() -> None:
"magneticBlockV1",
"absorbanceReaderV1",
"stagingAreaSlotWithMagneticBlockV1",
"flexStackerV1",
"flexStackerV1WithWasteChuteRightAdapterCovered",
"flexStackerV1WithWasteChuteRightAdapterNoCover",
]
),
)
Expand Down
86 changes: 86 additions & 0 deletions shared-data/deck/definitions/5/ot3_standard.json
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,50 @@
"zDimension": 0
},
"displayName": "Absorbance Reader Lid Dock in A4"
},
{
"id": "flexStackerV1D4",
"areaType": "flexStacker",
"offsetFromCutoutFixture": [161.0, 0.0, 31.0],
"boundingBox": {
"xDimension": 128.0,
"yDimension": 86.0,
"zDimension": 0
},
"displayName": "Flex Stacker in D4"
},
{
"id": "flexStackerV1C4",
"areaType": "flexStacker",
"offsetFromCutoutFixture": [161.0, 0.0, 31.0],
"boundingBox": {
"xDimension": 128.0,
"yDimension": 86.0,
"zDimension": 0
},
"displayName": "Flex Stacker in C4"
},
{
"id": "flexStackerV1B4",
"areaType": "flexStacker",
"offsetFromCutoutFixture": [161.0, 0.0, 31.0],
"boundingBox": {
"xDimension": 128.0,
"yDimension": 86.0,
"zDimension": 0
},
"displayName": "Flex Stacker in B4"
},
{
"id": "flexStackerV1A4",
"areaType": "flexStacker",
"offsetFromCutoutFixture": [161.0, 0.0, 31.0],
"boundingBox": {
"xDimension": 128.0,
"yDimension": 86.0,
"zDimension": 0
},
"displayName": "Flex Stacker in A4"
}
],
"cutouts": [
Expand Down Expand Up @@ -973,6 +1017,34 @@
"fixtureGroup": {},
"height": 124.5
},
{
"id": "flexStackerV1WithWasteChuteRightAdapterCovered",
"expectOpentronsModuleSerialNumber": true,
"mayMountTo": ["cutoutD3"],
"displayName": "Flex Stacker With Waste Chute Adapter for 96 Channel Pipette or Gripper",
"providesAddressableAreas": {
"cutoutD3": ["1ChannelWasteChute", "8ChannelWasteChute", "D4"]
},
"fixtureGroup": {},
"height": 124.5
},
{
"id": "flexStackerV1WithWasteChuteRightAdapterNoCover",
"expectOpentronsModuleSerialNumber": true,
"mayMountTo": ["cutoutD3"],
"displayName": "Flex Stacker With Waste Chute Adapter",
"providesAddressableAreas": {
"cutoutD3": [
"1ChannelWasteChute",
"8ChannelWasteChute",
"96ChannelWasteChute",
"gripperWasteChute",
"flexStackerV1D4"
]
},
"fixtureGroup": {},
"height": 124.5
},
{
"id": "thermocyclerModuleV2Rear",
"expectOpentronsModuleSerialNumber": true,
Expand Down Expand Up @@ -1125,6 +1197,20 @@
},
"fixtureGroup": {},
"height": 10.65
},
{
"id": "flexStackerV1",
"expectOpentronsModuleSerialNumber": true,
"mayMountTo": ["cutoutD3", "cutoutC3", "cutoutB3", "cutoutA3"],
"displayName": "Slot With a Flex Stacker",
"providesAddressableAreas": {
"cutoutD3": ["flexStackerV1D4", "D3"],
"cutoutC3": ["flexStackerV1C4", "C3"],
"cutoutB3": ["flexStackerV1B4", "B3"],
"cutoutA3": ["flexStackerV1A4", "A3"]
},
"fixtureGroup": {},
"height": 10.65
}
],
"gripperOffsets": {
Expand Down
8 changes: 7 additions & 1 deletion shared-data/deck/schemas/5.json
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,13 @@
"movableTrash",
"fixedTrash",
"wasteChute",
"lidDock"
"lidDock",
"heaterShaker",
"magneticBlock",
"temperatureModule",
"thermocycler",
"absorbanceReader",
"flexStacker"
]
},
"offsetFromCutoutFixture": {
Expand Down
7 changes: 7 additions & 0 deletions shared-data/deck/types/schemaV5.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ export type FlexAddressableAreaName =
| 'absorbanceReaderV1LidDockB4'
| 'absorbanceReaderV1LidDockC4'
| 'absorbanceReaderV1LidDockD4'
| 'flexStackerV1A4'
| 'flexStackerV1B4'
| 'flexStackerV1C4'
| 'flexStackerV1D4'

export type OT2AddressableAreaName =
| '1'
Expand Down Expand Up @@ -126,6 +130,8 @@ export type WasteChuteCutoutFixtureId =
| 'wasteChuteRightAdapterNoCover'
| 'stagingAreaSlotWithWasteChuteRightAdapterCovered'
| 'stagingAreaSlotWithWasteChuteRightAdapterNoCover'
| 'flexStackerV1WithWasteChuteRightAdapterCovered'
| 'flexStackerV1WithWasteChuteRightAdapterNoCover'

export type FlexModuleCutoutFixtureId =
| 'heaterShakerModuleV1'
Expand All @@ -135,6 +141,7 @@ export type FlexModuleCutoutFixtureId =
| 'thermocyclerModuleV2Rear'
| 'thermocyclerModuleV2Front'
| 'absorbanceReaderV1'
| 'flexStackerV1'

export type OT2SingleStandardSlot = 'singleStandardSlot'

Expand Down

0 comments on commit 204abed

Please sign in to comment.