Added disconnect-handling per new extensions-spec. Motor-commands that fail will now also cause their blocks to complete

This commit is contained in:
Kevin Andersen 2019-02-14 13:30:58 -05:00
parent 245ba998d2
commit 32a9674b5d

View file

@ -570,6 +570,7 @@ class Boost {
*/
this._rateLimiter = new RateLimiter(BLESendRateMax);
this.disconnect = this.disconnect.bind(this);
this._onConnect = this._onConnect.bind(this);
this._onMessage = this._onMessage.bind(this);
}
@ -703,7 +704,7 @@ class Boost {
}
}],
optionalServices: []
}, this._onConnect);
}, this._onConnect, this.disconnect);
}
/**
@ -921,9 +922,11 @@ class Boost {
var feedback = data[4];
switch(feedback) {
case BoostOutputCommandFeedback.BUFFER_EMPTY_COMMAND_COMPLETED ^ BoostOutputCommandFeedback.IDLE:
case BoostOutputCommandFeedback.CURRENT_COMMAND_DISCARDED ^ BoostOutputCommandFeedback.IDLE: // Resolve even if command didn't complete successfully
this._motors[portID].pendingPromiseFunction();
break;
default:
console.log(buf2hex(data))
console.log("Got it but didn't find a motor on: " + portID)
}
break;