@opentrons/step-generation 0.3.0-alpha.1 → 0.3.2-alpha.0
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/README.md +1 -1
- package/lib/commandCreators/atomic/__tests__/vacuumOpenVent.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/vacuumSetPumpPower.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/vacuumSetPumpPressure.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/vacuumStartRunProfile.test.d.ts +1 -0
- package/lib/commandCreators/atomic/__tests__/vacuumStopPump.test.d.ts +1 -0
- package/lib/commandCreators/atomic/index.d.ts +6 -0
- package/lib/commandCreators/atomic/vacuumCloseVent.d.ts +2 -0
- package/lib/commandCreators/atomic/vacuumOpenVent.d.ts +3 -0
- package/lib/commandCreators/atomic/vacuumSetPumpPower.d.ts +2 -0
- package/lib/commandCreators/atomic/vacuumSetPumpPressure.d.ts +2 -0
- package/lib/commandCreators/atomic/vacuumStartRunProfile.d.ts +2 -0
- package/lib/commandCreators/atomic/vacuumStopPump.d.ts +3 -0
- package/lib/commandCreators/compound/index.d.ts +3 -0
- package/lib/commandCreators/compound/vacuumCloseVentSetPumpPower.d.ts +2 -0
- package/lib/commandCreators/compound/vacuumCloseVentSetPumpPressure.d.ts +2 -0
- package/lib/commandCreators/compound/vacuumCloseVentStartProfile.d.ts +2 -0
- package/lib/commandCreators/index.d.ts +2 -2
- package/lib/constants.d.ts +6 -3
- package/lib/errorCreators.d.ts +7 -2
- package/lib/getNextRobotStateAndWarnings/__tests__/forSetTipState.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/__tests__/vacuumUpdates.test.d.ts +1 -0
- package/lib/getNextRobotStateAndWarnings/forSetTipState.d.ts +3 -0
- package/lib/getNextRobotStateAndWarnings/forWaitForTasks.d.ts +2 -1
- package/lib/getNextRobotStateAndWarnings/thermocyclerUpdates.d.ts +2 -2
- package/lib/getNextRobotStateAndWarnings/vacuumUpdates.d.ts +9 -0
- package/lib/index.cjs +107 -162
- package/lib/index.d.ts +1 -1
- package/lib/index.mjs +7661 -9898
- package/lib/types.d.ts +142 -15
- package/lib/utils/__tests__/getModuleHasLiveTask.test.d.ts +1 -0
- package/lib/utils/__tests__/getPipetteCriticalPoint.test.d.ts +1 -0
- package/lib/utils/__tests__/getPipetteMovementSafetyStatus.test.d.ts +1 -0
- package/lib/utils/getModuleHasLiveTask.d.ts +2 -0
- package/lib/utils/getPipetteCriticalPoint.d.ts +3 -0
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/misc.d.ts +1 -0
- package/lib/utils/safePipetteMovements.d.ts +5 -9
- package/lib/utils/vacuumPythonArgs/__tests__/getVacuumProfileStepString.test.d.ts +1 -0
- package/lib/utils/vacuumPythonArgs/__tests__/getVacuumPumpHoldArgsPython.test.d.ts +1 -0
- package/lib/utils/vacuumPythonArgs/getVacuumProfileStepString.d.ts +2 -0
- package/lib/utils/vacuumPythonArgs/getVacuumPumpHoldArgsPython.d.ts +1 -0
- package/package.json +5 -5
- /package/lib/{utils/__tests__/getIsSafePipetteMovement.test.d.ts → commandCreators/atomic/__tests__/vacuumCloseVent.test.d.ts} +0 -0
package/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ABSORBANCE_READER_TYPE, CreateCommand, FLEX_STACKER_MODULE_TYPE, FlexStackerStoredLabwareGroup, HEATERSHAKER_MODULE_TYPE, Height, LabwareDefinition2, LabwareLocation, LabwareMovementStrategy, LoadedLabwareLocation, MAGNETIC_BLOCK_TYPE, MAGNETIC_MODULE_TYPE, ModuleModel, ModuleType, PipetteMount as Mount, NozzleConfigurationStyle, PipetteName, PipetteV2Specs, PositionReference, PrimaryNozzleConfigurationStyle, ShakeSpeedParams, StackerStoredLabwareDefinitionURIs, TCExtendedProfileParams, TEMPERATURE_MODULE_TYPE, THERMOCYCLER_MODULE_TYPE, VACUUM_MODULE_TYPE, Width } from '@opentrons/shared-data';
|
|
1
|
+
import type { ABSORBANCE_READER_TYPE, AddressableArea, CreateCommand, FLEX_STACKER_MODULE_TYPE, FlexStackerStoredLabwareGroup, HEATERSHAKER_MODULE_TYPE, Height, LabwareDefinition2, LabwareLocation, LabwareMovementStrategy, LoadedLabwareLocation, MAGNETIC_BLOCK_TYPE, MAGNETIC_MODULE_TYPE, ModuleModel, ModuleType, PipetteMount as Mount, NozzleConfigurationStyle, PipetteName, PipetteV2Specs, PositionReference, PrimaryNozzleConfigurationStyle, ShakeSpeedParams, StackerStoredLabwareDefinitionURIs, TCExtendedProfileParams, TEMPERATURE_MODULE_TYPE, THERMOCYCLER_MODULE_TYPE, VACUUM_MODULE_TYPE, VacuumRunProfileParams, Width } from '@opentrons/shared-data';
|
|
2
2
|
import type { AUTOMATIC, CLEAN, DIRTY, EMPTY, MANUAL, TEMPERATURE_APPROACHING_TARGET, TEMPERATURE_AT_TARGET, TEMPERATURE_DEACTIVATED, VACUUM_MODE_POWER, VACUUM_MODE_PRESSURE, VACUUM_VENT_CLOSED, VACUUM_VENT_OPEN } from './constants';
|
|
3
3
|
export type DeckSlot = string;
|
|
4
4
|
type THERMOCYCLER_STATE = 'thermocyclerState';
|
|
@@ -31,6 +31,11 @@ export interface TemperatureModuleState {
|
|
|
31
31
|
status: TemperatureStatus;
|
|
32
32
|
targetTemperature: number | null;
|
|
33
33
|
}
|
|
34
|
+
export interface Point {
|
|
35
|
+
x: number;
|
|
36
|
+
y: number;
|
|
37
|
+
z?: number;
|
|
38
|
+
}
|
|
34
39
|
export interface ThermocyclerModuleState {
|
|
35
40
|
type: typeof THERMOCYCLER_MODULE_TYPE;
|
|
36
41
|
lidTargetTemp: number | null; /** null means lid is deactivated. */
|
|
@@ -58,6 +63,39 @@ export interface ProfileBlockActivity {
|
|
|
58
63
|
*/
|
|
59
64
|
taskId: string | null;
|
|
60
65
|
}
|
|
66
|
+
export interface VacuumPumpProfileActivity {
|
|
67
|
+
type: 'profile';
|
|
68
|
+
profileElements: VacuumRunProfileParams['profile'];
|
|
69
|
+
taskId: string;
|
|
70
|
+
ventAfter: boolean;
|
|
71
|
+
}
|
|
72
|
+
interface BaseVacuumPumpTimedHold {
|
|
73
|
+
type: 'timedHold';
|
|
74
|
+
durationSeconds: number;
|
|
75
|
+
taskId: string;
|
|
76
|
+
ventAfter: boolean;
|
|
77
|
+
}
|
|
78
|
+
interface VacuumPumpPressureTimedHold extends BaseVacuumPumpTimedHold {
|
|
79
|
+
mode: typeof VACUUM_MODE_PRESSURE;
|
|
80
|
+
targetPressure: number;
|
|
81
|
+
}
|
|
82
|
+
interface VacuumPumpPowerTimedHold extends BaseVacuumPumpTimedHold {
|
|
83
|
+
mode: typeof VACUUM_MODE_POWER;
|
|
84
|
+
targetPower: number;
|
|
85
|
+
}
|
|
86
|
+
interface VacuumPumpPressureIndefiniteHold {
|
|
87
|
+
type: 'indefiniteHold';
|
|
88
|
+
mode: typeof VACUUM_MODE_PRESSURE;
|
|
89
|
+
targetPressure: number;
|
|
90
|
+
}
|
|
91
|
+
interface VacuumPumpPowerIndefiniteHold {
|
|
92
|
+
type: 'indefiniteHold';
|
|
93
|
+
mode: typeof VACUUM_MODE_POWER;
|
|
94
|
+
targetPower: number;
|
|
95
|
+
}
|
|
96
|
+
export interface VacuumPumpDeactivatedActivity {
|
|
97
|
+
type: 'pumpDeactivated';
|
|
98
|
+
}
|
|
61
99
|
/** The thermal block is targeting a constant temperature, outside of a profile. */
|
|
62
100
|
export interface TargetTempBlockActivity {
|
|
63
101
|
type: 'blockTargetTemp';
|
|
@@ -93,21 +131,13 @@ export interface FlexStackerModuleState {
|
|
|
93
131
|
setStoredLabwareCount?: number;
|
|
94
132
|
fillCount?: number;
|
|
95
133
|
}
|
|
96
|
-
interface VacuumModulePressureState {
|
|
97
|
-
modeType: typeof VACUUM_MODE_PRESSURE;
|
|
98
|
-
currentPressure: number | null;
|
|
99
|
-
targetPressure: number | null;
|
|
100
|
-
}
|
|
101
|
-
interface VacuumModulePowerState {
|
|
102
|
-
modeType: typeof VACUUM_MODE_POWER;
|
|
103
|
-
currentPower: number | null;
|
|
104
|
-
targetPower: number | null;
|
|
105
|
-
}
|
|
106
134
|
export type VentStatus = typeof VACUUM_VENT_OPEN | typeof VACUUM_VENT_CLOSED;
|
|
135
|
+
export type VacuumPumpActivity = VacuumPumpProfileActivity | VacuumPumpDeactivatedActivity | VacuumPumpPressureTimedHold | VacuumPumpPowerTimedHold | VacuumPumpPressureIndefiniteHold | VacuumPumpPowerIndefiniteHold;
|
|
107
136
|
export interface VacuumModuleState {
|
|
108
137
|
type: typeof VACUUM_MODULE_TYPE;
|
|
109
|
-
vacuumState: VacuumModulePressureState | VacuumModulePowerState | null;
|
|
110
138
|
ventStatus: VentStatus | null;
|
|
139
|
+
numPumpActivitiesStarted: number;
|
|
140
|
+
currentPumpActivity: VacuumPumpActivity;
|
|
111
141
|
}
|
|
112
142
|
export type ModuleState = MagneticModuleState | TemperatureModuleState | ThermocyclerModuleState | HeaterShakerModuleState | MagneticBlockState | AbsorbanceReaderState | FlexStackerModuleState | VacuumModuleState;
|
|
113
143
|
export interface ModuleTemporalProperties {
|
|
@@ -415,7 +445,7 @@ export interface WaitForTemperatureArgs extends CommonArgs {
|
|
|
415
445
|
export interface WaitForModuleTaskArgs extends CommonArgs {
|
|
416
446
|
commandCreatorFnName: 'waitForModuleTask';
|
|
417
447
|
/** This step will wait for this to happen before moving on. */
|
|
418
|
-
waitCondition: 'thermocyclerProfileComplete';
|
|
448
|
+
waitCondition: 'thermocyclerProfileComplete' | 'vacuumProfileComplete' | 'vacuumStateComplete';
|
|
419
449
|
moduleId: string;
|
|
420
450
|
}
|
|
421
451
|
export type EngageMagnetArgs = CommonArgs & {
|
|
@@ -472,6 +502,19 @@ interface ProfileCycleItem {
|
|
|
472
502
|
steps: ProfileStepItem[];
|
|
473
503
|
repetitions: string;
|
|
474
504
|
}
|
|
505
|
+
interface VacuumProfileStepItem {
|
|
506
|
+
type: typeof PROFILE_STEP;
|
|
507
|
+
id: string;
|
|
508
|
+
durationSeconds: number;
|
|
509
|
+
pumpData: VacuumPumpData;
|
|
510
|
+
ventAfter: boolean;
|
|
511
|
+
}
|
|
512
|
+
interface VacuumProfileCycleItem {
|
|
513
|
+
type: typeof PROFILE_CYCLE;
|
|
514
|
+
id: string;
|
|
515
|
+
steps: VacuumProfileStepItem[];
|
|
516
|
+
repetitions: number;
|
|
517
|
+
}
|
|
475
518
|
export type ProfileItem = ProfileStepItem | ProfileCycleItem;
|
|
476
519
|
/**
|
|
477
520
|
* Emits a concurrent Thermocycler profile step. The protocol will proceed to the next
|
|
@@ -557,8 +600,77 @@ export interface FlexStackerRetrieveArgs extends CommonArgs {
|
|
|
557
600
|
moduleId: string;
|
|
558
601
|
commandCreatorFnName: 'flexStackerRetrieve';
|
|
559
602
|
}
|
|
603
|
+
export interface VacuumPumpAdvancedArgs {
|
|
604
|
+
duration?: number;
|
|
605
|
+
ventAfter?: boolean;
|
|
606
|
+
}
|
|
607
|
+
export interface VacuumPumpPressureArgs extends CommonArgs, VacuumPumpAdvancedArgs {
|
|
608
|
+
moduleId: string;
|
|
609
|
+
commandCreatorFnName: 'vacuumSetPumpPressure';
|
|
610
|
+
gaugePressure: number;
|
|
611
|
+
}
|
|
612
|
+
export interface VacuumPumpPowerArgs extends CommonArgs, VacuumPumpAdvancedArgs {
|
|
613
|
+
moduleId: string;
|
|
614
|
+
commandCreatorFnName: 'vacuumSetPumpPower';
|
|
615
|
+
percentPower: number;
|
|
616
|
+
}
|
|
617
|
+
export interface VacuumCloseVentSetPumpPressureArgs extends CommonArgs, VacuumPumpAdvancedArgs {
|
|
618
|
+
moduleId: string;
|
|
619
|
+
commandCreatorFnName: 'vacuumCloseVentSetPumpPressure';
|
|
620
|
+
gaugePressure: number;
|
|
621
|
+
}
|
|
622
|
+
export interface VacuumCloseVentSetPumpPowerArgs extends CommonArgs, VacuumPumpAdvancedArgs {
|
|
623
|
+
moduleId: string;
|
|
624
|
+
commandCreatorFnName: 'vacuumCloseVentSetPumpPower';
|
|
625
|
+
percentPower: number;
|
|
626
|
+
}
|
|
627
|
+
export interface VacuumOpenVentArgs extends CommonArgs {
|
|
628
|
+
moduleId: string;
|
|
629
|
+
commandCreatorFnName: 'vacuumOpenVent';
|
|
630
|
+
}
|
|
631
|
+
export interface VacuumCloseVentArgs extends CommonArgs {
|
|
632
|
+
moduleId: string;
|
|
633
|
+
commandCreatorFnName: 'vacuumCloseVent';
|
|
634
|
+
}
|
|
635
|
+
export interface VacuumStopPumpArgs extends CommonArgs {
|
|
636
|
+
moduleId: string;
|
|
637
|
+
commandCreatorFnName: 'vacuumStopPump';
|
|
638
|
+
}
|
|
639
|
+
export interface VacuumPressureData {
|
|
640
|
+
mode: typeof VACUUM_MODE_PRESSURE;
|
|
641
|
+
pressureMbar: string | null;
|
|
642
|
+
}
|
|
643
|
+
export interface VacuumPowerData {
|
|
644
|
+
mode: typeof VACUUM_MODE_POWER;
|
|
645
|
+
percentPower: number;
|
|
646
|
+
}
|
|
647
|
+
type VacuumPumpData = VacuumPressureData | VacuumPowerData;
|
|
648
|
+
interface ProfileStepItemBase {
|
|
649
|
+
type: typeof PROFILE_STEP;
|
|
650
|
+
id: string;
|
|
651
|
+
title: string;
|
|
652
|
+
}
|
|
653
|
+
export interface VacuumProfileStep extends ProfileStepItemBase {
|
|
654
|
+
durationSeconds: number;
|
|
655
|
+
pumpData: VacuumPumpData;
|
|
656
|
+
}
|
|
657
|
+
export type VacuumProfileItem = VacuumProfileStepItem | VacuumProfileCycleItem;
|
|
658
|
+
export type VacuumPumpArgs = VacuumPumpPressureArgs | VacuumPumpPowerArgs | VacuumCloseVentSetPumpPowerArgs | VacuumCloseVentSetPumpPressureArgs | VacuumCloseVentStartProfileArgs;
|
|
659
|
+
export interface VacuumStartRunProfileArgs extends CommonArgs {
|
|
660
|
+
moduleId: string;
|
|
661
|
+
commandCreatorFnName: 'vacuumStartRunProfile';
|
|
662
|
+
profile: VacuumRunProfileParams['profile'];
|
|
663
|
+
ventAfter: boolean;
|
|
664
|
+
}
|
|
665
|
+
export interface VacuumCloseVentStartProfileArgs extends CommonArgs {
|
|
666
|
+
moduleId: string;
|
|
667
|
+
commandCreatorFnName: 'vacuumCloseVentStartProfile';
|
|
668
|
+
profile: VacuumRunProfileParams['profile'];
|
|
669
|
+
ventAfter: boolean;
|
|
670
|
+
}
|
|
671
|
+
export type VacuumArgs = VacuumPumpArgs | VacuumStartRunProfileArgs | VacuumOpenVentArgs | VacuumCloseVentArgs | VacuumStopPumpArgs;
|
|
560
672
|
export type FlexStackerArgs = FlexStackerEmptyArgs | FlexStackerFillItemsArgs | FlexStackerRetrieveArgs | FlexStackerStoreArgs;
|
|
561
|
-
export type CommandCreatorArgs = AbsorbanceReaderInitializeArgs | AbsorbanceReaderReadArgs | AbsorbanceReaderLidArgs | ConsolidateArgs | CaptureImageArgs | DistributeArgs | MixArgs | PauseArgs | WaitForModuleTaskArgs | TransferArgs | EngageMagnetArgs | DisengageMagnetArgs | SetTemperatureArgs | WaitForTemperatureArgs | DeactivateTemperatureArgs | ThermocyclerProfileStepArgs | ThermocyclerStateStepArgs | HeaterShakerArgs | MoveLabwareArgs | CommentArgs | FlexStackerArgs;
|
|
673
|
+
export type CommandCreatorArgs = AbsorbanceReaderInitializeArgs | AbsorbanceReaderReadArgs | AbsorbanceReaderLidArgs | ConsolidateArgs | CaptureImageArgs | DistributeArgs | MixArgs | PauseArgs | WaitForModuleTaskArgs | TransferArgs | EngageMagnetArgs | DisengageMagnetArgs | SetTemperatureArgs | WaitForTemperatureArgs | DeactivateTemperatureArgs | ThermocyclerProfileStepArgs | ThermocyclerStateStepArgs | HeaterShakerArgs | MoveLabwareArgs | CommentArgs | FlexStackerArgs | VacuumArgs;
|
|
562
674
|
export interface LocationLiquidState {
|
|
563
675
|
[ingredGroup: string]: {
|
|
564
676
|
volume: number;
|
|
@@ -636,10 +748,11 @@ export interface TimelineFrame {
|
|
|
636
748
|
};
|
|
637
749
|
}
|
|
638
750
|
export type RobotState = TimelineFrame;
|
|
639
|
-
export type ErrorType = 'ABSORBANCE_READER_LID_CLOSED' | 'ABSORBANCE_READER_NO_GRIPPER' | 'ABSORBANCE_READER_NO_INITIALIZATION' | 'CANNOT_MOVE_WITH_GRIPPER' | 'CLOSING_THERMOCYCLER_WITH_INVALID_LABWARE_LID' | 'DROP_TIP_LOCATION_DOES_NOT_EXIST' | 'EQUIPMENT_DOES_NOT_EXIST' | 'FLEX_STACKER_NO_GRIPPER' | 'GRIPPER_REQUIRED' | 'HEATER_SHAKER_EAST_WEST_LATCH_OPEN' | 'HEATER_SHAKER_EAST_WEST_MULTI_CHANNEL' | 'HEATER_SHAKER_IS_SHAKING' | 'HEATER_SHAKER_LATCH_CLOSED' | 'HEATER_SHAKER_LATCH_OPEN' | 'HEATER_SHAKER_NORTH_SOUTH__OF_NON_TIPRACK_WITH_MULTI_CHANNEL' | 'HEATER_SHAKER_NORTH_SOUTH_EAST_WEST_SHAKING' | 'HOPPER_EMPTY' | 'HOPPER_FULL' | 'INCOMPLETE_PICKUP' | 'INSUFFICIENT_TIPS' | 'INVALID_SLOT' | 'LABWARE_DISCARDED_IN_TRASH' | 'LABWARE_DOES_NOT_EXIST' | 'LABWARE_OFF_DECK' | 'LABWARE_ON_ANOTHER_ENTITY' | 'LABWARE_ON_HOPPER' | 'MISMATCHED_SOURCE_DEST_WELLS' | 'MISMATCHED_STACKER_LABWARE_TYPE' | 'MISSING_96_CHANNEL_TIPRACK_ADAPTER' | 'MISSING_MODULE' | 'MISSING_PROFILE_STEP' | 'MISSING_STACKER_LABWARE_TYPE' | 'MISSING_TEMPERATURE_STEP' | 'MOVE_LOCATION_NOT_SPECIFIED' | 'MODULE_PIPETTE_COLLISION_DANGER' | 'MULTI_ASPIRATE_VOLUME_TOO_HIGH' | 'MULTI_DISPENSE_VOLUME_TOO_HIGH' | 'NEXT_TIPRACK_HAS_LID' | 'NO_TIP_ON_PIPETTE' | 'NO_TIP_SELECTED' | 'PIPETTE_DOES_NOT_EXIST' | 'PIPETTE_HAS_TIP' | 'PIPETTE_VOLUME_EXCEEDED' | 'PIPETTING_INTO_COLUMN_4' | '
|
|
751
|
+
export type ErrorType = 'ABSORBANCE_READER_LID_CLOSED' | 'ABSORBANCE_READER_NO_GRIPPER' | 'ABSORBANCE_READER_NO_INITIALIZATION' | 'CANNOT_MOVE_WITH_GRIPPER' | 'CLOSING_THERMOCYCLER_WITH_INVALID_LABWARE_LID' | 'DROP_TIP_LOCATION_DOES_NOT_EXIST' | 'EQUIPMENT_DOES_NOT_EXIST' | 'FLEX_STACKER_NO_GRIPPER' | 'GRIPPER_REQUIRED' | 'HEATER_SHAKER_EAST_WEST_LATCH_OPEN' | 'HEATER_SHAKER_EAST_WEST_MULTI_CHANNEL' | 'HEATER_SHAKER_IS_SHAKING' | 'HEATER_SHAKER_LATCH_CLOSED' | 'HEATER_SHAKER_LATCH_OPEN' | 'HEATER_SHAKER_NORTH_SOUTH__OF_NON_TIPRACK_WITH_MULTI_CHANNEL' | 'HEATER_SHAKER_NORTH_SOUTH_EAST_WEST_SHAKING' | 'HOPPER_EMPTY' | 'HOPPER_FULL' | 'INCOMPLETE_PICKUP' | 'INSUFFICIENT_TIPS' | 'INVALID_SLOT' | 'INVALID_WAIT_CONDITION' | 'LABWARE_DISCARDED_IN_TRASH' | 'LABWARE_DOES_NOT_EXIST' | 'LABWARE_OFF_DECK' | 'LABWARE_ON_ANOTHER_ENTITY' | 'LABWARE_ON_HOPPER' | 'LIVE_TASK_ERROR' | 'MISMATCHED_SOURCE_DEST_WELLS' | 'MISMATCHED_STACKER_LABWARE_TYPE' | 'MISSING_96_CHANNEL_TIPRACK_ADAPTER' | 'MISSING_MODULE' | 'MISSING_PROFILE_STEP' | 'MISSING_PUMP_ACTIVITY' | 'MISSING_STACKER_LABWARE_TYPE' | 'MISSING_TEMPERATURE_STEP' | 'MOVE_LOCATION_NOT_SPECIFIED' | 'MODULE_PIPETTE_COLLISION_DANGER' | 'MULTI_ASPIRATE_VOLUME_TOO_HIGH' | 'MULTI_DISPENSE_VOLUME_TOO_HIGH' | 'NEXT_TIPRACK_HAS_LID' | 'NO_TIP_ON_PIPETTE' | 'NO_TIP_SELECTED' | 'PIPETTE_DOES_NOT_EXIST' | 'PIPETTE_HAS_TIP' | 'PIPETTE_VOLUME_EXCEEDED' | 'PIPETTING_INTO_COLUMN_4' | 'POSSIBLE_PIPETTE_COLLISION_THERMOCYCLER_LID' | 'POSSIBLE_PIPETTE_COLLISION_OUTSIDE_DECK_EXTENTS' | 'POSSIBLE_PIPETTE_COLLISION_ADJACENT_ADDRESSABLE_AREA' | 'REMOVE_96_CHANNEL_TIPRACK_ADAPTER' | 'RETRACT_BELOW_ASPIRATE' | 'RETRACT_BELOW_DISPENSE' | 'RETURN_TIP_UNAVAILABLE' | 'SHUTTLE_FULL' | 'SHUTTLE_EMPTY' | 'STACK_TOO_HIGH' | 'SUBMERGE_BELOW_ASPIRATE' | 'SUBMERGE_BELOW_DISPENSE' | 'TALL_LABWARE_EAST_WEST_OF_HEATER_SHAKER' | 'THERMOCYCLER_BUSY_WITH_PROFILE' | 'THERMOCYCLER_LID_CLOSED' | 'TIP_VOLUME_EXCEEDED' | 'TIPRACK_LID_NOT_ALLOWED_ON_DECK' | 'TOO_MANY_TIPS';
|
|
640
752
|
export interface CommandCreatorError {
|
|
641
753
|
message: string;
|
|
642
754
|
type: ErrorType;
|
|
755
|
+
translationParams?: Record<string, string>;
|
|
643
756
|
}
|
|
644
757
|
export type WarningType = 'ASPIRATE_MORE_THAN_WELL_CONTENTS' | 'ASPIRATE_FROM_PRISTINE_WELL' | 'LABWARE_IN_WASTE_CHUTE_HAS_LIQUID' | 'TIPRACK_IN_WASTE_CHUTE_HAS_TIPS' | 'TEMPERATURE_IS_POTENTIALLY_UNREACHABLE' | 'WAITING_FOR_NONEXISTENT_TASK';
|
|
645
758
|
export interface CommandCreatorWarning {
|
|
@@ -690,4 +803,18 @@ export interface WellContentsByNumber {
|
|
|
690
803
|
[wellName: string]: number;
|
|
691
804
|
}
|
|
692
805
|
export type TipTrackingOption = typeof AUTOMATIC | typeof MANUAL;
|
|
806
|
+
export type UnsafePipetteMovementReason = {
|
|
807
|
+
type: 'thermocyclerLidCollision';
|
|
808
|
+
} | {
|
|
809
|
+
type: 'outsidePipetteExtents';
|
|
810
|
+
} | {
|
|
811
|
+
type: 'adjacentAdressableAreaCollision';
|
|
812
|
+
addressableAreaCausingCollision: AddressableArea;
|
|
813
|
+
};
|
|
814
|
+
export type PipetteMovementSafetyStatus = {
|
|
815
|
+
isSafe: true;
|
|
816
|
+
} | {
|
|
817
|
+
isSafe: false;
|
|
818
|
+
reason: UnsafePipetteMovementReason;
|
|
819
|
+
};
|
|
693
820
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LabwareDefinition, NozzleConfigurationStyle, PrimaryNozzleConfigurationStyle } from '@opentrons/shared-data';
|
|
2
|
+
import type { PipetteEntity, Point } from '../types';
|
|
3
|
+
export declare const getPipetteCriticalPoint: (nozzleConfiguration: NozzleConfigurationStyle, pipetteEntity: PipetteEntity, primaryNozzle: PrimaryNozzleConfigurationStyle, labwareDefinition: LabwareDefinition) => Point;
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -2,10 +2,11 @@ import { absorbanceReaderCollision } from './absorbanceReaderCollision';
|
|
|
2
2
|
import { commandCreatorsTimeline } from './commandCreatorsTimeline';
|
|
3
3
|
import { curryCommandCreator, curryWithoutPython } from './curryCommandCreator';
|
|
4
4
|
import { getLabwareSlot } from './getLabwareSlot';
|
|
5
|
+
import { getModuleHasLiveTask } from './getModuleHasLiveTask';
|
|
5
6
|
import { modulePipetteCollision } from './modulePipetteCollision';
|
|
6
7
|
import { reduceCommandCreators } from './reduceCommandCreators';
|
|
7
8
|
import { thermocyclerPipetteCollision } from './thermocyclerPipetteCollision';
|
|
8
|
-
export { absorbanceReaderCollision, commandCreatorsTimeline, curryCommandCreator, curryWithoutPython, reduceCommandCreators, modulePipetteCollision, thermocyclerPipetteCollision, getLabwareSlot, };
|
|
9
|
+
export { absorbanceReaderCollision, commandCreatorsTimeline, curryCommandCreator, curryWithoutPython, reduceCommandCreators, modulePipetteCollision, thermocyclerPipetteCollision, getLabwareSlot, getModuleHasLiveTask, };
|
|
9
10
|
export * from './commandCreatorArgsGetters';
|
|
10
11
|
export * from './constructInvariantContextFromAnalysis';
|
|
11
12
|
export * from './createTimelineFromRunCommands';
|
package/lib/utils/misc.d.ts
CHANGED
|
@@ -174,6 +174,7 @@ export declare const getLabwareIdOnHopper: (labware: {
|
|
|
174
174
|
[labwareId: string]: LabwareTemporalProperties;
|
|
175
175
|
}, moduleSlotLocation: string) => string;
|
|
176
176
|
export declare const getIsSlotAHopper: (slot: string) => boolean;
|
|
177
|
+
export declare const getIsSlotAVacuumDock: (slot: string) => boolean;
|
|
177
178
|
export declare const getLabwareIdOnShuttle: (stackerState: FlexStackerModuleState) => string | null;
|
|
178
179
|
export declare const labwareMatchesLabwareInHopper: (labwareId: string, invariantContext: InvariantContext, stackerState: FlexStackerModuleState | null) => boolean;
|
|
179
180
|
export declare const getIsSpaceInHopper: (stackerState: FlexStackerModuleState | null, labwareEntities: LabwareEntities) => boolean;
|
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
import type { AddressableArea, CoordinateTuple, CutoutId, LabwareDefinition, NozzleConfigurationStyle, PipetteChannels, PrimaryNozzleConfigurationStyle } from '@opentrons/shared-data';
|
|
2
|
-
import type { InvariantContext, RobotState, TipState } from '../types';
|
|
2
|
+
import type { InvariantContext, PipetteMovementSafetyStatus, Point, RobotState, TipState } from '../types';
|
|
3
3
|
interface SlotInfo {
|
|
4
4
|
addressableArea: AddressableArea | null;
|
|
5
5
|
position: CoordinateTuple | null;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
y: number;
|
|
10
|
-
z?: number;
|
|
11
|
-
}
|
|
12
|
-
export declare const getCutoutIdFromSlot: (slotInfo: SlotInfo) => CutoutId | null;
|
|
13
|
-
export declare const getIsSafePipetteMovement: (args: {
|
|
7
|
+
export declare const getCutoutFromSlot: (slotInfo: SlotInfo) => CutoutId | null;
|
|
8
|
+
export declare const getPipetteMovementSafetyStatus: (args: {
|
|
14
9
|
robotState: RobotState;
|
|
15
10
|
invariantContext: InvariantContext;
|
|
16
11
|
pipetteId: string;
|
|
17
12
|
labwareId: string;
|
|
18
13
|
wellLocationOffset?: Point;
|
|
19
14
|
wellTargetName?: string;
|
|
15
|
+
tiprackId?: string;
|
|
20
16
|
primaryNozzle: PrimaryNozzleConfigurationStyle;
|
|
21
17
|
nozzleConfiguration: NozzleConfigurationStyle;
|
|
22
|
-
}) =>
|
|
18
|
+
}) => PipetteMovementSafetyStatus;
|
|
23
19
|
interface TipPickupAvailability {
|
|
24
20
|
isSafe: boolean;
|
|
25
21
|
isComplete?: boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getVacuumPumpHoldArgsPython: (duration: number, ventAfter?: boolean) => string[];
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"name": "@opentrons/step-generation",
|
|
11
11
|
"productName": "Opentrons Step Generation",
|
|
12
|
-
"version": "0.3.
|
|
12
|
+
"version": "0.3.2-alpha.0",
|
|
13
13
|
"description": "Step generation",
|
|
14
14
|
"main": "lib/index.cjs",
|
|
15
15
|
"types": "lib/index.d.ts",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"homepage": "https://github.com/Opentrons/opentrons",
|
|
34
34
|
"license": "Apache-2.0",
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@opentrons/shared-data": "
|
|
36
|
+
"@opentrons/shared-data": "workspace:*",
|
|
37
37
|
"core-js": "3.2.1",
|
|
38
38
|
"immer": "^10.1.3",
|
|
39
|
-
"lodash": "
|
|
40
|
-
"uuid": "
|
|
39
|
+
"lodash": "catalog:",
|
|
40
|
+
"uuid": "14.0.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/lodash": "
|
|
43
|
+
"@types/lodash": "catalog:"
|
|
44
44
|
}
|
|
45
45
|
}
|