@opentrons/shared-data 0.1.0-alpha.0 → 0.1.0-alpha.1

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.
@@ -71,6 +71,9 @@
71
71
  {
72
72
  "$ref": "#/definitions/MoveToAddressableAreaCreate"
73
73
  },
74
+ {
75
+ "$ref": "#/definitions/MoveToAddressableAreaForDropTipCreate"
76
+ },
74
77
  {
75
78
  "$ref": "#/definitions/PrepareToAspirateCreate"
76
79
  },
@@ -95,6 +98,12 @@
95
98
  {
96
99
  "$ref": "#/definitions/SetStatusBarCreate"
97
100
  },
101
+ {
102
+ "$ref": "#/definitions/VerifyTipPresenceCreate"
103
+ },
104
+ {
105
+ "$ref": "#/definitions/GetTipPresenceCreate"
106
+ },
98
107
  {
99
108
  "$ref": "#/definitions/opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureCreate"
100
109
  },
@@ -1990,6 +1999,90 @@
1990
1999
  },
1991
2000
  "required": ["params"]
1992
2001
  },
2002
+ "MoveToAddressableAreaForDropTipParams": {
2003
+ "title": "MoveToAddressableAreaForDropTipParams",
2004
+ "description": "Payload required to move a pipette to a specific addressable area.\n\nAn *addressable area* is a space in the robot that may or may not be usable depending on how\nthe robot's deck is configured. For example, if a Flex is configured with a waste chute, it will\nhave additional addressable areas representing the opening of the waste chute, where tips and\nlabware can be dropped.\n\nThis moves the pipette so all of its nozzles are centered over the addressable area.\nIf the pipette is currently configured with a partial tip layout, this centering is over all\nthe pipette's physical nozzles, not just the nozzles that are active.\n\nThe z-position will be chosen to put the bottom of the tips---or the bottom of the nozzles,\nif there are no tips---level with the top of the addressable area.\n\nWhen this command is executed, Protocol Engine will make sure the robot's deck is configured\nsuch that the requested addressable area actually exists. For example, if you request\nthe addressable area B4, it will make sure the robot is set up with a B3/B4 staging area slot.\nIf that's not the case, the command will fail.",
2005
+ "type": "object",
2006
+ "properties": {
2007
+ "minimumZHeight": {
2008
+ "title": "Minimumzheight",
2009
+ "description": "Optional minimal Z margin in mm. If this is larger than the API's default safe Z margin, it will make the arc higher. If it's smaller, it will have no effect.",
2010
+ "type": "number"
2011
+ },
2012
+ "forceDirect": {
2013
+ "title": "Forcedirect",
2014
+ "description": "If true, moving from one labware/well to another will not arc to the default safe z, but instead will move directly to the specified location. This will also force the `minimumZHeight` param to be ignored. A 'direct' movement is in X/Y/Z simultaneously.",
2015
+ "default": false,
2016
+ "type": "boolean"
2017
+ },
2018
+ "speed": {
2019
+ "title": "Speed",
2020
+ "description": "Override the travel speed in mm/s. This controls the straight linear speed of motion.",
2021
+ "type": "number"
2022
+ },
2023
+ "pipetteId": {
2024
+ "title": "Pipetteid",
2025
+ "description": "Identifier of pipette to use for liquid handling.",
2026
+ "type": "string"
2027
+ },
2028
+ "addressableAreaName": {
2029
+ "title": "Addressableareaname",
2030
+ "description": "The name of the addressable area that you want to use. Valid values are the `id`s of `addressableArea`s in the [deck definition](https://github.com/Opentrons/opentrons/tree/edge/shared-data/deck).",
2031
+ "type": "string"
2032
+ },
2033
+ "offset": {
2034
+ "title": "Offset",
2035
+ "description": "Relative offset of addressable area to move pipette's critical point.",
2036
+ "default": {
2037
+ "x": 0.0,
2038
+ "y": 0.0,
2039
+ "z": 0.0
2040
+ },
2041
+ "allOf": [
2042
+ {
2043
+ "$ref": "#/definitions/AddressableOffsetVector"
2044
+ }
2045
+ ]
2046
+ },
2047
+ "alternateDropLocation": {
2048
+ "title": "Alternatedroplocation",
2049
+ "description": "Whether to alternate location where tip is dropped within the addressable area. If True, this command will ignore the offset provided and alternate between dropping tips at two predetermined locations inside the specified labware well. If False, the tip will be dropped at the top center of the area.",
2050
+ "default": false,
2051
+ "type": "boolean"
2052
+ }
2053
+ },
2054
+ "required": ["pipetteId", "addressableAreaName"]
2055
+ },
2056
+ "MoveToAddressableAreaForDropTipCreate": {
2057
+ "title": "MoveToAddressableAreaForDropTipCreate",
2058
+ "description": "Move to addressable area for drop tip command creation request model.",
2059
+ "type": "object",
2060
+ "properties": {
2061
+ "commandType": {
2062
+ "title": "Commandtype",
2063
+ "default": "moveToAddressableAreaForDropTip",
2064
+ "enum": ["moveToAddressableAreaForDropTip"],
2065
+ "type": "string"
2066
+ },
2067
+ "params": {
2068
+ "$ref": "#/definitions/MoveToAddressableAreaForDropTipParams"
2069
+ },
2070
+ "intent": {
2071
+ "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.",
2072
+ "allOf": [
2073
+ {
2074
+ "$ref": "#/definitions/CommandIntent"
2075
+ }
2076
+ ]
2077
+ },
2078
+ "key": {
2079
+ "title": "Key",
2080
+ "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.",
2081
+ "type": "string"
2082
+ }
2083
+ },
2084
+ "required": ["params"]
2085
+ },
1993
2086
  "PrepareToAspirateParams": {
1994
2087
  "title": "PrepareToAspirateParams",
1995
2088
  "description": "Parameters required to prepare a specific pipette for aspiration.",
@@ -2199,6 +2292,12 @@
2199
2292
  "title": "Positionid",
2200
2293
  "description": "An optional ID to assign to this command instance. Auto-assigned if not defined.",
2201
2294
  "type": "string"
2295
+ },
2296
+ "failOnNotHomed": {
2297
+ "title": "Failonnothomed",
2298
+ "default": true,
2299
+ "descrption": "Require all axes to be homed before saving position.",
2300
+ "type": "boolean"
2202
2301
  }
