diff --git a/app/src/components/CheckCalibration/BadCalibration.js b/app/src/components/CheckCalibration/BadCalibration.js index 0ede93caf02..47dcfcc6d4b 100644 --- a/app/src/components/CheckCalibration/BadCalibration.js +++ b/app/src/components/CheckCalibration/BadCalibration.js @@ -3,24 +3,21 @@ import * as React from 'react' import { Icon, PrimaryButton, Link } from '@opentrons/components' import styles from './styles.css' -const BAD_ROBOT_CALIBRATION_CHECK_HEADER = 'Bad calibration data detected' +const BAD_ROBOT_CALIBRATION_CHECK_HEADER = 'Unable to check robot calibration' const SUMMARY = - 'Robot is unable to continue checking calibration, as a result of bad calibration data which is likely to cause a crash.' -const REASON = - 'Based on the current co-ordinates of the pipette relative to the tip rack, the specified position is significantly off from the expected location of the target tip position for a standard Opentrons tip in this slot.' -const ENSURE_TIPS_CORRECT = - 'Please ensure you are using the correct Opentrons-brand tips, as an incorrect tip can also cause this error' + "Your pipette tip pick-up location does not match its calibrated location. This may occur if the tip rack is out of place, or if your robot's deck is out of calibration" +const TO_TROUBLESHOOT = 'To troubleshoot this issue:' +const TIP_RACK_CENTERED = 'Confirm your tip rack is centered in its slot' +const USE_OPENTRONS_TIPS = 'Confirm you are using Opentrons brand tips' const PERFORM_CALIBRATION = - 'Please perform a deck transform calibration on this robot. View' + 'If you continue to see this error, exit calibration check and complete a deck calibration. View' const THIS_ARTICLE = 'this article' const LEARN_MORE = 'to learn more' const BAD_ROBOT_CALIBRATION_CHECK_BUTTON_TEXT = - 'Drop tip and exit calibration check' + 'Drop tip and exit robot calibration check' -// TODO: BC: Immediately confirm actual link const DECK_CAL_ARTICLE_URL = - 'https://support.opentrons.com/en/articles/3499692-calibrating-your-ot-2' - + 'https://support.opentrons.com/en/articles/2687620-get-started-calibrate-the-deck' type CompleteConfirmationProps = {| exit: () => mixed, |} @@ -35,8 +32,11 @@ export function BadCalibration(props: CompleteConfirmationProps) {

{SUMMARY}

-

{REASON}

-

{ENSURE_TIPS_CORRECT}

+

{TO_TROUBLESHOOT}

+

{PERFORM_CALIBRATION}   diff --git a/app/src/components/CheckCalibration/CheckHeight.js b/app/src/components/CheckCalibration/CheckHeight.js index 5feba412547..930a522da89 100644 --- a/app/src/components/CheckCalibration/CheckHeight.js +++ b/app/src/components/CheckCalibration/CheckHeight.js @@ -38,13 +38,15 @@ const THEN = 'Then' const CHECK_AXES = 'check z-axis' const TO_DETERMINE_MATCH = 'to see if the position matches the calibration co-ordinate.' -const DROP_TIP_AND_EXIT = 'Drop tip and exit calibration check' + +const EXIT_CALIBRATION_CHECK = 'exit robot calibration check' + const BAD_INSPECTING_HEADER = 'Bad calibration data detected' const GOOD_INSPECTING_HEADER = 'Good calibration' const BAD_INSPECTING_BODY = - 'The jogged and calibrated z-axis co-ordinates do not match, and are out of acceptable bounds.' + "Your current pipette tip position does not match your robot's saved calibration data" const GOOD_INSPECTING_BODY = - 'The jogged and calibrated z-axis co-ordinates fall within acceptable bounds.' + "Your current pipette tip position matches your robot's saved calibration data" const DIFFERENCE = 'Difference' const DECK_CAL_BLURB = 'To resolve this, you will need to perform deck calibration. Read' @@ -103,6 +105,7 @@ export function CheckHeight(props: CheckHeightProps) {  {JUST_BARELY}  {TOUCHING}  {SLOT_5}.  +
{THEN}  {CHECK_AXES}  {TO_DETERMINE_MATCH} @@ -192,7 +195,7 @@ function CompareZ(props: CompareZProps) { ))}

{exceedsThreshold && ( - {DROP_TIP_AND_EXIT} + {EXIT_CALIBRATION_CHECK} )} {nextButtonText}
diff --git a/app/src/components/CheckCalibration/CheckXYPoint.js b/app/src/components/CheckCalibration/CheckXYPoint.js index 2c94eeacdbc..7da6902363e 100644 --- a/app/src/components/CheckCalibration/CheckXYPoint.js +++ b/app/src/components/CheckCalibration/CheckXYPoint.js @@ -60,20 +60,21 @@ const assetMap = { const CHECK_POINT_XY_HEADER = 'Check the X and Y-axis in' const SLOT = 'slot' -const JOG_UNTIL = 'Jog pipette until tip is' +const JOG_UNTIL = 'Jog the robot until the tip is' const JUST_BARELY = 'just barely' const TOUCHING_THE_CROSS = 'touching the cross in' const THEN = 'Then' const CHECK_AXES = 'check x and y-axis' const TO_DETERMINE_MATCH = 'to see if the position matches the calibration co-ordinate.' -const DROP_TIP_AND_EXIT = 'Drop tip and exit calibration check' +const EXIT_CHECK = 'Exit robot calibration check' + const BAD_INSPECTING_HEADER = 'Bad calibration data detected' const GOOD_INSPECTING_HEADER = 'Good calibration' const BAD_INSPECTING_BODY = - 'The jogged and calibrated x and y-axis co-ordinates do not match, and are out of acceptable bounds.' + "Your current pipette tip position does not match your robot's saved calibration data." const GOOD_INSPECTING_BODY = - 'The jogged and calibrated x and y-axis co-ordinates fall within acceptable bounds.' + "Your current pipette tip position matches your robot's saved calibration data." const DIFFERENCE = 'Difference' const DECK_CAL_BLURB = 'To resolve this, you will need to perform deck calibration. Read' @@ -139,6 +140,7 @@ export function CheckXYPoint(props: CheckXYPointProps) {  {JUST_BARELY}  {TOUCHING_THE_CROSS}  {`${SLOT} ${slotNumber || ''}`}.  +
{THEN}  {CHECK_AXES}  {TO_DETERMINE_MATCH} @@ -234,7 +236,7 @@ function CompareXY(props: CompareXYProps) { ))}
{exceedsThreshold && ( - {DROP_TIP_AND_EXIT} + {EXIT_CHECK} )} {nextButtonText}
diff --git a/app/src/components/CheckCalibration/CompleteConfirmation.js b/app/src/components/CheckCalibration/CompleteConfirmation.js index bc7bb9ecad1..0f44dbbb64e 100644 --- a/app/src/components/CheckCalibration/CompleteConfirmation.js +++ b/app/src/components/CheckCalibration/CompleteConfirmation.js @@ -8,7 +8,8 @@ import type { } from '../../calibration' import styles from './styles.css' -const DELETE_ROBOT_CALIBRATION_CHECK_HEADER = 'Calibration check is complete' +const DELETE_ROBOT_CALIBRATION_CHECK_HEADER = + 'Robot calibration check is complete' const DELETE_ROBOT_CALIBRATION_CHECK_BUTTON_TEXT = 'Drop tip and exit' const CHECK = 'check' const CHECKS = 'checks' diff --git a/app/src/components/CheckCalibration/Introduction.js b/app/src/components/CheckCalibration/Introduction.js index a240d36c1c6..f41b0587190 100644 --- a/app/src/components/CheckCalibration/Introduction.js +++ b/app/src/components/CheckCalibration/Introduction.js @@ -8,19 +8,19 @@ import { tiprackImages } from './tiprackImages' const LABWARE_LIBRARY_PAGE_PATH = 'https://labware.opentrons.com' -const INTRO_ROBOT_CALIBRATION_CHECK_HEADER = 'Check deck calibration' +const INTRO_ROBOT_CALIBRATION_CHECK_HEADER = 'Robot calibration check' const INTRO_ROBOT_CALIBRATION_CHECK_BODY = - 'Testing your deck calibration builds confidence that the robot is working correctly and accurately. If at any point the robot does not go to the points as expected, exit this process and re-calibrate your robot deck.' + "Checking your robot calibration assesses your OT-2's ability to position pipettes accurately relative to the deck. If at any point the robot does not go to the positions as expected, exit this process and follow the instructions provided to help resolve the issue." const TIPRACK_REQS = 'For this process you will require:' const VIEW_TIPRACK_MEASUREMENTS = 'View measurements' const NOTE_HEADER = 'Please note: ' const NOTE_BODY = - "It's important you perform this test using the Opentrons tips and tipracks specified above, as the robot determines accuracy based on the measurements of these tips." + "It's important you perform this test using the Opentrons tips and tip racks specified above, as the robot determines accuracy based on the measurements of these tips." const CANCEL = 'Cancel' const CONTINUE = 'Continue' const CLEAR_DECK_HEADER = 'Clear the deck' const CLEAR_DECK_BODY = - 'Before continuing to check deck calibration, please remove all labware and modules from the deck.' + 'Before continuing to check robot calibration, please remove all labware and modules from the deck.' type IntroductionProps = {| labwareLoadNames: Array, diff --git a/app/src/components/CheckCalibration/TipPickUp.js b/app/src/components/CheckCalibration/TipPickUp.js index 582753ca163..f694070480d 100644 --- a/app/src/components/CheckCalibration/TipPickUp.js +++ b/app/src/components/CheckCalibration/TipPickUp.js @@ -17,10 +17,14 @@ const TIP_PICK_UP_HEADER = 'Position pipette over ' const TIP_PICK_UP_BUTTON_TEXT = 'Pick up tip' const CONFIRM_TIP_BODY = 'Did pipette pick up tips successfully?' -const CONFIRM_TIP_YES_BUTTON_TEXT = 'Yes, move to first check' +const CONFIRM_TIP_YES_BUTTON_TEXT = 'Yes, continue' const CONFIRM_TIP_NO_BUTTON_TEXT = 'No, try again' -const JOG_UNTIL_AT = 'Jog pipette until nozzle is centered above' -const POSITION_AND = 'position and' +const SINGLE_JOG_UNTIL_AT = 'Jog pipette until nozzle is centered above the' +const MULTI_JOG_UNTIL_AT = 'Jog pipette until the channel nozzle' +const CLOSEST = 'closest' +const TO_YOU_IS_CENTERED = 'to you is centered above the' +const POSITION = 'position' +const AND = 'and' const FLUSH = 'flush' const WITH_TOP_OF_TIP = 'with the top of the tip.' @@ -63,6 +67,16 @@ export function TipPickUp(props: TipPickUpProps) { const demoAsset = tipRackWellName && ASSET_MAP[tipRackWellName][isMulti ? 'multi' : 'single'] + const jogUntilAbove = isMulti ? ( + <> + {MULTI_JOG_UNTIL_AT} +  {CLOSEST}  + {TO_YOU_IS_CENTERED} + + ) : ( + SINGLE_JOG_UNTIL_AT + ) + return ( <>
@@ -96,9 +110,11 @@ export function TipPickUp(props: TipPickUpProps) { <>

- {JOG_UNTIL_AT} + {jogUntilAbove}  {tipRackWellName}  - {POSITION_AND} + {POSITION} +
+ {AND}  {FLUSH}  {WITH_TOP_OF_TIP}

diff --git a/app/src/components/CheckCalibration/__tests__/BadCalibration.test.js b/app/src/components/CheckCalibration/__tests__/BadCalibration.test.js index fdc8994083e..95e1cc22518 100644 --- a/app/src/components/CheckCalibration/__tests__/BadCalibration.test.js +++ b/app/src/components/CheckCalibration/__tests__/BadCalibration.test.js @@ -10,7 +10,9 @@ describe('Introduction', () => { const getExitButton = wrapper => wrapper - .find('PrimaryButton[children="Drop tip and exit calibration check"]') + .find( + 'PrimaryButton[children="Drop tip and exit robot calibration check"]' + ) .find('button') afterEach(() => { diff --git a/app/src/components/CheckCalibration/__tests__/CheckHeight.test.js b/app/src/components/CheckCalibration/__tests__/CheckHeight.test.js index 43d5dc9ae6f..3dbd7a6fcb8 100644 --- a/app/src/components/CheckCalibration/__tests__/CheckHeight.test.js +++ b/app/src/components/CheckCalibration/__tests__/CheckHeight.test.js @@ -26,7 +26,7 @@ describe('CheckHeight', () => { const getExitButton = wrapper => wrapper - .find('PrimaryButton[children="Drop tip and exit calibration check"]') + .find('PrimaryButton[children="exit robot calibration check"]') .find('button') const getVideo = wrapper => wrapper.find(`source`) diff --git a/app/src/components/CheckCalibration/__tests__/TipPickup.test.js b/app/src/components/CheckCalibration/__tests__/TipPickup.test.js index bc2f4bbcb56..9bf2d5e11bc 100644 --- a/app/src/components/CheckCalibration/__tests__/TipPickup.test.js +++ b/app/src/components/CheckCalibration/__tests__/TipPickup.test.js @@ -20,9 +20,7 @@ describe('TipPickUp', () => { wrapper.find(`JogButton[name="${direction}"]`).find('button') const getConfirmButton = wrapper => - wrapper - .find('PrimaryButton[children="Yes, move to first check"]') - .find('button') + wrapper.find('PrimaryButton[children="Yes, continue"]').find('button') const getRejectButton = (wrapper, direction) => wrapper.find('PrimaryButton[children="No, try again"]').find('button') diff --git a/app/src/components/CheckCalibration/index.js b/app/src/components/CheckCalibration/index.js index a274cf8767e..fc75ea0efcc 100644 --- a/app/src/components/CheckCalibration/index.js +++ b/app/src/components/CheckCalibration/index.js @@ -31,7 +31,7 @@ import { BadCalibration } from './BadCalibration' import { formatJogVector } from './utils' import styles from './styles.css' -const ROBOT_CALIBRATION_CHECK_SUBTITLE = 'Check deck calibration' +const ROBOT_CALIBRATION_CHECK_SUBTITLE = 'Robot calibration check' const MOVE_TO_NEXT = 'move to next check' const CONTINUE = 'continue' const EXIT = 'exit' @@ -231,6 +231,7 @@ export function CheckCalibration(props: CheckCalibrationProps) { currentStep, hasTwoPipettes ) + const comparison = comparisonsByStep[currentStep] stepContents = ( sendCommand(Calibration.checkCommands.COMPARE_POINT) @@ -263,12 +264,13 @@ export function CheckCalibration(props: CheckCalibrationProps) { currentStep, hasTwoPipettes ) + const comparison = comparisonsByStep[currentStep] stepContents = ( diff --git a/app/src/components/RobotSettings/ControlsCard.js b/app/src/components/RobotSettings/ControlsCard.js index 788253ab863..5ef2e3c34f3 100644 --- a/app/src/components/RobotSettings/ControlsCard.js +++ b/app/src/components/RobotSettings/ControlsCard.js @@ -34,7 +34,7 @@ const TITLE = 'Robot Controls' const CALIBRATE_DECK_DESCRIPTION = "Calibrate the position of the robot's deck. Recommended for all new robots and after moving robots." -const CHECK_ROBOT_CAL_DESCRIPTION = "Check the robot's deck calibration" +const CHECK_ROBOT_CAL_DESCRIPTION = "Check the robot's calibration state" export function ControlsCard(props: Props) { const dispatch = useDispatch() @@ -68,7 +68,7 @@ export function ControlsCard(props: Props) { {ff.enableRobotCalCheck && ( setIsCheckingRobotCal(true), disabled: buttonDisabled, diff --git a/app/src/components/RobotSettings/__tests__/ControlsCard.test.js b/app/src/components/RobotSettings/__tests__/ControlsCard.test.js index 016df599404..f8ee7f6f512 100644 --- a/app/src/components/RobotSettings/__tests__/ControlsCard.test.js +++ b/app/src/components/RobotSettings/__tests__/ControlsCard.test.js @@ -57,7 +57,7 @@ describe('ControlsCard', () => { const getRobotCalibrationCheckButton = wrapper => wrapper - .find({ label: 'Check deck calibration' }) + .find({ label: 'Check robot calibration' }) .find(LabeledButton) .find('button')