diff --git a/dist/index.cjs.js b/dist/index.cjs.js index a8ee5ae..c666f3e 100644 --- a/dist/index.cjs.js +++ b/dist/index.cjs.js @@ -178,9 +178,6 @@ class Updater { // this._fileProgress += this._packetSize; return new Promise((resolve, reject) => { this.bleObject.writeWithoutResponse(this.bleDeviceId, this._updaterServiceUUID, this._updateFileCharacteristicUUID, packet.buffer, () => { - console.log("Wrote"); - console.log(packet.length); - this._fileProgress += packet.length; resolve(true); }, (error) => { this._fileProgress -= this._packetSize; @@ -204,62 +201,62 @@ class Updater { // write file length return new Promise(async (resolve, reject) => { // set mtu - this.bleObject.requestMtu(this.bleDeviceId, this._packetSize, (mtu) => { - this._packetSize = mtu; - this.bleObject.startNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, (rawData) => { - let dataView = new Uint8Array(rawData); - if (dataView[0] == 1) { - // send file - this.sendNextPacket(); - progressCallback(`MTU: ${this._packetSize}; Sending (${Math.floor((this._fileProgress * 100) / this._fileSize)}%), ${this._fileProgress} / ${this._fileSize}`); - } - else if (dataView[0] == 2) { - // done logic - console.log(`progress >= filesize: ${this._fileProgress} vs ${this._fileSize}`); - if (this._fileProgress >= this._fileSize) { - console.log("true"); - // send agree - this.sendEndCmd(true); - progressCallback(`Complete!`); - this.bleObject.stopNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, () => { - // success - resolve(true); - }, (error) => { - reject("Error: Failed to stop notify"); - }); - } - else { - console.log("False"); - // send disagree - this.sendEndCmd(false); - progressCallback(`Error, starting over: ${this._fileProgress} / ${this._fileSize}`); - this._fileProgress = 0; - } - } - else if (dataView[0] == 15) { - // error cmd - progressCallback(`Error on remote: ${this._fileProgress} / ${this._fileSize}`); - reject("Error on remote"); - } - else if (dataView[0] == 0) { - // ignore no command - progressCallback(`Board is on`); + this._packetSize = await this.bleObject.withPromises.requestMtu(this.bleDeviceId, this._packetSize); + // start notify + this.bleObject.startNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, (rawData) => { + let dataView = new Uint8Array(rawData); + console.log(dataView); + if (dataView[0] == 1) { + // send file + this.sendNextPacket(); + progressCallback(`MTU: ${this._packetSize}; Sending (${Math.floor((this._fileProgress * 100) / this._fileSize)}%), ${this._fileProgress} / ${this._fileSize}`); + } + else if (dataView[0] == 2) { + // done logic + console.log(`progress >= filesize: ${this._fileProgress} vs ${this._fileSize}`); + if (this._fileProgress >= (this._fileSize - this._packetSize)) { + console.log("true"); + // send agree + this.sendEndCmd(true); + progressCallback(`Complete!`); + this.bleObject.stopNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, () => { + // success + resolve(true); + }, (error) => { + reject("Error: Failed to stop notify"); + }); } else { - // no command - progressCallback(`Error on remote`); - reject("Error: command does not exist"); + console.log("False"); + // send disagree + this.sendEndCmd(false); + progressCallback(`Error, starting over: ${this._fileProgress} / ${this._fileSize}`); + this._fileProgress = 0; } - }, (error) => { - reject("Error: Failed to start notify"); - console.error(error); - }); - const buffer = new ArrayBuffer(4); - let view = new Int32Array(buffer); - view[0] = this._fileSize; - this.bleObject.withPromises.write(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, buffer); + } + else if (dataView[0] == 15) { + // error cmd + progressCallback(`Error on remote: ${this._fileProgress} / ${this._fileSize}`); + reject("Error on remote"); + } + else if (dataView[0] == 0) { + // ignore no command + progressCallback(`Board is on`); + } + else { + // should be the file progress + let fileProgressView = new Uint32Array(rawData); + this._fileProgress += fileProgressView[0]; + this.sendNextPacket(); + } + }, (error) => { + reject("Error: Failed to start notify"); + console.error(error); }); - // start notify + const buffer = new ArrayBuffer(4); + let view = new Int32Array(buffer); + view[0] = this._fileSize; + this.bleObject.withPromises.write(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, buffer); }); } } diff --git a/dist/index.es.js b/dist/index.es.js index 39cc726..fdb9cb4 100644 --- a/dist/index.es.js +++ b/dist/index.es.js @@ -176,9 +176,6 @@ class Updater { // this._fileProgress += this._packetSize; return new Promise((resolve, reject) => { this.bleObject.writeWithoutResponse(this.bleDeviceId, this._updaterServiceUUID, this._updateFileCharacteristicUUID, packet.buffer, () => { - console.log("Wrote"); - console.log(packet.length); - this._fileProgress += packet.length; resolve(true); }, (error) => { this._fileProgress -= this._packetSize; @@ -202,62 +199,62 @@ class Updater { // write file length return new Promise(async (resolve, reject) => { // set mtu - this.bleObject.requestMtu(this.bleDeviceId, this._packetSize, (mtu) => { - this._packetSize = mtu; - this.bleObject.startNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, (rawData) => { - let dataView = new Uint8Array(rawData); - if (dataView[0] == 1) { - // send file - this.sendNextPacket(); - progressCallback(`MTU: ${this._packetSize}; Sending (${Math.floor((this._fileProgress * 100) / this._fileSize)}%), ${this._fileProgress} / ${this._fileSize}`); - } - else if (dataView[0] == 2) { - // done logic - console.log(`progress >= filesize: ${this._fileProgress} vs ${this._fileSize}`); - if (this._fileProgress >= this._fileSize) { - console.log("true"); - // send agree - this.sendEndCmd(true); - progressCallback(`Complete!`); - this.bleObject.stopNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, () => { - // success - resolve(true); - }, (error) => { - reject("Error: Failed to stop notify"); - }); - } - else { - console.log("False"); - // send disagree - this.sendEndCmd(false); - progressCallback(`Error, starting over: ${this._fileProgress} / ${this._fileSize}`); - this._fileProgress = 0; - } - } - else if (dataView[0] == 15) { - // error cmd - progressCallback(`Error on remote: ${this._fileProgress} / ${this._fileSize}`); - reject("Error on remote"); - } - else if (dataView[0] == 0) { - // ignore no command - progressCallback(`Board is on`); + this._packetSize = await this.bleObject.withPromises.requestMtu(this.bleDeviceId, this._packetSize); + // start notify + this.bleObject.startNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, (rawData) => { + let dataView = new Uint8Array(rawData); + console.log(dataView); + if (dataView[0] == 1) { + // send file + this.sendNextPacket(); + progressCallback(`MTU: ${this._packetSize}; Sending (${Math.floor((this._fileProgress * 100) / this._fileSize)}%), ${this._fileProgress} / ${this._fileSize}`); + } + else if (dataView[0] == 2) { + // done logic + console.log(`progress >= filesize: ${this._fileProgress} vs ${this._fileSize}`); + if (this._fileProgress >= (this._fileSize - this._packetSize)) { + console.log("true"); + // send agree + this.sendEndCmd(true); + progressCallback(`Complete!`); + this.bleObject.stopNotification(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, () => { + // success + resolve(true); + }, (error) => { + reject("Error: Failed to stop notify"); + }); } else { - // no command - progressCallback(`Error on remote`); - reject("Error: command does not exist"); + console.log("False"); + // send disagree + this.sendEndCmd(false); + progressCallback(`Error, starting over: ${this._fileProgress} / ${this._fileSize}`); + this._fileProgress = 0; } - }, (error) => { - reject("Error: Failed to start notify"); - console.error(error); - }); - const buffer = new ArrayBuffer(4); - let view = new Int32Array(buffer); - view[0] = this._fileSize; - this.bleObject.withPromises.write(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, buffer); + } + else if (dataView[0] == 15) { + // error cmd + progressCallback(`Error on remote: ${this._fileProgress} / ${this._fileSize}`); + reject("Error on remote"); + } + else if (dataView[0] == 0) { + // ignore no command + progressCallback(`Board is on`); + } + else { + // should be the file progress + let fileProgressView = new Uint32Array(rawData); + this._fileProgress += fileProgressView[0]; + this.sendNextPacket(); + } + }, (error) => { + reject("Error: Failed to start notify"); + console.error(error); }); - // start notify + const buffer = new ArrayBuffer(4); + let view = new Int32Array(buffer); + view[0] = this._fileSize; + this.bleObject.withPromises.write(this.bleDeviceId, this._updaterServiceUUID, this._updaterCommandCharacterisitcUUID, buffer); }); } } diff --git a/package.json b/package.json index 8439f1b..aca90c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "updaterweblibrary", - "version": "1.0.30", + "version": "1.0.31", "description": "OTA Updater App frontend library", "repository": { "type": "git",