TempTrack-iOS/TempTrack/Temperature/TemperatureValue.swift
2023-06-03 08:15:00 +02:00

44 lines
874 B
Swift

import Foundation
enum TemperatureValue {
case notFound
case invalidMeasurement
case value(Double)
init(byte: UInt8) {
switch byte {
case 0:
self = .notFound
case 1:
self = .invalidMeasurement
default:
self = .value(Double(byte) * 0.5 - 40)
}
}
var optionalValue: Double? {
if case .value(let val) = self {
return val
}
return nil
}
var isValid: Bool {
if case .value = self {
return true
}
return false
}
var text: String {
switch self {
case .notFound:
return "No sensor"
case .invalidMeasurement:
return "Invalid"
case .value(let double):
return "\(Int(double.rounded()))°C"
}
}
}