Skip to content

Commit f95286d

Browse files
authored
Merge pull request #48 from LoopKit/dev
Version 0.8.0
2 parents 5cdf2d3 + b9ca1d3 commit f95286d

18 files changed

+230
-55
lines changed

Example/Podfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PODS:
2-
- xDripG5 (0.7.0)
2+
- xDripG5 (0.8.0)
33

44
DEPENDENCIES:
55
- xDripG5 (from `../`)
@@ -9,8 +9,8 @@ EXTERNAL SOURCES:
99
:path: ../
1010

1111
SPEC CHECKSUMS:
12-
xDripG5: b0bfa28e1dc510799d919ab6a67badb56a024247
12+
xDripG5: 8779a4f495fd8eb81a3d75457afe9b95fb52f61d
1313

1414
PODFILE CHECKSUM: 6b30cba971694d5258509315fb52eb645c9bc5e3
1515

16-
COCOAPODS: 1.1.0.beta.2
16+
COCOAPODS: 1.1.0.rc.2

Example/xDripG5.xcodeproj/project.pbxproj

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
/* Begin PBXBuildFile section */
1010
06C991A3D94948120AD2A278 /* Pods_xDripG5_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42011659993839B43D24C553 /* Pods_xDripG5_Example.framework */; };
11+
43846AC21D8F812A00799272 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43846AC11D8F812A00799272 /* Data.swift */; };
1112
439FCA211C332AA4007DE84C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 439FCA1F1C332AA4007DE84C /* LaunchScreen.storyboard */; };
1213
439FCA231C332AE5007DE84C /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 439FCA221C332AE5007DE84C /* NSUserDefaults.swift */; };
1314
43E3979F1D569B340028E321 /* HKUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43E3979E1D569B340028E321 /* HKUnit.swift */; };
@@ -19,6 +20,7 @@
1920

2021
/* Begin PBXFileReference section */
2122
42011659993839B43D24C553 /* Pods_xDripG5_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_xDripG5_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
23+
43846AC11D8F812A00799272 /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = "<group>"; };
2224
439FCA201C332AA4007DE84C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
2325
439FCA221C332AE5007DE84C /* NSUserDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSUserDefaults.swift; sourceTree = "<group>"; };
2426
43E3979E1D569B340028E321 /* HKUnit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HKUnit.swift; path = ../../xDripG5/HKUnit.swift; sourceTree = "<group>"; };
@@ -78,6 +80,7 @@
7880
isa = PBXGroup;
7981
children = (
8082
607FACD51AFB9204008FA782 /* AppDelegate.swift */,
83+
43846AC11D8F812A00799272 /* Data.swift */,
8184
43E3979E1D569B340028E321 /* HKUnit.swift */,
8285
439FCA221C332AE5007DE84C /* NSUserDefaults.swift */,
8386
607FACD71AFB9204008FA782 /* ViewController.swift */,
@@ -246,6 +249,7 @@
246249
buildActionMask = 2147483647;
247250
files = (
248251
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
252+
43846AC21D8F812A00799272 /* Data.swift in Sources */,
249253
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
250254
43E3979F1D569B340028E321 /* HKUnit.swift in Sources */,
251255
439FCA231C332AE5007DE84C /* NSUserDefaults.swift in Sources */,
@@ -365,7 +369,6 @@
365369
isa = XCBuildConfiguration;
366370
baseConfigurationReference = F3147B948B4F90A741304461 /* Pods-xDripG5_Example.debug.xcconfig */;
367371
buildSettings = {
368-
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
369372
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
370373
INFOPLIST_FILE = xDripG5/Info.plist;
371374
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -381,7 +384,6 @@
381384
isa = XCBuildConfiguration;
382385
baseConfigurationReference = CFBD776BFE02F42998A8820B /* Pods-xDripG5_Example.release.xcconfig */;
383386
buildSettings = {
384-
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
385387
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
386388
INFOPLIST_FILE = xDripG5/Info.plist;
387389
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";

Example/xDripG5/AppDelegate.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate, TransmitterDelegate {
8787
}
8888
}
8989
}
90+
91+
func transmitter(_ transmitter: Transmitter, didReadUnknownData data: Data) {
92+
if let vc = window?.rootViewController as? TransmitterDelegate {
93+
DispatchQueue.main.async {
94+
vc.transmitter(transmitter, didReadUnknownData: data)
95+
}
96+
}
97+
}
9098
}

