Repository navigation
Prep dispense: three layers, batched as the aspirate, in the STAR's names and order - #1420
Merged
Merged
Conversation
… in the STAR's names and order `_unchecked_fw_dispense` sends the structs as given, `_dispense_in_one_move` builds them for one command, and `dispense` plans batches in ascending X and refuses what the model can decide before the first move. Its arguments are the STAR's: piston_volumes as on aspirate, liquid_heights, immersion_depths, swap_speeds, minimum_traverse_height_end, the STAR's fallbacks (flow rate 120.0, cut-off speed 5.0), and the side touch-off, post-mix and limit-curve slots, refused. Channels sharing a container spread across it, as on aspirate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
BioCam
added this pull request to stack #1423
September 27, 2026 19:53
rickwierenga
approved these changes
Sep 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Main's Prep dispense is one method that resolves and sends everything itself, with its own argument names (
vols,liquid_height,z_final,z_liquid_exit_speed,cutoff_speed), while the aspirate is already three layers in the STAR's names and order (#1371). It also sends every channel sharing a container to its centre._unchecked_fw_dispensesends the structs as given;_dispense_in_one_movebuilds one command from positions and heights;dispenseplans batches in ascending X, asaspirate, and refuses everything the model can decide before the first move.volumesorpiston_volumes,liquid_heights,immersion_depths,minimum_allowed_z_positions_during,cut_off_speeds,stop_back_volumes,settling_times,swap_speeds,minimum_traverse_height_end.side_touch_off_distance,post_mixes/mix_positions_from_liquid_surfaceandlimit_curve_indicesslots are taken and refused: the Prep has no side touch-off, and post-mixing and TADM are not verified.Tests: pipettes_tests - golden frames for every dispense variant, one command per X batch, refusals before booking or sending,
immersion_depths, the refused slots._aspirate_in_one_move's keyword order is pinned to the STAR's; main's STAR has no dispense to pin against yet.🤖 Generated with Claude Code