1
0
Fork 0
mirror of https://github.com/betaflight/betaflight-configurator.git synced 2025-07-19 06:15:13 +03:00

add a default handler for serial errors (disconnect)

Also cleaned up some tabs and extra spaces in the file. The 'timeout' case has revised comment, to remove TODO.
This commit is contained in:
Kyle K 2019-07-04 17:57:49 +00:00
parent bc1c4f4fa5
commit 083f3e31b0

View file

@ -1,7 +1,7 @@
'use strict'; 'use strict';
var serial = { var serial = {
connected: false, connected: false,
connectionId: false, connectionId: false,
openRequested: false, openRequested: false,
openCanceled: false, openCanceled: false,
@ -39,7 +39,7 @@ var serial = {
} }
if (connectionInfo && !self.openCanceled) { if (connectionInfo && !self.openCanceled) {
self.connected = true; self.connected = true;
self.connectionId = connectionInfo.connectionId; self.connectionId = connectionInfo.connectionId;
self.bitrate = connectionInfo.bitrate; self.bitrate = connectionInfo.bitrate;
self.bytesReceived = 0; self.bytesReceived = 0;
@ -52,8 +52,6 @@ var serial = {
}); });
self.onReceiveError.addListener(function watch_for_on_receive_errors(info) { self.onReceiveError.addListener(function watch_for_on_receive_errors(info) {
console.error(info);
switch (info.error) { switch (info.error) {
case 'system_error': // we might be able to recover from this one case 'system_error': // we might be able to recover from this one
if (!self.failed++) { if (!self.failed++) {
@ -84,8 +82,6 @@ var serial = {
} }
break; break;
//case 'break':
// This occurs on F1 boards with old firmware during reboot
case 'overrun': case 'overrun':
// wait 50 ms and attempt recovery // wait 50 ms and attempt recovery
self.error = info.error; self.error = info.error;
@ -112,13 +108,19 @@ var serial = {
}); });
}, 50); }, 50);
break; break;
case 'timeout': case 'timeout':
// TODO // No data has been received for receiveTimeout milliseconds.
// We will do nothing.
break; break;
case 'break': // This seems to be the error that is thrown under NW.js in Windows when the device reboots after typing 'exit' in CLI case 'break': // This seems to be the error that is thrown under NW.js in Windows when the device reboots after typing 'exit' in CLI
case 'disconnected':
case 'device_lost': case 'device_lost':
case 'frame_error':
case 'parity_error':
default:
console.log("serial disconnecting: " + info.error);
CONFIG.armingDisabled = false; CONFIG.armingDisabled = false;
CONFIG.runawayTakeoffPreventionDisabled = false; CONFIG.runawayTakeoffPreventionDisabled = false;
@ -128,10 +130,6 @@ var serial = {
self.disconnect(); self.disconnect();
} }
break; break;
case 'disconnected':
// TODO
break;
} }
}); });
@ -307,7 +305,7 @@ var serial = {
// store inside separate variables in case array gets destroyed // store inside separate variables in case array gets destroyed
var data = self.outputBuffer[0].data, var data = self.outputBuffer[0].data,
callback = self.outputBuffer[0].callback; callback = self.outputBuffer[0].callback;
if (!self.connected) { if (!self.connected) {
console.log('attempting to send when disconnected'); console.log('attempting to send when disconnected');
if (callback) callback({ if (callback) callback({
@ -327,7 +325,7 @@ var serial = {
}); });
return; return;
} }
// tcp send error // tcp send error
if (self.connectionType == 'tcp' && sendInfo.resultCode < 0) { if (self.connectionType == 'tcp' && sendInfo.resultCode < 0) {
var error = 'system_error'; var error = 'system_error';