cordova-plugin-ble-nano-ota-updater
v1.0.0
Published
A Cordova plugin that implements RedBear BLE Nano OTA update logic
Downloads
4
Maintainers
Readme
cordova-plugin-ble-nano-ota-updater
A Cordova plugin that implements RedBear BLE Nano OTA update logic. Update algorithm is based on Android-nRF-Toolbox.
Dependencies
Usage
For more examples check example application.
Cordova Bluetooth LE Plugin
must be initialized before calling the uploadFirmware
method.
var BLENanoOTAUpdater = window.BLENanoOTAUpdater;
var device = {
address: 'EC:E7:5E:FD:A9:66'
};
var firmwareFileBuf = [ /* .. */ ];
var updater = new BLENanoOTAUpdater( device, { logLevel: BLENanoOTAUpdater.LOG_LEVEL_DEBUG } );
updater
.on( BLENanoOTAUpdater.EVENT_UPLOAD_PROGRESS, function( payload ) {
console.log( 'Uploading image: ' + payload.progress + '%' );
} )
.on( BLENanoOTAUpdater.EVENT_UPDATE_STATE_CHANGE, function( payload ) {
switch ( payload.state ) {
case BLENanoOTAUpdater.STATE_CHECKING_PRECONDITIONS:
console.log( 'Checking preconditions' );
break;
case BLENanoOTAUpdater.STATE_CONNECTING_TO_DEVICE:
console.log( 'Connecting to device' );
break;
case BLENanoOTAUpdater.STATE_DISCOVERING_SERVICES:
console.log( 'Discovering services' );
break;
case BLENanoOTAUpdater.STATE_SUBSCRIBING_FOR_NOTIFICATIONS:
console.log( 'Subscribing for notifications' );
break;
case BLENanoOTAUpdater.STATE_STARTING_DFU:
console.log( 'Starting DFU' );
break;
case BLENanoOTAUpdater.STATE_INITIALIZING_IMAGE_UPLOAD:
console.log( 'Initializing image upload' );
break;
case BLENanoOTAUpdater.STATE_UPLOADING_IMAGE:
console.log( 'Uploading image: 0%' );
break;
case BLENanoOTAUpdater.STATE_VALIDATING_UPLOADED_IMAGE:
console.log( 'Validating uploaded image' );
break;
case BLENanoOTAUpdater.STATE_RESTARTING_DEVICE:
console.log( 'Restarting device' );
break;
case BLENanoOTAUpdater.STATE_UNSUBSCRIBING_FOR_NOTIFICATIONS:
console.log( 'Canceling subscription for notifications' );
break;
case BLENanoOTAUpdater.STATE_CLOSING_DEVICE_CONNECTION:
console.log( 'Done!' );
break;
}
} )
.on( BLENanoOTAUpdater.EVENT_ERROR, function( err ) {
console.log( 'Failed to upload firmware: ' + err );
} );
updater.uploadFirmware( firmwareFileBuf );
License
This plugin is licensed under The MIT License. Some parts are licensed under different licenses. Please, check LICENSE-3RD-PARTY.md for details.