Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(api): ensure critical points are acceptable for a 96 channel #11890

Merged

Conversation

Laura-Danielle
Copy link
Contributor

Overview

We were using the original calculations for 8 channel pipttes in the Y direction for both XY_CENTER and FRONT_NOZZLE. This logic works because the Y element equals the number of channels. That is no longer the case for the 96 channels so we need to temporarily modify the calculation so that the critical point calculation is correct for the 96 channel AND 8 channel. The long term fix is to add critical point information for all pipette nozzles as individual points/positions.

Changelog

  • Change critical point to calculate things by "rows" and "columns"
  • Found a nozzle offset mistake in new configurations
  • Modified the Pipette instrument tests to work for both pipette objects.

Risk assessment

Low. Should only change behavior for 96 channel.

We were using the original calculations for 8 channel pipttes in the Y direction for both XY_CENTER
and FRONT_NOZZLE. This logic works because the Y element equals the number of channels. That is no
longer the case for the 96 channels so we need to temporarily modify the calculation so that the
critical point calculation is correct for the 96 channel AND 8 channel. The long term fix is to add
critical point information for all pipette nozzles as individual points/positions.
@Laura-Danielle Laura-Danielle requested a review from a team December 14, 2022 23:49
@Laura-Danielle Laura-Danielle requested a review from a team as a code owner December 14, 2022 23:49
@codecov
Copy link

codecov bot commented Dec 14, 2022

Codecov Report

Merging #11890 (95be1d7) into RLIQ-131-support-96-channel (3a3035b) will decrease coverage by 0.09%.
The diff coverage is n/a.

Impacted file tree graph

@@                       Coverage Diff                       @@
##           RLIQ-131-support-96-channel   #11890      +/-   ##
===============================================================
- Coverage                        74.37%   74.27%   -0.10%     
===============================================================
  Files                             2140     2122      -18     
  Lines                            60117    58898    -1219     
  Branches                          6624     6218     -406     
===============================================================
- Hits                             44712    43748     -964     
+ Misses                           13863    13684     -179     
+ Partials                          1542     1466      -76     
Flag Coverage Δ
notify-server 89.17% <ø> (ø)
protocol-designer 45.86% <ø> (-0.48%) ⬇️
shared-data 86.58% <ø> (ø)
step-generation 88.46% <ø> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...ices/ProtocolRun/SetupLabware/SetupLabwareList.tsx 16.66% <0.00%> (-83.34%) ⬇️
...rganisms/Devices/ProtocolRun/SetupLabware/utils.ts 15.38% <0.00%> (-69.24%) ⬇️
...es/ProtocolRun/SetupLabware/OffDeckLabwareList.tsx 40.00% <0.00%> (-60.00%) ⬇️
...vices/ProtocolRun/SetupLabware/LabwareListItem.tsx 4.25% <0.00%> (-50.88%) ⬇️
...ices/RobotSettings/AdvancedTab/Troubleshooting.tsx 64.28% <0.00%> (-23.22%) ⬇️
app/src/organisms/PipetteWizardFlows/index.tsx 66.23% <0.00%> (-9.56%) ⬇️
...rc/organisms/ModuleCard/ThermocyclerModuleData.tsx 75.00% <0.00%> (-9.00%) ⬇️
...ices/ProtocolRun/SetupLiquids/LiquidDetailCard.tsx 83.33% <0.00%> (-8.34%) ⬇️
app/src/redux/config/selectors.ts 76.92% <0.00%> (-7.53%) ⬇️
...rc/molecules/WizardRequiredEquipmentList/index.tsx 93.33% <0.00%> (-6.67%) ⬇️
... and 74 more

Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

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

think the offsets are slightly wrong. maybe give them a name including the destination and origin for the vector, like BACK_NOZZLE_OFFSET_FROM_CENTER or something

offsets[1]
- INTERNOZZLE_SPACING_MM * (self._config.channels.as_int - 1)
),
offsets[1] - y_offset_by_spacing,
Copy link
Member

Choose a reason for hiding this comment

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

something's wrong here - FRONT_NOZZLE and XY_CENTER shouldn't have the same y offset. should this be x_offset_by_spacing * 2?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yep that was definitely an oversight.

Copy link
Member

@sfoster1 sfoster1 left a comment

Choose a reason for hiding this comment

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

Looks good to me!

@Laura-Danielle Laura-Danielle merged commit 9fc8f6a into RLIQ-131-support-96-channel Dec 15, 2022
@Laura-Danielle Laura-Danielle deleted the fix_critical_point_calculations branch December 15, 2022 16:25
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.

2 participants