Meshtastic-Apple/Meshtastic/Model/PeripheralModel.swift
Garth Vander Houwen 6081d8c30c * Add Libraries for OTA
* Refactor BLE Manager a bit
* Add signal strength indicator graphic to ble connect view
* Order BLE devices by name
2022-12-04 00:28:26 -08:00

38 lines
1,018 B
Swift

import Foundation
import CoreBluetooth
struct Peripheral: Identifiable {
var id: String
var num: Int64
var name: String
var shortName: String
var longName: String
var firmwareVersion: String
var rssi: Int
var lastUpdate: Date
var peripheral: CBPeripheral
init(id: String, num: Int64, name: String, shortName: String, longName: String, firmwareVersion: String, rssi: Int, lastUpdate: Date, peripheral: CBPeripheral) {
self.id = id
self.num = num
self.name = name
self.shortName = shortName
self.longName = longName
self.firmwareVersion = firmwareVersion
self.rssi = rssi
self.lastUpdate = lastUpdate
self.peripheral = peripheral
}
func getSignalStrength() -> SignalStrength {
if (NSNumber(value: rssi).compare(NSNumber(-65)) == ComparisonResult.orderedDescending) {
return SignalStrength.strong
}
else if (NSNumber(value: rssi).compare(NSNumber(-85)) == ComparisonResult.orderedDescending) {
return SignalStrength.normal
}
else {
return SignalStrength.weak
}
}
}