Skip to content

Commit

Permalink
feat(hardware): add SN support for the P1KP pipette (#16907)
Browse files Browse the repository at this point in the history
<!--
Thanks for taking the time to open a Pull Request (PR)! Please make sure
you've read the "Opening Pull Requests" section of our Contributing
Guide:


https://github.com/Opentrons/opentrons/blob/edge/CONTRIBUTING.md#opening-pull-requests

GitHub provides robust markdown to format your PR. Links, diagrams,
pictures, and videos along with text formatting make it possible to
create a rich and informative PR. For more information on GitHub
markdown, see:


https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax

To ensure your code is reviewed quickly and thoroughly, please fill out
the sections below to the best of your ability!
-->

# Overview
This adds support on the python side for the new pipette so we can
provision and load them
<!--
Describe your PR at a high level. State acceptance criteria and how this
PR fits into other work. Link issues, PRs, and other relevant resources.
-->

## Test Plan and Hands on Testing

<!--
Describe your testing of the PR. Emphasize testing not reflected in the
code. Attach protocols, logs, screenshots and any other assets that
support your testing.
-->

## Changelog

<!--
List changes introduced by this PR considering future developers and the
end user. Give careful thought and clear documentation to breaking
changes.
-->

## Review requests

<!--
- What do you need from reviewers to feel confident this PR is ready to
merge?
- Ask questions.
-->

## Risk assessment

<!--
- Indicate the level of attention this PR needs.
- Provide context to guide reviewers.
- Discuss trade-offs, coupling, and side effects.
- Look for the possibility, even if you think it's small, that your
change may affect some other part of the system.
- For instance, changing return tip behavior may also change the
behavior of labware calibration.
- How do your unit tests and on hands on testing mitigate this PR's
risks and the risk of future regressions?
- Especially in high risk PRs, explain how you know your testing is
enough.
-->
  • Loading branch information
ryanthecoder authored Nov 20, 2024
1 parent db8b1e5 commit df0f18c
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1008,6 +1008,7 @@ def _lookup_serial_key(pipette_name: FirmwarePipetteName) -> str:
lookup_name = {
FirmwarePipetteName.p1000_single: "P1KS",
FirmwarePipetteName.p1000_multi: "P1KM",
FirmwarePipetteName.p1000_multi_emulsify: "P1KP",
FirmwarePipetteName.p50_single: "P50S",
FirmwarePipetteName.p50_multi: "P50M",
FirmwarePipetteName.p1000_96: "P1KH",
Expand Down
1 change: 1 addition & 0 deletions hardware/opentrons_hardware/firmware_bindings/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@ class PipetteName(int, Enum):
p1000_96 = 0x04
p50_96 = 0x05
p200_96 = 0x06
p1000_multi_emulsify = 0x07
unknown = 0xFFFF


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
NAME_LOOKUP: Dict[str, PipetteName] = {
"P1KS": PipetteName.p1000_single,
"P1KM": PipetteName.p1000_multi,
"P1KP": PipetteName.p1000_multi_emulsify,
"P50S": PipetteName.p50_single,
"P50M": PipetteName.p50_multi,
"P1KH": PipetteName.p1000_96,
Expand Down
6 changes: 6 additions & 0 deletions hardware/tests/opentrons_hardware/instruments/test_serials.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@
1,
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
),
(
"P1KPV30",
PipetteName.p1000_multi_emulsify,
30,
b"\x00"*16,
),
],
)
def test_scan_valid_pipette_serials(
Expand Down
2 changes: 2 additions & 0 deletions shared-data/python/opentrons_shared_data/pipette/dev_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
"p1000_single_gen2",
"p1000_single_flex",
"p1000_multi_flex",
"p1000_multi_emulsify",
"p1000_96",
"p200_96",
]
Expand All @@ -57,6 +58,7 @@ class PipetteNameType(str, Enum):
P1000_SINGLE_GEN2 = "p1000_single_gen2"
P1000_SINGLE_FLEX = "p1000_single_flex"
P1000_MULTI_FLEX = "p1000_multi_flex"
P1000_MULTI_EMULSIFY = "p1000_multi_emulsify"
P1000_96 = "p1000_96"
P200_96 = "p200_96"

Expand Down

0 comments on commit df0f18c

Please sign in to comment.