Skip to content

Commit b6f9344

Browse files
committed
feat(hardware): add SN support for the P1KP pipette (#16907)
<!-- 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! --> 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. --> <!-- 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. --> <!-- List changes introduced by this PR considering future developers and the end user. Give careful thought and clear documentation to breaking changes. --> <!-- - What do you need from reviewers to feel confident this PR is ready to merge? - Ask questions. --> <!-- - 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. -->
1 parent be20e95 commit b6f9344

File tree

5 files changed

+11
-0
lines changed

5 files changed

+11
-0
lines changed

api/src/opentrons/hardware_control/backends/ot3controller.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -915,6 +915,7 @@ def _lookup_serial_key(pipette_name: FirmwarePipetteName) -> str:
915915
lookup_name = {
916916
FirmwarePipetteName.p1000_single: "P1KS",
917917
FirmwarePipetteName.p1000_multi: "P1KM",
918+
FirmwarePipetteName.p1000_multi_emulsify: "P1KP",
918919
FirmwarePipetteName.p50_single: "P50S",
919920
FirmwarePipetteName.p50_multi: "P50M",
920921
FirmwarePipetteName.p1000_96: "P1KH",

hardware/opentrons_hardware/firmware_bindings/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ class PipetteName(int, Enum):
358358
p50_multi = 0x03
359359
p1000_96 = 0x04
360360
p50_96 = 0x05
361+
p1000_multi_emulsify = 0x07
361362
unknown = 0xFFFF
362363

363364

hardware/opentrons_hardware/instruments/pipettes/serials.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
NAME_LOOKUP: Dict[str, PipetteName] = {
2828
"P1KS": PipetteName.p1000_single,
2929
"P1KM": PipetteName.p1000_multi,
30+
"P1KP": PipetteName.p1000_multi_emulsify,
3031
"P50S": PipetteName.p50_single,
3132
"P50M": PipetteName.p50_multi,
3233
"P1KH": PipetteName.p1000_96,

hardware/tests/opentrons_hardware/instruments/test_serials.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@
4040
1,
4141
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
4242
),
43+
(
44+
"P1KPV30",
45+
PipetteName.p1000_multi_emulsify,
46+
30,
47+
b"\x00"*16,
48+
),
4349
],
4450
)
4551
def test_scan_valid_pipette_serials(

shared-data/python/opentrons_shared_data/pipette/dev_types.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"p1000_single_gen2",
3232
"p1000_single_flex",
3333
"p1000_multi_flex",
34+
"p1000_multi_emulsify",
3435
"p1000_96",
3536
]
3637

@@ -56,6 +57,7 @@ class PipetteNameType(str, Enum):
5657
P1000_SINGLE_GEN2 = "p1000_single_gen2"
5758
P1000_SINGLE_FLEX = "p1000_single_flex"
5859
P1000_MULTI_FLEX = "p1000_multi_flex"
60+
P1000_MULTI_EMULSIFY = "p1000_multi_emulsify"
5961
P1000_96 = "p1000_96"
6062

6163

0 commit comments

Comments
 (0)