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
22 changes: 0 additions & 22 deletions CGMBLEKit Example/Data.swift

This file was deleted.

39 changes: 39 additions & 0 deletions xDripG5Tests/NSData.swift → Common/Data.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,45 @@
import Foundation


extension Data {
func to<T: FixedWidthInteger>(_: T.Type) -> T {
return self.withUnsafeBytes { (bytes: UnsafePointer<T>) in
return T(littleEndian: bytes.pointee)
}
}

func toInt<T: FixedWidthInteger>() -> T {
return to(T.self)
}

func toBigEndian<T: FixedWidthInteger>(_: T.Type) -> T {
return self.withUnsafeBytes {
return T(bigEndian: $0.pointee)
}
}

mutating func append<T: FixedWidthInteger>(_ newElement: T) {
var element = newElement.littleEndian
append(UnsafeBufferPointer(start: &element, count: 1))
}

mutating func appendBigEndian<T: FixedWidthInteger>(_ newElement: T) {
var element = newElement.bigEndian
append(UnsafeBufferPointer(start: &element, count: 1))
}

init<T: FixedWidthInteger>(_ value: T) {
var value = value.littleEndian
self.init(buffer: UnsafeBufferPointer(start: &value, count: 1))
}

init<T: FixedWidthInteger>(bigEndian value: T) {
var value = value.bigEndian
self.init(buffer: UnsafeBufferPointer(start: &value, count: 1))
}
}


// String conversion methods, adapted from https://stackoverflow.com/questions/40276322/hex-binary-string-conversion-in-swift/40278391#40278391
extension Data {
init?(hexadecimalString: String) {
Expand Down
46 changes: 29 additions & 17 deletions xDripG5.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@
43CABE121C350B2800005705 /* BluetoothManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE0E1C350B2800005705 /* BluetoothManager.swift */; };
43CABE131C350B2800005705 /* BluetoothServices.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE0F1C350B2800005705 /* BluetoothServices.swift */; };
43CABE151C350B2800005705 /* Transmitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE111C350B2800005705 /* Transmitter.swift */; };
43CABE231C350B3D00005705 /* AuthChallengeRxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE171C350B3D00005705 /* AuthChallengeRxMessage.swift */; };
43CABE231C350B3D00005705 /* AuthRequestRxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE171C350B3D00005705 /* AuthRequestRxMessage.swift */; };
43CABE241C350B3D00005705 /* AuthChallengeTxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE181C350B3D00005705 /* AuthChallengeTxMessage.swift */; };
43CABE251C350B3D00005705 /* AuthRequestTxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE191C350B3D00005705 /* AuthRequestTxMessage.swift */; };
43CABE261C350B3D00005705 /* AuthStatusRxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE1A1C350B3D00005705 /* AuthStatusRxMessage.swift */; };
43CABE261C350B3D00005705 /* AuthChallengeRxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE1A1C350B3D00005705 /* AuthChallengeRxMessage.swift */; };
43CABE271C350B3D00005705 /* BondRequestTxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE1B1C350B3D00005705 /* BondRequestTxMessage.swift */; };
43CABE281C350B3D00005705 /* DisconnectTxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE1C1C350B3D00005705 /* DisconnectTxMessage.swift */; };
43CABE291C350B3D00005705 /* GlucoseRxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CABE1D1C350B3D00005705 /* GlucoseRxMessage.swift */; };
Expand All @@ -50,7 +50,10 @@
43CE7CD21CA73CBC003CC1B0 /* CalibrateGlucoseTxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CE7CD11CA73CBC003CC1B0 /* CalibrateGlucoseTxMessage.swift */; };
43CE7CD41CA73CE8003CC1B0 /* GlucoseHistoryTxMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CE7CD31CA73CE8003CC1B0 /* GlucoseHistoryTxMessage.swift */; };
43CE7CDC1CA77468003CC1B0 /* TransmitterStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43CE7CDB1CA77468003CC1B0 /* TransmitterStatus.swift */; };
43DC87C01C8B509B005BC30D /* NSData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DC87BF1C8B509B005BC30D /* NSData.swift */; };
43D140CE2047AA930032346D /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DC87BF1C8B509B005BC30D /* Data.swift */; };
43D140CF2047AA940032346D /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DC87BF1C8B509B005BC30D /* Data.swift */; };
43D140D12047BD930032346D /* Opcode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D140D02047BD930032346D /* Opcode.swift */; };
43DC87C01C8B509B005BC30D /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DC87BF1C8B509B005BC30D /* Data.swift */; };
43DC87C21C8B520F005BC30D /* GlucoseRxMessageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DC87C11C8B520F005BC30D /* GlucoseRxMessageTests.swift */; };
43E3978B1D5668BD0028E321 /* CalibrationState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43E3978A1D5668BD0028E321 /* CalibrationState.swift */; };
43E3978D1D566AEA0028E321 /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43E3978C1D566AEA0028E321 /* HealthKit.framework */; };
Expand All @@ -66,7 +69,6 @@
43F82BD21D037040006F5DD7 /* SessionStopRxMessageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43F82BD11D037040006F5DD7 /* SessionStopRxMessageTests.swift */; };
43F82BD41D037227006F5DD7 /* SessionStartRxMessageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43F82BD31D037227006F5DD7 /* SessionStartRxMessageTests.swift */; };
C19084BB203932BD00AA47F3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C19084B9203932BD00AA47F3 /* Main.storyboard */; };
C1CD8B0B203931AD00A8F498 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1CD8B09203931AD00A8F498 /* Data.swift */; };
C1CD8B0C203931AD00A8F498 /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1CD8B0A203931AD00A8F498 /* NSUserDefaults.swift */; };
/* End PBXBuildFile section */

