Skip to content

Config for min channel spacing that's not 9 mm #822

Description

@HaamsRee

I have a Hamilton STAR with a weird config. It has a single arm holding a 96-head and four 1 mL channels with 18 mm spacing. When running with probe_liquid_height=True in a 96-well format, this results in channel 3 probing in a position that's outside of the column of wells, channel 2 probing B1, channel 1 probing D1, etc. I found a temporary workaround by changing the probe to be sequential:

    current_absolute_liquid_heights: List[float] = []
    for channel, container, tip, offset in zip(use_channels, containers, tips, resource_offsets):
      y_pos = container.get_location_wrt(self.deck, x="c", y="c", z="b").y + offset.y

      if sequential_probe:
        # # Give the active channel full freedom by parking others, then position only this channel.
        # await self.position_max_free_y_for_n(pipetting_channel_index=channel)
        # await self.move_channel_y(channel=channel, y=y_pos)
        await self.position_channels_in_y_direction({channel: y_pos})

      else:
        # Positions are sufficiently spaced; move the set in one go.
        await self.position_channels_in_y_direction(
          {channel: y for channel, y in zip(use_channels, target_y_positions)}
        )

      await self.move_z_drive_to_liquid_surface_using_clld(
        channel_idx=channel,
        lowest_immers_pos=container.get_absolute_location("c", "c", "cavity_bottom").z
        + tip.total_tip_length
        - tip.fitting_depth,
        start_pos_search=container.get_absolute_location("c", "c", "t").z
        + tip.total_tip_length
        - tip.fitting_depth
        + 5,
      )

      # TODO: Move z up after probing


      liquid_levels: List[int] = (await self.request_pip_height_last_lld())["lh"]  # type: ignore
      current_absolute_liquid_heights.append(float(liquid_levels[channel] / 10))

But I think there are other places where the 9 mm min spacing is hardcoded. It would be nice to have this as a config that the user can change, or read from the instrument.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions