Skip to content

Commit 76b1906

Browse files
authored
Merge pull request #449 from NordicSemiconductor/develop
Version 4.11.0
2 parents d754328 + d38bc66 commit 76b1906

File tree

20 files changed

+367
-225
lines changed

20 files changed

+367
-225
lines changed

Example/Podfile.lock

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PODS:
2-
- iOSDFULibrary (4.10.4):
2+
- iOSDFULibrary (4.11.0):
33
- ZIPFoundation (= 0.9.11)
44
- ZIPFoundation (0.9.11)
55

@@ -15,9 +15,9 @@ EXTERNAL SOURCES:
1515
:path: "../"
1616

1717
SPEC CHECKSUMS:
18-
iOSDFULibrary: 5d41d0ac69418d63755195db5f46e99588ae7d48
18+
iOSDFULibrary: ca2a4da1f1680fe4957b0a33ad605c9e10f7ae7c
1919
ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197
2020

2121
PODFILE CHECKSUM: 16697609d795697cac6384a823bc962ccbddb9d0
2222

23-
COCOAPODS: 1.10.1
23+
COCOAPODS: 1.10.2

Example/Pods/Local Podspecs/iOSDFULibrary.podspec.json

+6-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Manifest.lock

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Pods.xcodeproj/project.pbxproj

+53-53
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/iOSDFULibrary-iOS/iOSDFULibrary-iOS-Info.plist

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Example/Pods/Target Support Files/iOSDFULibrary-macOS/iOSDFULibrary-macOS-Info.plist

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ let package = Package(
5656
dependencies: [
5757
.package(
5858
url: "https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library",
59-
.upToNextMajor(from: "<Desired Version, e.g. 4.10.4>")
59+
.upToNextMajor(from: "<Desired Version, e.g. 4.11.0>")
6060
)
6161
],
6262
targets: [.target(name: "<Your Target Name>", dependencies: ["NordicDFU"])]

changelog.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
### Changelog
2+
- **4.11.0**
3+
- Feature: Support for Abort op code added in Secure DFU (#447).
4+
- Improvement: More op codes added in Secure DFU in SDK 15 (#447).
5+
- Improvement: Use connection timeout when reconnecting in DFU mode (#442).
6+
- Bugfix: Handling missing error codes (#446).
7+
- Bugfix: Handling invalid max object size (#443, #444).
8+
- Other improvements (#445, #448).
9+
- Read Object Info renamed to Select Object, like in DFU specification.
10+
211
- **4.10.4**
312
- Fix for compilation error in Xcode 13 related to change in iOS API (#433, #439).
413
- Improvement: State validation (#434, #435, #437).

iOSDFULibrary.podspec

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22
s.name = "iOSDFULibrary"
3-
s.version = "4.10.4"
4-
s.summary = "This repository contains a tested library for iOS 9+ devices to perform Device Firmware Update on the nRF5x devices"
3+
s.version = "4.11.0"
4+
s.summary = "This repository contains a library to perform Device Firmware Update on the nRF5x devices."
55
s.description = <<-DESC
66
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.
77
DESC
@@ -11,7 +11,7 @@ The nRF5x Series chips are flash-based SoCs, and as such they represent the most
1111
s.authors = { "Aleksander Nowakowski" => "[email protected]" }
1212
s.source = { :git => "https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library.git", :tag => s.version.to_s }
1313
s.social_media_url = 'https://twitter.com/nordictweets'
14-
s.swift_versions = ['4.2', '5.0', '5.1', '5.2', '5.3', '5.4']
14+
s.swift_versions = ['4.2', '5.0', '5.1', '5.2', '5.3', '5.4', '5.5']
1515

1616
s.ios.deployment_target = '9.0'
1717
s.osx.deployment_target = '10.14'

iOSDFULibrary/Classes/Implementation/DFUServiceDelegate.swift

+23-3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,22 @@
3030

3131
import Foundation
3232

33+
internal enum DFURemoteError : Int {
34+
case legacy = 0
35+
case secure = 10
36+
case secureExtended = 20
37+
case buttonless = 90
38+
case experimentalButtonless = 9000
39+
40+
func with(code: UInt8) -> DFUError {
41+
// The force-unwrap here is used, as the only available codes
42+
// that this method is called with are hardcoded in the library
43+
// (ButtonlessDFU, DFUControlPoint, SecureDFUControlPoint)
44+
// and, with the optional offset, will match an existing DFUError.
45+
return DFUError(rawValue: Int(code) + rawValue)!
46+
}
47+
}
48+
3349
@objc public enum DFUError : Int {
3450
// Legacy DFU errors.
3551
case remoteLegacyDFUSuccess = 1
@@ -52,6 +68,7 @@ import Foundation
5268

5369
// This error will no longer be reported.
5470
case remoteSecureDFUExtendedError = 21 // 10 + 11
71+
5572
// Instead, one of the extended errors below will used.
5673
case remoteExtendedErrorWrongCommandFormat = 22 // 20 + 0x02
5774
case remoteExtendedErrorUnknownCommand = 23 // 20 + 0x03
@@ -74,9 +91,12 @@ import Foundation
7491

7592
// Buttonless DFU errors (received value + 90 as they overlap legacy
7693
// and secure DFU errors).
77-
case remoteButtonlessDFUSuccess = 91 // 90 + 1
78-
case remoteButtonlessDFUOpCodeNotSupported = 92 // 90 + 2
79-
case remoteButtonlessDFUOperationFailed = 94 // 90 + 4
94+
case remoteButtonlessDFUSuccess = 91 // 90 + 1
95+
case remoteButtonlessDFUOpCodeNotSupported = 92 // 90 + 2
96+
case remoteButtonlessDFUOperationFailed = 94 // 90 + 4
97+
case remoteButtonlessDFUInvalidAdvertisementName = 95 // 90 + 5
98+
case remoteButtonlessDFUBusy = 96 // 90 + 6
99+
case remoteButtonlessDFUNotBonded = 97 // 90 + 7
80100

81101
/// Providing the DFUFirmware is required.
82102
case fileNotSpecified = 101

0 commit comments

Comments
 (0)