Skip to content

Commit

Permalink
Version 4.13.0
Browse files Browse the repository at this point in the history
  • Loading branch information
philips77 committed Jun 30, 2022
1 parent c899c50 commit ec53647
Show file tree
Hide file tree
Showing 10 changed files with 29 additions and 73 deletions.
4 changes: 2 additions & 2 deletions Example/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PODS:
- iOSDFULibrary (4.12.0):
- iOSDFULibrary (4.13.0):
- ZIPFoundation (= 0.9.11)
- ZIPFoundation (0.9.11)

Expand All @@ -15,7 +15,7 @@ EXTERNAL SOURCES:
:path: "../"

SPEC CHECKSUMS:
iOSDFULibrary: 9474d6f5a0db68abdbee465ef9274d549a67b2b3
iOSDFULibrary: 3b9de67ed4bfb901b5f09c2fea843f65e152612d
ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197

PODFILE CHECKSUM: 16697609d795697cac6384a823bc962ccbddb9d0
Expand Down
4 changes: 2 additions & 2 deletions Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Example/Pods/Manifest.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,15 +59,15 @@ if you need to resymbolicate crash logs. you may want to keep those files bundle
**For Swift Package Manager:**

```swift
// swift-tools-version:5.5
// swift-tools-version:5.6
import PackageDescription

let package = Package(
name: "<Your Product Name>",
dependencies: [
.package(
url: "https://github.com/NordicSemiconductor/IOS-DFU-Library",
.upToNextMajor(from: "<Desired Version, e.g. 4.11.1>")
.upToNextMajor(from: "<Desired Version, e.g. 4.13.0>")
)
],
targets: [.target(name: "<Your Target Name>", dependencies: ["NordicDFU"])]
Expand All @@ -76,7 +76,7 @@ let package = Package(

---

### Device Firmware Update (DFU)
## Device Firmware Update (DFU)

The nRF5x Series chips are flash-based SoCs, and as such they represent the most flexible solution available.
A key feature of the nRF5x Series and their associated software architecture and S-Series SoftDevices is the
Expand Down Expand Up @@ -126,21 +126,21 @@ indication when entered DFU mode and app mode. For bonded devices it is recommen

---

### Documentation
## Documentation

See the [documentation](documentation.md) for more information.

---

### Requirements
## Requirements

The library is compatible with nRF51 and nRF52 devices with S-Series Soft Device and the DFU Bootloader flashed on.

---

### DFU History
## DFU History

#### Legacy DFU
### Legacy DFU

* **SDK 4.3.0** - First version of DFU over Bluetooth Smart. DFU supports Application update.
* **SDK 6.1.0** - DFU Bootloader supports Soft Device and Bootloader update. As the updated Bootloader may be dependent on the new Soft Device, those two may be sent and installed together.
Expand All @@ -153,7 +153,7 @@ The library is compatible with nRF51 and nRF52 devices with S-Series Soft Device
- Buttonless update support for bonded devices
- sharing the LTK between an app and the bootloader.

#### Secure DFU
### Secure DFU

* **SDK 12.0.0** - New Secure DFU has been released. This library is fully backwards compatible so supports both the new and legacy DFU.
* **SDK 13.0.0** - Buttonless DFU (still experimental) uses different UUIDs. No bond sharing supported. Bootloader will use address +1.
Expand All @@ -164,6 +164,8 @@ This library is fully backwards compatible and supports both the new and legacy

Check platform folders for mode details about compatibility for each library.

## Other frameworks

### React Native

An unofficial library for both iOS and Android that is based on this library is available for React Native: [react-native-nordic-dfu](https://github.com/Pilloxa/react-native-nordic-dfu)
Expand Down
4 changes: 2 additions & 2 deletions README_OBJC.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ pod 'iOSDFULibrary'
end
```
- Install dependencies

