As a robot user, I would like to be able to restore my robot to factory settings, so that I can erase any bad configuration data without needing wifi or hands-on support.
@andySigler @btmorr
I've gotten a few requests for a 'reset' feature from the support team, particularly to clear out bad deck calibration or mount offset data.
Could use your help thinking through what specific configs we'd want to reset (or restore to defaults), what 'reset' or 'restore' would mean for each, and any risks (e.g. not being able to tip probe after erasing a mount offset).
@umbhau does this require restart?
@btmorr @Laura-Danielle to discuss reset specifics (what data to delete). include support.
@pantslakz this will require a restart
Request/response proposal as requested. No strong opinions on actual endpoint path, just picked something for the purposes of writing this comment. Feel free to use a different path.
// GET /settings/reset/options
// 200 OK
[
{
id: 'deckCalibration',
title: 'Deck Calibration',
description: 'Reset calibration of pipette to deck'
},
{
id: 'tipProbe',
title: 'Tip Length',
description: 'Erase tip probe data'
},
{
id: 'labwareCalibration',
title: 'Labware Calibration',
description: 'Erase custom labware calibration'
},
{
id: 'bootScripts',
title: 'Boot Scripts',
description: 'Erase custom boot scripts'
}
]
// 500 ISE - Generic 500 handler is fine
// POST /settings/reset
// Request
{
deckCalibration: true,
tipProbe: false,
labwareCalibration: false,
bootScripts: true
}
// 200 OK
{}
// 400 Bad Request (For example)
{
"message": "topProbe is not a valid reset option"
}
// 500 ISE - Generic 500 handler is fine
Further clarification - if an option is not included I'll assume false. Let me know if you want another behavior.
@btmorr @pantslakz @sfoster1 @Kadee80
Proposal from @Laura-Danielle to add an option to delete the database (/data/user_storage/opentrons_data/opentrons.db).
Thumbs up from me -- any objections?
@umbhau Do you have suggested wording for the description fields in GET /settings/reset/options?
@sfoster1 Heres what I have in the UI currently. Keep in mind it will possibly change next week once Pantea's had eyes on this.
Reset calibration of pipette to deck
Erase custom labware calibration
Erase tip probe data
Erase custom boot scripts
@sfoster1 @btmorr (or whoever picks up this ticket)
I amended @mcous comment above to reflect a data structure closer to what we have for GET /settings
Also added in more relevant description text
// GET /settings/reset/options
// 200 OK
[
{
id: 'deckCalibration',
title: 'Deck Calibration',
description: 'Reset calibration of pipette to deck'
},
{
id: 'tipProbe',
title: 'Tip Length',
description: 'Erase tip probe data'
},
{
id: 'labwareCalibration',
title: 'Labware Calibration',
description: 'Erase custom labware calibration'
},
{
id: 'bootScripts',
title: 'Boot Scripts',
description: 'Erase custom boot scripts'
}
]
Most helpful comment
Request/response proposal as requested. No strong opinions on actual endpoint path, just picked something for the purposes of writing this comment. Feel free to use a different path.