mirror of
https://github.com/thegecko/web-bluetooth-dfu.git
synced 2025-12-12 20:18:13 +08:00
Adding disconnect event listener from characteristic was giving an error for Chrome Book.
This commit is contained in:
13
dist/dfu.js
vendored
13
dist/dfu.js
vendored
@@ -116,8 +116,8 @@
|
|||||||
return new Promise(function(resolve, reject) {
|
return new Promise(function(resolve, reject) {
|
||||||
|
|
||||||
device.addEventListener("gattserverdisconnected", function() {
|
device.addEventListener("gattserverdisconnected", function() {
|
||||||
log("DFU Target issued GAP Disconnect and reset into Bootloader/DFU mode.");
|
log("DFU target issued GAP disconnect and reset into bootloader/DFU mode");
|
||||||
resolve(device);
|
resolve(device);
|
||||||
});
|
});
|
||||||
|
|
||||||
var characteristics = null;
|
var characteristics = null;
|
||||||
@@ -130,7 +130,7 @@
|
|||||||
})
|
})
|
||||||
.then(function() {
|
.then(function() {
|
||||||
log("writing modeData");
|
log("writing modeData");
|
||||||
return characteristics.controlChar.writeValue(new Uint8Array([1, 4]));
|
return characteristics.controlChar.writeValue(new Uint8Array([OPCODE.START_DFU, ImageType.Application]));
|
||||||
})
|
})
|
||||||
.then(function() {
|
.then(function() {
|
||||||
log("modeData written");
|
log("modeData written");
|
||||||
@@ -216,6 +216,10 @@
|
|||||||
.then(function(gattServer) {
|
.then(function(gattServer) {
|
||||||
// Connected
|
// Connected
|
||||||
server = gattServer;
|
server = gattServer;
|
||||||
|
if (gattServer.connected === false) {
|
||||||
|
log('not able to connect to device - ERROR');
|
||||||
|
}
|
||||||
|
log(device.uuids);
|
||||||
log("connected to device");
|
log("connected to device");
|
||||||
return server.getPrimaryService(serviceUUID);
|
return server.getPrimaryService(serviceUUID);
|
||||||
})
|
})
|
||||||
@@ -256,6 +260,7 @@
|
|||||||
var offset;
|
var offset;
|
||||||
function transfer(chars, arrayBuffer, imageType, majorVersion, minorVersion) {
|
function transfer(chars, arrayBuffer, imageType, majorVersion, minorVersion) {
|
||||||
return new Promise(function(resolve, reject) {
|
return new Promise(function(resolve, reject) {
|
||||||
|
var server = chars.server;
|
||||||
var controlChar = chars.controlChar;
|
var controlChar = chars.controlChar;
|
||||||
var packetChar = chars.packetChar;
|
var packetChar = chars.packetChar;
|
||||||
log('using dfu version ' + majorVersion + "." + minorVersion);
|
log('using dfu version ' + majorVersion + "." + minorVersion);
|
||||||
@@ -382,7 +387,7 @@
|
|||||||
case OPCODE.VALIDATE_FIRMWARE:
|
case OPCODE.VALIDATE_FIRMWARE:
|
||||||
log('complete, reset...');
|
log('complete, reset...');
|
||||||
|
|
||||||
controlChar.service.device.addEventListener("gattserverdisconnected", function() {
|
server.device.addEventListener("gattserverdisconnected", function() {
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user