advance method
Answers a step that needs the operator (display selection, review, blend, colour).
Implementation
@override
Future<void> advance(NmDomeCalibrationAnswer answer) async {
log.add('calibration.advance ${answer.step.name}${answer.retry ? ' retry' : ''}');
switch (answer.step) {
case NmDomeCalibrationStepKind.displaySelect:
_emit(const NmDomeCalibrationStep(kind: NmDomeCalibrationStepKind.capture, pattern: 'gray-code'));
case NmDomeCalibrationStepKind.review:
_emit(
answer.retry
? const NmDomeCalibrationStep(kind: NmDomeCalibrationStepKind.capture, pattern: 'gray-code')
: const NmDomeCalibrationStep(kind: NmDomeCalibrationStepKind.blend, blendWidth: .15),
);
case NmDomeCalibrationStepKind.blend:
_emit(const NmDomeCalibrationStep(kind: NmDomeCalibrationStepKind.colour, colourGain: 1));
case NmDomeCalibrationStepKind.colour || NmDomeCalibrationStepKind.audioCorrect:
_emit(const NmDomeCalibrationStep(kind: NmDomeCalibrationStepKind.apply, resultId: 'result-1'));
case NmDomeCalibrationStepKind.audioPlay:
_emit(const NmDomeCalibrationStep(kind: NmDomeCalibrationStepKind.audioCapture, progress: .6));
case NmDomeCalibrationStepKind.audioCapture:
_emit(const NmDomeCalibrationStep(kind: NmDomeCalibrationStepKind.audioCorrect, progress: .9));
default:
}
}