Serial: Attempt recovery of break condition
parent
2044fe879c
commit
2f6be0650f
28
js/serial.js
28
js/serial.js
|
@ -69,10 +69,30 @@ var serial = {
|
|||
}
|
||||
break;
|
||||
case 'break':
|
||||
// This occurs on F1 boards with old firmware.
|
||||
if (GUI.connected_to || GUI.connecting_to) {
|
||||
$('a.connect').click();
|
||||
}
|
||||
// This occurs on F1 boards with old firmware during reboot
|
||||
// wait 50 ms and attempt recovery
|
||||
setTimeout(function() {
|
||||
chrome.serial.setPaused(info.connectionId, false, function() {
|
||||
self.getInfo(function (info) {
|
||||
if (info.paused) {
|
||||
// assume unrecoverable, disconnect
|
||||
console.log('SERIAL: Connection did not recover from break condition, disconnecting');
|
||||
GUI.log('Unrecoverable <span style="color: red">failure</span> of serial connection, disconnecting...');
|
||||
googleAnalytics.sendException('Serial: break condition - unrecoverable', false);
|
||||
|
||||
if (GUI.connected_to || GUI.connecting_to) {
|
||||
$('a.connect').click();
|
||||
} else {
|
||||
self.disconnect();
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log('SERIAL: Connection recovered from break condition');
|
||||
googleAnalytics.sendException('Serial: break condition - recovered', false);
|
||||
}
|
||||
});
|
||||
});
|
||||
}, 50);
|
||||
break;
|
||||
case 'timeout':
|
||||
// TODO
|
||||
|
|
Loading…
Reference in New Issue