2203
2302
  },
2204
2303
  "required": ["pipetteId"]
@@ -2400,6 +2499,106 @@
2400
2499
  },
2401
2500
  "required": ["params"]
2402
2501
  },
2502
+ "TipPresenceStatus": {
2503
+ "title": "TipPresenceStatus",
2504
+ "description": "Tip presence status reported by a pipette.",
2505
+ "enum": ["present", "absent", "unknown"],
2506
+ "type": "string"
2507
+ },
2508
+ "VerifyTipPresenceParams": {
2509
+ "title": "VerifyTipPresenceParams",
2510
+ "description": "Payload required for a VerifyTipPresence command.",
2511
+ "type": "object",
2512
+ "properties": {
2513
+ "pipetteId": {
2514
+ "title": "Pipetteid",
2515
+ "description": "Identifier of pipette to use for liquid handling.",
2516
+ "type": "string"
2517
+ },
2518
+ "expectedState": {
2519
+ "description": "The expected tip presence status on the pipette.",
2520
+ "allOf": [
2521
+ {
2522
+ "$ref": "#/definitions/TipPresenceStatus"
2523
+ }
2524
+ ]
2525
+ }
2526
+ },
2527
+ "required": ["pipetteId", "expectedState"]
2528
+ },
2529
+ "VerifyTipPresenceCreate": {
2530
+ "title": "VerifyTipPresenceCreate",
2531
+ "description": "VerifyTipPresence command creation request model.",
2532
+ "type": "object",
2533
+ "properties": {
2534
+ "commandType": {
2535
+ "title": "Commandtype",
2536
+ "default": "verifyTipPresence",
2537
+ "enum": ["verifyTipPresence"],
2538
+ "type": "string"
2539
+ },
2540
+ "params": {
2541
+ "$ref": "#/definitions/VerifyTipPresenceParams"
2542
+ },
2543
+ "intent": {
2544
+ "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.",
2545
+ "allOf": [
2546
+ {
2547
+ "$ref": "#/definitions/CommandIntent"
2548
+ }
2549
+ ]
2550
+ },
2551
+ "key": {
2552
+ "title": "Key",
2553
+ "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.",
2554
+ "type": "string"
2555
+ }
2556
+ },
2557
+ "required": ["params"]
2558
+ },
2559
+ "GetTipPresenceParams": {
2560
+ "title": "GetTipPresenceParams",
2561
+ "description": "Payload required for a GetTipPresence command.",
2562
+ "type": "object",
2563
+ "properties": {
2564
+ "pipetteId": {
2565
+ "title": "Pipetteid",
2566
+ "description": "Identifier of pipette to use for liquid handling.",
2567
+ "type": "string"
2568
+ }
2569
+ },
2570
+ "required": ["pipetteId"]
2571
+ },
2572
+ "GetTipPresenceCreate": {
2573
+ "title": "GetTipPresenceCreate",
2574
+ "description": "GetTipPresence command creation request model.",
2575
+ "type": "object",
2576
+ "properties": {
2577
+ "commandType": {
2578
+ "title": "Commandtype",
2579
+ "default": "getTipPresence",
2580
+ "enum": ["getTipPresence"],
2581
+ "type": "string"
2582
+ },
2583
+ "params": {
2584
+ "$ref": "#/definitions/GetTipPresenceParams"
2585
+ },
2586
+ "intent": {
2587
+ "description": "The reason the command was added. If not specified or `protocol`, the command will be treated as part of the protocol run itself, and added to the end of the existing command queue.\n\nIf `setup`, the command will be treated as part of run setup. A setup command may only be enqueued if the run has not started.\n\nUse setup commands for activities like pre-run calibration checks and module setup, like pre-heating.",
2588
+ "allOf": [
2589
+ {
2590
+ "$ref": "#/definitions/CommandIntent"
2591
+ }
2592
+ ]
2593
+ },
2594
+ "key": {
2595
+ "title": "Key",
2596
+ "description": "A key value, unique in this run, that can be used to track the same logical command across multiple runs of the same protocol. If a value is not provided, one will be generated.",
2597
+ "type": "string"
2598
+ }
2599
+ },
2600
+ "required": ["params"]
2601
+ },
2403
2602
  "opentrons__protocol_engine__commands__heater_shaker__wait_for_temperature__WaitForTemperatureParams": {
2404
2603
  "title": "WaitForTemperatureParams",
2405
2604
  "description": "Input parameters to wait for a Heater-Shaker's target temperature.",
@@ -156,6 +156,7 @@ interface MoveRelativeParams {
156
156
  interface SavePositionParams {
157
157
  pipetteId: string // pipette to use in measurement
158
158
  positionId?: string // position ID, auto-assigned if left blank
159
+ failOnNotHomed?: boolean // Defaults to true if blank. Require every possible axis to be homed to save.
159
160
  }
160
161
 
161
162
  interface HomeParams {
@@ -1,8 +1,8 @@
1
1
  import type { CommonCommandRunTimeInfo, CommonCommandCreateInfo } from '.'
2
2
  export type PipettingRunTimeCommand =
3
3
  | AspirateInPlaceRunTimeCommand
4
- | AspirateRunTimeCommand
5
4
  | AspirateInPlaceRunTimeCommand
5
+ | AspirateRunTimeCommand
6
6
  | BlowoutInPlaceRunTimeCommand
7
7
  | BlowoutRunTimeCommand
8
8
  | ConfigureForVolumeRunTimeCommand
@@ -10,9 +10,12 @@ export type PipettingRunTimeCommand =
10
10
  | DispenseRunTimeCommand
11
11
  | DropTipInPlaceRunTimeCommand
12
12
  | DropTipRunTimeCommand
13
+ | GetTipPresenceRunTimeCommand
14
+ | MoveToAddressableAreaForDropTipRunTimeCommand
13
15
  | PickUpTipRunTimeCommand
14
16
  | PrepareToAspirateRunTimeCommand
15
17
  | TouchTipRunTimeCommand
18
+ | VerifyTipPresenceRunTimeCommand
16
19
 
17
20
  export type PipettingCreateCommand =
18
21
  | AspirateCreateCommand
@@ -24,9 +27,12 @@ export type PipettingCreateCommand =
24
27
  | DispenseInPlaceCreateCommand
25
28
  | DropTipCreateCommand
26
29
  | DropTipInPlaceCreateCommand
30
+ | GetTipPresenceCreateCommand
31
+ | MoveToAddressableAreaForDropTipCreateCommand
27
32
  | PickUpTipCreateCommand
28
33
  | PrepareToAspirateCreateCommand
29
34
  | TouchTipCreateCommand
35
+ | VerifyTipPresenceCreateCommand
30
36
 
31
37
  export interface ConfigureForVolumeCreateCommand
32
38
  extends CommonCommandCreateInfo {
@@ -140,6 +146,17 @@ export interface DropTipInPlaceRunTimeCommand
140
146
  result?: any
141
147
  }
142
148
 
149
+ export interface MoveToAddressableAreaForDropTipCreateCommand
150
+ extends CommonCommandCreateInfo {
151
+ commandType: 'moveToAddressableAreaForDropTip'
152
+ params: MoveToAddressableAreaForDropTipParams
153
+ }
154
+ export interface MoveToAddressableAreaForDropTipRunTimeCommand
155
+ extends CommonCommandRunTimeInfo,
156
+ MoveToAddressableAreaForDropTipCreateCommand {
157
+ result?: any
158
+ }
159
+
143
160
  export interface PrepareToAspirateCreateCommand
144
161
  extends CommonCommandCreateInfo {
145
162
  commandType: 'prepareToAspirate'
@@ -152,6 +169,29 @@ export interface PrepareToAspirateRunTimeCommand
152
169
  result?: any
153
170
  }
154
171
 
172
+ export interface GetTipPresenceCreateCommand extends CommonCommandCreateInfo {
173
+ commandType: 'getTipPresence'
174
+ params: PipetteIdentityParams
175
+ }
176
+
177
+ export interface GetTipPresenceRunTimeCommand
178
+ extends CommonCommandRunTimeInfo,
179
+ GetTipPresenceCreateCommand {
180
+ result?: TipPresenceResult
181
+ }
182
+
183
+ export interface VerifyTipPresenceCreateCommand
184
+ extends CommonCommandCreateInfo {
185
+ commandType: 'verifyTipPresence'
186
+ params: VerifyTipPresenceParams
187
+ }
188
+
189
+ export interface VerifyTipPresenceRunTimeCommand
190
+ extends CommonCommandRunTimeInfo,
191
+ VerifyTipPresenceCreateCommand {
192
+ result?: any
193
+ }
194
+
155
195
  export type AspDispAirgapParams = FlowRateParams &
156
196
  PipetteAccessParams &
157
197
  VolumeParams &
@@ -172,9 +212,25 @@ export type DropTipParams = PipetteAccessParams & {
172
212
  }
173
213
  }
174
214
  export type PickUpTipParams = TouchTipParams
215
+
216
+ interface AddressableOffsetVector {
217
+ x: number
218
+ y: number
219
+ z: number
220
+ }
175
221
  export interface DropTipInPlaceParams {
176
222
  pipetteId: string
177
223
  }
224
+
225
+ export interface MoveToAddressableAreaForDropTipParams {
226
+ pipetteId: string
227
+ addressableAreaName: string
228
+ offset?: AddressableOffsetVector
229
+ alternateDropLocation?: boolean
230
+ speed?: number
231
+ minimumZHeight?: number
232
+ forceDirect?: boolean
233
+ }
178
234
  export interface BlowoutInPlaceParams {
179
235
  pipetteId: string
180
236
  flowRate: number // µL/s
@@ -223,6 +279,15 @@ interface WellLocationParam {
223
279
  }
224
280
  }
225
281
 
282
+ interface VerifyTipPresenceParams extends PipetteIdentityParams {
283
+ expectedState?: 'present' | 'absent'
284
+ }
285
+
226
286
  interface BasicLiquidHandlingResult {
227
287
  volume: number // Amount of liquid in uL handled in the operation
228
288
  }
289
+
290
+ interface TipPresenceResult {
291
+ // ot2 should alwasy return unknown
292
+ status?: 'present' | 'absent' | 'unknown'
293
+ }
@@ -175,11 +175,11 @@ interface LoadFixtureParams {
175
175
  fixtureId?: string
176
176
  }
177
177
 
178
- const COLUMN = 'COLUMN'
178
+ export const COLUMN = 'COLUMN'
179
179
  const SINGLE = 'SINGLE'
180
180
  const ROW = 'ROW'
181
181
  const QUADRANT = 'QUADRANT'
182
- const ALL = 'ALL'
182
+ export const ALL = 'ALL'
183
183
 
184
184
  export type NozzleConfigurationStyle =
185
185
  | typeof COLUMN
@@ -189,7 +189,7 @@ export type NozzleConfigurationStyle =
189
189
  | typeof ALL
190
190
 
191
191
  interface NozzleConfigurationParams {
192
- primaryNozzle: string
192
+ primaryNozzle?: string
193
193
  style: NozzleConfigurationStyle
194
194
  }
195
195
 
@@ -215,15 +215,14 @@
215
215
  {
216
216
  "id": "shortFixedTrash",
217
217
  "areaType": "fixedTrash",
218
- "offsetFromCutoutFixture": [0.0, 0.0, 0.0],
218
+ "offsetFromCutoutFixture": [29.285, -2.835, 0],
219
219
  "boundingBox": {
220
- "xDimension": 172.86,
221
- "yDimension": 165.86,
220
+ "xDimension": 107.11,
221
+ "yDimension": 165.67,
222
222
  "zDimension": 58
223
223
  },
224
224
  "displayName": "Slot 12/Short Fixed Trash",
225
- "ableToDropTips": true,
226
- "dropTipsOffset": [82.84, 80.0, 58]
225
+ "ableToDropTips": true
227
226
  }
228
227
  ],
229
228
  "cutouts": [
@@ -373,7 +372,8 @@
373
372
  "cutout8",
374
373
  "cutout9",
375
374
  "cutout10",
376
- "cutout11"
375
+ "cutout11",
376
+ "cutout12"
377
377
  ],
378
378
  "displayName": "Standard Slot",
379
379
  "providesAddressableAreas": {
@@ -389,7 +389,8 @@
389
389
  "cutout10": ["10"],
390
390
  "cutout11": ["11"],
391
391
  "cutout12": ["12"]
392
- }
392
+ },
393
+ "height": 0
393
394
  },
