mirror of
https://github.com/thegecko/web-bluetooth-dfu.git
synced 2025-12-10 10:58:24 +08:00
32 lines
819 B
JavaScript
32 lines
819 B
JavaScript
var dfu = require('./index').dfu;
|
|
var hex2bin = require('./index').hex2bin;
|
|
var fs = require('fs');
|
|
|
|
var log = console.log;
|
|
dfu.addLogger(log);
|
|
|
|
var fileMask = "firmware/NRF51822_{0}_Rob_OTA.hex";
|
|
var fileName = null;
|
|
|
|
dfu.findDevice({ services: [0x180D] })
|
|
.then(device => {
|
|
fileName = fileMask.replace("{0}", device.name === "Hi_Rob" ? "Bye" : "Hi");
|
|
log("found device: " + device.name);
|
|
log("using file name: " + fileName);
|
|
|
|
return dfu.writeMode(device);
|
|
})
|
|
.then(() => dfu.findDevice({ name: "DfuTarg" }))
|
|
.then(device => {
|
|
var file = fs.readFileSync(fileName);
|
|
var hex = file.toString();
|
|
var buffer = hex2bin(hex);
|
|
log("file length: " + buffer.byteLength);
|
|
|
|
return dfu.provision(device, buffer);
|
|
})
|
|
.then(() => process.exit())
|
|
.catch(error => {
|
|
log(error);
|
|
process.exit();
|
|
}); |