From 5d01200309a786d20532b27f3e3b747c9fc2a5e5 Mon Sep 17 00:00:00 2001 From: Michael Dietz Date: Tue, 1 Mar 2016 14:38:35 +0100 Subject: [PATCH] Adding disconnect event listener from characteristic was giving an error for Chrome Book. --- dist/dfu.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dist/dfu.js b/dist/dfu.js index de90066..ab26c39 100644 --- a/dist/dfu.js +++ b/dist/dfu.js @@ -116,8 +116,8 @@ return new Promise(function(resolve, reject) { device.addEventListener("gattserverdisconnected", function() { - log("DFU Target issued GAP Disconnect and reset into Bootloader/DFU mode."); - resolve(device); + log("DFU target issued GAP disconnect and reset into bootloader/DFU mode"); + resolve(device); }); var characteristics = null; @@ -130,7 +130,7 @@ }) .then(function() { log("writing modeData"); - return characteristics.controlChar.writeValue(new Uint8Array([1, 4])); + return characteristics.controlChar.writeValue(new Uint8Array([OPCODE.START_DFU, ImageType.Application])); }) .then(function() { log("modeData written"); @@ -216,6 +216,10 @@ .then(function(gattServer) { // Connected server = gattServer; + if (gattServer.connected === false) { + log('not able to connect to device - ERROR'); + } + log(device.uuids); log("connected to device"); return server.getPrimaryService(serviceUUID); }) @@ -256,6 +260,7 @@ var offset; function transfer(chars, arrayBuffer, imageType, majorVersion, minorVersion) { return new Promise(function(resolve, reject) { + var server = chars.server; var controlChar = chars.controlChar; var packetChar = chars.packetChar; log('using dfu version ' + majorVersion + "." + minorVersion); @@ -382,7 +387,7 @@ case OPCODE.VALIDATE_FIRMWARE: log('complete, reset...'); - controlChar.service.device.addEventListener("gattserverdisconnected", function() { + server.device.addEventListener("gattserverdisconnected", function() { resolve(); });