Expand Down Expand Up @@ -136,10 +138,10 @@
43CABE0E1C350B2800005705 /* BluetoothManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BluetoothManager.swift; sourceTree = "<group>"; };
43CABE0F1C350B2800005705 /* BluetoothServices.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BluetoothServices.swift; sourceTree = "<group>"; };
43CABE111C350B2800005705 /* Transmitter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transmitter.swift; sourceTree = "<group>"; };
43CABE171C350B3D00005705 /* AuthChallengeRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthChallengeRxMessage.swift; sourceTree = "<group>"; };
43CABE171C350B3D00005705 /* AuthRequestRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthRequestRxMessage.swift; sourceTree = "<group>"; };
43CABE181C350B3D00005705 /* AuthChallengeTxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthChallengeTxMessage.swift; sourceTree = "<group>"; };
43CABE191C350B3D00005705 /* AuthRequestTxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthRequestTxMessage.swift; sourceTree = "<group>"; };
43CABE1A1C350B3D00005705 /* AuthStatusRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthStatusRxMessage.swift; sourceTree = "<group>"; };
43CABE1A1C350B3D00005705 /* AuthChallengeRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthChallengeRxMessage.swift; sourceTree = "<group>"; };
43CABE1B1C350B3D00005705 /* BondRequestTxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BondRequestTxMessage.swift; sourceTree = "<group>"; };
43CABE1C1C350B3D00005705 /* DisconnectTxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DisconnectTxMessage.swift; sourceTree = "<group>"; };
43CABE1D1C350B3D00005705 /* GlucoseRxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlucoseRxMessage.swift; sourceTree = "<group>"; };
Expand All @@ -156,7 +158,8 @@
43CE7CD11CA73CBC003CC1B0 /* CalibrateGlucoseTxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CalibrateGlucoseTxMessage.swift; sourceTree = "<group>"; };
43CE7CD31CA73CE8003CC1B0 /* GlucoseHistoryTxMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlucoseHistoryTxMessage.swift; sourceTree = "<group>"; };
43CE7CDB1CA77468003CC1B0 /* TransmitterStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TransmitterStatus.swift; sourceTree = "<group>"; };
43DC87BF1C8B509B005BC30D /* NSData.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSData.swift; sourceTree = "<group>"; };
43D140D02047BD930032346D /* Opcode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Opcode.swift; sourceTree = "<group>"; };
43DC87BF1C8B509B005BC30D /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = "<group>"; };
43DC87C11C8B520F005BC30D /* GlucoseRxMessageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GlucoseRxMessageTests.swift; sourceTree = "<group>"; };
43E3978A1D5668BD0028E321 /* CalibrationState.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CalibrationState.swift; sourceTree = "<group>"; };
43E3978C1D566AEA0028E321 /* HealthKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HealthKit.framework; path = System/Library/Frameworks/HealthKit.framework; sourceTree = SDKROOT; };
Expand All @@ -172,7 +175,6 @@
43F82BD11D037040006F5DD7 /* SessionStopRxMessageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SessionStopRxMessageTests.swift; sourceTree = "<group>"; };
43F82BD31D037227006F5DD7 /* SessionStartRxMessageTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SessionStartRxMessageTests.swift; sourceTree = "<group>"; };
C19084BA203932BD00AA47F3 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
C1CD8B09203931AD00A8F498 /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = "<group>"; };
C1CD8B0A203931AD00A8F498 /* NSUserDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSUserDefaults.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

Expand Down Expand Up @@ -208,7 +210,6 @@
437AFEF82038EC43008C4892 /* CGMBLEKit Example */ = {
isa = PBXGroup;
children = (
C1CD8B09203931AD00A8F498 /* Data.swift */,
C1CD8B0A203931AD00A8F498 /* NSUserDefaults.swift */,
437AFEF92038EC43008C4892 /* AppDelegate.swift */,
437AFF0E2038ED71008C4892 /* HKUnit.swift */,
Expand All @@ -235,6 +236,7 @@
43CABDF51C3506F100005705 /* xDripG5 */,
43CABE011C3506F100005705 /* xDripG5Tests */,
437AFEF82038EC43008C4892 /* CGMBLEKit Example */,
43D140CD2047AA530032346D /* Common */,
43CABDF41C3506F100005705 /* Products */,
437AFF172038EDF9008C4892 /* Frameworks */,
);
Expand Down Expand Up @@ -264,6 +266,7 @@
43CABDF81C3506F100005705 /* Info.plist */,
430D64C41CB7846A00FCA750 /* NSData+CRC.swift */,
4323115E1EFC870300B95E62 /* OSLog.swift */,
43D140D02047BD930032346D /* Opcode.swift */,
43E4B1F11F8AF9790038823E /* PeripheralManager.swift */,
435535D31FB2C1B000CE5A23 /* PeripheralManagerError.swift */,
431CE7661F91D0B300255374 /* PeripheralManager+G5.swift */,
Expand All @@ -282,7 +285,6 @@
43DC87C11C8B520F005BC30D /* GlucoseRxMessageTests.swift */,
43E397901D5692080028E321 /* GlucoseTests.swift */,
43CABE041C3506F100005705 /* Info.plist */,
43DC87BF1C8B509B005BC30D /* NSData.swift */,
43F82BD31D037227006F5DD7 /* SessionStartRxMessageTests.swift */,
43F82BD11D037040006F5DD7 /* SessionStopRxMessageTests.swift */,
43460F87200B30D10030C0E3 /* TransmitterIDTests.swift */,
Expand All @@ -295,10 +297,10 @@
43CABE161C350B2E00005705 /* Messages */ = {
isa = PBXGroup;
children = (
43CABE171C350B3D00005705 /* AuthChallengeRxMessage.swift */,
43CABE181C350B3D00005705 /* AuthChallengeTxMessage.swift */,
43CABE191C350B3D00005705 /* AuthRequestTxMessage.swift */,
43CABE1A1C350B3D00005705 /* AuthStatusRxMessage.swift */,
43CABE171C350B3D00005705 /* AuthRequestRxMessage.swift */,
43CABE181C350B3D00005705 /* AuthChallengeTxMessage.swift */,
43CABE1A1C350B3D00005705 /* AuthChallengeRxMessage.swift */,
43CE7CCB1CA73BCC003CC1B0 /* BatteryStatusTxMessage.swift */,
43CABE1B1C350B3D00005705 /* BondRequestTxMessage.swift */,
43CE7CD11CA73CBC003CC1B0 /* CalibrateGlucoseTxMessage.swift */,
Expand All @@ -322,6 +324,14 @@
path = Messages;
sourceTree = "<group>";
};
43D140CD2047AA530032346D /* Common */ = {
isa = PBXGroup;
children = (
43DC87BF1C8B509B005BC30D /* Data.swift */,
);
path = Common;
sourceTree = "<group>";
};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
Expand Down Expand Up @@ -475,10 +485,10 @@
buildActionMask = 2147483647;
files = (
C1CD8B0C203931AD00A8F498 /* NSUserDefaults.swift in Sources */,
43D140CE2047AA930032346D /* Data.swift in Sources */,
437AFEFC2038EC43008C4892 /* ViewController.swift in Sources */,
437AFEFA2038EC43008C4892 /* AppDelegate.swift in Sources */,
437AFF0F2038ED71008C4892 /* HKUnit.swift in Sources */,
C1CD8B0B203931AD00A8F498 /* Data.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand All @@ -495,15 +505,16 @@
43CABE271C350B3D00005705 /* BondRequestTxMessage.swift in Sources */,
4323115F1EFC870300B95E62 /* OSLog.swift in Sources */,
43E4B1F21F8AF9790038823E /* PeripheralManager.swift in Sources */,
43CABE231C350B3D00005705 /* AuthChallengeRxMessage.swift in Sources */,
43CABE261C350B3D00005705 /* AuthStatusRxMessage.swift in Sources */,
43CABE231C350B3D00005705 /* AuthRequestRxMessage.swift in Sources */,
43CABE261C350B3D00005705 /* AuthChallengeRxMessage.swift in Sources */,
43CE7CD41CA73CE8003CC1B0 /* GlucoseHistoryTxMessage.swift in Sources */,
43E397931D56950C0028E321 /* HKUnit.swift in Sources */,
43846AC61D8F896C00799272 /* CalibrationDataRxMessage.swift in Sources */,
43CE7CD01CA73C57003CC1B0 /* SessionStopTxMessage.swift in Sources */,
431CE7671F91D0B300255374 /* PeripheralManager+G5.swift in Sources */,
43CABE2A1C350B3D00005705 /* GlucoseTxMessage.swift in Sources */,
43CE7CC81CA73AEB003CC1B0 /* FirmwareVersionTxMessage.swift in Sources */,
43D140D12047BD930032346D /* Opcode.swift in Sources */,
43CE7CCC1CA73BCC003CC1B0 /* BatteryStatusTxMessage.swift in Sources */,
43EEA7121D14DC0800CBBDA0 /* AESCrypt.m in Sources */,
43CE7CCE1CA73C22003CC1B0 /* SessionStartTxMessage.swift in Sources */,
Expand All @@ -521,6 +532,7 @@
43F82BD01D035D68006F5DD7 /* SessionStopRxMessage.swift in Sources */,
43F82BCE1D035D5C006F5DD7 /* SessionStartRxMessage.swift in Sources */,
435535D41FB2C1B000CE5A23 /* PeripheralManagerError.swift in Sources */,
43D140CF2047AA940032346D /* Data.swift in Sources */,
43CABE251C350B3D00005705 /* AuthRequestTxMessage.swift in Sources */,
430D64C51CB7846A00FCA750 /* NSData+CRC.swift in Sources */,
);
Expand All @@ -534,7 +546,7 @@
43F82BCC1D035AA4006F5DD7 /* TransmitterTimeRxMessageTests.swift in Sources */,
43F82BD41D037227006F5DD7 /* SessionStartRxMessageTests.swift in Sources */,
43846AC81D8F89BE00799272 /* CalibrationDataRxMessageTests.swift in Sources */,
43DC87C01C8B509B005BC30D /* NSData.swift in Sources */,
43DC87C01C8B509B005BC30D /* Data.swift in Sources */,
43F82BD21D037040006F5DD7 /* SessionStopRxMessageTests.swift in Sources */,
43E397911D5692080028E321 /* GlucoseTests.swift in Sources */,
43880F9A1D9E1BD7009061A8 /* TransmitterVersionRxMessageTests.swift in Sources */,
Expand Down
1 change: 1 addition & 0 deletions xDripG5/BluetoothManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ class BluetoothManager: NSObject {
extension BluetoothManager: CBCentralManagerDelegate {
func centralManagerDidUpdateState(_ central: CBCentralManager) {
peripheralManager?.centralManagerDidUpdateState(central)
log.info("%{public}@: %{public}@", #function, String(describing: central.state))

switch central.state {
case .poweredOn:
Expand Down
13 changes: 6 additions & 7 deletions xDripG5/Messages/AuthChallengeRxMessage.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,19 @@ import Foundation


struct AuthChallengeRxMessage: TransmitterRxMessage {
static let opcode: UInt8 = 0x3
let tokenHash: Data
let challenge: Data
let authenticated: UInt8
let bonded: UInt8

init?(data: Data) {
guard data.count >= 17 else {
guard data.count >= 3 else {
return nil
}

guard data[0] == type(of: self).opcode else {
guard data.starts(with: .authChallengeRx) else {
return nil
}

tokenHash = data.subdata(in: 1..<9)
challenge = data.subdata(in: 9..<17)
authenticated = data[1]
bonded = data[2]
}
}
7 changes: 4 additions & 3 deletions xDripG5/Messages/AuthChallengeTxMessage.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ import Foundation


struct AuthChallengeTxMessage: TransmitterTxMessage {
let opcode: UInt8 = 0x4
let challengeHash: Data

var byteSequence: [Any] {
return [opcode, challengeHash]
var data: Data {
var data = Data(for: .authChallengeTx)
data.append(challengeHash)
return data
}
}
28 changes: 28 additions & 0 deletions xDripG5/Messages/AuthRequestRxMessage.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
//
// AuthRequestRxMessage.swift
// xDrip5
//
// Created by Nathan Racklyeft on 11/22/15.
// Copyright © 2015 Nathan Racklyeft. All rights reserved.
//

import Foundation


struct AuthRequestRxMessage: TransmitterRxMessage {
let tokenHash: Data
let challenge: Data

init?(data: Data) {
guard data.count >= 17 else {
return nil
}

guard data.starts(with: .authRequestRx) else {
return nil
}

tokenHash = data.subdata(in: 1..<9)
challenge = data.subdata(in: 9..<17)
}
}
8 changes: 5 additions & 3 deletions xDripG5/Messages/AuthRequestTxMessage.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import Foundation


struct AuthRequestTxMessage: TransmitterTxMessage {
let opcode: UInt8 = 0x1
let singleUseToken: Data
let endByte: UInt8 = 0x2

Expand All @@ -21,7 +20,10 @@ struct AuthRequestTxMessage: TransmitterTxMessage {
uuid.4, uuid.5, uuid.6, uuid.7])
}

var byteSequence: [Any] {
return [opcode, singleUseToken, endByte]
var data: Data {
var data = Data(for: .authRequestTx)
data.append(singleUseToken)
data.append(endByte)
return data
}
}
29 changes: 0 additions & 29 deletions xDripG5/Messages/AuthStatusRxMessage.swift

This file was deleted.

Loading