394
395
  {
395
396
  "id": "fixedTrashSlot",
@@ -397,7 +398,8 @@
397
398
  "displayName": "Fixed Trash",
398
399
  "providesAddressableAreas": {
399
400
  "cutout12": ["shortFixedTrash"]
400
- }
401
+ },
402
+ "height": 58
401
403
  }
402
404
  ]
403
405
  }
@@ -215,15 +215,14 @@
215
215
  {
216
216
  "id": "fixedTrash",
217
217
  "areaType": "fixedTrash",
218
- "offsetFromCutoutFixture": [0.0, 0.0, 0.0],
218
+ "offsetFromCutoutFixture": [29.285, -2.835, 0],
219
219
  "boundingBox": {
220
- "xDimension": 172.86,
221
- "yDimension": 165.86,
220
+ "xDimension": 107.11,
221
+ "yDimension": 165.67,
222
222
  "zDimension": 82
223
223
  },
224
224
  "displayName": "Slot 12/Fixed Trash",
225
- "ableToDropTips": true,
226
- "dropTipsOffset": [82.84, 80.0, 82.0]
225
+ "ableToDropTips": true
227
226
  }
228
227
  ],
229
228
  "cutouts": [
@@ -373,7 +372,8 @@
373
372
  "cutout8",
374
373
  "cutout9",
375
374
  "cutout10",
376
- "cutout11"
375
+ "cutout11",
376
+ "cutout12"
377
377
  ],
378
378
  "displayName": "Standard Slot",
379
379
  "providesAddressableAreas": {
@@ -389,7 +389,8 @@
389
389
  "cutout10": ["10"],
390
390
  "cutout11": ["11"],
391
391
  "cutout12": ["12"]
392
- }
392
+ },
393
+ "height": 0
393
394
  },
394
395
  {
395
396
  "id": "fixedTrashSlot",
@@ -397,7 +398,8 @@
397
398
  "displayName": "Fixed Trash",
398
399
  "providesAddressableAreas": {
399
400
  "cutout12": ["fixedTrash"]
400
- }
401
+ },
402
+ "height": 82
401
403
  }
402
404
  ]
403
405
  }