pylabrobot.opentrons.flex.flex_head.FlexHead1#
- class pylabrobot.opentrons.flex.flex_head.FlexHead1(flex: Flex, mount: str, pipette_id: str, channels: int, pipette_model: str, max_volume: float)#
Bases:
_FlexHeadSingle-channel pipette head, well-addressed.
Liquid operations use PLR coordinates and in-place commands. Tip operations name their tip spot. There is no anchor-well fan-out or nozzle layout (there is only ever one physical nozzle).
_channel_tipshas length 1; the sole channel is index 0.Reuses the
_FlexHeadbase’s transactional stage -> wire -> verify -> commit/rollback flow and hardware tip-presence verification (_verify_tips_seated/_confirm_tips_cleared) – the same machineryFlexHead8uses for its column ops, applied to a single well instead of a column.Verified on a real single-channel Flex (p50, robot-server API 9.1.1): motion, tip pickup and drop, liquid probe, in-place pipetting and volume mode, all against the hardware tip-presence sensor.
Methods
__init__(flex, mount, pipette_id, channels, ...)air_gap_in_place(volume[, flow_rate])Draw a
volumeuL air gap where the head already is -- oneairGapInPlacecommand.aspirate(target, volume[, flow_rate, ...])Aspirate from a well or single-cavity container using PLR coordinates and in-place aspiration.
aspirate_in_place(volume[, flow_rate])Aspirate
volumeuL where the head already is -- oneaspirateInPlacecommand.blow_out([flow_rate])Blow out at the current position -- one
blowOutInPlacecommand.configure_for_volume(volume)Put the pipette in the volume mode that suits
volumeuL.The robot's own defaults for this pipette and the tip currently on it.
discard_tips(trash)Discard the mounted tip into the trash.
dispense(target, volume[, flow_rate, ...])Dispense to a well or single-cavity container using PLR coordinates and in-place dispensing.
dispense_in_place(volume[, flow_rate, push_out])Dispense
volumeuL where the head already is -- onedispenseInPlacecommand.drop_tips(target)Drop the mounted tip -- one wire command naming
target.Per-channel tip state (Case-2: no private-attribute peeking by consumers).
Read this head's tip sensor: "present", "absent" or "unknown".
Query the Flex's hardware tip-presence sensor for THIS head's pipette.
liquid_probe(well)Probe downward in
welluntil the pressure sensor detects liquid; return its z (mm).move_relative(axis, distance)Jog one axis by
distancemm from wherever the head is now.move_to([x, y, z, speed, minimum_z_height])Move the head to an absolute deck-frame position, holding any axis left unspecified -- ONE
moveToCoordinatescommand.move_to_addressable_area(addressable_area_name)Move to a named fixture on the deck rather than to labware.
move_to_well(target[, offset, origin, ...])Move to a well, named rather than measured -- ONE
moveToWellcommand.pick_up_tips(tip_spot[, offset])Pick up one tip -- one
pickUpTipcommand namingtip_spot.position()The head's current deck-frame position -- one
savePositionquery.Move the plunger to where an aspirate starts from ("priming").
touch_tip(well[, radius, offset])Touch the mounted tip to the sides of
well-- onetouchTipcommand.try_liquid_probe(well)Like
liquid_probebut returnNoneinstead of raising when no liquid is found.unsafe_blow_out_in_place(flow_rate)Blow out where the head is, skipping the engine's own checks.
Drop the mounted tip where the head is, skipping the engine's own checks.
verify_tip_presence(expected_state)Have the robot fail the command unless its tip sensor reads
expected_state.