Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(protocol-designer, step-generation): add prepareToAspirate #17590

Merged
merged 4 commits into from
Feb 26, 2025

Conversation

ncdiehl11
Copy link
Collaborator

@ncdiehl11 ncdiehl11 commented Feb 26, 2025

Overview

Here, I introduce and wire up the prepareToAspirate atomic command in step generation. This command is necessary for our in place commands: airGapInPlace and aspirateInPlace, which are curried when implementing air gap at a trash bin or waste chute addressable area.

Implicated by this introduction of prepareToAspirate between moveToAddressableArea and airGapInPlace are is protocol-designer/src/steplist/substepTimeline.ts. Previously, we gleaned information from accessing the moveToAddressableArea command preceding the inPlace command, presuming it was the direct preceding command. Now, those commands are separated by a prepareToAspirate command, so I introduce a utility to get the most recent moveToAddressableArea command relatvie to the inPlace command, and wire up in substepTimeline.ts

Note that prepareToAspirate does not affect robot state.

Closes RQA-3968

Test Plan and Hands on Testing

  • create or import a protocol that uses a single-channel pipette to dispense to the trash or waste chute, ensuring a post-dispense blowout and air gap is configured.
  • verify that the protocol emits 3 commands following this dispense: 1) moveToAddressableArea (trash entity) 2) prepareToAspirate, 3) airGapInPlace
  • repeat with 8/96-channel pipettes

Changelog

  • introduce and wire up prepareToAspirate atomic command in step generation
  • fix logic for getting previous moveToAddressableArea command for inPlace commands

Review requests

see test plan

Risk assessment

medium. touches step generation commands

…ToAspirate`

Here, I introduce and wire up the `prepareToAspirate` atomic command in step generation. This command is necessary for our in place commands: `airGapInPlace` and `aspirateInPlace`, which are curried  when implementing air gap at a trash bin or waste chute addressable area.

Closes RQA-3968
@ncdiehl11 ncdiehl11 requested review from koji and jerader February 26, 2025 16:13
@ncdiehl11 ncdiehl11 self-assigned this Feb 26, 2025
@ncdiehl11 ncdiehl11 marked this pull request as ready for review February 26, 2025 17:01
@ncdiehl11 ncdiehl11 requested a review from a team as a code owner February 26, 2025 17:01
Copy link
Contributor

@koji koji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the changes look good to me

@ncdiehl11 ncdiehl11 merged commit f676aa5 into chore_release-pd-8.4.3 Feb 26, 2025
48 checks passed
@ncdiehl11 ncdiehl11 deleted the feat_pd-preparetoaspirate branch February 26, 2025 20:29
alexjoel42 pushed a commit that referenced this pull request Feb 27, 2025
…7590)

Here, I introduce and wire up the `prepareToAspirate` atomic command in
step generation. This command is necessary for our in place commands:
`airGapInPlace` and `aspirateInPlace`, which are curried when
implementing air gap at a trash bin or waste chute addressable area.

Closes RQA-3968
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants