From fac854f43ec25fd6672eb6eb64ad4d25ccb7aebf Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Wed, 18 Jan 2023 15:27:53 -0800 Subject: [PATCH] Update node details to have better switching between editing and creating of waypoints --- Meshtastic/Protobufs/config.pb.swift | 10 ++++++++++ Meshtastic/Protobufs/device_metadata.pb.swift | 8 ++++---- Meshtastic/Views/Map/WaypointFormView.swift | 12 ++++++------ Meshtastic/Views/Nodes/NodeDetail.swift | 1 + Meshtastic/Views/Nodes/NodeMap.swift | 1 + 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/Meshtastic/Protobufs/config.pb.swift b/Meshtastic/Protobufs/config.pb.swift index 62f472e7..546c28b4 100644 --- a/Meshtastic/Protobufs/config.pb.swift +++ b/Meshtastic/Protobufs/config.pb.swift @@ -487,6 +487,10 @@ struct Config { /// Clears the value of `ipv4Config`. Subsequent reads from it will return its default value. mutating func clearIpv4Config() {self._ipv4Config = nil} + /// + /// rsyslog Server and Port + var rsyslogServer: String = String() + var unknownFields = SwiftProtobuf.UnknownStorage() enum AddressMode: SwiftProtobuf.Enum { @@ -1688,6 +1692,7 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp 6: .standard(proto: "eth_enabled"), 7: .standard(proto: "address_mode"), 8: .standard(proto: "ipv4_config"), + 9: .standard(proto: "rsyslog_server"), ] mutating func decodeMessage(decoder: inout D) throws { @@ -1703,6 +1708,7 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp case 6: try { try decoder.decodeSingularBoolField(value: &self.ethEnabled) }() case 7: try { try decoder.decodeSingularEnumField(value: &self.addressMode) }() case 8: try { try decoder.decodeSingularMessageField(value: &self._ipv4Config) }() + case 9: try { try decoder.decodeSingularStringField(value: &self.rsyslogServer) }() default: break } } @@ -1734,6 +1740,9 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp try { if let v = self._ipv4Config { try visitor.visitSingularMessageField(value: v, fieldNumber: 8) } }() + if !self.rsyslogServer.isEmpty { + try visitor.visitSingularStringField(value: self.rsyslogServer, fieldNumber: 9) + } try unknownFields.traverse(visitor: &visitor) } @@ -1745,6 +1754,7 @@ extension Config.NetworkConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImp if lhs.ethEnabled != rhs.ethEnabled {return false} if lhs.addressMode != rhs.addressMode {return false} if lhs._ipv4Config != rhs._ipv4Config {return false} + if lhs.rsyslogServer != rhs.rsyslogServer {return false} if lhs.unknownFields != rhs.unknownFields {return false} return true } diff --git a/Meshtastic/Protobufs/device_metadata.pb.swift b/Meshtastic/Protobufs/device_metadata.pb.swift index a13084c7..7c41e60f 100644 --- a/Meshtastic/Protobufs/device_metadata.pb.swift +++ b/Meshtastic/Protobufs/device_metadata.pb.swift @@ -57,7 +57,7 @@ struct DeviceMetadata { /// /// Indicates the device's current enabled position flags - var positionFlags: Config.PositionConfig.PositionFlags = .unset + var positionFlags: UInt32 = 0 var unknownFields = SwiftProtobuf.UnknownStorage() @@ -96,7 +96,7 @@ extension DeviceMetadata: SwiftProtobuf.Message, SwiftProtobuf._MessageImplement case 5: try { try decoder.decodeSingularBoolField(value: &self.hasBluetooth_p) }() case 6: try { try decoder.decodeSingularBoolField(value: &self.hasEthernet_p) }() case 7: try { try decoder.decodeSingularEnumField(value: &self.role) }() - case 8: try { try decoder.decodeSingularEnumField(value: &self.positionFlags) }() + case 8: try { try decoder.decodeSingularUInt32Field(value: &self.positionFlags) }() default: break } } @@ -124,8 +124,8 @@ extension DeviceMetadata: SwiftProtobuf.Message, SwiftProtobuf._MessageImplement if self.role != .client { try visitor.visitSingularEnumField(value: self.role, fieldNumber: 7) } - if self.positionFlags != .unset { - try visitor.visitSingularEnumField(value: self.positionFlags, fieldNumber: 8) + if self.positionFlags != 0 { + try visitor.visitSingularUInt32Field(value: self.positionFlags, fieldNumber: 8) } try unknownFields.traverse(visitor: &visitor) } diff --git a/Meshtastic/Views/Map/WaypointFormView.swift b/Meshtastic/Views/Map/WaypointFormView.swift index f1b6af54..59a149a9 100644 --- a/Meshtastic/Views/Map/WaypointFormView.swift +++ b/Meshtastic/Views/Map/WaypointFormView.swift @@ -177,12 +177,6 @@ struct WaypointFormView: View { } .onAppear { - name = "" - description = "" - locked = false - expires = false - expire = Date.now.addingTimeInterval(60 * 120) - icon = "📍" if waypointId > 0 { let waypoint = getWaypoint(id: Int64(waypointId), context: bleManager.context!) waypointId = Int(waypoint.id) @@ -198,6 +192,12 @@ struct WaypointFormView: View { expires = false } } else { + name = "" + description = "" + locked = false + expires = false + expire = Date.now.addingTimeInterval(60 * 120) + icon = "📍" latitude = coordinate.latitude longitude = coordinate.longitude } diff --git a/Meshtastic/Views/Nodes/NodeDetail.swift b/Meshtastic/Views/Nodes/NodeDetail.swift index 78c6d78f..abd8ed10 100644 --- a/Meshtastic/Views/Nodes/NodeDetail.swift +++ b/Meshtastic/Views/Nodes/NodeDetail.swift @@ -52,6 +52,7 @@ struct NodeDetail: View { waypointCoordinate = coord if waypointCoordinate != nil { + editingWaypoint = 0 presentingWaypointForm = true } }, onWaypointEdit: { wpId in diff --git a/Meshtastic/Views/Nodes/NodeMap.swift b/Meshtastic/Views/Nodes/NodeMap.swift index 7772f05d..9e026e8a 100644 --- a/Meshtastic/Views/Nodes/NodeMap.swift +++ b/Meshtastic/Views/Nodes/NodeMap.swift @@ -59,6 +59,7 @@ struct NodeMap: View { waypointCoordinate = coord if waypointCoordinate != nil { + editingWaypoint = 0 presentingWaypointForm = true } }, onWaypointEdit: { wpId in