ironOS native ios app
at main 54 lines 2.8 kB view raw
1// 2// IronOSUUIDs.swift 3// Tinkcil 4// 5 6import CoreBluetooth 7import Foundation 8 9enum IronOSUUIDs { 10 11 // MARK: - Bulk Data Service (for discovery) 12 static let bulkDataService = CBUUID(string: "9EAE1000-9D0D-48C5-AA55-33E27F9BC533") 13 static let bulkLiveData = CBUUID(string: "9EAE1001-9D0D-48C5-AA55-33E27F9BC533") 14 static let buildID = CBUUID(string: "9EAE1003-9D0D-48C5-AA55-33E27F9BC533") // Firmware build version 15 static let deviceSerial = CBUUID(string: "9EAE1004-9D0D-48C5-AA55-33E27F9BC533") // MAC address 16 17 // MARK: - Live Data Service 18 static let liveDataService = CBUUID(string: "D85EF000-168E-4A71-AA55-33E27F9BC533") 19 static let liveTemp = CBUUID(string: "D85EF001-168E-4A71-AA55-33E27F9BC533") 20 static let setpointRead = CBUUID(string: "D85EF002-168E-4A71-AA55-33E27F9BC533") 21 static let dcInput = CBUUID(string: "D85EF003-168E-4A71-AA55-33E27F9BC533") 22 static let handleTemp = CBUUID(string: "D85EF004-168E-4A71-AA55-33E27F9BC533") 23 static let powerLevel = CBUUID(string: "D85EF005-168E-4A71-AA55-33E27F9BC533") 24 static let powerSource = CBUUID(string: "D85EF006-168E-4A71-AA55-33E27F9BC533") 25 static let tipResistance = CBUUID(string: "D85EF007-168E-4A71-AA55-33E27F9BC533") 26 static let uptime = CBUUID(string: "D85EF008-168E-4A71-AA55-33E27F9BC533") 27 static let lastMovement = CBUUID(string: "D85EF009-168E-4A71-AA55-33E27F9BC533") 28 static let maxTemp = CBUUID(string: "D85EF00A-168E-4A71-AA55-33E27F9BC533") 29 static let rawTip = CBUUID(string: "D85EF00B-168E-4A71-AA55-33E27F9BC533") 30 static let hallSensor = CBUUID(string: "D85EF00C-168E-4A71-AA55-33E27F9BC533") 31 static let operatingMode = CBUUID(string: "D85EF00D-168E-4A71-AA55-33E27F9BC533") 32 static let estimatedWatts = CBUUID(string: "D85EF00E-168E-4A71-AA55-33E27F9BC533") 33 34 // MARK: - Settings Service 35 static let settingsService = CBUUID(string: "F6D80000-5A10-4EBA-AA55-33E27F9BC533") 36 static let saveSettings = CBUUID(string: "F6D7FFFF-5A10-4EBA-AA55-33E27F9BC533") 37 static let resetSettings = CBUUID(string: "F6D7FFFE-5A10-4EBA-AA55-33E27F9BC533") 38 39 // Helper to generate setting UUID from index 40 static func settingUUID(index: UInt16) -> CBUUID { 41 let hexString = String(format: "F6D7%04X-5A10-4EBA-AA55-33E27F9BC533", index) 42 return CBUUID(string: hexString) 43 } 44 45 // Helper to extract setting index from UUID 46 static func settingIndex(from uuid: CBUUID) -> UInt16? { 47 let uuidString = uuid.uuidString.uppercased() 48 guard uuidString.hasPrefix("F6D7") && uuidString.hasSuffix("-5A10-4EBA-AA55-33E27F9BC533") else { 49 return nil 50 } 51 let hexIndex = String(uuidString.prefix(8).suffix(4)) 52 return UInt16(hexIndex, radix: 16) 53 } 54}