From 6263e6fd83bd4fd33dd5682f60e001c1418646a2 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Wed, 19 Oct 2022 16:58:49 -0700 Subject: [PATCH] Save channel qr code --- Meshtastic/Helpers/BLEManager.swift | 64 ++++++++++++++++++- .../Views/Settings/SaveChannelQRCode.swift | 5 ++ Meshtastic/Views/Settings/Settings.swift | 35 +--------- 3 files changed, 68 insertions(+), 36 deletions(-) diff --git a/Meshtastic/Helpers/BLEManager.swift b/Meshtastic/Helpers/BLEManager.swift index 299a394e..a0ca88fd 100644 --- a/Meshtastic/Helpers/BLEManager.swift +++ b/Meshtastic/Helpers/BLEManager.swift @@ -1067,12 +1067,72 @@ class BLEManager: NSObject, ObservableObject, CBCentralManagerDelegate, CBPeriph if let decodedData = Data(base64Encoded: decodedString) { do { var channelSet: ChannelSet = try ChannelSet(serializedData: decodedData) + var i:Int32 = 0 + for cs in channelSet.settings { + + i += 1 + var chan = Channel() + chan.settings = cs + chan.index = i + if i == 1 { + chan.role = Channel.Role.primary + } else { + chan.role = Channel.Role.secondary + } + var adminPacket = AdminMessage() + adminPacket.setChannel = chan + var meshPacket: MeshPacket = MeshPacket() + meshPacket.to = UInt32(connectedPeripheral.num) + meshPacket.from = 0 //UInt32(connectedPeripheral.num) + meshPacket.id = UInt32.random(in: UInt32(UInt8.max).. var body: some View { @@ -70,17 +67,14 @@ struct Settings: View { BluetoothConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "antenna.radiowaves.left.and.right") .symbolRenderingMode(.hierarchical) - Text("Bluetooth (BLE)") } NavigationLink { DeviceConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "flipphone") .symbolRenderingMode(.hierarchical) Text("Device") @@ -89,7 +83,6 @@ struct Settings: View { NavigationLink { DisplayConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "display") .symbolRenderingMode(.hierarchical) Text("Display (Device Screen)") @@ -101,7 +94,6 @@ struct Settings: View { Image(systemName: "network") .symbolRenderingMode(.hierarchical) - Text("Network (ESP32 Only)") } @@ -111,7 +103,6 @@ struct Settings: View { Image(systemName: "location") .symbolRenderingMode(.hierarchical) - Text("Position") } @@ -131,77 +122,53 @@ struct Settings: View { NavigationLink { ExternalNotificationConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "megaphone") .symbolRenderingMode(.hierarchical) - Text("External Notification") } - NavigationLink { MQTTConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "dot.radiowaves.right") .symbolRenderingMode(.hierarchical) - Text("MQTT (ESP32 Only)") } - NavigationLink { RangeTestConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "point.3.connected.trianglepath.dotted") .symbolRenderingMode(.hierarchical) - Text("Range Test (ESP32 Only)") } - NavigationLink { SerialConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "terminal") .symbolRenderingMode(.hierarchical) - Text("Serial") } - NavigationLink { TelemetryConfig(node: nodes.first(where: { $0.num == connectedNodeNum })) } label: { - Image(systemName: "chart.xyaxis.line") .symbolRenderingMode(.hierarchical) - Text("Telemetry (Sensors)") } } Section(header: Text("Logging")) { - NavigationLink { - MeshLog() - } label: { - Image(systemName: "list.bullet.rectangle") .symbolRenderingMode(.hierarchical) - Text("Mesh Log") } - NavigationLink { - let connectedNode = nodes.first(where: { $0.num == connectedNodeNum }) - AdminMessageList(user: connectedNode?.user) } label: { - Image(systemName: "building.columns") .symbolRenderingMode(.hierarchical) - Text("Admin Message Log") } }