Example/xDripG5/Data.swift

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
//
2+
// Data.swift
3+
// xDripG5
4+
//
5+
// Created by Nate Racklyeft on 9/18/16.
6+
// Copyright © 2016 Nathan Racklyeft. All rights reserved.
7+
//
8+
9+
import Foundation
10+
11+
12+
extension Data {
13+
var hexadecimalString: String {
14+
let string = NSMutableString(capacity: count * 2)
15+
16+
for byte in self {
17+
string.appendFormat("%02x", byte)
18+
}
19+
20+
return string as String
21+
}
22+
}

Example/xDripG5/ViewController.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ class ViewController: UIViewController, TransmitterDelegate, UITextFieldDelegate
119119
let date = glucose.readDate
120120
subtitleLabel.text = DateFormatter.localizedString(from: date, dateStyle: .none, timeStyle: .long)
121121
}
122+
123+
func transmitter(_ transmitter: Transmitter, didReadUnknownData data: Data) {
124+
titleLabel.text = NSLocalizedString("Unknown Data", comment: "Title displayed during unknown data response")
125+
subtitleLabel.text = data.hexadecimalString
126+
}
122127
}
123128

124129

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# xDripG5
22

3-
[![CI Status](http://img.shields.io/travis/loudnate/xDripG5.svg?style=flat)](https://travis-ci.org/loudnate/xDripG5)
3+
[![CI Status](http://img.shields.io/travis/LoopKit/xDripG5.svg?style=flat)](https://travis-ci.org/LoopKit/xDripG5)
44
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
55
[![Version](https://img.shields.io/cocoapods/v/xDripG5.svg?style=flat)](http://cocoapods.org/pods/xDripG5)
66
[![License](https://img.shields.io/cocoapods/l/xDripG5.svg?style=flat)](http://cocoapods.org/pods/xDripG5)
@@ -21,7 +21,7 @@ This framework connects to a G5 Mobile Transmitter via Bluetooth LE. It does not
2121
xDripG5 is available through [Carthage](https://github.com/Carthage/Carthage). To install it, add the following line to your Cartfile:
2222

2323
```ruby
24-
github "loudnate/xDripG5"
24+
github "LoopKit/xDripG5"
2525
```
2626

2727
Note that you'll need to confgure your target to link against `CommonCrypto.framework` in addition to `xDripG5.framework`
@@ -48,7 +48,7 @@ If you plan to run your app alongside the G5 Mobile application, make sure to se
4848

4949
## Code of Conduct
5050

51-
Please note that this project is released with a [Contributor Code of Conduct](https://github.com/loudnate/LoopKit/blob/master/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
51+
Please note that this project is released with a [Contributor Code of Conduct](https://github.com/LoopKit/LoopKit/blob/master/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
5252

5353
## License
5454

xDripG5.podspec

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "xDripG5"
3-
s.version = "0.7.0"
3+
s.version = "0.8.0"
44
s.summary = "An interface for communicating with the G5 glucose transmitter over Bluetooth."
55

66
s.description = <<-DESC
@@ -11,11 +11,10 @@ By using this framework in your own app, you can get access to your glucose read
1111
Please note this project is neither created nor backed by Dexcom, Inc. Use of this software is not intended for therapy.
1212
DESC
1313

14-
s.homepage = "https://github.com/loudnate/xDripG5"
14+
s.homepage = "https://github.com/LoopKit/xDripG5"
1515
s.license = 'MIT'
1616
s.author = { "Nathan Racklyeft" => "loudnate@gmail.com" }
17-
s.source = { :git => "https://github.com/loudnate/xDripG5.git", :tag => s.version.to_s }
18-
s.social_media_url = 'https://twitter.com/loudnate'
17+
s.source = { :git => "https://github.com/LoopKit/xDripG5.git", :tag => s.version.to_s }
1918

2019
s.platform = :ios, '9.3'
2120
s.requires_arc = true

xDripG5.xcodeproj/project.pbxproj

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
/* Begin PBXBuildFile section */
1010
430D64C51CB7846A00FCA750 /* NSData+CRC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430D64C41CB7846A00FCA750 /* NSData+CRC.swift */; };
1111
43538C111D81220F0071CA5E /* NSData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE101C350B2800005705 /* NSData.swift */; };
12+
43846AC61D8F896C00799272 /* CalibrationDataRxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43846AC51D8F896C00799272 /* CalibrationDataRxMessage.swift */; };
13+
43846AC81D8F89BE00799272 /* CalibrationDataRxMessageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43846AC71D8F89BE00799272 /* CalibrationDataRxMessageTests.swift */; };
14+
43880F981D9E19FC009061A8 /* TransmitterVersionRxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43880F971D9E19FC009061A8 /* TransmitterVersionRxMessage.swift */; };
15+
43880F9A1D9E1BD7009061A8 /* TransmitterVersionRxMessageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43880F991D9E1BD7009061A8 /* TransmitterVersionRxMessageTests.swift */; };
1216
43CABDF71C3506F100005705 /* xDripG5.h in Headers */ = {isa = PBXBuildFile; fileRef = 43CABDF61C3506F100005705 /* xDripG5.h */; settings = {ATTRIBUTES = (Public, ); }; };
1317
43CABDFE1C3506F100005705 /* xDripG5.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43CABDF31C3506F100005705 /* xDripG5.framework */; };
1418
43CABE121C350B2800005705 /* BluetoothManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE0E1C350B2800005705 /* BluetoothManager.swift */; };
@@ -74,6 +78,10 @@
7478

7579
/* Begin PBXFileReference section */
7680
430D64C41CB7846A00FCA750 /* NSData+CRC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSData+CRC.swift"; sourceTree = "<group>"; };
81+
43846AC51D8F896C00799272 /* CalibrationDataRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CalibrationDataRxMessage.swift; sourceTree = "<group>"; };
82+
43846AC71D8F89BE00799272 /* CalibrationDataRxMessageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CalibrationDataRxMessageTests.swift; sourceTree = "<group>"; };
83+
43880F971D9E19FC009061A8 /* TransmitterVersionRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransmitterVersionRxMessage.swift; sourceTree = "<group>"; };
84+
43880F991D9E1BD7009061A8 /* TransmitterVersionRxMessageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransmitterVersionRxMessageTests.swift; sourceTree = "<group>"; };
7785
43CABDF31C3506F100005705 /* xDripG5.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = xDripG5.framework; sourceTree = BUILT_PRODUCTS_DIR; };
7886
43CABDF61C3506F100005705 /* xDripG5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = xDripG5.h; sourceTree = "<group>"; };
7987
43CABDF81C3506F100005705 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
@@ -182,13 +190,15 @@
182190
43CABE011C3506F100005705 /* xDripG5Tests */ = {
183191
isa = PBXGroup;
184192
children = (
185-
43E397901D5692080028E321 /* GlucoseTests.swift */,
193+
43846AC71D8F89BE00799272 /* CalibrationDataRxMessageTests.swift */,
186194
43DC87C11C8B520F005BC30D /* GlucoseRxMessageTests.swift */,
195+
43E397901D5692080028E321 /* GlucoseTests.swift */,
187196
43CABE041C3506F100005705 /* Info.plist */,
188197
43DC87BF1C8B509B005BC30D /* NSData.swift */,
189-
43F82BCB1D035AA4006F5DD7 /* TransmitterTimeRxMessageTests.swift */,
190-
43F82BD11D037040006F5DD7 /* SessionStopRxMessageTests.swift */,
191198
43F82BD31D037227006F5DD7 /* SessionStartRxMessageTests.swift */,
199+
43F82BD11D037040006F5DD7 /* SessionStopRxMessageTests.swift */,
200+
43F82BCB1D035AA4006F5DD7 /* TransmitterTimeRxMessageTests.swift */,
201+
43880F991D9E1BD7009061A8 /* TransmitterVersionRxMessageTests.swift */,
192202
);
193203
path = xDripG5Tests;
194204
sourceTree = "<group>";
@@ -203,6 +213,7 @@
203213
43CE7CCB1CA73BCC003CC1B0 /* BatteryStatusTxMessage.swift */,
204214
43CABE1B1C350B3D00005705 /* BondRequestTxMessage.swift */,
205215
43CE7CD11CA73CBC003CC1B0 /* CalibrateGlucoseTxMessage.swift */,
216+
43846AC51D8F896C00799272 /* CalibrationDataRxMessage.swift */,
206217
43CABE1C1C350B3D00005705 /* DisconnectTxMessage.swift */,
207218
43CE7CC71CA73AEB003CC1B0 /* FirmwareVersionTxMessage.swift */,
208219
43CE7CD31CA73CE8003CC1B0 /* GlucoseHistoryTxMessage.swift */,
@@ -217,6 +228,7 @@
217228
43CABE211C350B3D00005705 /* TransmitterTimeRxMessage.swift */,
218229
43CABE221C350B3D00005705 /* TransmitterTimeTxMessage.swift */,
219230
43CE7CC91CA73B94003CC1B0 /* TransmitterVersionTxMessage.swift */,
231+
43880F971D9E19FC009061A8 /* TransmitterVersionRxMessage.swift */,
220232
);
221233
path = Messages;
222234
sourceTree = "<group>";
@@ -281,7 +293,7 @@
281293
attributes = {
282294
LastSwiftUpdateCheck = 0730;
283295
LastUpgradeCheck = 0800;
284-
ORGANIZATIONNAME = "Nathan Racklyeft";
296+
ORGANIZATIONNAME = "LoopKit Authors";
285297
TargetAttributes = {
286298
43CABDF21C3506F100005705 = {
287299
CreatedOnToolsVersion = 7.2;
@@ -343,13 +355,15 @@
343355
43CABE261C350B3D00005705 /* AuthStatusRxMessage.swift in Sources */,
344356
43CE7CD41CA73CE8003CC1B0 /* GlucoseHistoryTxMessage.swift in Sources */,
345357
43E397931D56950C0028E321 /* HKUnit.swift in Sources */,
358+
43846AC61D8F896C00799272 /* CalibrationDataRxMessage.swift in Sources */,
346359
43CE7CD01CA73C57003CC1B0 /* SessionStopTxMessage.swift in Sources */,
347360
43CABE2A1C350B3D00005705 /* GlucoseTxMessage.swift in Sources */,
348361
43CE7CC81CA73AEB003CC1B0 /* FirmwareVersionTxMessage.swift in Sources */,
349362
43CE7CCC1CA73BCC003CC1B0 /* BatteryStatusTxMessage.swift in Sources */,
350363
43EEA7121D14DC0800CBBDA0 /* AESCrypt.m in Sources */,
351364
43CE7CCE1CA73C22003CC1B0 /* SessionStartTxMessage.swift in Sources */,
352365
43CABE2E1C350B3D00005705 /* TransmitterTimeTxMessage.swift in Sources */,
366+
43880F981D9E19FC009061A8 /* TransmitterVersionRxMessage.swift in Sources */,
353367
43538C111D81220F0071CA5E /* NSData.swift in Sources */,
354368
43CABE2C1C350B3D00005705 /* TransmitterMessage.swift in Sources */,
355369
43CABE131C350B2800005705 /* BluetoothServices.swift in Sources */,
@@ -373,9 +387,11 @@
373387
files = (
374388
43F82BCC1D035AA4006F5DD7 /* TransmitterTimeRxMessageTests.swift in Sources */,
375389
43F82BD41D037227006F5DD7 /* SessionStartRxMessageTests.swift in Sources */,
390+
43846AC81D8F89BE00799272 /* CalibrationDataRxMessageTests.swift in Sources */,
376391
43DC87C01C8B509B005BC30D /* NSData.swift in Sources */,
377392
43F82BD21D037040006F5DD7 /* SessionStopRxMessageTests.swift in Sources */,
378393
43E397911D5692080028E321 /* GlucoseTests.swift in Sources */,
394+
43880F9A1D9E1BD7009061A8 /* TransmitterVersionRxMessageTests.swift in Sources */,
379395
43DC87C21C8B520F005BC30D /* GlucoseRxMessageTests.swift in Sources */,
380396
);
381397
runOnlyForDeploymentPostprocessing = 0;
@@ -412,7 +428,7 @@
412428
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
413429
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
414430
COPY_PHASE_STRIP = NO;
415-
CURRENT_PROJECT_VERSION = 13;
431+
CURRENT_PROJECT_VERSION = 14;
416432
DEBUG_INFORMATION_FORMAT = dwarf;
417433
ENABLE_STRICT_OBJC_MSGSEND = YES;
418434
ENABLE_TESTABILITY = YES;
@@ -462,7 +478,7 @@
462478
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
463479
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
464480
COPY_PHASE_STRIP = NO;
465-
CURRENT_PROJECT_VERSION = 13;
481+
CURRENT_PROJECT_VERSION = 14;
466482
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
467483
ENABLE_NS_ASSERTIONS = NO;
468484
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -492,7 +508,7 @@
492508
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
493509
DEFINES_MODULE = YES;
494510
DYLIB_COMPATIBILITY_VERSION = 1;
495-
DYLIB_CURRENT_VERSION = 13;
511+
DYLIB_CURRENT_VERSION = 14;
496512
DYLIB_INSTALL_NAME_BASE = "@rpath";
497513
INFOPLIST_FILE = xDripG5/Info.plist;
498514
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
@@ -512,7 +528,7 @@
512528
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
513529
DEFINES_MODULE = YES;
514530
DYLIB_COMPATIBILITY_VERSION = 1;
515-
DYLIB_CURRENT_VERSION = 13;
531+
DYLIB_CURRENT_VERSION = 14;
516532
DYLIB_INSTALL_NAME_BASE = "@rpath";
517533
INFOPLIST_FILE = xDripG5/Info.plist;
518534
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";

xDripG5/BluetoothManager.swift

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ protocol BluetoothManagerDelegate: class {
2929
- returns: True if the peripheral should connect
3030
*/
3131
func bluetoothManager(_ manager: BluetoothManager, shouldConnectPeripheral peripheral: CBPeripheral) -> Bool
32+
33+
/// Tells the delegate that the bluetooth manager received new data in the control characteristic.
34+
///
35+
/// - parameter manager: The bluetooth manager
36+
/// - parameter didReceiveControlResponse: The data received on the control characteristic
37+
func bluetoothManager(_ manager: BluetoothManager, didReceiveControlResponse response: Data)
3238
}
3339

3440

@@ -422,7 +428,6 @@ class BluetoothManager: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate
422428
}
423429

424430
func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
425-
426431
operationLock.lock()
427432

428433
if operationConditions.remove(.valueUpdate(characteristic: characteristic, firstByte: characteristic.value?[0])) != nil ||
@@ -436,11 +441,15 @@ class BluetoothManager: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate
436441
}
437442

438443
operationLock.unlock()
444+
445+
if let data = characteristic.value {
446+
delegate?.bluetoothManager(self, didReceiveControlResponse: data)
447+
}
439448
}
440449

441450
func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error: Error?) {
442451

443-
self.operationLock.lock()
452+
operationLock.lock()
444453

445454
if operationConditions.remove(.writeUpdate(characteristic: characteristic)) != nil {
446455
operationError = error
@@ -450,7 +459,7 @@ class BluetoothManager: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate
450459
}
451460
}
452461

453-
self.operationLock.unlock()
462+
operationLock.unlock()
454463
}
455464
}
456465

xDripG5/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<key>CFBundlePackageType</key>
1616
<string>FMWK</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>0.7.0</string>
18+
<string>0.8.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

0 commit comments

Comments
 (0)