You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems like for the official GATT specification, bit 0 will have a value of 0 if the unit is mmHg, and a value of 1 if the unit is kPa. However, the logic in the code seems to be reserved.
private extension Flag {
static let unitFlag: Flag = 0x01
static let timeStamp: Flag = 0x02
static let pulseRate: Flag = 0x04
}
struct BloodPressureCharacteristic {
let systolicPressure: Measurement<UnitPressure>
let diastolicPressure: Measurement<UnitPressure>
let meanArterialPressure: Measurement<UnitPressure>
let date: Date?
let pulseRate: Int?
init(data: Data) throws {
let flags: UInt8 = try data.read()
let unit: UnitPressure = Flag.isAvailable(bits: flags, flag: .unitFlag) ? .millimetersOfMercury : .kilopascals
The incorrect logic cant be found in BloodPressureCharacteristic.swift and BloodPressureCharacteristic.swift
If I am correct, the correct code should be let unit: UnitPressure = Flag.isAvailable(bits: flags, flag: .unitFlag) ? .kilopascals : .millimetersOfMercury
The text was updated successfully, but these errors were encountered:
It seems like for the official GATT specification, bit 0 will have a value of 0 if the unit is mmHg, and a value of 1 if the unit is kPa. However, the logic in the code seems to be reserved.
The incorrect logic cant be found in
BloodPressureCharacteristic.swift
andBloodPressureCharacteristic.swift
If I am correct, the correct code should be
let unit: UnitPressure = Flag.isAvailable(bits: flags, flag: .unitFlag) ? .kilopascals : .millimetersOfMercury
The text was updated successfully, but these errors were encountered: