Skip to content

Prep pipettes: the container's profile as segments, from its height-volume data, from z_minimum up - #1370

Merged
rickwierenga merged 1 commit into
prep-liquid-heightfrom
prep-container-segments
Sep 26, 2026
Merged

rickwierenga merged 1 commit into
prep-liquid-heightfrom
prep-container-segments

Conversation

@BioCam

@BioCam BioCam commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

The container geometry the Prep sends with an aspirate or dispense covered Wells only, sampled as ten frustums over the whole well, and nothing for other containers.

  • _get_container_segments builds the profile for any container: one segment per height_volume_data interval, else 0.5 mm steps from its functions, else its footprint over the cavity; segments of equal area are joined down to at most 9, since the device refuses more; the profile starts at z_minimum, for the channels and the 8-channel head alike.
  • This changes the segments existing aspirate and dispense commands send when auto_container_geometry=True.

Tests: segments from data, from functions and from a footprint; the 9-segment cap; the head's profile.

🤖 Generated with Claude Code

@BioCam
BioCam requested a review from a team as a code owner September 25, 2026 07:26
@rickwierenga
rickwierenga added this pull request to stack #1374 September 25, 2026 12:42
@rickwierenga
rickwierenga force-pushed the prep-container-segments branch 3 times, most recently from a65010d to 99e6777 Compare September 25, 2026 13:12
…olume data, from z_minimum up

The segments sent for surface following were ten frustums sampled over a well's whole outer
height from its cavity bottom, while the firmware counts segment 0 from z_minimum: the tip
followed a profile shifted by that gap, and a container that was not a Well sent none. The
profile now comes from the container's own height-volume data (one step per knot interval),
else its functions in 0.5 mm steps, else its footprint as one cylinder over the cavity depth; it
is cut to begin at z_minimum, and joined to at most the 9 segments the device has taken.

The pipettes' and the 8-channel head's aspirate and dispense send these segments when
auto_container_geometry is set. A surface following distance scales the areas so the tip sinks
exactly that far; `aspirate` takes it next.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rickwierenga
rickwierenga force-pushed the prep-container-segments branch from 99e6777 to 0380035 Compare September 25, 2026 13:18
@rickwierenga
rickwierenga removed this pull request from stack #1374 September 25, 2026 13:19
@rickwierenga
rickwierenga added this pull request to stack #1375 September 25, 2026 13:19
@rickwierenga
rickwierenga merged commit 48b9a1d into main Sep 26, 2026
6 of 40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants