Skip to content

Commit

Permalink
fix(app): fix up calibration check copy (#5779)
Browse files Browse the repository at this point in the history
  • Loading branch information
b-cooper authored Jun 1, 2020
1 parent 9a36b87 commit 57b9ca8
Show file tree
Hide file tree
Showing 12 changed files with 67 additions and 43 deletions.
26 changes: 13 additions & 13 deletions app/src/components/CheckCalibration/BadCalibration.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,
|}
Expand All @@ -35,8 +32,11 @@ export function BadCalibration(props: CompleteConfirmationProps) {
</div>
<div className={styles.bad_cal_body}>
<p className={styles.error_explanation}>{SUMMARY}</p>
<p className={styles.error_explanation}>{REASON}</p>
<p className={styles.error_explanation}>{ENSURE_TIPS_CORRECT}</p>
<p className={styles.error_explanation}>{TO_TROUBLESHOOT}</p>
<ul>
<li className={styles.error_explanation}>{TIP_RACK_CENTERED}</li>
<li className={styles.error_explanation}>{USE_OPENTRONS_TIPS}</li>
</ul>
<p className={styles.error_explanation}>
{PERFORM_CALIBRATION}
&nbsp;
Expand Down
11 changes: 7 additions & 4 deletions app/src/components/CheckCalibration/CheckHeight.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -103,6 +105,7 @@ export function CheckHeight(props: CheckHeightProps) {
<b>&nbsp;{JUST_BARELY}&nbsp;</b>
{TOUCHING}
<b>&nbsp;{SLOT_5}.&nbsp;</b>
<br />
{THEN}
<b>&nbsp;{CHECK_AXES}&nbsp;</b>
{TO_DETERMINE_MATCH}
Expand Down Expand Up @@ -192,7 +195,7 @@ function CompareZ(props: CompareZProps) {
))}
<div className={styles.button_stack}>
{exceedsThreshold && (
<PrimaryButton onClick={exit}>{DROP_TIP_AND_EXIT}</PrimaryButton>
<PrimaryButton onClick={exit}>{EXIT_CALIBRATION_CHECK}</PrimaryButton>
)}
<PrimaryButton onClick={goToNextCheck}>{nextButtonText}</PrimaryButton>
</div>
Expand Down
12 changes: 7 additions & 5 deletions app/src/components/CheckCalibration/CheckXYPoint.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -139,6 +140,7 @@ export function CheckXYPoint(props: CheckXYPointProps) {
<b>&nbsp;{JUST_BARELY}&nbsp;</b>
{TOUCHING_THE_CROSS}
<b>&nbsp;{`${SLOT} ${slotNumber || ''}`}.&nbsp;</b>
<br />
{THEN}
<b>&nbsp;{CHECK_AXES}&nbsp;</b>
{TO_DETERMINE_MATCH}
Expand Down Expand Up @@ -234,7 +236,7 @@ function CompareXY(props: CompareXYProps) {
))}
<div className={styles.button_stack}>
{exceedsThreshold && (
<PrimaryButton onClick={exit}>{DROP_TIP_AND_EXIT}</PrimaryButton>
<PrimaryButton onClick={exit}>{EXIT_CHECK}</PrimaryButton>
)}
<PrimaryButton onClick={goToNextCheck}>{nextButtonText}</PrimaryButton>
</div>
Expand Down
3 changes: 2 additions & 1 deletion app/src/components/CheckCalibration/CompleteConfirmation.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down
8 changes: 4 additions & 4 deletions app/src/components/CheckCalibration/Introduction.js
Original file line number Diff line number Diff line change
Expand Up @@ -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<string>,
Expand Down
26 changes: 21 additions & 5 deletions app/src/components/CheckCalibration/TipPickUp.js
Original file line number Diff line number Diff line change
Expand Up @@ -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.'

Expand Down Expand Up @@ -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}
<b>&nbsp;{CLOSEST}&nbsp;</b>
{TO_YOU_IS_CENTERED}
</>
) : (
SINGLE_JOG_UNTIL_AT
)

return (
<>
<div className={styles.modal_header}>
Expand Down Expand Up @@ -96,9 +110,11 @@ export function TipPickUp(props: TipPickUpProps) {
<>
<div className={styles.tip_pick_up_demo_wrapper}>
<p className={styles.tip_pick_up_demo_body}>
{JOG_UNTIL_AT}
{jogUntilAbove}
<b>&nbsp;{tipRackWellName}&nbsp;</b>
{POSITION_AND}
{POSITION}
<br />
{AND}
<b>&nbsp;{FLUSH}&nbsp;</b>
{WITH_TOP_OF_TIP}
</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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`)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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')
Expand Down
8 changes: 5 additions & 3 deletions app/src/components/CheckCalibration/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -231,14 +231,15 @@ export function CheckCalibration(props: CheckCalibrationProps) {
currentStep,
hasTwoPipettes
)
const comparison = comparisonsByStep[currentStep]
stepContents = (
<CheckXYPoint
slotNumber={slotNumber}
isMulti={isActiveInstrumentMultiChannel}
mount={activeMount}
exit={exit}
isInspecting={isInspecting}
comparison={comparisonsByStep[currentStep]}
comparison={comparison}
nextButtonText={nextButtonText}
comparePoint={() =>
sendCommand(Calibration.checkCommands.COMPARE_POINT)
Expand All @@ -263,12 +264,13 @@ export function CheckCalibration(props: CheckCalibrationProps) {
currentStep,
hasTwoPipettes
)
const comparison = comparisonsByStep[currentStep]
stepContents = (
<CheckHeight
isMulti={isActiveInstrumentMultiChannel}
mount={activeMount}
isInspecting={isInspecting}
comparison={comparisonsByStep[currentStep]}
comparison={comparison}
nextButtonText={nextButtonText}
exit={exit}
comparePoint={() =>
Expand Down
4 changes: 2 additions & 2 deletions app/src/components/RobotSettings/ControlsCard.js
Original file line number Diff line number Diff line change
Expand Up @@ -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<Dispatch>()
Expand Down Expand Up @@ -68,7 +68,7 @@ export function ControlsCard(props: Props) {
<Card title={TITLE} disabled={notConnectable}>
{ff.enableRobotCalCheck && (
<LabeledButton
label="Check deck calibration"
label="Check robot calibration"
buttonProps={{
onClick: () => setIsCheckingRobotCal(true),
disabled: buttonDisabled,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ describe('ControlsCard', () => {

const getRobotCalibrationCheckButton = wrapper =>
wrapper
.find({ label: 'Check deck calibration' })
.find({ label: 'Check robot calibration' })
.find(LabeledButton)
.find('button')

Expand Down

0 comments on commit 57b9ca8

Please sign in to comment.