mirror of
https://github.com/thegecko/web-bluetooth-dfu.git
synced 2025-12-13 04:28:13 +08:00
Fix switch statement so DFU OTA works for mbed and recent revisions of bootloader.
This commit is contained in:
36
dist/dfu.js
vendored
36
dist/dfu.js
vendored
@@ -316,26 +316,24 @@
|
|||||||
|
|
||||||
switch(req_opcode) {
|
switch(req_opcode) {
|
||||||
case OPCODE.START_DFU:
|
case OPCODE.START_DFU:
|
||||||
log('write init packet');
|
|
||||||
|
|
||||||
if(majorVersion <= 6) { // init packet is not used in SDK v6 (so not used in mbed).
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
controlChar.writeValue(new Uint8Array([OPCODE.INITIALIZE_DFU_PARAMETERS, 0]))
|
|
||||||
.then(() => {
|
|
||||||
return packetChar.writeValue(generateInitPacket());
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
return controlChar.writeValue(new Uint8Array([OPCODE.INITIALIZE_DFU_PARAMETERS, 1]));
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
error = "error writing dfu init parameters: " + error;
|
|
||||||
log(error);
|
|
||||||
reject(error);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case OPCODE.INITIALIZE_DFU_PARAMETERS:
|
case OPCODE.INITIALIZE_DFU_PARAMETERS:
|
||||||
|
if(req_opcode === OPCODE.START_DFU && majorVersion > 6) { // init packet is not used in SDK v6 (so not used in mbed).
|
||||||
|
log('write init packet');
|
||||||
|
controlChar.writeValue(new Uint8Array([OPCODE.INITIALIZE_DFU_PARAMETERS, 0]))
|
||||||
|
.then(() => {
|
||||||
|
return packetChar.writeValue(generateInitPacket());
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
return controlChar.writeValue(new Uint8Array([OPCODE.INITIALIZE_DFU_PARAMETERS, 1]));
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
error = "error writing dfu init parameters: " + error;
|
||||||
|
log(error);
|
||||||
|
reject(error);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
log('send packet count');
|
log('send packet count');
|
||||||
|
|
||||||
var buffer = new ArrayBuffer(3);
|
var buffer = new ArrayBuffer(3);
|
||||||
|
|||||||
Reference in New Issue
Block a user