stopProgramming method
停止升级
Implementation
@override
void stopProgramming() {
_cancelTimer();
if (_deviceId == null) return;
if (_progInfo.iBlocks != 0 && _progInfo.iBlocks == _progInfo.nBlocks) {
state = OADState.finished;
if (mListener != null) {
mListener?.onFinished(
_deviceId!, _fileImgHdr.len, _progInfo.iTimeElapsed);
}
} else {
if (state == OADState.programming) {
state = OADState.interrupted;
//升级过程中停止升级,发送取消升级的指令
_writeCtrlCMD(_ctrlCmdCancelOAD);
} else {
state = OADState.idle;
}
mListener?.onInterrupted(_deviceId!, _progInfo.iBytes, _fileImgHdr.len,
_progInfo.iTimeElapsed);
}
}