2021-09-23 20:10:53 -07:00
|
|
|
import Foundation
|
2021-10-03 20:47:04 -07:00
|
|
|
import CoreBluetooth
|
2021-09-23 20:10:53 -07:00
|
|
|
|
2021-10-14 20:36:06 -07:00
|
|
|
struct Peripheral: Identifiable {
|
2021-11-16 10:14:20 -08:00
|
|
|
var id: String
|
2021-12-16 22:45:18 -08:00
|
|
|
var num: Int64
|
2021-11-16 10:14:20 -08:00
|
|
|
var name: String
|
2021-12-16 14:13:54 -08:00
|
|
|
var shortName: String
|
|
|
|
|
var longName: String
|
2021-12-15 23:53:45 -08:00
|
|
|
var firmwareVersion: String
|
2021-11-16 10:14:20 -08:00
|
|
|
var rssi: Int
|
2022-03-04 04:16:45 -08:00
|
|
|
var lastUpdate: Date
|
2021-11-16 10:14:20 -08:00
|
|
|
var peripheral: CBPeripheral
|
2021-11-29 15:59:06 -08:00
|
|
|
|
2022-10-18 20:25:11 -07:00
|
|
|
init(id: String, num: Int64, name: String, shortName: String, longName: String, firmwareVersion: String, rssi: Int, lastUpdate: Date, peripheral: CBPeripheral) {
|
2021-11-16 10:14:20 -08:00
|
|
|
self.id = id
|
2021-12-16 22:45:18 -08:00
|
|
|
self.num = num
|
2021-11-16 10:14:20 -08:00
|
|
|
self.name = name
|
2021-12-16 14:13:54 -08:00
|
|
|
self.shortName = shortName
|
|
|
|
|
self.longName = longName
|
2021-12-15 23:53:45 -08:00
|
|
|
self.firmwareVersion = firmwareVersion
|
2021-11-16 10:14:20 -08:00
|
|
|
self.rssi = rssi
|
2022-03-04 04:16:45 -08:00
|
|
|
self.lastUpdate = lastUpdate
|
2021-11-16 10:14:20 -08:00
|
|
|
self.peripheral = peripheral
|
|
|
|
|
}
|
2023-03-06 10:33:18 -08:00
|
|
|
|
2022-12-04 00:28:26 -08:00
|
|
|
func getSignalStrength() -> SignalStrength {
|
2023-03-06 10:33:18 -08:00
|
|
|
if NSNumber(value: rssi).compare(NSNumber(-65)) == ComparisonResult.orderedDescending {
|
2022-12-04 00:28:26 -08:00
|
|
|
return SignalStrength.strong
|
2023-03-06 10:33:18 -08:00
|
|
|
} else if NSNumber(value: rssi).compare(NSNumber(-85)) == ComparisonResult.orderedDescending {
|
2022-12-04 00:28:26 -08:00
|
|
|
return SignalStrength.normal
|
2023-03-06 10:33:18 -08:00
|
|
|
} else {
|
2022-12-04 00:28:26 -08:00
|
|
|
return SignalStrength.weak
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-09-23 20:10:53 -07:00
|
|
|
}
|