TempTrack-iOS/TempTrack/Temperature/TemperatureValue.swift

44 lines
876 B
Swift
Raw Normal View History

2023-06-03 08:15:00 +02:00
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 value):
return String(format:" %.1f°C", value)
2023-06-03 08:15:00 +02:00
}
}
}