-
Notifications
You must be signed in to change notification settings - Fork 171
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #272 from ps2/dev
Version 0.12.6
- Loading branch information
Showing
62 changed files
with
2,007 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
// | ||
// GlucoseEventType.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public enum GlucoseEventType: UInt8 { | ||
case dataEnd = 0x01 | ||
case sensorWeakSignal = 0x02 | ||
case sensorCal = 0x03 | ||
case fokko7 = 0x07 | ||
case sensorTimestamp = 0x08 | ||
case batteryChange = 0x0a | ||
case sensorStatus = 0x0b | ||
case dateTimeChange = 0x0c | ||
case sensorSync = 0x0d | ||
case calBGForGH = 0x0e | ||
case sensorCalFactor = 0x0f | ||
case tenSomething = 0x10 | ||
case nineteenSomething = 0x13 | ||
|
||
public var eventType: GlucoseEvent.Type { | ||
switch self { | ||
case .dataEnd: | ||
return DataEndGlucoseEvent.self | ||
case .sensorWeakSignal: | ||
return SensorWeakSignalGlucoseEvent.self | ||
case .sensorCal: | ||
return SensorCalGlucoseEvent.self | ||
case .fokko7: | ||
return Fokko7GlucoseEvent.self | ||
case .sensorTimestamp: | ||
return SensorTimestampGlucoseEvent.self | ||
case .batteryChange: | ||
return BatteryChangeGlucoseEvent.self | ||
case .sensorStatus: | ||
return SensorStatusGlucoseEvent.self | ||
case .dateTimeChange: | ||
return DateTimeChangeGlucoseEvent.self | ||
case .sensorSync: | ||
return SensorSyncGlucoseEvent.self | ||
case .calBGForGH: | ||
return CalBGForGHGlucoseEvent.self | ||
case .sensorCalFactor: | ||
return SensorCalFactorGlucoseEvent.self | ||
case .tenSomething: | ||
return TenSomethingGlucoseEvent.self | ||
case .nineteenSomething: | ||
return NineteenSomethingGlucoseEvent.self | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// | ||
// BatteryChangeGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public struct BatteryChangeGlucoseEvent : GlucoseEvent { | ||
public let length: Int | ||
public let rawData: Data | ||
public let timestamp: DateComponents | ||
|
||
public init?(availableData: Data) { | ||
length = 5 | ||
|
||
guard length <= availableData.count else { | ||
return nil | ||
} | ||
|
||
rawData = availableData.subdata(in: 0..<length) | ||
timestamp = DateComponents(glucoseEventBytes: availableData.subdata(in: 1..<5)) | ||
} | ||
|
||
public var dictionaryRepresentation: [String: Any] { | ||
return [ | ||
"name": "BatteryChange", | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
// | ||
// CalBGForGHGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public struct CalBGForGHGlucoseEvent : GlucoseEvent { | ||
public let length: Int | ||
public let rawData: Data | ||
public let timestamp: DateComponents | ||
public let amount: Int | ||
|
||
public init?(availableData: Data) { | ||
length = 6 | ||
|
||
guard length <= availableData.count else { | ||
return nil | ||
} | ||
|
||
func d(_ idx:Int) -> Int { | ||
return Int(availableData[idx] as UInt8) | ||
} | ||
|
||
rawData = availableData.subdata(in: 0..<length) | ||
timestamp = DateComponents(glucoseEventBytes: availableData.subdata(in: 1..<5)) | ||
amount = Int( (UInt16(d(3) & 0b00100000) << 3) | UInt16(d(5)) ) | ||
} | ||
|
||
public var dictionaryRepresentation: [String: Any] { | ||
return [ | ||
"name": "CalBGForGH", | ||
"amount": amount | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
// | ||
// DataEndGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public struct DataEndGlucoseEvent : RelativeTimestampedGlucoseEvent { | ||
public let length: Int | ||
public let rawData: Data | ||
public var timestamp: DateComponents | ||
|
||
public init?(availableData: Data) { | ||
length = 1 | ||
|
||
guard length <= availableData.count else { | ||
return nil | ||
} | ||
|
||
rawData = availableData.subdata(in: 0..<length) | ||
timestamp = DateComponents() | ||
} | ||
|
||
public var dictionaryRepresentation: [String: Any] { | ||
return [ | ||
"name": "DataEnd", | ||
] | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// | ||
// DateTimeChangeGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public struct DateTimeChangeGlucoseEvent : GlucoseEvent { | ||
public let length: Int | ||
public let rawData: Data | ||
public let timestamp: DateComponents | ||
|
||
public init?(availableData: Data) { | ||
length = 5 | ||
|
||
guard length <= availableData.count else { | ||
return nil | ||
} | ||
|
||
rawData = availableData.subdata(in: 0..<length) | ||
timestamp = DateComponents(glucoseEventBytes: availableData.subdata(in: 1..<5)) | ||
} | ||
|
||
public var dictionaryRepresentation: [String: Any] { | ||
return [ | ||
"name": "DateTimeChange", | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// | ||
// Fokko7GlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public struct Fokko7GlucoseEvent : GlucoseEvent { | ||
public let length: Int | ||
public let rawData: Data | ||
public var timestamp: DateComponents | ||
|
||
public init?(availableData: Data) { | ||
length = 2 | ||
|
||
guard length <= availableData.count else { | ||
return nil | ||
} | ||
|
||
rawData = availableData.subdata(in: 0..<length) | ||
timestamp = DateComponents() | ||
} | ||
|
||
public var dictionaryRepresentation: [String: Any] { | ||
return [ | ||
"name": "Fokko-7", | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
// | ||
// GlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public protocol GlucoseEvent : DictionaryRepresentable { | ||
|
||
init?(availableData: Data) | ||
|
||
var rawData: Data { | ||
get | ||
} | ||
|
||
var length: Int { | ||
get | ||
} | ||
|
||
var timestamp: DateComponents { | ||
get | ||
} | ||
|
||
} |
35 changes: 35 additions & 0 deletions
35
MinimedKit/GlucoseEvents/GlucoseSensorDataGlucoseEvent.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
// | ||
// GlucoseSensorDataGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public struct GlucoseSensorDataGlucoseEvent : RelativeTimestampedGlucoseEvent { | ||
public let length: Int | ||
public let rawData: Data | ||
public let sgv: Int | ||
public var timestamp: DateComponents | ||
|
||
public init?(availableData: Data) { | ||
length = 1 | ||
|
||
guard length <= availableData.count else { | ||
return nil | ||
} | ||
|
||
rawData = availableData.subdata(in: 0..<length) | ||
sgv = Int(UInt16(availableData[0]) * UInt16(2)) | ||
timestamp = DateComponents() | ||
} | ||
|
||
public var dictionaryRepresentation: [String: Any] { | ||
return [ | ||
"name": "GlucoseSensorData", | ||
"sgv": sgv | ||
] | ||
} | ||
} |
33 changes: 33 additions & 0 deletions
33
MinimedKit/GlucoseEvents/NineteenSomethingGlucoseEvent.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
// | ||
// NineteenSomethingGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
public struct NineteenSomethingGlucoseEvent : RelativeTimestampedGlucoseEvent { | ||
public let length: Int | ||
public let rawData: Data | ||
public var timestamp: DateComponents | ||
|
||
public init?(availableData: Data) { | ||
length = 1 | ||
|
||
guard length <= availableData.count else { | ||
return nil | ||
} | ||
|
||
rawData = availableData.subdata(in: 0..<length) | ||
timestamp = DateComponents() | ||
} | ||
|
||
public var dictionaryRepresentation: [String: Any] { | ||
return [ | ||
"name": "19-Something", | ||
] | ||
} | ||
} | ||
|
15 changes: 15 additions & 0 deletions
15
MinimedKit/GlucoseEvents/ReferenceTimestampedGlucoseEvent.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
// | ||
// ReferenceTimestampedGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/17/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
/// An event that supplies timestamp information that can be used to calculate a RelativeTimestampedGlucoseEvent | ||
public protocol ReferenceTimestampedGlucoseEvent : GlucoseEvent { | ||
|
||
} | ||
|
18 changes: 18 additions & 0 deletions
18
MinimedKit/GlucoseEvents/RelativeTimestampedGlucoseEvent.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// | ||
// RelativeTimestampedGlucoseEvent.swift | ||
// RileyLink | ||
// | ||
// Created by Timothy Mecklem on 10/16/16. | ||
// Copyright © 2016 Pete Schwamb. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
/// An event that requires timestamp information from a ReferenceTimestampGlucoseEvent | ||
public protocol RelativeTimestampedGlucoseEvent : GlucoseEvent { | ||
|
||
var timestamp: DateComponents { | ||
get set | ||
} | ||
|
||
} |
Oops, something went wrong.