@opentrons/shared-data 0.1.2-alpha.1 → 0.1.2-alpha.3
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.
- package/package.json +1 -1
- package/js/__tests__/__snapshots__/pipettes.test.ts.snap +0 -5969
- package/js/__tests__/deckSchemas.test.ts +0 -87
- package/js/__tests__/errors.test.js +0 -21
- package/js/__tests__/getAreSlotsAdjacent.test.ts +0 -128
- package/js/__tests__/getWellNamePerMultiTip.test.ts +0 -162
- package/js/__tests__/labwareDefQuirks.test.ts +0 -38
- package/js/__tests__/labwareDefSchemaV1.test.ts +0 -82
- package/js/__tests__/labwareDefSchemaV2.test.ts +0 -298
- package/js/__tests__/moduleAccessors.test.ts +0 -50
- package/js/__tests__/moduleSpecsSchema.test.ts +0 -77
- package/js/__tests__/pipetteSchemaV2.test.ts +0 -107
- package/js/__tests__/pipetteSpecSchemas.test.ts +0 -48
- package/js/__tests__/pipettes.test.ts +0 -58
- package/js/__tests__/protocolSchemaV4.test.ts +0 -137
- package/js/__tests__/protocolSchemaV5.test.ts +0 -137
- package/js/__tests__/protocolSchemaV6.test.ts +0 -132
- package/js/__tests__/protocolSchemaV7.test.ts +0 -64
- package/js/__tests__/protocolValidation.test.ts +0 -83
- package/js/__tests__/sortWells.test.ts +0 -40
- package/js/__tests__/splitWellsOnColumn.test.ts +0 -21
- package/js/__tests__/validateErrors.test.js +0 -34
- package/js/constants.ts +0 -405
- package/js/cypressUtils.ts +0 -35
- package/js/errors.ts +0 -33
- package/js/fixtures.ts +0 -156
- package/js/getLabware.ts +0 -145
- package/js/gripper.ts +0 -29
- package/js/helpers/__tests__/getAdapterName.test.ts +0 -31
- package/js/helpers/__tests__/getDeckDefFromLoadedLabware.test.ts +0 -12
- package/js/helpers/__tests__/getSimplestFlexDeckConfig.test.ts +0 -176
- package/js/helpers/__tests__/getVectorDifference.test.ts +0 -25
- package/js/helpers/__tests__/getVectorSum.test.ts +0 -21
- package/js/helpers/__tests__/labwareInference.test.ts +0 -84
- package/js/helpers/__tests__/orderWells.test.ts +0 -87
- package/js/helpers/__tests__/parseProtocolData.test.ts +0 -165
- package/js/helpers/__tests__/volume.test.ts +0 -108
- package/js/helpers/__tests__/wellSets.test.ts +0 -352
- package/js/helpers/get96Channel384WellPlateWells.ts +0 -44
- package/js/helpers/getAddressableAreasInProtocol.ts +0 -98
- package/js/helpers/getLoadedLabwareDefinitionsByUri.ts +0 -30
- package/js/helpers/getModuleVizDims.ts +0 -118
- package/js/helpers/getOccludedSlotCountForModule.ts +0 -13
- package/js/helpers/getSimplestFlexDeckConfig.ts +0 -183
- package/js/helpers/getVectorDifference.ts +0 -12
- package/js/helpers/getVectorSum.ts +0 -12
- package/js/helpers/getWellNamePerMultiTip.ts +0 -86
- package/js/helpers/getWellTotalVolume.ts +0 -16
- package/js/helpers/index.ts +0 -348
- package/js/helpers/labwareInference.ts +0 -92
- package/js/helpers/orderWells.ts +0 -69
- package/js/helpers/parseProtocolData.ts +0 -141
- package/js/helpers/volume.ts +0 -35
- package/js/helpers/wellIsRect.ts +0 -6
- package/js/helpers/wellSets.ts +0 -155
- package/js/index.ts +0 -14
- package/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap +0 -3
- package/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap +0 -3
- package/js/labwareTools/__tests__/createDefaultDisplayName.test.ts +0 -111
- package/js/labwareTools/__tests__/createIrregularLabware.test.ts +0 -226
- package/js/labwareTools/__tests__/createLabware.test.ts +0 -147
- package/js/labwareTools/index.ts +0 -452
- package/js/modules.ts +0 -97
- package/js/pipettes.ts +0 -89
- package/js/protocols.ts +0 -290
- package/js/schema.ts +0 -80
- package/js/scripts/generateDeckLayersFromSVG.js +0 -46
- package/js/titleCase.ts +0 -30
- package/js/types.ts +0 -561
package/js/types.ts
DELETED
|
@@ -1,561 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
MAGDECK,
|
|
3
|
-
TEMPDECK,
|
|
4
|
-
THERMOCYCLER,
|
|
5
|
-
MAGNETIC_MODULE_V1,
|
|
6
|
-
MAGNETIC_MODULE_V2,
|
|
7
|
-
TEMPERATURE_MODULE_V1,
|
|
8
|
-
TEMPERATURE_MODULE_V2,
|
|
9
|
-
THERMOCYCLER_MODULE_V1,
|
|
10
|
-
THERMOCYCLER_MODULE_V2,
|
|
11
|
-
HEATERSHAKER_MODULE_V1,
|
|
12
|
-
MAGNETIC_MODULE_TYPE,
|
|
13
|
-
TEMPERATURE_MODULE_TYPE,
|
|
14
|
-
THERMOCYCLER_MODULE_TYPE,
|
|
15
|
-
HEATERSHAKER_MODULE_TYPE,
|
|
16
|
-
MAGNETIC_BLOCK_TYPE,
|
|
17
|
-
GEN1,
|
|
18
|
-
GEN2,
|
|
19
|
-
FLEX,
|
|
20
|
-
LEFT,
|
|
21
|
-
RIGHT,
|
|
22
|
-
GRIPPER_V1,
|
|
23
|
-
GRIPPER_V1_1,
|
|
24
|
-
GRIPPER_V1_2,
|
|
25
|
-
EXTENSION,
|
|
26
|
-
MAGNETIC_BLOCK_V1,
|
|
27
|
-
} from './constants'
|
|
28
|
-
import type { RunTimeCommand, LabwareLocation } from '../command/types'
|
|
29
|
-
import type { AddressableAreaName, CutoutFixtureId, CutoutId } from '../deck'
|
|
30
|
-
import type { PipetteName } from './pipettes'
|
|
31
|
-
|
|
32
|
-
export type RobotType = 'OT-2 Standard' | 'OT-3 Standard'
|
|
33
|
-
|
|
34
|
-
export interface RobotDefinition {
|
|
35
|
-
displayName: string
|
|
36
|
-
robotType: RobotType
|
|
37
|
-
models: string[]
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// TODO Ian 2019-06-04 split this out into eg ../labware/flowTypes/labwareV1.js
|
|
41
|
-
export interface WellDefinition {
|
|
42
|
-
diameter?: number
|
|
43
|
-
// NOTE: presence of diameter indicates a circular well
|
|
44
|
-
depth?: number
|
|
45
|
-
// TODO Ian 2018-03-12: depth should be required, but is missing in MALDI-plate
|
|
46
|
-
height: number
|
|
47
|
-
length: number
|
|
48
|
-
width: number
|
|
49
|
-
x: number
|
|
50
|
-
y: number
|
|
51
|
-
z: number
|
|
52
|
-
'total-liquid-volume': number
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// typedef for labware definitions under v1 labware schema
|
|
56
|
-
export interface LabwareDefinition1 {
|
|
57
|
-
metadata: {
|
|
58
|
-
name: string
|
|
59
|
-
format: string
|
|
60
|
-
deprecated?: boolean
|
|
61
|
-
displayName?: string
|
|
62
|
-
displayCategory?: string
|
|
63
|
-
isValidSource?: boolean
|
|
64
|
-
isTiprack?: boolean
|
|
65
|
-
tipVolume?: number
|
|
66
|
-
}
|
|
67
|
-
ordering: string[][]
|
|
68
|
-
wells: {
|
|
69
|
-
[well: string]: WellDefinition
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
// TODO(mc, 2019-05-29): Remove this enum in favor of string + exported
|
|
74
|
-
// constants + unit tests to catch typos in our definitions. Make changes
|
|
75
|
-
// here and in shared-data/labware/schemas/2.json
|
|
76
|
-
export type LabwareDisplayCategory =
|
|
77
|
-
| 'wellPlate'
|
|
78
|
-
| 'tipRack'
|
|
79
|
-
| 'tubeRack'
|
|
80
|
-
| 'reservoir'
|
|
81
|
-
| 'aluminumBlock'
|
|
82
|
-
| 'trash'
|
|
83
|
-
| 'other'
|
|
84
|
-
| 'adapter'
|
|
85
|
-
|
|
86
|
-
export type LabwareVolumeUnits = 'µL' | 'mL' | 'L'
|
|
87
|
-
|
|
88
|
-
// TODO(mc, 2019-05-29): Remove this enum in favor of string + exported
|
|
89
|
-
// constants + unit tests to catch typos in our definitions. Make changes
|
|
90
|
-
// here and in shared-data/labware/schemas/2.json
|
|
91
|
-
export type WellBottomShape = 'flat' | 'u' | 'v'
|
|
92
|
-
|
|
93
|
-
export interface LabwareMetadata {
|
|
94
|
-
displayName: string
|
|
95
|
-
displayCategory: LabwareDisplayCategory
|
|
96
|
-
displayVolumeUnits: LabwareVolumeUnits
|
|
97
|
-
tags?: string[]
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export interface LabwareDimensions {
|
|
101
|
-
xDimension: number
|
|
102
|
-
yDimension: number
|
|
103
|
-
zDimension: number
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export interface Coordinates {
|
|
107
|
-
x: number
|
|
108
|
-
y: number
|
|
109
|
-
z: number
|
|
110
|
-
}
|
|
111
|
-
export type LabwareOffset = Coordinates
|
|
112
|
-
|
|
113
|
-
// 1. Valid pipette type for a container (i.e. is there multi channel access?)
|
|
114
|
-
// 2. Is the container a tiprack?
|
|
115
|
-
export interface LabwareParameters {
|
|
116
|
-
loadName: string
|
|
117
|
-
format: string
|
|
118
|
-
isTiprack: boolean
|
|
119
|
-
tipLength?: number
|
|
120
|
-
isMagneticModuleCompatible: boolean
|
|
121
|
-
magneticModuleEngageHeight?: number
|
|
122
|
-
quirks?: string[]
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export interface LabwareBrand {
|
|
126
|
-
brand: string
|
|
127
|
-
brandId?: string[]
|
|
128
|
-
links?: string[]
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export interface CircularWellShapeProperties {
|
|
132
|
-
shape: 'circular'
|
|
133
|
-
diameter: number
|
|
134
|
-
}
|
|
135
|
-
export interface RectangularWellShapeProperties {
|
|
136
|
-
shape: 'rectangular'
|
|
137
|
-
xDimension: number
|
|
138
|
-
yDimension: number
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
export type LabwareWellShapeProperties =
|
|
142
|
-
| CircularWellShapeProperties
|
|
143
|
-
| RectangularWellShapeProperties
|
|
144
|
-
|
|
145
|
-
// well without x,y,z
|
|
146
|
-
export type LabwareWellProperties = LabwareWellShapeProperties & {
|
|
147
|
-
depth: number
|
|
148
|
-
totalLiquidVolume: number
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export type LabwareWell = LabwareWellProperties & {
|
|
152
|
-
x: number
|
|
153
|
-
y: number
|
|
154
|
-
z: number
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// TODO(mc, 2019-03-21): exact object is tough to use with the initial value in
|
|
158
|
-
// reduce, so leaving this inexact (e.g. `const a: {||} = {}` errors)
|
|
159
|
-
export type LabwareWellMap = Record<string, LabwareWell>
|
|
160
|
-
|
|
161
|
-
export interface LabwareWellGroupMetadata {
|
|
162
|
-
displayName?: string
|
|
163
|
-
displayCategory?: LabwareDisplayCategory
|
|
164
|
-
wellBottomShape?: WellBottomShape
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
export interface LabwareWellGroup {
|
|
168
|
-
wells: string[]
|
|
169
|
-
metadata: LabwareWellGroupMetadata
|
|
170
|
-
brand?: LabwareBrand
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
export type LabwareRoles = 'labware' | 'adapter' | 'fixture' | 'maintenance'
|
|
174
|
-
|
|
175
|
-
// NOTE: must be synced with shared-data/labware/schemas/2.json
|
|
176
|
-
export interface LabwareDefinition2 {
|
|
177
|
-
version: number
|
|
178
|
-
schemaVersion: 2
|
|
179
|
-
namespace: string
|
|
180
|
-
metadata: LabwareMetadata
|
|
181
|
-
dimensions: LabwareDimensions
|
|
182
|
-
cornerOffsetFromSlot: LabwareOffset
|
|
183
|
-
parameters: LabwareParameters
|
|
184
|
-
brand: LabwareBrand
|
|
185
|
-
ordering: string[][]
|
|
186
|
-
wells: LabwareWellMap
|
|
187
|
-
groups: LabwareWellGroup[]
|
|
188
|
-
allowedRoles?: LabwareRoles[]
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
export type ModuleType =
|
|
192
|
-
| typeof MAGNETIC_MODULE_TYPE
|
|
193
|
-
| typeof TEMPERATURE_MODULE_TYPE
|
|
194
|
-
| typeof THERMOCYCLER_MODULE_TYPE
|
|
195
|
-
| typeof HEATERSHAKER_MODULE_TYPE
|
|
196
|
-
| typeof MAGNETIC_BLOCK_TYPE
|
|
197
|
-
|
|
198
|
-
// ModuleModel corresponds to top-level keys in shared-data/module/definitions/2
|
|
199
|
-
export type MagneticModuleModel =
|
|
200
|
-
| typeof MAGNETIC_MODULE_V1
|
|
201
|
-
| typeof MAGNETIC_MODULE_V2
|
|
202
|
-
|
|
203
|
-
export type TemperatureModuleModel =
|
|
204
|
-
| typeof TEMPERATURE_MODULE_V1
|
|
205
|
-
| typeof TEMPERATURE_MODULE_V2
|
|
206
|
-
|
|
207
|
-
export type ThermocyclerModuleModel =
|
|
208
|
-
| typeof THERMOCYCLER_MODULE_V1
|
|
209
|
-
| typeof THERMOCYCLER_MODULE_V2
|
|
210
|
-
|
|
211
|
-
export type HeaterShakerModuleModel = typeof HEATERSHAKER_MODULE_V1
|
|
212
|
-
|
|
213
|
-
export type MagneticBlockModel = typeof MAGNETIC_BLOCK_V1
|
|
214
|
-
|
|
215
|
-
export type ModuleModel =
|
|
216
|
-
| MagneticModuleModel
|
|
217
|
-
| TemperatureModuleModel
|
|
218
|
-
| ThermocyclerModuleModel
|
|
219
|
-
| HeaterShakerModuleModel
|
|
220
|
-
| MagneticBlockModel
|
|
221
|
-
|
|
222
|
-
export type GripperModel =
|
|
223
|
-
| typeof GRIPPER_V1
|
|
224
|
-
| typeof GRIPPER_V1_1
|
|
225
|
-
| typeof GRIPPER_V1_2
|
|
226
|
-
|
|
227
|
-
export type ModuleModelWithLegacy =
|
|
228
|
-
| ModuleModel
|
|
229
|
-
| typeof THERMOCYCLER
|
|
230
|
-
| typeof MAGDECK
|
|
231
|
-
| typeof TEMPDECK
|
|
232
|
-
|
|
233
|
-
export interface Dimensions {
|
|
234
|
-
xDimension: number
|
|
235
|
-
yDimension: number
|
|
236
|
-
zDimension: number
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
export interface DeckRobot {
|
|
240
|
-
model: RobotType
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
export type CoordinateTuple = [number, number, number]
|
|
244
|
-
|
|
245
|
-
export type UnitDirection = 1 | -1
|
|
246
|
-
|
|
247
|
-
export type UnitVectorTuple = [UnitDirection, UnitDirection, UnitDirection]
|
|
248
|
-
|
|
249
|
-
export type DeckSlotId = string
|
|
250
|
-
|
|
251
|
-
export interface DeckSlot {
|
|
252
|
-
id: DeckSlotId
|
|
253
|
-
position: CoordinateTuple
|
|
254
|
-
matingSurfaceUnitVector?: UnitVectorTuple
|
|
255
|
-
boundingBox: Dimensions
|
|
256
|
-
displayName: string
|
|
257
|
-
compatibleModules: ModuleType[]
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export interface DeckCalibrationPoint {
|
|
261
|
-
id: string
|
|
262
|
-
position: CoordinateTuple
|
|
263
|
-
displayName: string
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
export interface CutoutFixture {
|
|
267
|
-
id: CutoutFixtureId
|
|
268
|
-
mayMountTo: CutoutId[]
|
|
269
|
-
displayName: string
|
|
270
|
-
providesAddressableAreas: Record<CutoutId, AddressableAreaName[]>
|
|
271
|
-
height: number
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
type AreaType =
|
|
275
|
-
| 'slot'
|
|
276
|
-
| 'movableTrash'
|
|
277
|
-
| 'wasteChute'
|
|
278
|
-
| 'fixedTrash'
|
|
279
|
-
| 'stagingSlot'
|
|
280
|
-
|
|
281
|
-
export interface AddressableArea {
|
|
282
|
-
id: AddressableAreaName
|
|
283
|
-
areaType: AreaType
|
|
284
|
-
offsetFromCutoutFixture: CoordinateTuple
|
|
285
|
-
boundingBox: Dimensions
|
|
286
|
-
displayName: string
|
|
287
|
-
compatibleModuleTypes: ModuleType[]
|
|
288
|
-
ableToDropLabware?: boolean
|
|
289
|
-
ableToDropTips?: boolean
|
|
290
|
-
matingSurfaceUnitVector?: UnitVectorTuple
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
export interface DeckMetadata {
|
|
294
|
-
displayName: string
|
|
295
|
-
tags: string[]
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
export interface DeckCutout {
|
|
299
|
-
id: CutoutId
|
|
300
|
-
position: CoordinateTuple
|
|
301
|
-
displayName: string
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
export interface LegacyFixture {
|
|
305
|
-
id: string
|
|
306
|
-
slot: string
|
|
307
|
-
labware: string
|
|
308
|
-
displayName: string
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
export interface DeckLocations {
|
|
312
|
-
addressableAreas: AddressableArea[]
|
|
313
|
-
calibrationPoints: DeckCalibrationPoint[]
|
|
314
|
-
cutouts: DeckCutout[]
|
|
315
|
-
legacyFixtures: LegacyFixture[]
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
export interface DeckDefinition {
|
|
319
|
-
otId: string
|
|
320
|
-
cornerOffsetFromOrigin: CoordinateTuple
|
|
321
|
-
dimensions: CoordinateTuple
|
|
322
|
-
robot: DeckRobot
|
|
323
|
-
locations: DeckLocations
|
|
324
|
-
metadata: DeckMetadata
|
|
325
|
-
cutoutFixtures: CutoutFixture[]
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
export interface ModuleDimensions {
|
|
329
|
-
bareOverallHeight: number
|
|
330
|
-
overLabwareHeight: number
|
|
331
|
-
xDimension: number
|
|
332
|
-
yDimension: number
|
|
333
|
-
footprintXDimension?: number
|
|
334
|
-
footprintYDimension?: number
|
|
335
|
-
labwareInterfaceXDimension?: number
|
|
336
|
-
labwareInterfaceYDimension?: number
|
|
337
|
-
lidHeight?: number
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
export interface ModuleCalibrationPoint {
|
|
341
|
-
x: number
|
|
342
|
-
y: number
|
|
343
|
-
z?: number
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
export interface ModuleLayer {
|
|
347
|
-
name: string
|
|
348
|
-
pathDValues: string[]
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
// module definition that adheres to the v3 module json schema
|
|
352
|
-
export interface ModuleDefinition {
|
|
353
|
-
moduleType: ModuleType
|
|
354
|
-
model: ModuleModel
|
|
355
|
-
labwareOffset: Coordinates
|
|
356
|
-
dimensions: ModuleDimensions
|
|
357
|
-
cornerOffsetFromSlot: Coordinates
|
|
358
|
-
calibrationPoint: ModuleCalibrationPoint
|
|
359
|
-
displayName: string
|
|
360
|
-
quirks: string[]
|
|
361
|
-
slotTransforms: SlotTransforms
|
|
362
|
-
compatibleWith: ModuleModel[]
|
|
363
|
-
twoDimensionalRendering: any // deprecated SVGson INode use Module SVG Components instead
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
export type AffineTransformMatrix = number[][]
|
|
367
|
-
|
|
368
|
-
export interface SlotTransforms {
|
|
369
|
-
[deckOtId: string]: {
|
|
370
|
-
[slotId: string]: {
|
|
371
|
-
[transformKey in keyof ModuleDefinition]?: AffineTransformMatrix
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
export type ModuleOrientation = 'left' | 'right'
|
|
377
|
-
|
|
378
|
-
export type PipetteChannels = 1 | 8 | 96
|
|
379
|
-
|
|
380
|
-
export type PipetteDisplayCategory = typeof GEN1 | typeof GEN2 | typeof FLEX
|
|
381
|
-
|
|
382
|
-
export type PipetteMount = typeof LEFT | typeof RIGHT
|
|
383
|
-
export type GantryMount = typeof LEFT | typeof RIGHT | typeof EXTENSION
|
|
384
|
-
export interface FlowRateSpec {
|
|
385
|
-
value: number
|
|
386
|
-
min: number
|
|
387
|
-
max: number
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
export interface PipetteNameSpecs {
|
|
391
|
-
name: string
|
|
392
|
-
displayName: string
|
|
393
|
-
displayCategory: PipetteDisplayCategory
|
|
394
|
-
minVolume: number
|
|
395
|
-
maxVolume: number
|
|
396
|
-
channels: PipetteChannels
|
|
397
|
-
defaultAspirateFlowRate: FlowRateSpec
|
|
398
|
-
defaultDispenseFlowRate: FlowRateSpec
|
|
399
|
-
defaultBlowOutFlowRate: FlowRateSpec
|
|
400
|
-
defaultTipracks: string[]
|
|
401
|
-
smoothieConfigs?: {
|
|
402
|
-
stepsPerMM: number
|
|
403
|
-
homePosition: number
|
|
404
|
-
travelDistance: number
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
// TODO(bc, 2021-05-27): the type of `model` here should be PipetteModel
|
|
409
|
-
// TODO(mc, 2019-10-14): update this type according to the schema
|
|
410
|
-
export interface PipetteModelSpecs extends PipetteNameSpecs {
|
|
411
|
-
model: string
|
|
412
|
-
backCompatNames?: string[]
|
|
413
|
-
tipLength: {
|
|
414
|
-
value: number
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
export interface ProtocolMetadata {
|
|
418
|
-
protocolName?: string
|
|
419
|
-
author?: string
|
|
420
|
-
description?: string | null
|
|
421
|
-
created?: number
|
|
422
|
-
lastModified?: number | null
|
|
423
|
-
category?: string | null
|
|
424
|
-
subcategory?: string | null
|
|
425
|
-
tags?: string[]
|
|
426
|
-
[key: string]: unknown
|
|
427
|
-
}
|
|
428
|
-
export interface PendingProtocolAnalysis {
|
|
429
|
-
id: string
|
|
430
|
-
status?: 'pending'
|
|
431
|
-
}
|
|
432
|
-
export interface ProtocolAnalysisSummary {
|
|
433
|
-
id: string
|
|
434
|
-
status: 'pending' | 'completed'
|
|
435
|
-
}
|
|
436
|
-
export interface LoadedPipette {
|
|
437
|
-
id: string
|
|
438
|
-
pipetteName: PipetteName
|
|
439
|
-
mount: 'left' | 'right'
|
|
440
|
-
}
|
|
441
|
-
export interface LoadedLabware {
|
|
442
|
-
id: string
|
|
443
|
-
loadName: string
|
|
444
|
-
definitionUri: string
|
|
445
|
-
location: LabwareLocation
|
|
446
|
-
offsetId?: string
|
|
447
|
-
displayName?: string
|
|
448
|
-
}
|
|
449
|
-
export interface LoadedModule {
|
|
450
|
-
id: string
|
|
451
|
-
model: ModuleModel
|
|
452
|
-
location: {
|
|
453
|
-
slotName: string
|
|
454
|
-
}
|
|
455
|
-
serialNumber: string
|
|
456
|
-
}
|
|
457
|
-
export interface Liquid {
|
|
458
|
-
id: string
|
|
459
|
-
displayName: string
|
|
460
|
-
description: string
|
|
461
|
-
displayColor?: string
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
export interface AnalysisError {
|
|
465
|
-
id: string
|
|
466
|
-
detail: string
|
|
467
|
-
errorType: string
|
|
468
|
-
createdAt: string
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
// TODO(BC, 10/25/2023): this type (and others in this file) probably belong in api-client, not here
|
|
472
|
-
export interface CompletedProtocolAnalysis {
|
|
473
|
-
id: string
|
|
474
|
-
status?: 'completed'
|
|
475
|
-
result: 'ok' | 'not-ok' | 'error'
|
|
476
|
-
pipettes: LoadedPipette[]
|
|
477
|
-
labware: LoadedLabware[]
|
|
478
|
-
modules: LoadedModule[]
|
|
479
|
-
liquids: Liquid[]
|
|
480
|
-
commands: RunTimeCommand[]
|
|
481
|
-
errors: AnalysisError[]
|
|
482
|
-
robotType?: RobotType | null
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
export interface ResourceFile {
|
|
486
|
-
name: string
|
|
487
|
-
role: string
|
|
488
|
-
}
|
|
489
|
-
export interface ProtocolResource {
|
|
490
|
-
id: string
|
|
491
|
-
createdAt: string
|
|
492
|
-
protocolType: 'json' | 'python'
|
|
493
|
-
robotType: RobotType
|
|
494
|
-
metadata: ProtocolMetadata
|
|
495
|
-
analysisSummaries: ProtocolAnalysisSummary[]
|
|
496
|
-
files: ResourceFile[]
|
|
497
|
-
key?: string
|
|
498
|
-
}
|
|
499
|
-
|
|
500
|
-
export interface ProtocolAnalysesResource {
|
|
501
|
-
analyses: Array<PendingProtocolAnalysis | CompletedProtocolAnalysis>
|
|
502
|
-
}
|
|
503
|
-
export type MotorAxis =
|
|
504
|
-
| 'x'
|
|
505
|
-
| 'y'
|
|
506
|
-
| 'leftZ'
|
|
507
|
-
| 'rightZ'
|
|
508
|
-
| 'leftPlunger'
|
|
509
|
-
| 'rightPlunger'
|
|
510
|
-
| 'extensionZ'
|
|
511
|
-
| 'extensionJaw'
|
|
512
|
-
|
|
513
|
-
export type MotorAxes = MotorAxis[]
|
|
514
|
-
|
|
515
|
-
export type ThermalAdapterName =
|
|
516
|
-
| 'PCR Adapter'
|
|
517
|
-
| 'Deep Well Adapter'
|
|
518
|
-
| '96 Flat Bottom Adapter'
|
|
519
|
-
| 'Universal Flat Adapter'
|
|
520
|
-
|
|
521
|
-
// gripper definition that adheres to the v1 gripper json schema
|
|
522
|
-
export interface GripperDefinition {
|
|
523
|
-
$otSharedSchema: string
|
|
524
|
-
model: GripperModel
|
|
525
|
-
schemaVersion: number
|
|
526
|
-
displayName: string
|
|
527
|
-
zMotorConfigurations: { idle: number; run: number }
|
|
528
|
-
jawMotorConfigurations: { vref: number }
|
|
529
|
-
gripForceProfile: {
|
|
530
|
-
polynomial: [[number, number], [number, number]]
|
|
531
|
-
defaultGripForce: number
|
|
532
|
-
defaultHomeForce: number
|
|
533
|
-
defaultIdleForce: number
|
|
534
|
-
min: number
|
|
535
|
-
max: number
|
|
536
|
-
}
|
|
537
|
-
geometry: {
|
|
538
|
-
baseOffsetFromMount: [number, number, number]
|
|
539
|
-
jawCenterOffsetFromBase: [number, number, number]
|
|
540
|
-
pinOneOffsetFromBase: [number, number, number]
|
|
541
|
-
pinTwoOffsetFromBase: [number, number, number]
|
|
542
|
-
jawWidth: { min: number; max: number }
|
|
543
|
-
maxAllowedGripError: number
|
|
544
|
-
}
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
export type StatusBarAnimation =
|
|
548
|
-
| 'idle'
|
|
549
|
-
| 'confirm'
|
|
550
|
-
| 'updating'
|
|
551
|
-
| 'disco'
|
|
552
|
-
| 'off'
|
|
553
|
-
|
|
554
|
-
export type StatusBarAnimations = StatusBarAnimation[]
|
|
555
|
-
|
|
556
|
-
export interface CutoutConfig {
|
|
557
|
-
cutoutId: CutoutId
|
|
558
|
-
cutoutFixtureId: CutoutFixtureId | null
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
export type DeckConfiguration = CutoutConfig[]
|