Merge pull request #805 from meshtastic/sheet-improvements

Sheet improvements
This commit is contained in:
Garth Vander Houwen 2024-07-18 07:42:03 -07:00 committed by GitHub
commit cdd510a017
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 21 additions and 9 deletions

View file

@ -648,6 +648,10 @@ func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManage
} else {
// If it is the connected node
}
if telemetryMessage.variant != Telemetry.OneOf_Variant.deviceMetrics(telemetryMessage.deviceMetrics) && telemetryMessage.variant != Telemetry.OneOf_Variant.environmentMetrics(telemetryMessage.environmentMetrics) {
/// Other unhandled telemetry packets
return
}
let telemetry = TelemetryEntity(context: context)
@ -657,6 +661,7 @@ func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManage
do {
let fetchedNode = try context.fetch(fetchNodeTelemetryRequest)
if fetchedNode.count == 1 {
/// Currently only Device Metrics and Environment Telemetry are supported in the app
if telemetryMessage.variant == Telemetry.OneOf_Variant.deviceMetrics(telemetryMessage.deviceMetrics) {
// Device Metrics
telemetry.airUtilTx = telemetryMessage.deviceMetrics.airUtilTx
@ -665,7 +670,7 @@ func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManage
telemetry.voltage = telemetryMessage.deviceMetrics.voltage
telemetry.uptimeSeconds = Int32(telemetryMessage.deviceMetrics.uptimeSeconds)
telemetry.metricsType = 0
Logger.statistics.info("📈 [Mesh Statistics] Channel Utilization: \(telemetryMessage.deviceMetrics.channelUtilization, privacy: .public) Airtime: \(telemetryMessage.deviceMetrics.airUtilTx, privacy: .public)) for Node: \(packet.from.toHex(), privacy: .public))")
Logger.statistics.info("📈 [Mesh Statistics] Channel Utilization: \(telemetryMessage.deviceMetrics.channelUtilization, privacy: .public) Airtime: \(telemetryMessage.deviceMetrics.airUtilTx, privacy: .public) for Node: \(packet.from.toHex(), privacy: .public))")
} else if telemetryMessage.variant == Telemetry.OneOf_Variant.environmentMetrics(telemetryMessage.environmentMetrics) {
// Environment Metrics
telemetry.barometricPressure = telemetryMessage.environmentMetrics.barometricPressure
@ -682,10 +687,6 @@ func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManage
telemetry.windLull = telemetryMessage.environmentMetrics.windLull
telemetry.windDirection = Int32(truncatingIfNeeded: telemetryMessage.environmentMetrics.windDirection)
telemetry.metricsType = 1
} else {
/// Other unhandled telemetry packets
return
}
telemetry.snr = packet.rxSnr
telemetry.rssi = packet.rxRssi

View file

@ -13,6 +13,7 @@ import MapKit
@available(iOS 17.0, macOS 14.0, *)
struct MapSettingsForm: View {
@Environment(\.dismiss) private var dismiss
@State private var currentDetent = PresentationDetent.medium
@AppStorage("meshMapShowNodeHistory") private var nodeHistory = false
@AppStorage("meshMapShowRouteLines") private var routeLines = false
@AppStorage("enableMapConvexHull") private var convexHull = false
@ -121,8 +122,10 @@ Spacer()
.padding(.bottom)
#endif
}
.presentationDetents([.fraction(meshMap ? 0.55 : 0.45), .fraction(0.65)])
.presentationDetents([.medium, .large], selection: $currentDetent)
.presentationContentInteraction(.scrolls)
.presentationDragIndicator(.visible)
.presentationBackgroundInteraction(.enabled(upThrough: .medium))
}
}

View file

@ -213,7 +213,9 @@ struct PositionPopover: View {
#endif
}
}
.presentationDetents([.fraction(0.65), .fraction(0.75), .fraction(0.85)])
.presentationDetents([.medium, .large])
.presentationContentInteraction(.scrolls)
.presentationDragIndicator(.visible)
.presentationBackgroundInteraction(.enabled(upThrough: .medium))
}
}

View file

@ -159,6 +159,7 @@ struct NodeListFilter: View {
}
}
}
.listStyle(.insetGrouped)
#if targetEnvironment(macCatalyst)
Spacer()
Button {
@ -172,7 +173,9 @@ struct NodeListFilter: View {
.padding(.bottom)
#endif
}
.presentationDetents([.fraction(roleFilter ? 1.0 : 0.65)])
.presentationDetents([.medium, .large])
.presentationContentInteraction(.scrolls)
.presentationDragIndicator(.visible)
.presentationBackgroundInteraction(.enabled(upThrough: .medium))
}
}

View file

@ -97,6 +97,7 @@ enum LogLevels: Int, CaseIterable, Identifiable {
struct AppLogFilter: View {
@Environment(\.dismiss) private var dismiss
@State private var currentDetent = PresentationDetent.medium
/// Filters
var filterTitle = "App Log Filters"
@Binding var categories: Set<Int>
@ -143,7 +144,9 @@ struct AppLogFilter: View {
.padding(.bottom)
#endif
}
.presentationDetents([.fraction(1.0)])
.presentationDetents([.medium, .large], selection: $currentDetent)
.presentationContentInteraction(.scrolls)
.presentationDragIndicator(.visible)
.presentationBackgroundInteraction(.enabled(upThrough: .medium))
}
}