Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cartfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ github "loudnate/LoopKit" ~> 0.3.5
github "loudnate/xDripG5" ~> 0.5.0
github "loudnate/SwiftCharts" "loudnate/naterade"
github "mddub/dexcom-share-client-swift" ~> 0.1
github "mddub/G4ShareSpy" ~> 0.2
github "ps2/rileylink_ios" ~> 0.7.1
github "amplitude/Amplitude-iOS" "mpurland-framework"
1 change: 1 addition & 0 deletions Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
github "amplitude/Amplitude-iOS" "a3d6720626e72a678489bce83ed9dacadb505dd7"
github "loudnate/Crypto" "13fee45175b88629aeabe60b4b4fc3daf86fa0a3"
github "mddub/G4ShareSpy" "v0.2.0"
github "loudnate/LoopKit" "v0.3.5"
github "loudnate/SwiftCharts" "8671287afb29640f9cffced6521b1098b7aac085"
github "mddub/dexcom-share-client-swift" "v0.1.3"
Expand Down
Binary file not shown.
112 changes: 112 additions & 0 deletions Carthage/Build/iOS/G4ShareSpy.framework/Headers/G4ShareSpy-Swift.h

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

19 changes: 19 additions & 0 deletions Carthage/Build/iOS/G4ShareSpy.framework/Headers/G4ShareSpy.h

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

Binary file added Carthage/Build/iOS/G4ShareSpy.framework/Info.plist
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
10 changes: 10 additions & 0 deletions Carthage/Build/iOS/G4ShareSpy.framework/Modules/module.modulemap

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

Binary file modified Documentation/Screenshots/Phone Graphs.png
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Documentation/Screenshots/Watch Menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion DoseMathTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>0.7.1</string>
<string>0.8.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
Expand Down
4 changes: 4 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ SOFTWARE.

Copyright (c) 2014 Amplitude

## G4ShareSpy.framework

Copyright (c) 2016 Mark Wilson

## LoopKit.framework
*Including CarbKit.framework, GlucoseKit.framework, and InsulinKit.framework*

Expand Down
21 changes: 19 additions & 2 deletions Loop.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
objects = {

/* Begin PBXBuildFile section */
430DA58E1D4AEC230097D1CA /* NSBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430DA58D1D4AEC230097D1CA /* NSBundle.swift */; };
430DA5901D4B0E4C0097D1CA /* MySentryPumpStatusMessageBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430DA58F1D4B0E4C0097D1CA /* MySentryPumpStatusMessageBody.swift */; };
4315D2871CA5CC3B00589052 /* CarbEntryEditTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4315D2861CA5CC3B00589052 /* CarbEntryEditTableViewController.swift */; };
4315D28A1CA5F45E00589052 /* DiagnosticLogger+LoopKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4315D2891CA5F45E00589052 /* DiagnosticLogger+LoopKit.swift */; };
4328E0181CFBE1DA00E199AA /* ContextInterfaceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4328E0131CFBE1DA00E199AA /* ContextInterfaceController.swift */; };
Expand Down Expand Up @@ -132,6 +134,8 @@
43F78D4D1C914197002152D1 /* GlucoseKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F78D491C914197002152D1 /* GlucoseKit.framework */; };
43F78D4E1C914197002152D1 /* InsulinKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F78D4A1C914197002152D1 /* InsulinKit.framework */; };
43F78D4F1C914197002152D1 /* LoopKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F78D4B1C914197002152D1 /* LoopKit.framework */; };
4D3B40041D4A9E1A00BC6334 /* G4ShareSpy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D3B40021D4A9DFE00BC6334 /* G4ShareSpy.framework */; };
4D5B7A4B1D457CCA00796CA9 /* GlucoseG4.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4D5B7A4A1D457CCA00796CA9 /* GlucoseG4.swift */; };
C10428971D17BAD400DD539A /* NightscoutUploadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C10428961D17BAD400DD539A /* NightscoutUploadKit.framework */; };
/* End PBXBuildFile section */

