Skip to content

Add pip channel hardware configuration query (VW command)#991

Merged
rickwierenga merged 5 commits intoPyLabRobot:mainfrom
BioCam:pip-channel-installed-hardware
Apr 17, 2026
Merged

Add pip channel hardware configuration query (VW command)#991
rickwierenga merged 5 commits intoPyLabRobot:mainfrom
BioCam:pip-channel-installed-hardware

Conversation

@BioCam
Copy link
Copy Markdown
Collaborator

@BioCam BioCam commented Apr 10, 2026

Summary

  • Adds PipChannelInformation dataclass and _pip_channel_request_configuration() to query per-channel installed hardware via the firmware VW command
  • Returns channel type, head type, stop disc type (CO-RE I/II), and pressure sensor ADC type for each pipetting channel
  • Cached in _pip_channel_information during setup, matching the _head96_information pattern

Test plan

  • 76 existing STAR tests pass
  • Verified on real hardware (STAR I390): all 8 channels return vw0 0 1 0 (ML_STAR, ML_STAR head, CO-RE II, Renesas X9268)
  • Verify on a machine with mixed channel types (e.g. RPC channels) if available

🤖 Generated with Claude Code

BioCam and others added 3 commits April 10, 2026 13:42
Adds PipChannelInformation dataclass and _pip_channel_request_configuration()
to query per-channel installed hardware via the firmware VW command. Returns
channel type, head type, stop disc type (CO-RE I/II), and pressure sensor ADC
type for each pipetting channel. Cached in _pip_channel_information during
setup, matching the _head96_information pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use if/else pattern matching head96 instead of dict.get() with str fallback.
Add assert for _num_channels to satisfy Optional[int] check.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@BioCam BioCam requested a review from rickwierenga April 10, 2026 14:47
Comment thread pylabrobot/liquid_handling/backends/hamilton/STAR_backend.py Outdated
pressure_adc="Analog_Devices_AD5263" if hw_tokens[3] == "1" else "Renesas_X9268",
)
)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why wouldn't _pip_channel_request_configuration return PipChannelInformation directly?

BioCam and others added 2 commits April 10, 2026 20:20
Co-authored-by: Rick Wierenga <rick_wierenga@icloud.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rickwierenga rickwierenga merged commit c4fe7e6 into PyLabRobot:main Apr 17, 2026
21 checks passed
@BioCam BioCam deleted the pip-channel-installed-hardware branch April 18, 2026 00:52
@har1eyk
Copy link
Copy Markdown
Contributor

har1eyk commented Apr 22, 2026

This PR creates an error for my April 2015 firmware Starlet.

I created an issue here: #1004

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.

3 participants