cordova-plugin-dfu-update

Use Nordic Semiconductor's Device Firmware Update (DFU) service to update a Bluetooth LE device

Usage no npm install needed!

<script type="module">
  import cordovaPluginDfuUpdate from 'https://cdn.skypack.dev/cordova-plugin-dfu-update';
</script>

README

DfuUpdate Cordova Plugin

Maintenance npm version

This Cordova Plugin is a Wrapper to use Nordic Semiconductor's Device Firmware Update (DFU) service to update a Bluetooth LE device.

It currently uses iOSDFULibrary (Version 4.8.0) on iOS and Android-DFU-Library (Default-Version 1.11.0) on Android.

This Plugin is in active development!

Donate

This and other Open-Source Cordova Plugins are developed in my free time. To help ensure this plugin is kept updated, new features are added and bugfixes are implemented quickly, please donate a couple of dollars (or a little more if you can stretch) as this will help me to afford to dedicate time to its maintenance. Please consider donating if you're using this plugin in an app that makes you money, if you're being paid to make the app, if you're asking for new features or priority bug fixes.

Table of Content

Install

Android

iOS

This Plugin is developed in Swift and automaticaly adds the Plugin to Support Swift.

Environment Variables

Android

  • ANDROID_NORDIC_VERSION - Version of no.nordicsemi.android:dfu / default to 1.11.0

iOS

Usage

The plugin is available via a global variable named window.DfuUpdate. A TypeScript definition is included out of the Box. You can import it like this:

import DfuUpdate from 'cordova-plugin-dfu-update';

Api

The list of available methods for this plugin is described below.

updateFirmware

Start the Firmware-Update proccess

Parameters:

  • An Object, which has the following Values:
    • fileUrl (string) - A string that is the path to the file to use in the update. It can be either in either cdvfile:// or file:// format.
    • deviceId (string) - A string that contains the identifier for the Bluetooth LE device to update. It will either be a MAC address (on Android) or a UUID (on iOS).
    • packetReceiptNotificationsValue (number) - See here (Default to 10)
window.DfuUpdate.updateFirmware(function(success) {
  console.log(success);
}, function (error) {
  console.error(error);
}, {
  fileUrl: 'fileUrl',
  deviceId: 'deviceId'
});

Changelog

The full Changelog is available here