Expand Down Expand Up @@ -216,6 +220,8 @@
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
430DA58D1D4AEC230097D1CA /* NSBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSBundle.swift; sourceTree = "<group>"; };
430DA58F1D4B0E4C0097D1CA /* MySentryPumpStatusMessageBody.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MySentryPumpStatusMessageBody.swift; sourceTree = "<group>"; };
4315D2861CA5CC3B00589052 /* CarbEntryEditTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CarbEntryEditTableViewController.swift; sourceTree = "<group>"; };
4315D2891CA5F45E00589052 /* DiagnosticLogger+LoopKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DiagnosticLogger+LoopKit.swift"; sourceTree = "<group>"; };
4328E0131CFBE1DA00E199AA /* ContextInterfaceController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContextInterfaceController.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -345,6 +351,8 @@
43F78D491C914197002152D1 /* GlucoseKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GlucoseKit.framework; path = Carthage/Build/iOS/GlucoseKit.framework; sourceTree = "<group>"; };
43F78D4A1C914197002152D1 /* InsulinKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InsulinKit.framework; path = Carthage/Build/iOS/InsulinKit.framework; sourceTree = "<group>"; };
43F78D4B1C914197002152D1 /* LoopKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = LoopKit.framework; path = Carthage/Build/iOS/LoopKit.framework; sourceTree = "<group>"; };
4D3B40021D4A9DFE00BC6334 /* G4ShareSpy.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = G4ShareSpy.framework; path = Carthage/Build/iOS/G4ShareSpy.framework; sourceTree = "<group>"; };
4D5B7A4A1D457CCA00796CA9 /* GlucoseG4.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GlucoseG4.swift; path = Loop/Models/GlucoseG4.swift; sourceTree = SOURCE_ROOT; };
C10428961D17BAD400DD539A /* NightscoutUploadKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NightscoutUploadKit.framework; path = Carthage/Build/iOS/NightscoutUploadKit.framework; sourceTree = "<group>"; };
/* End PBXFileReference section */

Expand All @@ -363,6 +371,7 @@
C10428971D17BAD400DD539A /* NightscoutUploadKit.framework in Frameworks */,
439897391CD2F82C00223065 /* AmplitudeFramework.framework in Frameworks */,
43F78D4C1C914197002152D1 /* CarbKit.framework in Frameworks */,
4D3B40041D4A9E1A00BC6334 /* G4ShareSpy.framework in Frameworks */,
43F78D4D1C914197002152D1 /* GlucoseKit.framework in Frameworks */,
43F5C2C91B929C09003EB13D /* HealthKit.framework in Frameworks */,
43F78D4E1C914197002152D1 /* InsulinKit.framework in Frameworks */,
Expand Down Expand Up @@ -433,10 +442,12 @@
438849EB1D29EC34003B3F23 /* AmplitudeService.swift */,
4331E0791C85650D00FBE832 /* ChartAxisValueDoubleLog.swift */,
43F41C321D3A17AA00C11ED6 /* ChartAxisValueDoubleUnit.swift */,
4D5B7A4A1D457CCA00796CA9 /* GlucoseG4.swift */,
434F24CA1CFCB7AB0004498F /* GlucoseRxMessage.swift */,
436FACED1D0BA636004E2427 /* InsulinDataSource.swift */,
436A0DA41D236A2A00104B24 /* LoopError.swift */,
438849ED1D2A1EBB003B3F23 /* MLabService.swift */,
430DA58F1D4B0E4C0097D1CA /* MySentryPumpStatusMessageBody.swift */,
438849E91D297CB6003B3F23 /* NightscoutService.swift */,
437CCADF1D285C7B0075D2C3 /* ServiceAuthentication.swift */,
434F54601D28859B002A9274 /* ServiceCredential.swift */,
Expand Down Expand Up @@ -573,6 +584,7 @@
43649A621C7A347F00523D7F /* CollectionType.swift */,
434FF1E91CF26C29000DB779 /* IdentifiableClass.swift */,
434F54561D287FDB002A9274 /* NibLoadable.swift */,
430DA58D1D4AEC230097D1CA /* NSBundle.swift */,
43CE7CDD1CA8B63E003CC1B0 /* NSDate.swift */,
4398973A1CD2FC2000223065 /* NSDateFormatter.swift */,
439897341CD2F7DE00223065 /* NSTimeInterval.swift */,
Expand Down Expand Up @@ -659,6 +671,7 @@
43F78D481C914197002152D1 /* CarbKit.framework */,
43EDDBF01C361C75007D89B5 /* CommonCrypto.framework */,
43EDDBF51C361D24007D89B5 /* CommonCrypto.framework.dSYM */,
4D3B40021D4A9DFE00BC6334 /* G4ShareSpy.framework */,
43F78D491C914197002152D1 /* GlucoseKit.framework */,
43F5C2C81B929C09003EB13D /* HealthKit.framework */,
43F78D4A1C914197002152D1 /* InsulinKit.framework */,
Expand Down Expand Up @@ -927,6 +940,7 @@
"$(SRCROOT)/Carthage/Build/iOS/ShareClient.framework",
"$(SRCROOT)/Carthage/Build/iOS/NightscoutUploadKit.framework",
"$(SRCROOT)/Carthage/Build/iOS/Crypto.framework",
"$(SRCROOT)/Carthage/Build/iOS/G4ShareSpy.framework",
);
outputPaths = (
);
Expand All @@ -944,6 +958,7 @@
434F54571D287FDB002A9274 /* NibLoadable.swift in Sources */,
4315D28A1CA5F45E00589052 /* DiagnosticLogger+LoopKit.swift in Sources */,
43C418B51CE0575200405B6A /* ShareGlucose+GlucoseKit.swift in Sources */,
430DA58E1D4AEC230097D1CA /* NSBundle.swift in Sources */,
434F24C91CFCA8940004498F /* TransmitterGlucose.swift in Sources */,
434F24CB1CFCB7AB0004498F /* GlucoseRxMessage.swift in Sources */,
43776F901B8022E90074EA36 /* AppDelegate.swift in Sources */,
Expand Down Expand Up @@ -980,6 +995,8 @@
43DBF04C1C93B8D700B3C386 /* BolusViewController.swift in Sources */,
4328E0351CFC0AE100E199AA /* WatchDataManager.swift in Sources */,
437CCAE01D285C7B0075D2C3 /* ServiceAuthentication.swift in Sources */,
430DA5901D4B0E4C0097D1CA /* MySentryPumpStatusMessageBody.swift in Sources */,
4D5B7A4B1D457CCA00796CA9 /* GlucoseG4.swift in Sources */,
438849EC1D29EC34003B3F23 /* AmplitudeService.swift in Sources */,
43DBF0571C93F6EB00B3C386 /* ReservoirTableViewController.swift in Sources */,
435400341C9F878D00D5819C /* SetBolusUserInfo.swift in Sources */,
Expand Down Expand Up @@ -1121,7 +1138,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer: [email protected] (XZN842LDLT)";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 13;
CURRENT_PROJECT_VERSION = 14;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
Expand Down Expand Up @@ -1169,7 +1186,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer: [email protected] (XZN842LDLT)";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 13;
CURRENT_PROJECT_VERSION = 14;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
Expand Down
20 changes: 20 additions & 0 deletions Loop/Extensions/NSBundle.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//
// NSBundle.swift
// Loop
//
// Created by Nate Racklyeft on 7/28/16.
// Copyright © 2016 Nathan Racklyeft. All rights reserved.
//