```
pod install

```
- Open the newly created `.xcworkspace` and begin working on your project.
- If Xcode asks to migrate code to Swift 5.5, choose **Later**. (The codebase is Swift 5.5 already)
- Click on the `Pods` project, then go to the `Build Settings`
Expand Down
4 changes: 4 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
### Changelog
- **4.13.0**
- Breaking change: Creating DFUFirmware may now throw an error, instead of returning nil (#486).
- Improvement: Internal logging improvements (#487).

- **4.12.0**
- Bugfix: Issue with incorrect resuming Init Packet fixed (#485).
- Bugfix: Fixed crash when Calculate checksum reasponse was received instead of Select Object response (#483, #480).
Expand Down
58 changes: 4 additions & 54 deletions documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,60 +30,10 @@ In case of any communication error the peripheral device will never be bricked.

* **An iPhone 4S or iPad 2 or newer with iOS 9+**

Support for the Bluetooth 4.0 technology is required.
Support for the Bluetooth 4.0 technology is required.
* **nRF5x device for testing.**

A nRF5x Series device is required to test the working solution. If your final product is not available, use the nRF5x DK, which you can find [here](http://www.nordicsemi.com/eng/Products/nRF51-DK "nRF51 DK") or [here](http://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52-DK "nRF52 DK").

### Integration

To include the library in your project do one of those options:

1. Cocoapods (recommended):

Open up a terminal window, cd to your project's root and create a `Podfile` with the follwoing content:

```
use_frameworks!
target 'YourAppTargetName' do
pod 'iOSDFULibrary'
end
```
Then install dependencies
```
pod install
```

**Notice:** Our Cocoapods releases will always be the exact same version as this repository. you may [follow our pod repository here](http://github.com/NordicSemiconductor/IOS-DFU-Library).

2. Include the library as a precompiled framework:

Copy the DFULibrary.framework file to you project.
Add this framework to Embedded Binaries in the Target->Settings->General.

3. Include the library as source code:

Create a Workspace (if you already don't have one).
Add your project to the workspace.
Add the DFULibrary.xcodeproj file below your project, on the same level:
```
MyProject
- MyProject
- MyProjectTests
- Products
DFULibrary
- DFULibrary
- DFULibraryTests
- Frameworks
- Products
- DFULibrary.framework <- this file
- DFULibraryTests.xctest
```
Add (drag&drop) the DFULibrary.framework product file to your Target's Embedded Binaries.
A framework build may be necessary. The framework must exist (color black, not red).

If you decide to use option **2** or **3**, make sure you have the `Embedded Content contains Swift code` set to `YES` in your
target's **Build Options->Build Settings**
A nRF5x Series device is required to test the working solution. If your final product is not available, use the nRF5x DK, which you can find [here](http://www.nordicsemi.com/eng/Products/nRF51-DK "nRF51 DK") or

### Usage

Expand All @@ -100,9 +50,9 @@ To start the DFU process you have to do 2 things:
```
Swift:
```swift
let selectedFirmware = DFUFirmware(urlToZipFile:url)
let selectedFirmware = try DFUFirmware(urlToZipFile: url)
// or
let selectedFirmware = DFUFirmware(urlToBinOrHexFile: url, urlToDatFile: datUrl, type: DFUFirmwareType.Application)
let selectedFirmware = try DFUFirmware(urlToBinOrHexFile: url, urlToDatFile: datUrl, type: .application)
```

2. The `DFUFirmware` object allows you to get basic information about the firmware, like sizes of each component or number of parts.
Expand Down
2 changes: 1 addition & 1 deletion iOSDFULibrary.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "iOSDFULibrary"
s.version = "4.12.0"
s.version = "4.13.0"
s.summary = "This repository contains a library to perform Device Firmware Update on the nRF5x devices."
s.description = <<-DESC
The nRF5x Series chips are flash-based SoCs, and as such they represent the most flexible solution available. A key feature of the nRF5x Series and their associated software architecture and S-Series SoftDevices is the possibility for Over-The-Air Device Firmware Upgrade (OTA-DFU). See Figure 1. OTA-DFU allows firmware upgrades to be issued and downloaded to products in the field via the cloud and so enables OEMs to fix bugs and introduce new features to products that are already out on the market. This brings added security and flexibility to product development when using the nRF5x Series SoCs.
Expand Down

0 comments on commit ec53647

Please sign in to comment.