diff --git a/Meshtastic.xcodeproj/project.pbxproj b/Meshtastic.xcodeproj/project.pbxproj index e8fb7439..a59a61fd 100644 --- a/Meshtastic.xcodeproj/project.pbxproj +++ b/Meshtastic.xcodeproj/project.pbxproj @@ -15,6 +15,8 @@ C9A88B57278B559900BD810A /* apponly.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9A88B56278B559900BD810A /* apponly.pb.swift */; }; DD0F791B28713C8A00A6FDAD /* AdminMessageList.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD0F791A28713C8A00A6FDAD /* AdminMessageList.swift */; }; DD17E5DE277D49D400010EC2 /* storeforward.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD17E5DC277D49D400010EC2 /* storeforward.pb.swift */; }; + DD1925B728CDA5A400720036 /* CannedMessagesConfigEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1925B628CDA5A400720036 /* CannedMessagesConfigEnums.swift */; }; + DD1925B928CDA93900720036 /* SerialConfigEnums.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1925B828CDA93900720036 /* SerialConfigEnums.swift */; }; DD1BF2F92776FE2E008C8D2F /* UserMessageList.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD1BF2F82776FE2E008C8D2F /* UserMessageList.swift */; }; DD2160AF28C5552500C17253 /* MQTTConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD2160AE28C5552500C17253 /* MQTTConfig.swift */; }; DD23A50F26FD1B4400D9B90C /* PeripheralModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD23A50E26FD1B4400D9B90C /* PeripheralModel.swift */; }; @@ -122,6 +124,8 @@ DD0F791A28713C8A00A6FDAD /* AdminMessageList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AdminMessageList.swift; sourceTree = ""; }; DD17E5DC277D49D400010EC2 /* storeforward.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = storeforward.pb.swift; sourceTree = ""; }; DD1925B528CD591B00720036 /* MeshtasticDataModel v 11.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MeshtasticDataModel v 11.xcdatamodel"; sourceTree = ""; }; + DD1925B628CDA5A400720036 /* CannedMessagesConfigEnums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CannedMessagesConfigEnums.swift; sourceTree = ""; }; + DD1925B828CDA93900720036 /* SerialConfigEnums.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SerialConfigEnums.swift; sourceTree = ""; }; DD1BF2F82776FE2E008C8D2F /* UserMessageList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserMessageList.swift; sourceTree = ""; }; DD2160AD28C5536B00C17253 /* MeshtasticDataModel v 10.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "MeshtasticDataModel v 10.xcdatamodel"; sourceTree = ""; }; DD2160AE28C5552500C17253 /* MQTTConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MQTTConfig.swift; sourceTree = ""; }; @@ -354,6 +358,8 @@ DD8ED9C7289CE4B900B3B0AB /* RoutingError.swift */, DDB6ABE328B13FFF00384BA1 /* ScreenIntervals.swift */, DDB6ABE728B141AF00384BA1 /* WiFiModes.swift */, + DD1925B628CDA5A400720036 /* CannedMessagesConfigEnums.swift */, + DD1925B828CDA93900720036 /* SerialConfigEnums.swift */, ); path = Enums; sourceTree = ""; @@ -753,6 +759,7 @@ DD8ED9C52898D51F00B3B0AB /* NetworkConfig.swift in Sources */, DDC3B274283F411B00AC321C /* LastHeardText.swift in Sources */, DD2E65262767A01F00E45FC5 /* NodeDetail.swift in Sources */, + DD1925B928CDA93900720036 /* SerialConfigEnums.swift in Sources */, DD86D4112881D16900BAEB7A /* WriteCsvFile.swift in Sources */, DD86D40F2881BE4C00BAEB7A /* CsvDocument.swift in Sources */, DDA6B2E928419CF2003E8C16 /* MeshPackets.swift in Sources */, @@ -774,6 +781,7 @@ DD539502276DAA6A00AD86B1 /* MapLocation.swift in Sources */, DD41582A28585C32009B0E59 /* RangeTestConfig.swift in Sources */, DDAF8C6726ED0C8C0058C060 /* remote_hardware.pb.swift in Sources */, + DD1925B728CDA5A400720036 /* CannedMessagesConfigEnums.swift in Sources */, DDAF8C6526ED0A490058C060 /* channel.pb.swift in Sources */, DDC2E15826CE248E0042C5E4 /* MeshtasticApp.swift in Sources */, ); diff --git a/Meshtastic/Enums/CannedMessagesConfigEnums.swift b/Meshtastic/Enums/CannedMessagesConfigEnums.swift new file mode 100644 index 00000000..a3268956 --- /dev/null +++ b/Meshtastic/Enums/CannedMessagesConfigEnums.swift @@ -0,0 +1,95 @@ +// +// CannedMessagesConfigEnums.swift +// Meshtastic +// +// Copyright(c) Garth Vander Houwen 9/10/22. +// + +// Default of 0 is unset +enum ConfigPresets : Int, CaseIterable, Identifiable { + + case unset = 0 + case rakRotaryEncoder = 1 + case tbeamThreeButtonScreen = 2 + case cardKB = 3 + case facesKB = 4 + + var id: Int { self.rawValue } + var description: String { + get { + switch self { + + case .unset: + return "Manual Configuration" + case .rakRotaryEncoder: + return "RAK Rotary Encoder Module" + case .tbeamThreeButtonScreen: + return "TBEAM 3 Button OLED Screen" + case .cardKB: + return "M5 Stack Card KeyBoard" + case .facesKB: + return "M5 Stack Faces KeyBoard" + } + } + } +} + +// Default of 0 is off +enum InputEventChars: Int, CaseIterable, Identifiable { + + case keyNone = 0 + case keyUp = 17 + case keyDown = 18 + case keyLeft = 19 + case keyRight = 20 + case keySelect = 10 + case keyBack = 27 + case keyCancel = 24 + + var id: Int { self.rawValue } + var description: String { + get { + switch self { + + case .keyNone: + return "None" + case .keyUp: + return "Up" + case .keyDown: + return "Down" + case .keyLeft: + return "Left" + case .keyRight: + return "Right" + case .keySelect: + return "Select" + case .keyBack: + return "Back" + case .keyCancel: + return "Cancel" + } + } + } + func protoEnumValue() -> ModuleConfig.CannedMessageConfig.InputEventChar { + + switch self { + + case .keyNone: + return ModuleConfig.CannedMessageConfig.InputEventChar.none + case .keyUp: + return ModuleConfig.CannedMessageConfig.InputEventChar.up + case .keyDown: + return ModuleConfig.CannedMessageConfig.InputEventChar.down + case .keyLeft: + return ModuleConfig.CannedMessageConfig.InputEventChar.left + case .keyRight: + return ModuleConfig.CannedMessageConfig.InputEventChar.right + case .keySelect: + return ModuleConfig.CannedMessageConfig.InputEventChar.select + case .keyBack: + return ModuleConfig.CannedMessageConfig.InputEventChar.back + case .keyCancel: + return ModuleConfig.CannedMessageConfig.InputEventChar.cancel + } + } +} diff --git a/Meshtastic/Enums/SerialConfigEnums.swift b/Meshtastic/Enums/SerialConfigEnums.swift new file mode 100644 index 00000000..ab82e01a --- /dev/null +++ b/Meshtastic/Enums/SerialConfigEnums.swift @@ -0,0 +1,173 @@ +// +// SerialConfigEnums.swift +// Meshtastic +// +// Copyright(c) Garth Vander Houwen 9/10/22. +// + +enum SerialBaudRates: Int, CaseIterable, Identifiable { + + case baudDefault = 0 + case baud110 = 1 + case baud300 = 2 + case baud600 = 3 + case baud1200 = 4 + case baud2400 = 5 + case baud4800 = 6 + case baud9600 = 7 + case baud19200 = 8 + case baud38400 = 9 + case baud57600 = 10 + case baud115200 = 11 + case baud230400 = 12 + case baud460800 = 13 + case baud576000 = 14 + case baud921600 = 15 + + var id: Int { self.rawValue } + var description: String { + get { + switch self { + + case .baudDefault: + return "Baud Default" + case .baud110: + return "110 Baud" + case .baud300: + return "300 Baud" + case .baud600: + return "600 Baud" + case .baud1200: + return "1200 Baud" + case .baud2400: + return "2400 Baud" + case .baud4800: + return "4800 Baud" + case .baud9600: + return "9600 Baud" + case .baud19200: + return "19200 Baud" + case .baud38400: + return "38400 Baud" + case .baud57600: + return "57600 Baud" + case .baud115200: + return "115200 Baud" + case .baud230400: + return "230400 Baud" + case .baud460800: + return "460800 Baud" + case .baud576000: + return "576000 Baud" + case .baud921600: + return "921600 Baud" + } + } + } + + func protoEnumValue() -> ModuleConfig.SerialConfig.Serial_Baud { + + switch self { + + case .baudDefault: + return ModuleConfig.SerialConfig.Serial_Baud.baudDefault + case .baud110: + return ModuleConfig.SerialConfig.Serial_Baud.baud110 + case .baud300: + return ModuleConfig.SerialConfig.Serial_Baud.baud300 + case .baud600: + return ModuleConfig.SerialConfig.Serial_Baud.baud600 + case .baud1200: + return ModuleConfig.SerialConfig.Serial_Baud.baud1200 + case .baud2400: + return ModuleConfig.SerialConfig.Serial_Baud.baud2400 + case .baud4800: + return ModuleConfig.SerialConfig.Serial_Baud.baud4800 + case .baud9600: + return ModuleConfig.SerialConfig.Serial_Baud.baud9600 + case .baud19200: + return ModuleConfig.SerialConfig.Serial_Baud.baud19200 + case .baud38400: + return ModuleConfig.SerialConfig.Serial_Baud.baud38400 + case .baud57600: + return ModuleConfig.SerialConfig.Serial_Baud.baud57600 + case .baud115200: + return ModuleConfig.SerialConfig.Serial_Baud.baud115200 + case .baud230400: + return ModuleConfig.SerialConfig.Serial_Baud.baud230400 + case .baud460800: + return ModuleConfig.SerialConfig.Serial_Baud.baud460800 + case .baud576000: + return ModuleConfig.SerialConfig.Serial_Baud.baud576000 + case .baud921600: + return ModuleConfig.SerialConfig.Serial_Baud.baud921600 + } + } +} + +enum SerialModeTypes: Int, CaseIterable, Identifiable { + + case modeDefault = 0 + case modeSimple = 1 + case modeProto = 2 + + var id: Int { self.rawValue } + var description: String { + get { + switch self { + case .modeDefault: + return "Default" + case .modeSimple: + return "Simple" + case .modeProto: + return "Protobufs" + } + } + } + func protoEnumValue() -> ModuleConfig.SerialConfig.Serial_Mode { + + switch self { + + case .modeDefault: + return ModuleConfig.SerialConfig.Serial_Mode.default + case .modeSimple: + return ModuleConfig.SerialConfig.Serial_Mode.simple + case .modeProto: + return ModuleConfig.SerialConfig.Serial_Mode.proto + } + } +} + +enum SerialTimeoutIntervals: Int, CaseIterable, Identifiable { + + case unset = 0 + case fiveSeconds = 5 + case tenSeconds = 10 + case fifteenSeconds = 15 + case thirtySeconds = 30 + case oneMinute = 60 + case fiveMinutes = 300 + + var id: Int { self.rawValue } + var description: String { + get { + switch self { + case .unset: + return "Unset" + case .fiveSeconds: + return "Five Seconds" + case .tenSeconds: + return "Ten Seconds" + case .fifteenSeconds: + return "Fifteen Seconds" + case .thirtySeconds: + return "Thirty Seconds" + case .oneMinute: + return "One Minute" + case .fiveMinutes: + return "Five Minutes" + + } + } + } +} diff --git a/Meshtastic/Views/Settings/Config/Module/CannedMessagesConfig.swift b/Meshtastic/Views/Settings/Config/Module/CannedMessagesConfig.swift index 3e8373b7..02ca60df 100644 --- a/Meshtastic/Views/Settings/Config/Module/CannedMessagesConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/CannedMessagesConfig.swift @@ -6,95 +6,6 @@ // import SwiftUI -// Default of 0 is unset -enum ConfigPresets : Int, CaseIterable, Identifiable { - - case unset = 0 - case rakRotaryEncoder = 1 - case tbeamThreeButtonScreen = 2 - case cardKB = 3 - case facesKB = 4 - - var id: Int { self.rawValue } - var description: String { - get { - switch self { - - case .unset: - return "Manual Configuration" - case .rakRotaryEncoder: - return "RAK Rotary Encoder Module" - case .tbeamThreeButtonScreen: - return "TBEAM 3 Button OLED Screen" - case .cardKB: - return "M5 Stack Card KeyBoard" - case .facesKB: - return "M5 Stack Faces KeyBoard" - } - } - } -} - -// Default of 0 is off -enum InputEventChars: Int, CaseIterable, Identifiable { - - case keyNone = 0 - case keyUp = 17 - case keyDown = 18 - case keyLeft = 19 - case keyRight = 20 - case keySelect = 10 - case keyBack = 27 - case keyCancel = 24 - - var id: Int { self.rawValue } - var description: String { - get { - switch self { - - case .keyNone: - return "None" - case .keyUp: - return "Up" - case .keyDown: - return "Down" - case .keyLeft: - return "Left" - case .keyRight: - return "Right" - case .keySelect: - return "Select" - case .keyBack: - return "Back" - case .keyCancel: - return "Cancel" - } - } - } - func protoEnumValue() -> ModuleConfig.CannedMessageConfig.InputEventChar { - - switch self { - - case .keyNone: - return ModuleConfig.CannedMessageConfig.InputEventChar.none - case .keyUp: - return ModuleConfig.CannedMessageConfig.InputEventChar.up - case .keyDown: - return ModuleConfig.CannedMessageConfig.InputEventChar.down - case .keyLeft: - return ModuleConfig.CannedMessageConfig.InputEventChar.left - case .keyRight: - return ModuleConfig.CannedMessageConfig.InputEventChar.right - case .keySelect: - return ModuleConfig.CannedMessageConfig.InputEventChar.select - case .keyBack: - return ModuleConfig.CannedMessageConfig.InputEventChar.back - case .keyCancel: - return ModuleConfig.CannedMessageConfig.InputEventChar.cancel - } - } -} - struct CannedMessagesConfig: View { @Environment(\.managedObjectContext) var context diff --git a/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift b/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift index 8e15c39c..f6191230 100644 --- a/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/SerialConfig.swift @@ -6,173 +6,6 @@ // import SwiftUI -enum SerialBaudRates: Int, CaseIterable, Identifiable { - - case baudDefault = 0 - case baud110 = 1 - case baud300 = 2 - case baud600 = 3 - case baud1200 = 4 - case baud2400 = 5 - case baud4800 = 6 - case baud9600 = 7 - case baud19200 = 8 - case baud38400 = 9 - case baud57600 = 10 - case baud115200 = 11 - case baud230400 = 12 - case baud460800 = 13 - case baud576000 = 14 - case baud921600 = 15 - - var id: Int { self.rawValue } - var description: String { - get { - switch self { - - case .baudDefault: - return "Unset" - case .baud110: - return "110 Baud" - case .baud300: - return "300 Baud" - case .baud600: - return "600 Baud" - case .baud1200: - return "1200 Baud" - case .baud2400: - return "2400 Baud" - case .baud4800: - return "4800 Baud" - case .baud9600: - return "9600 Baud" - case .baud19200: - return "19200 Baud" - case .baud38400: - return "38400 Baud" - case .baud57600: - return "57600 Baud" - case .baud115200: - return "115200 Baud" - case .baud230400: - return "230400 Baud" - case .baud460800: - return "460800 Baud" - case .baud576000: - return "576000 Baud" - case .baud921600: - return "921600 Baud" - } - } - } - - func protoEnumValue() -> ModuleConfig.SerialConfig.Serial_Baud { - - switch self { - - case .baudDefault: - return ModuleConfig.SerialConfig.Serial_Baud.baudDefault - case .baud110: - return ModuleConfig.SerialConfig.Serial_Baud.baud110 - case .baud300: - return ModuleConfig.SerialConfig.Serial_Baud.baud300 - case .baud600: - return ModuleConfig.SerialConfig.Serial_Baud.baud600 - case .baud1200: - return ModuleConfig.SerialConfig.Serial_Baud.baud1200 - case .baud2400: - return ModuleConfig.SerialConfig.Serial_Baud.baud2400 - case .baud4800: - return ModuleConfig.SerialConfig.Serial_Baud.baud4800 - case .baud9600: - return ModuleConfig.SerialConfig.Serial_Baud.baud9600 - case .baud19200: - return ModuleConfig.SerialConfig.Serial_Baud.baud19200 - case .baud38400: - return ModuleConfig.SerialConfig.Serial_Baud.baud38400 - case .baud57600: - return ModuleConfig.SerialConfig.Serial_Baud.baud57600 - case .baud115200: - return ModuleConfig.SerialConfig.Serial_Baud.baud115200 - case .baud230400: - return ModuleConfig.SerialConfig.Serial_Baud.baud230400 - case .baud460800: - return ModuleConfig.SerialConfig.Serial_Baud.baud460800 - case .baud576000: - return ModuleConfig.SerialConfig.Serial_Baud.baud576000 - case .baud921600: - return ModuleConfig.SerialConfig.Serial_Baud.baud921600 - } - } -} - -enum SerialModeTypes: Int, CaseIterable, Identifiable { - - case modeDefault = 0 - case modeSimple = 1 - case modeProto = 2 - - var id: Int { self.rawValue } - var description: String { - get { - switch self { - case .modeDefault: - return "Default" - case .modeSimple: - return "Simple" - case .modeProto: - return "Protobufs" - } - } - } - func protoEnumValue() -> ModuleConfig.SerialConfig.Serial_Mode { - - switch self { - - case .modeDefault: - return ModuleConfig.SerialConfig.Serial_Mode.default - case .modeSimple: - return ModuleConfig.SerialConfig.Serial_Mode.simple - case .modeProto: - return ModuleConfig.SerialConfig.Serial_Mode.proto - } - } -} - -enum SerialTimeoutIntervals: Int, CaseIterable, Identifiable { - - case unset = 0 - case fiveSeconds = 5 - case tenSeconds = 10 - case fifteenSeconds = 15 - case thirtySeconds = 30 - case oneMinute = 60 - case fiveMinutes = 300 - - var id: Int { self.rawValue } - var description: String { - get { - switch self { - case .unset: - return "Unset" - case .fiveSeconds: - return "Five Seconds" - case .tenSeconds: - return "Ten Seconds" - case .fifteenSeconds: - return "Fifteen Seconds" - case .thirtySeconds: - return "Thirty Seconds" - case .oneMinute: - return "One Minute" - case .fiveMinutes: - return "Five Minutes" - - } - } - } -} - struct SerialConfig: View { @Environment(\.managedObjectContext) var context diff --git a/Meshtastic/Views/Settings/Config/Module/TelemetryConfig.swift b/Meshtastic/Views/Settings/Config/Module/TelemetryConfig.swift index 59d35fbc..70ac4680 100644 --- a/Meshtastic/Views/Settings/Config/Module/TelemetryConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/TelemetryConfig.swift @@ -6,46 +6,6 @@ // import SwiftUI -// Default of 0 is off -enum ErrorRecoveryIntervals: Int, CaseIterable, Identifiable { - - case off = 0 - case fifteenSeconds = 15 - case thirtySeconds = 30 - case oneMinute = 60 - case fiveMinutes = 300 - case tenMinutes = 600 - case fifteenMinutes = 900 - case thirtyMinutes = 1800 - case oneHour = 3600 - - var id: Int { self.rawValue } - var description: String { - get { - switch self { - case .off: - return "Unset" - case .fifteenSeconds: - return "Fifteen Seconds" - case .thirtySeconds: - return "Thirty Seconds" - case .oneMinute: - return "One Minute" - case .fiveMinutes: - return "Five Minutes" - case .tenMinutes: - return "Ten Minutes" - case .fifteenMinutes: - return "Fifteen Minutes" - case .thirtyMinutes: - return "Thirty Minutes" - case .oneHour: - return "One Hour" - } - } - } -} - enum UpdateIntervals: Int, CaseIterable, Identifiable { case fifteenSeconds = 15