import Foundation


extension NSBundle {
var shortVersionString: String {
return objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
}

var bundleDisplayName: String {
return objectForInfoDictionaryKey("CFBundleDisplayName") as! String
}
}
24 changes: 17 additions & 7 deletions Loop/Extensions/NSUserDefaults.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@ extension NSUserDefaults {
case DosingEnabled = "com.loudnate.Naterade.DosingEnabled"
case InsulinActionDuration = "com.loudnate.Naterade.InsulinActionDuration"
case InsulinSensitivitySchedule = "com.loudnate.Naterade.InsulinSensitivitySchedule"
case G4ReceiverEnabled = "com.loudnate.Loop.G4ReceiverEnabled"
case G5TransmitterID = "com.loudnate.Naterade.TransmitterID"
case G5TransmitterStartTime = "com.loudnate.Naterade.TransmitterStartTime"
case GlucoseTargetRangeSchedule = "com.loudnate.Naterade.GlucoseTargetRangeSchedule"
case MaximumBasalRatePerHour = "com.loudnate.Naterade.MaximumBasalRatePerHour"
case MaximumBolus = "com.loudnate.Naterade.MaximumBolus"
case PreferredInsulinDataSource = "com.loudnate.Loop.PreferredInsulinDataSource"
case PumpID = "com.loudnate.Naterade.PumpID"
case PumpModelNumber = "com.loudnate.Naterade.PumpModelNumber"
case PumpTimeZone = "com.loudnate.Naterade.PumpTimeZone"
case TransmitterID = "com.loudnate.Naterade.TransmitterID"
case TransmitterStartTime = "com.loudnate.Naterade.TransmitterStartTime"
}

var basalRateSchedule: BasalRateSchedule? {
Expand Down Expand Up @@ -192,27 +193,36 @@ extension NSUserDefaults {
}
}

var receiverEnabled: Bool {
get {
return boolForKey(Key.G4ReceiverEnabled.rawValue)
}
set {
setBool(newValue, forKey: Key.G4ReceiverEnabled.rawValue)
}
}

var transmitterStartTime: NSTimeInterval? {
get {
let value = doubleForKey(Key.TransmitterStartTime.rawValue)
let value = doubleForKey(Key.G5TransmitterStartTime.rawValue)

return value > 0 ? value : nil
}
set {
if let value = newValue {
setDouble(value, forKey: Key.TransmitterStartTime.rawValue)
setDouble(value, forKey: Key.G5TransmitterStartTime.rawValue)
} else {
removeObjectForKey(Key.TransmitterStartTime.rawValue)
removeObjectForKey(Key.G5TransmitterStartTime.rawValue)
}
}
}

var transmitterID: String? {
get {
return stringForKey(Key.TransmitterID.rawValue)
return stringForKey(Key.G5TransmitterID.rawValue)
}
set {
setObject(newValue, forKey: Key.TransmitterID.rawValue)
setObject(newValue, forKey: Key.G5TransmitterID.rawValue)
}
}

Expand Down
2 changes: 1 addition & 1 deletion Loop/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.7.1</string>
<string>0.8.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
Expand Down
Loading