Refactor globals

This commit is contained in:
Christoph Hagen
2023-06-11 21:57:07 +02:00
parent ab64dac7fc
commit f731927dcd
10 changed files with 77 additions and 139 deletions

View File

@@ -6,8 +6,6 @@ final class TemperatureDataTransfer {
private let interval: Int
weak var delegate: TemperatureDataTransferDelegate?
private var dataBuffer: Data = Data()
private(set) var currentByteIndex = 0
@@ -17,8 +15,11 @@ final class TemperatureDataTransfer {
private(set) var blockSize: Int
private var numberOfRecordingsInCurrentTransfer = 0
private(set) var lastRecording: TemperatureMeasurement = .init(sensor0: .notFound, sensor1: .notFound, date: .now)
var measurements: [TemperatureMeasurement] = []
/// The last temperatures to calculate relative values
private var lastRecording: TemperatureMeasurement = .init(sensor0: .notFound, sensor1: .notFound, date: .now)
private var dateOfNextRecording: Date {
startDateOfCurrentTransfer.addingTimeInterval(TimeInterval(numberOfRecordingsInCurrentTransfer * interval))
@@ -78,7 +79,6 @@ final class TemperatureDataTransfer {
func completeTransfer() {
processBytes()
delegate?.saveAfterTransfer()
}
private func addRelative(byte: UInt8) {
@@ -100,7 +100,7 @@ final class TemperatureDataTransfer {
lastRecording.sensor1 = measurement.sensor1
}
lastRecording.id = measurement.id
delegate?.didReceiveRecording(measurement)
measurements.append(measurement)
}
private func convertTemp(value: UInt8, relativeTo previous: TemperatureValue) -> TemperatureValue {

View File

@@ -1,8 +0,0 @@
import Foundation
protocol TemperatureDataTransferDelegate: AnyObject {
func didReceiveRecording(_ measurement: TemperatureMeasurement)
func saveAfterTransfer()
}

View File

@@ -5,7 +5,8 @@ struct TemperatureMeasurement: Identifiable {
var sensor0: TemperatureValue
var sensor1: TemperatureValue
/// The seconds since 1970
var id: Int
var date: Date {
@@ -18,7 +19,7 @@ struct TemperatureMeasurement: Identifiable {
}
var secondsToNow: Int {
Date().seconds - id
id - Date().seconds
}
var maximumValue: Double? {
@@ -172,7 +173,7 @@ extension TemperatureMeasurement {
TemperatureMeasurement(
sensor0: .init(value: $0.element.0),
sensor1: .init(value: $0.element.1),
id: seconds + $0.offset * 60)
id: seconds + ($0.offset - temps.count) * 60)
}
}()
}