Skip to content

Commit 51480a1

Browse files
authored
Merge pull request #134 from ps2/dev
Version 0.5.0
2 parents ba5358c + 32e5fce commit 51480a1

File tree

82 files changed

+428
-152
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+428
-152
lines changed

MinimedKit/Info.plist

+1-1
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.4.0</string>
18+
<string>0.5.0</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>

MinimedKit/MessageType.swift

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public enum MessageType: UInt8 {
1515
case PumpBackfill = 0x08
1616
case FindDevice = 0x09
1717
case DeviceLink = 0x0A
18+
case EmptyHistoryPage = 0x15
1819
case ChangeTime = 0x40
1920
case Bolus = 0x42
2021
case ChangeTempBasal = 0x4c

MinimedKit/Messages/MySentryPumpStatusMessageBody.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ public enum SensorReading {
9494
```
9595
*/
9696
public struct MySentryPumpStatusMessageBody: MessageBody, DictionaryRepresentable {
97-
private static let reservoirSignificantDigit = 0.1
98-
private static let iobSigificantDigit = 0.025
97+
private static let reservoirMultiplier: Double = 10
98+
private static let iobMultiplier: Double = 40
9999
public static let length = 36
100100

101101
public let sequence: UInt8
@@ -137,14 +137,14 @@ public struct MySentryPumpStatusMessageBody: MessageBody, DictionaryRepresentabl
137137

138138
self.glucoseTrend = trend
139139

140-
reservoirRemainingUnits = Double(Int(bigEndianBytes: rxData[12...13])) * self.dynamicType.reservoirSignificantDigit
140+
reservoirRemainingUnits = Double(Int(bigEndianBytes: rxData[12...13])) / self.dynamicType.reservoirMultiplier
141141

142142
let reservoirRemainingPercent: UInt8 = rxData[15]
143143
self.reservoirRemainingPercent = Int(round(Double(reservoirRemainingPercent) / 4.0 * 100))
144144

145145
reservoirRemainingMinutes = Int(bigEndianBytes: [rxData[16], rxData[17]])
146146

147-
iob = Double(Int(bigEndianBytes: rxData[22...23])) * self.dynamicType.iobSigificantDigit
147+
iob = Double(Int(bigEndianBytes: rxData[22...23])) / self.dynamicType.iobMultiplier
148148

149149
let batteryRemainingPercent: UInt8 = rxData[14]
150150
self.batteryRemainingPercent = Int(round(Double(batteryRemainingPercent) / 4.0 * 100))

MinimedKit/Messages/ReadSettingsCarelinkMessageBody.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ public enum BasalProfile {
3838
```
3939
*/
4040
public class ReadSettingsCarelinkMessageBody: CarelinkLongMessageBody {
41-
private static let maxBolusSignificantDigit = 0.1
42-
private static let maxBasalSignificantDigit = 0.025
41+
private static let maxBolusMultiplier: Double = 10
42+
private static let maxBasalMultiplier: Double = 40
4343

4444
public let maxBasal: Double
4545
public let maxBolus: Double
@@ -54,10 +54,10 @@ public class ReadSettingsCarelinkMessageBody: CarelinkLongMessageBody {
5454
}
5555

5656
let maxBolusTicks: UInt8 = rxData[7]
57-
maxBolus = Double(maxBolusTicks) * self.dynamicType.maxBolusSignificantDigit
57+
maxBolus = Double(maxBolusTicks) * self.dynamicType.maxBolusMultiplier
5858

5959
let maxBasalTicks: Int = Int(bigEndianBytes: rxData[8...9])
60-
maxBasal = Double(maxBasalTicks) * self.dynamicType.maxBasalSignificantDigit
60+
maxBasal = Double(maxBasalTicks) * self.dynamicType.maxBasalMultiplier
6161

6262
let rawSelectedBasalProfile: UInt8 = rxData[12]
6363
selectedBasalProfile = BasalProfile(rawValue: rawSelectedBasalProfile)

MinimedKit/PumpEventType.swift

+3
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public enum PumpEventType: UInt8 {
3434
case TempBasal = 0x33
3535
case JournalEntryPumpLowReservoir = 0x34
3636
case AlarmClockReminder = 0x35
37+
case Questionable3b = 0x3b
3738
case ChangeParadigmLinkID = 0x3c
3839
case BGReceived = 0x3f
3940
case JournalEntryExerciseMarker = 0x41
@@ -179,6 +180,8 @@ public enum PumpEventType: UInt8 {
179180
return ChangeCaptureEventEnablePumpEvent.self
180181
case .SelectBasalProfile:
181182
return SelectBasalProfilePumpEvent.self
183+
default:
184+
return UnknownPumpEvent.self
182185
}
183186
}
184187
}

MinimedKit/PumpEvents/AlarmClockReminderPumpEvent.swift

+4-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct AlarmClockReminderPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,7 +19,9 @@ public struct AlarmClockReminderPumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
21-
22+
23+
rawData = availableData[0..<length]
24+
2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}
2427

MinimedKit/PumpEvents/AlarmSensorPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct AlarmSensorPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct AlarmSensorPumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/BGReceivedPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct BGReceivedPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415
public let amount: Int
1516
public let meter: String
@@ -20,6 +21,8 @@ public struct BGReceivedPumpEvent: TimestampedPumpEvent {
2021
guard length <= availableData.length else {
2122
return nil
2223
}
24+
25+
rawData = availableData[0..<length]
2326

2427
func d(idx:Int) -> Int {
2528
return Int(availableData[idx] as UInt8)

MinimedKit/PumpEvents/BasalProfileStartPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct BasalProfileStartPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415
let rate: Double
1516
let profileIndex: Int
@@ -22,6 +23,8 @@ public struct BasalProfileStartPumpEvent: TimestampedPumpEvent {
2223
guard length <= availableData.length else {
2324
return nil
2425
}
26+
27+
rawData = availableData[0..<length]
2528

2629
func d(idx:Int) -> Int {
2730
return Int(availableData[idx] as UInt8)

MinimedKit/PumpEvents/BatteryPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct BatteryPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct BatteryPumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/BolusNormalPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public struct BolusNormalPumpEvent: TimestampedPumpEvent {
1616
}
1717

1818
public let length: Int
19+
public let rawData: NSData
1920
public let timestamp: NSDateComponents
2021
public var unabsorbedInsulinRecord: UnabsorbedInsulinPumpEvent?
2122
public let amount: Double
@@ -58,6 +59,8 @@ public struct BolusNormalPumpEvent: TimestampedPumpEvent {
5859
guard length <= availableData.length else {
5960
return nil
6061
}
62+
63+
rawData = availableData[0..<length]
6164

6265
if pumpModel.larger {
6366
timestamp = NSDateComponents(pumpEventData: availableData, offset: 8)

MinimedKit/PumpEvents/BolusWizardEstimatePumpEvent.swift

+6-14
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct BolusWizardEstimatePumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415
public let carbohydrates: Int
1516
public let bloodGlucose: Int
@@ -37,22 +38,13 @@ public struct BolusWizardEstimatePumpEvent: TimestampedPumpEvent {
3738
} else {
3839
length = 20
3940
}
40-
41-
if length >= availableData.length {
42-
carbohydrates = 0
43-
bloodGlucose = 0
44-
foodEstimate = 0
45-
correctionEstimate = 0
46-
bolusEstimate = 0
47-
unabsorbedInsulinTotal = 0
48-
bgTargetLow = 0
49-
bgTargetHigh = 0
50-
insulinSensitivity = 0
51-
carbRatio = 0
52-
timestamp = NSDateComponents()
41+
42+
guard length <= availableData.length else {
5343
return nil
5444
}
55-
45+
46+
rawData = availableData[0..<length]
47+
5648
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
5749

5850
if pumpModel.larger {

MinimedKit/PumpEvents/CalBGForPHPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct CalBGForPHPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415
public let amount: Int
1516

@@ -19,6 +20,8 @@ public struct CalBGForPHPumpEvent: TimestampedPumpEvent {
1920
guard length <= availableData.length else {
2021
return nil
2122
}
23+
24+
rawData = availableData[0..<length]
2225

2326
func d(idx:Int) -> Int {
2427
return Int(availableData[idx] as UInt8)

MinimedKit/PumpEvents/ChangeAlarmClockEnablePumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeAlarmClockEnablePumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeAlarmClockEnablePumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeAlarmClockTimePumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeAlarmClockTimePumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeAlarmClockTimePumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeAlarmNotifyModePumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeAlarmNotifyModePumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeAlarmNotifyModePumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeAudioBolusPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeAudioBolusPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeAudioBolusPumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeBGReminderEnablePumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeBGReminderEnablePumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeBGReminderEnablePumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeBGReminderOffsetPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeBGReminderOffsetPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeBGReminderOffsetPumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeBasalProfilePatternPumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeBasalProfilePatternPumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeBasalProfilePatternPumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeBasalProfilePumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeBasalProfilePumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeBasalProfilePumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

MinimedKit/PumpEvents/ChangeBolusReminderEnablePumpEvent.swift

+3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Foundation
1010

1111
public struct ChangeBolusReminderEnablePumpEvent: TimestampedPumpEvent {
1212
public let length: Int
13+
public let rawData: NSData
1314
public let timestamp: NSDateComponents
1415

1516
public init?(availableData: NSData, pumpModel: PumpModel) {
@@ -18,6 +19,8 @@ public struct ChangeBolusReminderEnablePumpEvent: TimestampedPumpEvent {
1819
guard length <= availableData.length else {
1920
return nil
2021
}
22+
23+
rawData = availableData[0..<length]
2124

2225
timestamp = NSDateComponents(pumpEventData: availableData, offset: 2)
2326
}

0 commit comments

Comments
 (0)