diff --git a/MeshtasticProtobufs/Sources/meshtastic/admin.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/admin.pb.swift
index 2b539ef6..966509d5 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/admin.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/admin.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/admin.proto
@@ -25,7 +24,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
/// This message is handled by the Admin module and is responsible for all settings/channel read/write operations.
/// This message is used to do settings operations to both remote AND local nodes.
/// (Prior to 1.2 these operations were done via special ToRadio operations)
-public struct AdminMessage: @unchecked Sendable {
+public struct AdminMessage {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -595,7 +594,7 @@ public struct AdminMessage: @unchecked Sendable {
///
/// TODO: REPLACE
- public enum OneOf_PayloadVariant: Equatable, Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// Send the specified channel in the response to this message
/// NOTE: This field is sent with the channel index + 1 (to ensure we never try to send 'zero' - which protobufs treats as not present)
@@ -770,11 +769,237 @@ public struct AdminMessage: @unchecked Sendable {
/// Tell the node to reset the nodedb.
case nodedbReset(Int32)
+ #if !swift(>=4.1)
+ public static func ==(lhs: AdminMessage.OneOf_PayloadVariant, rhs: AdminMessage.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.getChannelRequest, .getChannelRequest): return {
+ guard case .getChannelRequest(let l) = lhs, case .getChannelRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getChannelResponse, .getChannelResponse): return {
+ guard case .getChannelResponse(let l) = lhs, case .getChannelResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getOwnerRequest, .getOwnerRequest): return {
+ guard case .getOwnerRequest(let l) = lhs, case .getOwnerRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getOwnerResponse, .getOwnerResponse): return {
+ guard case .getOwnerResponse(let l) = lhs, case .getOwnerResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getConfigRequest, .getConfigRequest): return {
+ guard case .getConfigRequest(let l) = lhs, case .getConfigRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getConfigResponse, .getConfigResponse): return {
+ guard case .getConfigResponse(let l) = lhs, case .getConfigResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getModuleConfigRequest, .getModuleConfigRequest): return {
+ guard case .getModuleConfigRequest(let l) = lhs, case .getModuleConfigRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getModuleConfigResponse, .getModuleConfigResponse): return {
+ guard case .getModuleConfigResponse(let l) = lhs, case .getModuleConfigResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getCannedMessageModuleMessagesRequest, .getCannedMessageModuleMessagesRequest): return {
+ guard case .getCannedMessageModuleMessagesRequest(let l) = lhs, case .getCannedMessageModuleMessagesRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getCannedMessageModuleMessagesResponse, .getCannedMessageModuleMessagesResponse): return {
+ guard case .getCannedMessageModuleMessagesResponse(let l) = lhs, case .getCannedMessageModuleMessagesResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getDeviceMetadataRequest, .getDeviceMetadataRequest): return {
+ guard case .getDeviceMetadataRequest(let l) = lhs, case .getDeviceMetadataRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getDeviceMetadataResponse, .getDeviceMetadataResponse): return {
+ guard case .getDeviceMetadataResponse(let l) = lhs, case .getDeviceMetadataResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getRingtoneRequest, .getRingtoneRequest): return {
+ guard case .getRingtoneRequest(let l) = lhs, case .getRingtoneRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getRingtoneResponse, .getRingtoneResponse): return {
+ guard case .getRingtoneResponse(let l) = lhs, case .getRingtoneResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getDeviceConnectionStatusRequest, .getDeviceConnectionStatusRequest): return {
+ guard case .getDeviceConnectionStatusRequest(let l) = lhs, case .getDeviceConnectionStatusRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getDeviceConnectionStatusResponse, .getDeviceConnectionStatusResponse): return {
+ guard case .getDeviceConnectionStatusResponse(let l) = lhs, case .getDeviceConnectionStatusResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setHamMode, .setHamMode): return {
+ guard case .setHamMode(let l) = lhs, case .setHamMode(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getNodeRemoteHardwarePinsRequest, .getNodeRemoteHardwarePinsRequest): return {
+ guard case .getNodeRemoteHardwarePinsRequest(let l) = lhs, case .getNodeRemoteHardwarePinsRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getNodeRemoteHardwarePinsResponse, .getNodeRemoteHardwarePinsResponse): return {
+ guard case .getNodeRemoteHardwarePinsResponse(let l) = lhs, case .getNodeRemoteHardwarePinsResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.enterDfuModeRequest, .enterDfuModeRequest): return {
+ guard case .enterDfuModeRequest(let l) = lhs, case .enterDfuModeRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.deleteFileRequest, .deleteFileRequest): return {
+ guard case .deleteFileRequest(let l) = lhs, case .deleteFileRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setScale, .setScale): return {
+ guard case .setScale(let l) = lhs, case .setScale(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.backupPreferences, .backupPreferences): return {
+ guard case .backupPreferences(let l) = lhs, case .backupPreferences(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.restorePreferences, .restorePreferences): return {
+ guard case .restorePreferences(let l) = lhs, case .restorePreferences(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.removeBackupPreferences, .removeBackupPreferences): return {
+ guard case .removeBackupPreferences(let l) = lhs, case .removeBackupPreferences(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.sendInputEvent, .sendInputEvent): return {
+ guard case .sendInputEvent(let l) = lhs, case .sendInputEvent(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setOwner, .setOwner): return {
+ guard case .setOwner(let l) = lhs, case .setOwner(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setChannel, .setChannel): return {
+ guard case .setChannel(let l) = lhs, case .setChannel(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setConfig, .setConfig): return {
+ guard case .setConfig(let l) = lhs, case .setConfig(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setModuleConfig, .setModuleConfig): return {
+ guard case .setModuleConfig(let l) = lhs, case .setModuleConfig(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setCannedMessageModuleMessages, .setCannedMessageModuleMessages): return {
+ guard case .setCannedMessageModuleMessages(let l) = lhs, case .setCannedMessageModuleMessages(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setRingtoneMessage, .setRingtoneMessage): return {
+ guard case .setRingtoneMessage(let l) = lhs, case .setRingtoneMessage(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.removeByNodenum, .removeByNodenum): return {
+ guard case .removeByNodenum(let l) = lhs, case .removeByNodenum(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setFavoriteNode, .setFavoriteNode): return {
+ guard case .setFavoriteNode(let l) = lhs, case .setFavoriteNode(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.removeFavoriteNode, .removeFavoriteNode): return {
+ guard case .removeFavoriteNode(let l) = lhs, case .removeFavoriteNode(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setFixedPosition, .setFixedPosition): return {
+ guard case .setFixedPosition(let l) = lhs, case .setFixedPosition(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.removeFixedPosition, .removeFixedPosition): return {
+ guard case .removeFixedPosition(let l) = lhs, case .removeFixedPosition(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setTimeOnly, .setTimeOnly): return {
+ guard case .setTimeOnly(let l) = lhs, case .setTimeOnly(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getUiConfigRequest, .getUiConfigRequest): return {
+ guard case .getUiConfigRequest(let l) = lhs, case .getUiConfigRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.getUiConfigResponse, .getUiConfigResponse): return {
+ guard case .getUiConfigResponse(let l) = lhs, case .getUiConfigResponse(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.storeUiConfig, .storeUiConfig): return {
+ guard case .storeUiConfig(let l) = lhs, case .storeUiConfig(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.setIgnoredNode, .setIgnoredNode): return {
+ guard case .setIgnoredNode(let l) = lhs, case .setIgnoredNode(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.removeIgnoredNode, .removeIgnoredNode): return {
+ guard case .removeIgnoredNode(let l) = lhs, case .removeIgnoredNode(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.beginEditSettings, .beginEditSettings): return {
+ guard case .beginEditSettings(let l) = lhs, case .beginEditSettings(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.commitEditSettings, .commitEditSettings): return {
+ guard case .commitEditSettings(let l) = lhs, case .commitEditSettings(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.addContact, .addContact): return {
+ guard case .addContact(let l) = lhs, case .addContact(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.keyVerification, .keyVerification): return {
+ guard case .keyVerification(let l) = lhs, case .keyVerification(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.factoryResetDevice, .factoryResetDevice): return {
+ guard case .factoryResetDevice(let l) = lhs, case .factoryResetDevice(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.rebootOtaSeconds, .rebootOtaSeconds): return {
+ guard case .rebootOtaSeconds(let l) = lhs, case .rebootOtaSeconds(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.exitSimulator, .exitSimulator): return {
+ guard case .exitSimulator(let l) = lhs, case .exitSimulator(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.rebootSeconds, .rebootSeconds): return {
+ guard case .rebootSeconds(let l) = lhs, case .rebootSeconds(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.shutdownSeconds, .shutdownSeconds): return {
+ guard case .shutdownSeconds(let l) = lhs, case .shutdownSeconds(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.factoryResetConfig, .factoryResetConfig): return {
+ guard case .factoryResetConfig(let l) = lhs, case .factoryResetConfig(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.nodedbReset, .nodedbReset): return {
+ guard case .nodedbReset(let l) = lhs, case .nodedbReset(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
///
/// TODO: REPLACE
- public enum ConfigType: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum ConfigType: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -854,25 +1079,11 @@ public struct AdminMessage: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [AdminMessage.ConfigType] = [
- .deviceConfig,
- .positionConfig,
- .powerConfig,
- .networkConfig,
- .displayConfig,
- .loraConfig,
- .bluetoothConfig,
- .securityConfig,
- .sessionkeyConfig,
- .deviceuiConfig,
- ]
-
}
///
/// TODO: REPLACE
- public enum ModuleConfigType: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum ModuleConfigType: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -970,26 +1181,9 @@ public struct AdminMessage: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [AdminMessage.ModuleConfigType] = [
- .mqttConfig,
- .serialConfig,
- .extnotifConfig,
- .storeforwardConfig,
- .rangetestConfig,
- .telemetryConfig,
- .cannedmsgConfig,
- .audioConfig,
- .remotehardwareConfig,
- .neighborinfoConfig,
- .ambientlightingConfig,
- .detectionsensorConfig,
- .paxcounterConfig,
- ]
-
}
- public enum BackupLocation: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum BackupLocation: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1021,17 +1215,11 @@ public struct AdminMessage: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [AdminMessage.BackupLocation] = [
- .flash,
- .sd,
- ]
-
}
///
/// Input event message to be sent to the node.
- public struct InputEvent: Sendable {
+ public struct InputEvent {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1060,9 +1248,56 @@ public struct AdminMessage: @unchecked Sendable {
public init() {}
}
+#if swift(>=4.2)
+
+extension AdminMessage.ConfigType: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [AdminMessage.ConfigType] = [
+ .deviceConfig,
+ .positionConfig,
+ .powerConfig,
+ .networkConfig,
+ .displayConfig,
+ .loraConfig,
+ .bluetoothConfig,
+ .securityConfig,
+ .sessionkeyConfig,
+ .deviceuiConfig,
+ ]
+}
+
+extension AdminMessage.ModuleConfigType: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [AdminMessage.ModuleConfigType] = [
+ .mqttConfig,
+ .serialConfig,
+ .extnotifConfig,
+ .storeforwardConfig,
+ .rangetestConfig,
+ .telemetryConfig,
+ .cannedmsgConfig,
+ .audioConfig,
+ .remotehardwareConfig,
+ .neighborinfoConfig,
+ .ambientlightingConfig,
+ .detectionsensorConfig,
+ .paxcounterConfig,
+ ]
+}
+
+extension AdminMessage.BackupLocation: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [AdminMessage.BackupLocation] = [
+ .flash,
+ .sd,
+ ]
+}
+
+#endif // swift(>=4.2)
+
///
/// Parameters for setting up Meshtastic for ameteur radio usage
-public struct HamParameters: Sendable {
+public struct HamParameters {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1092,7 +1327,7 @@ public struct HamParameters: Sendable {
///
/// Response envelope for node_remote_hardware_pins
-public struct NodeRemoteHardwarePinsResponse: Sendable {
+public struct NodeRemoteHardwarePinsResponse {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1106,7 +1341,7 @@ public struct NodeRemoteHardwarePinsResponse: Sendable {
public init() {}
}
-public struct SharedContact: Sendable {
+public struct SharedContact {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1139,7 +1374,7 @@ public struct SharedContact: Sendable {
///
/// This message is used by a client to initiate or complete a key verification
-public struct KeyVerificationAdmin: Sendable {
+public struct KeyVerificationAdmin {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1169,7 +1404,7 @@ public struct KeyVerificationAdmin: Sendable {
///
/// Three stages of this request.
- public enum MessageType: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum MessageType: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1214,14 +1449,6 @@ public struct KeyVerificationAdmin: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [KeyVerificationAdmin.MessageType] = [
- .initiateVerification,
- .provideSecurityNumber,
- .doVerify,
- .doNotVerify,
- ]
-
}
public init() {}
@@ -1229,6 +1456,34 @@ public struct KeyVerificationAdmin: Sendable {
fileprivate var _securityNumber: UInt32? = nil
}
+#if swift(>=4.2)
+
+extension KeyVerificationAdmin.MessageType: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [KeyVerificationAdmin.MessageType] = [
+ .initiateVerification,
+ .provideSecurityNumber,
+ .doVerify,
+ .doNotVerify,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension AdminMessage: @unchecked Sendable {}
+extension AdminMessage.OneOf_PayloadVariant: @unchecked Sendable {}
+extension AdminMessage.ConfigType: @unchecked Sendable {}
+extension AdminMessage.ModuleConfigType: @unchecked Sendable {}
+extension AdminMessage.BackupLocation: @unchecked Sendable {}
+extension AdminMessage.InputEvent: @unchecked Sendable {}
+extension HamParameters: @unchecked Sendable {}
+extension NodeRemoteHardwarePinsResponse: @unchecked Sendable {}
+extension SharedContact: @unchecked Sendable {}
+extension KeyVerificationAdmin: @unchecked Sendable {}
+extension KeyVerificationAdmin.MessageType: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
@@ -2186,7 +2441,7 @@ extension HamParameters: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementa
if self.txPower != 0 {
try visitor.visitSingularInt32Field(value: self.txPower, fieldNumber: 2)
}
- if self.frequency.bitPattern != 0 {
+ if self.frequency != 0 {
try visitor.visitSingularFloatField(value: self.frequency, fieldNumber: 3)
}
if !self.shortName.isEmpty {
diff --git a/MeshtasticProtobufs/Sources/meshtastic/apponly.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/apponly.pb.swift
index 52dac5ca..0457077c 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/apponly.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/apponly.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/apponly.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -26,7 +26,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
/// any SECONDARY channels.
/// No DISABLED channels are included.
/// This abstraction is used only on the the 'app side' of the world (ie python, javascript and android etc) to show a group of Channels as a (long) URL
-public struct ChannelSet: Sendable {
+public struct ChannelSet {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -53,6 +53,10 @@ public struct ChannelSet: Sendable {
fileprivate var _loraConfig: Config.LoRaConfig? = nil
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension ChannelSet: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/atak.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/atak.pb.swift
index 06d6af88..867648a9 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/atak.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/atak.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/atak.proto
@@ -21,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public enum Team: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum Team: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -131,6 +130,11 @@ public enum Team: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension Team: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [Team] = [
.unspecifedColor,
@@ -149,12 +153,13 @@ public enum Team: SwiftProtobuf.Enum, Swift.CaseIterable {
.darkGreen,
.brown,
]
-
}
+#endif // swift(>=4.2)
+
///
/// Role of the group member
-public enum MemberRole: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum MemberRole: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -228,6 +233,11 @@ public enum MemberRole: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension MemberRole: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [MemberRole] = [
.unspecifed,
@@ -240,12 +250,13 @@ public enum MemberRole: SwiftProtobuf.Enum, Swift.CaseIterable {
.rto,
.k9,
]
-
}
+#endif // swift(>=4.2)
+
///
/// Packets for the official ATAK Plugin
-public struct TAKPacket: @unchecked Sendable {
+public struct TAKPacket {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -326,7 +337,7 @@ public struct TAKPacket: @unchecked Sendable {
///
/// The payload of the packet
- public enum OneOf_PayloadVariant: Equatable, @unchecked Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// TAK position report
case pli(PLI)
@@ -338,6 +349,28 @@ public struct TAKPacket: @unchecked Sendable {
/// May be compressed / truncated by the sender (EUD)
case detail(Data)
+ #if !swift(>=4.1)
+ public static func ==(lhs: TAKPacket.OneOf_PayloadVariant, rhs: TAKPacket.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.pli, .pli): return {
+ guard case .pli(let l) = lhs, case .pli(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.chat, .chat): return {
+ guard case .chat(let l) = lhs, case .chat(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.detail, .detail): return {
+ guard case .detail(let l) = lhs, case .detail(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
@@ -349,7 +382,7 @@ public struct TAKPacket: @unchecked Sendable {
///
/// ATAK GeoChat message
-public struct GeoChat: Sendable {
+public struct GeoChat {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -391,7 +424,7 @@ public struct GeoChat: Sendable {
///
/// ATAK Group
/// <__group role='Team Member' name='Cyan'/>
-public struct Group: Sendable {
+public struct Group {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -413,7 +446,7 @@ public struct Group: Sendable {
///
/// ATAK EUD Status
///
-public struct Status: Sendable {
+public struct Status {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -430,7 +463,7 @@ public struct Status: Sendable {
///
/// ATAK Contact
///
-public struct Contact: Sendable {
+public struct Contact {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -450,7 +483,7 @@ public struct Contact: Sendable {
///
/// Position Location Information from ATAK
-public struct PLI: Sendable {
+public struct PLI {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -482,6 +515,18 @@ public struct PLI: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension Team: @unchecked Sendable {}
+extension MemberRole: @unchecked Sendable {}
+extension TAKPacket: @unchecked Sendable {}
+extension TAKPacket.OneOf_PayloadVariant: @unchecked Sendable {}
+extension GeoChat: @unchecked Sendable {}
+extension Group: @unchecked Sendable {}
+extension Status: @unchecked Sendable {}
+extension Contact: @unchecked Sendable {}
+extension PLI: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/cannedmessages.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/cannedmessages.pb.swift
index ce1f0503..1b8c84de 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/cannedmessages.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/cannedmessages.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/cannedmessages.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -22,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// Canned message module configuration.
-public struct CannedMessageModuleConfig: Sendable {
+public struct CannedMessageModuleConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -36,6 +36,10 @@ public struct CannedMessageModuleConfig: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension CannedMessageModuleConfig: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/channel.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/channel.pb.swift
index 180cd698..5b9c7e49 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/channel.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/channel.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/channel.proto
@@ -37,15 +36,13 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
/// FIXME: Add description of multi-channel support and how primary vs secondary channels are used.
/// FIXME: explain how apps use channels for security.
/// explain how remote settings and remote gpio are managed as an example
-public struct ChannelSettings: @unchecked Sendable {
+public struct ChannelSettings {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
///
/// Deprecated in favor of LoraConfig.channel_num
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var channelNum: UInt32 = 0
///
@@ -114,7 +111,7 @@ public struct ChannelSettings: @unchecked Sendable {
///
/// This message is specifically for modules to store per-channel configuration data.
-public struct ModuleSettings: Sendable {
+public struct ModuleSettings {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -135,7 +132,7 @@ public struct ModuleSettings: Sendable {
///
/// A pair of a channel number, mode and the (sharable) settings for that channel
-public struct Channel: Sendable {
+public struct Channel {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -173,7 +170,7 @@ public struct Channel: Sendable {
/// cross band routing as needed.
/// If a device has only a single radio (the common case) only one channel can be PRIMARY at a time
/// (but any number of SECONDARY channels can't be sent received on that common frequency)
- public enum Role: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Role: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -212,13 +209,6 @@ public struct Channel: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Channel.Role] = [
- .disabled,
- .primary,
- .secondary,
- ]
-
}
public init() {}
@@ -226,6 +216,26 @@ public struct Channel: Sendable {
fileprivate var _settings: ChannelSettings? = nil
}
+#if swift(>=4.2)
+
+extension Channel.Role: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Channel.Role] = [
+ .disabled,
+ .primary,
+ .secondary,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension ChannelSettings: @unchecked Sendable {}
+extension ModuleSettings: @unchecked Sendable {}
+extension Channel: @unchecked Sendable {}
+extension Channel.Role: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/clientonly.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/clientonly.pb.swift
index d72c0ae1..f89a8e3c 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/clientonly.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/clientonly.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/clientonly.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -23,7 +23,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// This abstraction is used to contain any configuration for provisioning a node on any client.
/// It is useful for importing and exporting configurations.
-public struct DeviceProfile: Sendable {
+public struct DeviceProfile {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -130,6 +130,10 @@ public struct DeviceProfile: Sendable {
fileprivate var _cannedMessages: String? = nil
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension DeviceProfile: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/config.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/config.pb.swift
index ade2e8f3..90c78531 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/config.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/config.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/config.proto
@@ -21,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public struct Config: Sendable {
+public struct Config {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -114,7 +113,7 @@ public struct Config: Sendable {
///
/// Payload Variant
- public enum OneOf_PayloadVariant: Equatable, Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
case device(Config.DeviceConfig)
case position(Config.PositionConfig)
case power(Config.PowerConfig)
@@ -126,11 +125,61 @@ public struct Config: Sendable {
case sessionkey(Config.SessionkeyConfig)
case deviceUi(DeviceUIConfig)
+ #if !swift(>=4.1)
+ public static func ==(lhs: Config.OneOf_PayloadVariant, rhs: Config.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.device, .device): return {
+ guard case .device(let l) = lhs, case .device(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.position, .position): return {
+ guard case .position(let l) = lhs, case .position(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.power, .power): return {
+ guard case .power(let l) = lhs, case .power(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.network, .network): return {
+ guard case .network(let l) = lhs, case .network(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.display, .display): return {
+ guard case .display(let l) = lhs, case .display(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.lora, .lora): return {
+ guard case .lora(let l) = lhs, case .lora(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.bluetooth, .bluetooth): return {
+ guard case .bluetooth(let l) = lhs, case .bluetooth(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.security, .security): return {
+ guard case .security(let l) = lhs, case .security(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.sessionkey, .sessionkey): return {
+ guard case .sessionkey(let l) = lhs, case .sessionkey(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.deviceUi, .deviceUi): return {
+ guard case .deviceUi(let l) = lhs, case .deviceUi(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
///
/// Configuration
- public struct DeviceConfig: Sendable {
+ public struct DeviceConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -142,8 +191,6 @@ public struct Config: Sendable {
///
/// Disabling this will disable the SerialConsole by not initilizing the StreamAPI
/// Moved to SecurityConfig
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var serialEnabled: Bool = false
///
@@ -173,8 +220,6 @@ public struct Config: Sendable {
/// If true, device is considered to be "managed" by a mesh administrator
/// Clients should then limit available configuration and administrative options inside the user interface
/// Moved to SecurityConfig
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var isManaged: Bool = false
///
@@ -198,7 +243,7 @@ public struct Config: Sendable {
///
/// Defines the device's role on the Mesh network
- public enum Role: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Role: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -216,8 +261,6 @@ public struct Config: Sendable {
/// The wifi radio and the oled screen will be put to sleep.
/// This mode may still potentially have higher power usage due to it's preference in message rebroadcasting on the mesh.
case router // = 2
-
- /// NOTE: This enum value was marked as deprecated in the .proto file
case routerClient // = 3
///
@@ -318,27 +361,11 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DeviceConfig.Role] = [
- .client,
- .clientMute,
- .router,
- .routerClient,
- .repeater,
- .tracker,
- .sensor,
- .tak,
- .clientHidden,
- .lostAndFound,
- .takTracker,
- .routerLate,
- ]
-
}
///
/// Defines the device's behavior for how messages are rebroadcast
- public enum RebroadcastMode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum RebroadcastMode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -399,21 +426,11 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DeviceConfig.RebroadcastMode] = [
- .all,
- .allSkipDecoding,
- .localOnly,
- .knownOnly,
- .none,
- .corePortnumsOnly,
- ]
-
}
///
/// Defines buzzer behavior for audio feedback
- public enum BuzzerMode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum BuzzerMode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -470,15 +487,6 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DeviceConfig.BuzzerMode] = [
- .allEnabled,
- .disabled,
- .notificationsOnly,
- .systemOnly,
- .directMsgOnly,
- ]
-
}
public init() {}
@@ -486,7 +494,7 @@ public struct Config: Sendable {
///
/// Position Config
- public struct PositionConfig: Sendable {
+ public struct PositionConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -508,8 +516,6 @@ public struct Config: Sendable {
///
/// Is GPS enabled for this node?
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var gpsEnabled: Bool = false
///
@@ -520,8 +526,6 @@ public struct Config: Sendable {
///
/// Deprecated in favor of using smart / regular broadcast intervals as implicit attempt time
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var gpsAttemptTime: UInt32 = 0
///
@@ -562,7 +566,7 @@ public struct Config: Sendable {
/// are always included (also time if GPS-synced)
/// NOTE: the more fields are included, the larger the message will be -
/// leading to longer airtime and a higher risk of packet loss
- public enum PositionFlags: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum PositionFlags: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -652,24 +656,9 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.PositionConfig.PositionFlags] = [
- .unset,
- .altitude,
- .altitudeMsl,
- .geoidalSeparation,
- .dop,
- .hvdop,
- .satinview,
- .seqNo,
- .timestamp,
- .heading,
- .speed,
- ]
-
}
- public enum GpsMode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum GpsMode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -707,13 +696,6 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.PositionConfig.GpsMode] = [
- .disabled,
- .enabled,
- .notPresent,
- ]
-
}
public init() {}
@@ -722,7 +704,7 @@ public struct Config: Sendable {
///
/// Power Config\
/// See [Power Config](/docs/settings/config/power) for additional power config details.
- public struct PowerConfig: Sendable {
+ public struct PowerConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -782,7 +764,7 @@ public struct Config: Sendable {
///
/// Network Config
- public struct NetworkConfig: Sendable {
+ public struct NetworkConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -837,7 +819,7 @@ public struct Config: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum AddressMode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum AddressMode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -869,17 +851,11 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.NetworkConfig.AddressMode] = [
- .dhcp,
- .static,
- ]
-
}
///
/// Available flags auxiliary network protocols
- public enum ProtocolFlags: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum ProtocolFlags: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -911,15 +887,9 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.NetworkConfig.ProtocolFlags] = [
- .noBroadcast,
- .udpBroadcast,
- ]
-
}
- public struct IpV4Config: Sendable {
+ public struct IpV4Config {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -952,7 +922,7 @@ public struct Config: Sendable {
///
/// Display Config
- public struct DisplayConfig: Sendable {
+ public struct DisplayConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -965,8 +935,6 @@ public struct Config: Sendable {
///
/// Deprecated in 2.7.4: Unused
/// How the GPS coordinates are formatted on the OLED screen.
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var gpsFormat: Config.DisplayConfig.GpsCoordinateFormat = .dec
///
@@ -1016,7 +984,7 @@ public struct Config: Sendable {
///
/// How the GPS coordinates are displayed on the OLED screen.
- public enum GpsCoordinateFormat: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum GpsCoordinateFormat: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1079,21 +1047,11 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DisplayConfig.GpsCoordinateFormat] = [
- .dec,
- .dms,
- .utm,
- .mgrs,
- .olc,
- .osgr,
- ]
-
}
///
/// Unit display preference
- public enum DisplayUnits: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum DisplayUnits: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1125,17 +1083,11 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DisplayConfig.DisplayUnits] = [
- .metric,
- .imperial,
- ]
-
}
///
/// Override OLED outo detect with this if it fails.
- public enum OledType: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum OledType: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1185,18 +1137,9 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DisplayConfig.OledType] = [
- .oledAuto,
- .oledSsd1306,
- .oledSh1106,
- .oledSh1107,
- .oledSh110712864,
- ]
-
}
- public enum DisplayMode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum DisplayMode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1240,17 +1183,9 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DisplayConfig.DisplayMode] = [
- .default,
- .twocolor,
- .inverted,
- .color,
- ]
-
}
- public enum CompassOrientation: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum CompassOrientation: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1318,18 +1253,6 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.DisplayConfig.CompassOrientation] = [
- .degrees0,
- .degrees90,
- .degrees180,
- .degrees270,
- .degrees0Inverted,
- .degrees90Inverted,
- .degrees180Inverted,
- .degrees270Inverted,
- ]
-
}
public init() {}
@@ -1337,7 +1260,7 @@ public struct Config: Sendable {
///
/// Lora Config
- public struct LoRaConfig: @unchecked Sendable {
+ public struct LoRaConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1501,7 +1424,7 @@ public struct Config: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum RegionCode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum RegionCode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1603,6 +1526,14 @@ public struct Config: Sendable {
///
/// Kazakhstan 863MHz
case kz863 // = 24
+
+ ///
+ /// Nepal 865MHz
+ case np865 // = 25
+
+ ///
+ /// Brazil 902MHz
+ case br902 // = 26
case UNRECOGNIZED(Int)
public init() {
@@ -1636,6 +1567,8 @@ public struct Config: Sendable {
case 22: self = .anz433
case 23: self = .kz433
case 24: self = .kz863
+ case 25: self = .np865
+ case 26: self = .br902
default: self = .UNRECOGNIZED(rawValue)
}
}
@@ -1667,45 +1600,18 @@ public struct Config: Sendable {
case .anz433: return 22
case .kz433: return 23
case .kz863: return 24
+ case .np865: return 25
+ case .br902: return 26
case .UNRECOGNIZED(let i): return i
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.LoRaConfig.RegionCode] = [
- .unset,
- .us,
- .eu433,
- .eu868,
- .cn,
- .jp,
- .anz,
- .kr,
- .tw,
- .ru,
- .in,
- .nz865,
- .th,
- .lora24,
- .ua433,
- .ua868,
- .my433,
- .my919,
- .sg923,
- .ph433,
- .ph868,
- .ph915,
- .anz433,
- .kz433,
- .kz863,
- ]
-
}
///
/// Standard predefined channel settings
/// Note: these mappings must match ModemPreset Choice in the device code.
- public enum ModemPreset: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum ModemPreset: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1719,8 +1625,6 @@ public struct Config: Sendable {
///
/// Very Long Range - Slow
/// Deprecated in 2.5: Works only with txco and is unusably slow
- ///
- /// NOTE: This enum value was marked as deprecated in the .proto file
case veryLongSlow // = 2
///
@@ -1784,19 +1688,6 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.LoRaConfig.ModemPreset] = [
- .longFast,
- .longSlow,
- .veryLongSlow,
- .mediumSlow,
- .mediumFast,
- .shortSlow,
- .shortFast,
- .longModerate,
- .shortTurbo,
- ]
-
}
public init() {}
@@ -1804,7 +1695,7 @@ public struct Config: Sendable {
fileprivate var _storage = _StorageClass.defaultInstance
}
- public struct BluetoothConfig: Sendable {
+ public struct BluetoothConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1823,7 +1714,7 @@ public struct Config: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum PairingMode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum PairingMode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1861,19 +1752,12 @@ public struct Config: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Config.BluetoothConfig.PairingMode] = [
- .randomPin,
- .fixedPin,
- .noPin,
- ]
-
}
public init() {}
}
- public struct SecurityConfig: @unchecked Sendable {
+ public struct SecurityConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1917,7 +1801,7 @@ public struct Config: Sendable {
///
/// Blank config request, strictly for getting the session key
- public struct SessionkeyConfig: Sendable {
+ public struct SessionkeyConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1930,6 +1814,235 @@ public struct Config: Sendable {
public init() {}
}
+#if swift(>=4.2)
+
+extension Config.DeviceConfig.Role: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DeviceConfig.Role] = [
+ .client,
+ .clientMute,
+ .router,
+ .routerClient,
+ .repeater,
+ .tracker,
+ .sensor,
+ .tak,
+ .clientHidden,
+ .lostAndFound,
+ .takTracker,
+ .routerLate,
+ ]
+}
+
+extension Config.DeviceConfig.RebroadcastMode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DeviceConfig.RebroadcastMode] = [
+ .all,
+ .allSkipDecoding,
+ .localOnly,
+ .knownOnly,
+ .none,
+ .corePortnumsOnly,
+ ]
+}
+
+extension Config.DeviceConfig.BuzzerMode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DeviceConfig.BuzzerMode] = [
+ .allEnabled,
+ .disabled,
+ .notificationsOnly,
+ .systemOnly,
+ .directMsgOnly,
+ ]
+}
+
+extension Config.PositionConfig.PositionFlags: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.PositionConfig.PositionFlags] = [
+ .unset,
+ .altitude,
+ .altitudeMsl,
+ .geoidalSeparation,
+ .dop,
+ .hvdop,
+ .satinview,
+ .seqNo,
+ .timestamp,
+ .heading,
+ .speed,
+ ]
+}
+
+extension Config.PositionConfig.GpsMode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.PositionConfig.GpsMode] = [
+ .disabled,
+ .enabled,
+ .notPresent,
+ ]
+}
+
+extension Config.NetworkConfig.AddressMode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.NetworkConfig.AddressMode] = [
+ .dhcp,
+ .static,
+ ]
+}
+
+extension Config.NetworkConfig.ProtocolFlags: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.NetworkConfig.ProtocolFlags] = [
+ .noBroadcast,
+ .udpBroadcast,
+ ]
+}
+
+extension Config.DisplayConfig.GpsCoordinateFormat: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DisplayConfig.GpsCoordinateFormat] = [
+ .dec,
+ .dms,
+ .utm,
+ .mgrs,
+ .olc,
+ .osgr,
+ ]
+}
+
+extension Config.DisplayConfig.DisplayUnits: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DisplayConfig.DisplayUnits] = [
+ .metric,
+ .imperial,
+ ]
+}
+
+extension Config.DisplayConfig.OledType: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DisplayConfig.OledType] = [
+ .oledAuto,
+ .oledSsd1306,
+ .oledSh1106,
+ .oledSh1107,
+ .oledSh110712864,
+ ]
+}
+
+extension Config.DisplayConfig.DisplayMode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DisplayConfig.DisplayMode] = [
+ .default,
+ .twocolor,
+ .inverted,
+ .color,
+ ]
+}
+
+extension Config.DisplayConfig.CompassOrientation: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.DisplayConfig.CompassOrientation] = [
+ .degrees0,
+ .degrees90,
+ .degrees180,
+ .degrees270,
+ .degrees0Inverted,
+ .degrees90Inverted,
+ .degrees180Inverted,
+ .degrees270Inverted,
+ ]
+}
+
+extension Config.LoRaConfig.RegionCode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.LoRaConfig.RegionCode] = [
+ .unset,
+ .us,
+ .eu433,
+ .eu868,
+ .cn,
+ .jp,
+ .anz,
+ .kr,
+ .tw,
+ .ru,
+ .in,
+ .nz865,
+ .th,
+ .lora24,
+ .ua433,
+ .ua868,
+ .my433,
+ .my919,
+ .sg923,
+ .ph433,
+ .ph868,
+ .ph915,
+ .anz433,
+ .kz433,
+ .kz863,
+ .np865,
+ .br902,
+ ]
+}
+
+extension Config.LoRaConfig.ModemPreset: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.LoRaConfig.ModemPreset] = [
+ .longFast,
+ .longSlow,
+ .veryLongSlow,
+ .mediumSlow,
+ .mediumFast,
+ .shortSlow,
+ .shortFast,
+ .longModerate,
+ .shortTurbo,
+ ]
+}
+
+extension Config.BluetoothConfig.PairingMode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Config.BluetoothConfig.PairingMode] = [
+ .randomPin,
+ .fixedPin,
+ .noPin,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension Config: @unchecked Sendable {}
+extension Config.OneOf_PayloadVariant: @unchecked Sendable {}
+extension Config.DeviceConfig: @unchecked Sendable {}
+extension Config.DeviceConfig.Role: @unchecked Sendable {}
+extension Config.DeviceConfig.RebroadcastMode: @unchecked Sendable {}
+extension Config.DeviceConfig.BuzzerMode: @unchecked Sendable {}
+extension Config.PositionConfig: @unchecked Sendable {}
+extension Config.PositionConfig.PositionFlags: @unchecked Sendable {}
+extension Config.PositionConfig.GpsMode: @unchecked Sendable {}
+extension Config.PowerConfig: @unchecked Sendable {}
+extension Config.NetworkConfig: @unchecked Sendable {}
+extension Config.NetworkConfig.AddressMode: @unchecked Sendable {}
+extension Config.NetworkConfig.ProtocolFlags: @unchecked Sendable {}
+extension Config.NetworkConfig.IpV4Config: @unchecked Sendable {}
+extension Config.DisplayConfig: @unchecked Sendable {}
+extension Config.DisplayConfig.GpsCoordinateFormat: @unchecked Sendable {}
+extension Config.DisplayConfig.DisplayUnits: @unchecked Sendable {}
+extension Config.DisplayConfig.OledType: @unchecked Sendable {}
+extension Config.DisplayConfig.DisplayMode: @unchecked Sendable {}
+extension Config.DisplayConfig.CompassOrientation: @unchecked Sendable {}
+extension Config.LoRaConfig: @unchecked Sendable {}
+extension Config.LoRaConfig.RegionCode: @unchecked Sendable {}
+extension Config.LoRaConfig.ModemPreset: @unchecked Sendable {}
+extension Config.BluetoothConfig: @unchecked Sendable {}
+extension Config.BluetoothConfig.PairingMode: @unchecked Sendable {}
+extension Config.SecurityConfig: @unchecked Sendable {}
+extension Config.SessionkeyConfig: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
@@ -2453,7 +2566,7 @@ extension Config.PowerConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImple
if self.onBatteryShutdownAfterSecs != 0 {
try visitor.visitSingularUInt32Field(value: self.onBatteryShutdownAfterSecs, fieldNumber: 2)
}
- if self.adcMultiplierOverride.bitPattern != 0 {
+ if self.adcMultiplierOverride != 0 {
try visitor.visitSingularFloatField(value: self.adcMultiplierOverride, fieldNumber: 3)
}
if self.waitBluetoothSecs != 0 {
@@ -2927,7 +3040,7 @@ extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
if _storage._codingRate != 0 {
try visitor.visitSingularUInt32Field(value: _storage._codingRate, fieldNumber: 5)
}
- if _storage._frequencyOffset.bitPattern != 0 {
+ if _storage._frequencyOffset != 0 {
try visitor.visitSingularFloatField(value: _storage._frequencyOffset, fieldNumber: 6)
}
if _storage._region != .unset {
@@ -2951,7 +3064,7 @@ extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
if _storage._sx126XRxBoostedGain != false {
try visitor.visitSingularBoolField(value: _storage._sx126XRxBoostedGain, fieldNumber: 13)
}
- if _storage._overrideFrequency.bitPattern != 0 {
+ if _storage._overrideFrequency != 0 {
try visitor.visitSingularFloatField(value: _storage._overrideFrequency, fieldNumber: 14)
}
if _storage._paFanDisabled != false {
@@ -3029,6 +3142,8 @@ extension Config.LoRaConfig.RegionCode: SwiftProtobuf._ProtoNameProviding {
22: .same(proto: "ANZ_433"),
23: .same(proto: "KZ_433"),
24: .same(proto: "KZ_863"),
+ 25: .same(proto: "NP_865"),
+ 26: .same(proto: "BR_902"),
]
}
@@ -3171,8 +3286,8 @@ extension Config.SessionkeyConfig: SwiftProtobuf.Message, SwiftProtobuf._Message
public static let _protobuf_nameMap = SwiftProtobuf._NameMap()
public mutating func decodeMessage(decoder: inout D) throws {
- // Load everything into unknown fields
- while try decoder.nextFieldNumber() != nil {}
+ while let _ = try decoder.nextFieldNumber() {
+ }
}
public func traverse(visitor: inout V) throws {
diff --git a/MeshtasticProtobufs/Sources/meshtastic/connection_status.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/connection_status.pb.swift
index 6847c0e3..a2ec180e 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/connection_status.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/connection_status.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/connection_status.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -20,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public struct DeviceConnectionStatus: Sendable {
+public struct DeviceConnectionStatus {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -81,7 +81,7 @@ public struct DeviceConnectionStatus: Sendable {
///
/// WiFi connection status
-public struct WifiConnectionStatus: Sendable {
+public struct WifiConnectionStatus {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -114,7 +114,7 @@ public struct WifiConnectionStatus: Sendable {
///
/// Ethernet connection status
-public struct EthernetConnectionStatus: Sendable {
+public struct EthernetConnectionStatus {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -139,7 +139,7 @@ public struct EthernetConnectionStatus: Sendable {
///
/// Ethernet or WiFi connection status
-public struct NetworkConnectionStatus: Sendable {
+public struct NetworkConnectionStatus {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -167,7 +167,7 @@ public struct NetworkConnectionStatus: Sendable {
///
/// Bluetooth connection status
-public struct BluetoothConnectionStatus: Sendable {
+public struct BluetoothConnectionStatus {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -191,7 +191,7 @@ public struct BluetoothConnectionStatus: Sendable {
///
/// Serial connection status
-public struct SerialConnectionStatus: Sendable {
+public struct SerialConnectionStatus {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -209,6 +209,15 @@ public struct SerialConnectionStatus: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension DeviceConnectionStatus: @unchecked Sendable {}
+extension WifiConnectionStatus: @unchecked Sendable {}
+extension EthernetConnectionStatus: @unchecked Sendable {}
+extension NetworkConnectionStatus: @unchecked Sendable {}
+extension BluetoothConnectionStatus: @unchecked Sendable {}
+extension SerialConnectionStatus: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/device_ui.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/device_ui.pb.swift
index d5a3560e..49aa3700 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/device_ui.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/device_ui.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/device_ui.proto
@@ -21,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public enum CompassMode: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum CompassMode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -59,16 +58,22 @@ public enum CompassMode: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension CompassMode: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [CompassMode] = [
.dynamic,
.fixedRing,
.freezeHeading,
]
-
}
-public enum Theme: SwiftProtobuf.Enum, Swift.CaseIterable {
+#endif // swift(>=4.2)
+
+public enum Theme: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -106,18 +111,24 @@ public enum Theme: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension Theme: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [Theme] = [
.dark,
.light,
.red,
]
-
}
+#endif // swift(>=4.2)
+
///
/// Localization
-public enum Language: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum Language: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -257,6 +268,11 @@ public enum Language: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension Language: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [Language] = [
.english,
@@ -280,10 +296,11 @@ public enum Language: SwiftProtobuf.Enum, Swift.CaseIterable {
.simplifiedChinese,
.traditionalChinese,
]
-
}
-public struct DeviceUIConfig: @unchecked Sendable {
+#endif // swift(>=4.2)
+
+public struct DeviceUIConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -427,7 +444,7 @@ public struct DeviceUIConfig: @unchecked Sendable {
fileprivate var _storage = _StorageClass.defaultInstance
}
-public struct NodeFilter: Sendable {
+public struct NodeFilter {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -465,7 +482,7 @@ public struct NodeFilter: Sendable {
public init() {}
}
-public struct NodeHighlight: Sendable {
+public struct NodeHighlight {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -495,7 +512,7 @@ public struct NodeHighlight: Sendable {
public init() {}
}
-public struct GeoPoint: Sendable {
+public struct GeoPoint {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -517,7 +534,7 @@ public struct GeoPoint: Sendable {
public init() {}
}
-public struct Map: Sendable {
+public struct Map {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -548,6 +565,17 @@ public struct Map: Sendable {
fileprivate var _home: GeoPoint? = nil
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension CompassMode: @unchecked Sendable {}
+extension Theme: @unchecked Sendable {}
+extension Language: @unchecked Sendable {}
+extension DeviceUIConfig: @unchecked Sendable {}
+extension NodeFilter: @unchecked Sendable {}
+extension NodeHighlight: @unchecked Sendable {}
+extension GeoPoint: @unchecked Sendable {}
+extension Map: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/deviceonly.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/deviceonly.pb.swift
index acbc9682..9c8d5ad8 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/deviceonly.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/deviceonly.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/deviceonly.proto
@@ -23,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// Position with static location information only for NodeDBLite
-public struct PositionLite: Sendable {
+public struct PositionLite {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -58,15 +57,13 @@ public struct PositionLite: Sendable {
public init() {}
}
-public struct UserLite: @unchecked Sendable {
+public struct UserLite {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
///
/// This is the addr of the radio.
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var macaddr: Data = Data()
///
@@ -118,7 +115,7 @@ public struct UserLite: @unchecked Sendable {
fileprivate var _isUnmessagable: Bool? = nil
}
-public struct NodeInfoLite: @unchecked Sendable {
+public struct NodeInfoLite {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -248,7 +245,7 @@ public struct NodeInfoLite: @unchecked Sendable {
/// FIXME, since we write this each time we enter deep sleep (and have infinite
/// flash) it would be better to use some sort of append only data structure for
/// the receive queue and use the preferences store for the other stuff
-public struct DeviceState: @unchecked Sendable {
+public struct DeviceState {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -308,8 +305,6 @@ public struct DeviceState: @unchecked Sendable {
/// Used only during development.
/// Indicates developer is testing and changes should never be saved to flash.
/// Deprecated in 2.3.1
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var noSave: Bool {
get {return _storage._noSave}
set {_uniqueStorage()._noSave = newValue}
@@ -318,8 +313,6 @@ public struct DeviceState: @unchecked Sendable {
///
/// Previously used to manage GPS factory resets.
/// Deprecated in 2.5.23
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var didGpsReset: Bool {
get {return _storage._didGpsReset}
set {_uniqueStorage()._didGpsReset = newValue}
@@ -352,7 +345,7 @@ public struct DeviceState: @unchecked Sendable {
fileprivate var _storage = _StorageClass.defaultInstance
}
-public struct NodeDatabase: Sendable {
+public struct NodeDatabase {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -374,7 +367,7 @@ public struct NodeDatabase: Sendable {
///
/// The on-disk saved channels
-public struct ChannelFile: Sendable {
+public struct ChannelFile {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -396,7 +389,7 @@ public struct ChannelFile: Sendable {
///
/// The on-disk backup of the node's preferences
-public struct BackupPreferences: Sendable {
+public struct BackupPreferences {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -463,6 +456,16 @@ public struct BackupPreferences: Sendable {
fileprivate var _owner: User? = nil
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension PositionLite: @unchecked Sendable {}
+extension UserLite: @unchecked Sendable {}
+extension NodeInfoLite: @unchecked Sendable {}
+extension DeviceState: @unchecked Sendable {}
+extension NodeDatabase: @unchecked Sendable {}
+extension ChannelFile: @unchecked Sendable {}
+extension BackupPreferences: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
@@ -712,7 +715,7 @@ extension NodeInfoLite: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementat
try { if let v = _storage._position {
try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
} }()
- if _storage._snr.bitPattern != 0 {
+ if _storage._snr != 0 {
try visitor.visitSingularFloatField(value: _storage._snr, fieldNumber: 4)
}
if _storage._lastHeard != 0 {
diff --git a/MeshtasticProtobufs/Sources/meshtastic/interdevice.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/interdevice.pb.swift
index 165ed685..92b72c15 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/interdevice.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/interdevice.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/interdevice.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -20,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public enum MessageType: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum MessageType: SwiftProtobuf.Enum {
public typealias RawValue = Int
case ack // = 0
@@ -82,6 +82,11 @@ public enum MessageType: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension MessageType: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [MessageType] = [
.ack,
@@ -97,10 +102,11 @@ public enum MessageType: SwiftProtobuf.Enum, Swift.CaseIterable {
.aht20Humidity,
.tvocIndex,
]
-
}
-public struct SensorData: Sendable {
+#endif // swift(>=4.2)
+
+public struct SensorData {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -130,16 +136,34 @@ public struct SensorData: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
/// The sensor data, either as a float or an uint32
- public enum OneOf_Data: Equatable, Sendable {
+ public enum OneOf_Data: Equatable {
case floatValue(Float)
case uint32Value(UInt32)
+ #if !swift(>=4.1)
+ public static func ==(lhs: SensorData.OneOf_Data, rhs: SensorData.OneOf_Data) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.floatValue, .floatValue): return {
+ guard case .floatValue(let l) = lhs, case .floatValue(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.uint32Value, .uint32Value): return {
+ guard case .uint32Value(let l) = lhs, case .uint32Value(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
}
-public struct InterdeviceMessage: Sendable {
+public struct InterdeviceMessage {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -166,15 +190,41 @@ public struct InterdeviceMessage: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
/// The message data
- public enum OneOf_Data: Equatable, Sendable {
+ public enum OneOf_Data: Equatable {
case nmea(String)
case sensor(SensorData)
+ #if !swift(>=4.1)
+ public static func ==(lhs: InterdeviceMessage.OneOf_Data, rhs: InterdeviceMessage.OneOf_Data) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.nmea, .nmea): return {
+ guard case .nmea(let l) = lhs, case .nmea(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.sensor, .sensor): return {
+ guard case .sensor(let l) = lhs, case .sensor(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension MessageType: @unchecked Sendable {}
+extension SensorData: @unchecked Sendable {}
+extension SensorData.OneOf_Data: @unchecked Sendable {}
+extension InterdeviceMessage: @unchecked Sendable {}
+extension InterdeviceMessage.OneOf_Data: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/localonly.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/localonly.pb.swift
index c3356286..0af27466 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/localonly.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/localonly.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/localonly.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -20,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public struct LocalConfig: @unchecked Sendable {
+public struct LocalConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -129,7 +129,7 @@ public struct LocalConfig: @unchecked Sendable {
fileprivate var _storage = _StorageClass.defaultInstance
}
-public struct LocalModuleConfig: @unchecked Sendable {
+public struct LocalModuleConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -293,6 +293,11 @@ public struct LocalModuleConfig: @unchecked Sendable {
fileprivate var _storage = _StorageClass.defaultInstance
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension LocalConfig: @unchecked Sendable {}
+extension LocalModuleConfig: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/mesh.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/mesh.pb.swift
index 81bf379b..8db99cc7 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/mesh.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/mesh.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/mesh.proto
@@ -26,7 +25,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
/// bin/build-all.sh script.
/// Because they will be used to find firmware filenames in the android app for OTA updates.
/// To match the old style filenames, _ is converted to -, p is converted to .
-public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum HardwareModel: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -482,6 +481,11 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
/// Elecrow ThinkNode M5 https://www.elecrow.com/wiki/ThinkNode_M5_Meshtastic_LoRa_Signal_Transceiver_ESP32-S3.html
case thinknodeM5 // = 107
+ ///
+ /// MeshSolar is an integrated power management and communication solution designed for outdoor low-power devices.
+ /// https://heltec.org/project/meshsolar/
+ case heltecMeshSolar // = 108
+
///
/// ------------------------------------------------------------------------------------------------------------------------------------------
/// Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits.
@@ -603,6 +607,7 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
case 105: self = .wismeshTag
case 106: self = .rak3312
case 107: self = .thinknodeM5
+ case 108: self = .heltecMeshSolar
case 255: self = .privateHw
default: self = .UNRECOGNIZED(rawValue)
}
@@ -718,11 +723,17 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
case .wismeshTag: return 105
case .rak3312: return 106
case .thinknodeM5: return 107
+ case .heltecMeshSolar: return 108
case .privateHw: return 255
case .UNRECOGNIZED(let i): return i
}
}
+}
+
+#if swift(>=4.2)
+
+extension HardwareModel: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [HardwareModel] = [
.unset,
@@ -833,14 +844,16 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
.wismeshTag,
.rak3312,
.thinknodeM5,
+ .heltecMeshSolar,
.privateHw,
]
-
}
+#endif // swift(>=4.2)
+
///
/// Shared constants between device and phone
-public enum Constants: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum Constants: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -875,20 +888,26 @@ public enum Constants: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension Constants: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [Constants] = [
.zero,
.dataPayloadLen,
]
-
}
+#endif // swift(>=4.2)
+
///
/// Error codes for critical errors
/// The device might report these fault codes on the screen.
/// If you encounter a fault code, please post on the meshtastic.discourse.group
/// and we'll try to help.
-public enum CriticalErrorCode: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum CriticalErrorCode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -997,6 +1016,11 @@ public enum CriticalErrorCode: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension CriticalErrorCode: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [CriticalErrorCode] = [
.none,
@@ -1014,14 +1038,99 @@ public enum CriticalErrorCode: SwiftProtobuf.Enum, Swift.CaseIterable {
.flashCorruptionRecoverable,
.flashCorruptionUnrecoverable,
]
+}
+
+#endif // swift(>=4.2)
+
+///
+/// Enum to indicate to clients whether this firmware is a special firmware build, like an event.
+/// The first 16 values are reserved for non-event special firmwares, like the Smart Citizen use case.
+public enum FirmwareEdition: SwiftProtobuf.Enum {
+ public typealias RawValue = Int
+
+ ///
+ /// Vanilla firmware
+ case vanilla // = 0
+
+ ///
+ /// Firmware for use in the Smart Citizen environmental monitoring network
+ case smartCitizen // = 1
+
+ ///
+ /// Open Sauce, the maker conference held yearly in CA
+ case openSauce // = 16
+
+ ///
+ /// DEFCON, the yearly hacker conference
+ case defcon // = 17
+
+ ///
+ /// Burning Man, the yearly hippie gathering in the desert
+ case burningMan // = 18
+
+ ///
+ /// Hamvention, the Dayton amateur radio convention
+ case hamvention // = 19
+
+ ///
+ /// Placeholder for DIY and unofficial events
+ case diyEdition // = 127
+ case UNRECOGNIZED(Int)
+
+ public init() {
+ self = .vanilla
+ }
+
+ public init?(rawValue: Int) {
+ switch rawValue {
+ case 0: self = .vanilla
+ case 1: self = .smartCitizen
+ case 16: self = .openSauce
+ case 17: self = .defcon
+ case 18: self = .burningMan
+ case 19: self = .hamvention
+ case 127: self = .diyEdition
+ default: self = .UNRECOGNIZED(rawValue)
+ }
+ }
+
+ public var rawValue: Int {
+ switch self {
+ case .vanilla: return 0
+ case .smartCitizen: return 1
+ case .openSauce: return 16
+ case .defcon: return 17
+ case .burningMan: return 18
+ case .hamvention: return 19
+ case .diyEdition: return 127
+ case .UNRECOGNIZED(let i): return i
+ }
+ }
}
+#if swift(>=4.2)
+
+extension FirmwareEdition: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [FirmwareEdition] = [
+ .vanilla,
+ .smartCitizen,
+ .openSauce,
+ .defcon,
+ .burningMan,
+ .hamvention,
+ .diyEdition,
+ ]
+}
+
+#endif // swift(>=4.2)
+
///
/// Enum for modules excluded from a device's configuration.
/// Each value represents a ModuleConfigType that can be toggled as excluded
/// by setting its corresponding bit in the `excluded_modules` bitmask field.
-public enum ExcludedModules: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum ExcludedModules: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1137,6 +1246,11 @@ public enum ExcludedModules: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension ExcludedModules: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [ExcludedModules] = [
.excludedNone,
@@ -1156,12 +1270,13 @@ public enum ExcludedModules: SwiftProtobuf.Enum, Swift.CaseIterable {
.bluetoothConfig,
.networkConfig,
]
-
}
+#endif // swift(>=4.2)
+
///
/// A GPS Position
-public struct Position: @unchecked Sendable {
+public struct Position {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1378,7 +1493,7 @@ public struct Position: @unchecked Sendable {
///
/// How the location was acquired: manual, onboard GPS, external (EUD) GPS
- public enum LocSource: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum LocSource: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1422,20 +1537,12 @@ public struct Position: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Position.LocSource] = [
- .locUnset,
- .locManual,
- .locInternal,
- .locExternal,
- ]
-
}
///
/// How the altitude was acquired: manual, GPS int/ext, etc
/// Default: same as location_source if present
- public enum AltSource: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum AltSource: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1485,15 +1592,6 @@ public struct Position: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Position.AltSource] = [
- .altUnset,
- .altManual,
- .altInternal,
- .altExternal,
- .altBarometric,
- ]
-
}
public init() {}
@@ -1501,6 +1599,31 @@ public struct Position: @unchecked Sendable {
fileprivate var _storage = _StorageClass.defaultInstance
}
+#if swift(>=4.2)
+
+extension Position.LocSource: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Position.LocSource] = [
+ .locUnset,
+ .locManual,
+ .locInternal,
+ .locExternal,
+ ]
+}
+
+extension Position.AltSource: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Position.AltSource] = [
+ .altUnset,
+ .altManual,
+ .altInternal,
+ .altExternal,
+ .altBarometric,
+ ]
+}
+
+#endif // swift(>=4.2)
+
///
/// Broadcast when a newly powered mesh node wants to find a node num it can use
/// Sent from the phone over bluetooth to set the user id for the owner of this node.
@@ -1522,7 +1645,7 @@ public struct Position: @unchecked Sendable {
/// A few nodenums are reserved and will never be requested:
/// 0xff - broadcast
/// 0 through 3 - for future use
-public struct User: @unchecked Sendable {
+public struct User {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1547,8 +1670,6 @@ public struct User: @unchecked Sendable {
/// Deprecated in Meshtastic 2.1.x
/// This is the addr of the radio.
/// Not populated by the phone, but added by the esp32 when broadcasting
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var macaddr: Data = Data()
///
@@ -1593,7 +1714,7 @@ public struct User: @unchecked Sendable {
///
/// A message used in a traceroute
-public struct RouteDiscovery: Sendable {
+public struct RouteDiscovery {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1621,7 +1742,7 @@ public struct RouteDiscovery: Sendable {
///
/// A Routing control Data packet handled by the routing module
-public struct Routing: Sendable {
+public struct Routing {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1661,7 +1782,7 @@ public struct Routing: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum OneOf_Variant: Equatable, Sendable {
+ public enum OneOf_Variant: Equatable {
///
/// A route request going from the requester
case routeRequest(RouteDiscovery)
@@ -1673,12 +1794,34 @@ public struct Routing: Sendable {
/// in addition to ack.fail_id to provide details on the type of failure).
case errorReason(Routing.Error)
+ #if !swift(>=4.1)
+ public static func ==(lhs: Routing.OneOf_Variant, rhs: Routing.OneOf_Variant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.routeRequest, .routeRequest): return {
+ guard case .routeRequest(let l) = lhs, case .routeRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.routeReply, .routeReply): return {
+ guard case .routeReply(let l) = lhs, case .routeReply(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.errorReason, .errorReason): return {
+ guard case .errorReason(let l) = lhs, case .errorReason(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
///
/// A failure in delivering a message (usually used for routing control messages, but might be provided in addition to ack.fail_id to provide
/// details on the type of failure).
- public enum Error: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Error: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1803,37 +1946,43 @@ public struct Routing: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [Routing.Error] = [
- .none,
- .noRoute,
- .gotNak,
- .timeout,
- .noInterface,
- .maxRetransmit,
- .noChannel,
- .tooLarge,
- .noResponse,
- .dutyCycleLimit,
- .badRequest,
- .notAuthorized,
- .pkiFailed,
- .pkiUnknownPubkey,
- .adminBadSessionKey,
- .adminPublicKeyUnauthorized,
- .rateLimitExceeded,
- ]
-
}
public init() {}
}
+#if swift(>=4.2)
+
+extension Routing.Error: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [Routing.Error] = [
+ .none,
+ .noRoute,
+ .gotNak,
+ .timeout,
+ .noInterface,
+ .maxRetransmit,
+ .noChannel,
+ .tooLarge,
+ .noResponse,
+ .dutyCycleLimit,
+ .badRequest,
+ .notAuthorized,
+ .pkiFailed,
+ .pkiUnknownPubkey,
+ .adminBadSessionKey,
+ .adminPublicKeyUnauthorized,
+ .rateLimitExceeded,
+ ]
+}
+
+#endif // swift(>=4.2)
+
///
/// (Formerly called SubPacket)
/// The payload portion fo a packet, this is the actual bytes that are sent
/// inside a radio packet (because from/to are broken out by the comms library)
-public struct DataMessage: @unchecked Sendable {
+public struct DataMessage {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1900,7 +2049,7 @@ public struct DataMessage: @unchecked Sendable {
///
/// The actual over-the-mesh message doing KeyVerification
-public struct KeyVerification: @unchecked Sendable {
+public struct KeyVerification {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1925,7 +2074,7 @@ public struct KeyVerification: @unchecked Sendable {
///
/// Waypoint message, used to share arbitrary locations across the mesh
-public struct Waypoint: Sendable {
+public struct Waypoint {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1987,7 +2136,7 @@ public struct Waypoint: Sendable {
///
/// This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server
-public struct MqttClientProxyMessage: @unchecked Sendable {
+public struct MqttClientProxyMessage {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -2028,7 +2177,7 @@ public struct MqttClientProxyMessage: @unchecked Sendable {
///
/// The actual service envelope payload or text for mqtt pub / sub
- public enum OneOf_PayloadVariant: Equatable, @unchecked Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// Bytes
case data(Data)
@@ -2036,6 +2185,24 @@ public struct MqttClientProxyMessage: @unchecked Sendable {
/// Text
case text(String)
+ #if !swift(>=4.1)
+ public static func ==(lhs: MqttClientProxyMessage.OneOf_PayloadVariant, rhs: MqttClientProxyMessage.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.data, .data): return {
+ guard case .data(let l) = lhs, case .data(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.text, .text): return {
+ guard case .text(let l) = lhs, case .text(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
@@ -2045,7 +2212,7 @@ public struct MqttClientProxyMessage: @unchecked Sendable {
/// A packet envelope sent/received over the mesh
/// only payload_variant is sent in the payload portion of the LORA packet.
/// The other fields are either not sent at all, or sent in the special 16 byte LORA header.
-public struct MeshPacket: @unchecked Sendable {
+public struct MeshPacket {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -2179,8 +2346,6 @@ public struct MeshPacket: @unchecked Sendable {
///
/// Describe if this message is delayed
- ///
- /// NOTE: This field was marked as deprecated in the .proto file.
public var delayed: MeshPacket.Delayed {
get {return _storage._delayed}
set {_uniqueStorage()._delayed = newValue}
@@ -2240,9 +2405,16 @@ public struct MeshPacket: @unchecked Sendable {
set {_uniqueStorage()._txAfter = newValue}
}
+ ///
+ /// Indicates which transport mechanism this packet arrived over
+ public var transportMechanism: MeshPacket.TransportMechanism {
+ get {return _storage._transportMechanism}
+ set {_uniqueStorage()._transportMechanism = newValue}
+ }
+
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum OneOf_PayloadVariant: Equatable, @unchecked Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// TODO: REPLACE
case decoded(DataMessage)
@@ -2250,6 +2422,24 @@ public struct MeshPacket: @unchecked Sendable {
/// TODO: REPLACE
case encrypted(Data)
+ #if !swift(>=4.1)
+ public static func ==(lhs: MeshPacket.OneOf_PayloadVariant, rhs: MeshPacket.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.decoded, .decoded): return {
+ guard case .decoded(let l) = lhs, case .decoded(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.encrypted, .encrypted): return {
+ guard case .encrypted(let l) = lhs, case .encrypted(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
///
@@ -2271,7 +2461,7 @@ public struct MeshPacket: @unchecked Sendable {
/// So I bit the bullet and implemented a new (internal - not sent over the air)
/// field in MeshPacket called 'priority'.
/// And the transmission queue in the router object is now a priority queue.
- public enum Priority: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Priority: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -2355,25 +2545,11 @@ public struct MeshPacket: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [MeshPacket.Priority] = [
- .unset,
- .min,
- .background,
- .default,
- .reliable,
- .response,
- .high,
- .alert,
- .ack,
- .max,
- ]
-
}
///
/// Identify if this is a delayed packet
- public enum Delayed: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Delayed: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -2411,12 +2587,77 @@ public struct MeshPacket: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [MeshPacket.Delayed] = [
- .noDelay,
- .broadcast,
- .direct,
- ]
+ }
+
+ ///
+ /// Enum to identify which transport mechanism this packet arrived over
+ public enum TransportMechanism: SwiftProtobuf.Enum {
+ public typealias RawValue = Int
+
+ ///
+ /// The default case is that the node generated a packet itself
+ case transportInternal // = 0
+
+ ///
+ /// Arrived via the primary LoRa radio
+ case transportLora // = 1
+
+ ///
+ /// Arrived via a secondary LoRa radio
+ case transportLoraAlt1 // = 2
+
+ ///
+ /// Arrived via a tertiary LoRa radio
+ case transportLoraAlt2 // = 3
+
+ ///
+ /// Arrived via a quaternary LoRa radio
+ case transportLoraAlt3 // = 4
+
+ ///
+ /// Arrived via an MQTT connection
+ case transportMqtt // = 5
+
+ ///
+ /// Arrived via Multicast UDP
+ case transportMulticastUdp // = 6
+
+ ///
+ /// Arrived via API connection
+ case transportApi // = 7
+ case UNRECOGNIZED(Int)
+
+ public init() {
+ self = .transportInternal
+ }
+
+ public init?(rawValue: Int) {
+ switch rawValue {
+ case 0: self = .transportInternal
+ case 1: self = .transportLora
+ case 2: self = .transportLoraAlt1
+ case 3: self = .transportLoraAlt2
+ case 4: self = .transportLoraAlt3
+ case 5: self = .transportMqtt
+ case 6: self = .transportMulticastUdp
+ case 7: self = .transportApi
+ default: self = .UNRECOGNIZED(rawValue)
+ }
+ }
+
+ public var rawValue: Int {
+ switch self {
+ case .transportInternal: return 0
+ case .transportLora: return 1
+ case .transportLoraAlt1: return 2
+ case .transportLoraAlt2: return 3
+ case .transportLoraAlt3: return 4
+ case .transportMqtt: return 5
+ case .transportMulticastUdp: return 6
+ case .transportApi: return 7
+ case .UNRECOGNIZED(let i): return i
+ }
+ }
}
@@ -2425,6 +2666,49 @@ public struct MeshPacket: @unchecked Sendable {
fileprivate var _storage = _StorageClass.defaultInstance
}
+#if swift(>=4.2)
+
+extension MeshPacket.Priority: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [MeshPacket.Priority] = [
+ .unset,
+ .min,
+ .background,
+ .default,
+ .reliable,
+ .response,
+ .high,
+ .alert,
+ .ack,
+ .max,
+ ]
+}
+
+extension MeshPacket.Delayed: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [MeshPacket.Delayed] = [
+ .noDelay,
+ .broadcast,
+ .direct,
+ ]
+}
+
+extension MeshPacket.TransportMechanism: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [MeshPacket.TransportMechanism] = [
+ .transportInternal,
+ .transportLora,
+ .transportLoraAlt1,
+ .transportLoraAlt2,
+ .transportLoraAlt3,
+ .transportMqtt,
+ .transportMulticastUdp,
+ .transportApi,
+ ]
+}
+
+#endif // swift(>=4.2)
+
///
/// The bluetooth to device link:
/// Old BTLE protocol docs from TODO, merge in above and make real docs...
@@ -2442,7 +2726,7 @@ public struct MeshPacket: @unchecked Sendable {
/// level etc) SET_CONFIG (switches device to a new set of radio params and
/// preshared key, drops all existing nodes, force our node to rejoin this new group)
/// Full information about a node on the mesh
-public struct NodeInfo: @unchecked Sendable {
+public struct NodeInfo {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -2564,7 +2848,7 @@ public struct NodeInfo: @unchecked Sendable {
/// Unique local debugging info for this node
/// Note: we don't include position or the user info, because that will come in the
/// Sent to the phone in response to WantNodes.
-public struct MyNodeInfo: @unchecked Sendable {
+public struct MyNodeInfo {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -2592,6 +2876,15 @@ public struct MyNodeInfo: @unchecked Sendable {
/// The PlatformIO environment used to build this firmware
public var pioEnv: String = String()
+ ///
+ /// The indicator for whether this device is running event firmware and which
+ public var firmwareEdition: FirmwareEdition = .vanilla
+
+ ///
+ /// The number of nodes in the nodedb.
+ /// This is used by the phone to know how many NodeInfo packets to expect on want_config
+ public var nodedbCount: UInt32 = 0
+
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
@@ -2603,7 +2896,7 @@ public struct MyNodeInfo: @unchecked Sendable {
/// on the message it is assumed to be a continuation of the previously sent message.
/// This allows the device code to use fixed maxlen 64 byte strings for messages,
/// and then extend as needed by emitting multiple records.
-public struct LogRecord: Sendable {
+public struct LogRecord {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -2628,7 +2921,7 @@ public struct LogRecord: Sendable {
///
/// Log levels, chosen to match python logging conventions.
- public enum Level: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Level: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -2690,23 +2983,29 @@ public struct LogRecord: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [LogRecord.Level] = [
- .unset,
- .critical,
- .error,
- .warning,
- .info,
- .debug,
- .trace,
- ]
-
}
public init() {}
}
-public struct QueueStatus: Sendable {
+#if swift(>=4.2)
+
+extension LogRecord.Level: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [LogRecord.Level] = [
+ .unset,
+ .critical,
+ .error,
+ .warning,
+ .info,
+ .debug,
+ .trace,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+public struct QueueStatus {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -2733,7 +3032,7 @@ public struct QueueStatus: Sendable {
/// It will support READ and NOTIFY. When a new packet arrives the device will BLE notify?
/// It will sit in that descriptor until consumed by the phone,
/// at which point the next item in the FIFO will be populated.
-public struct FromRadio: Sendable {
+public struct FromRadio {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -2919,7 +3218,7 @@ public struct FromRadio: Sendable {
///
/// Log levels, chosen to match python logging conventions.
- public enum OneOf_PayloadVariant: Equatable, Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// Log levels, chosen to match python logging conventions.
case packet(MeshPacket)
@@ -2977,6 +3276,80 @@ public struct FromRadio: Sendable {
/// Persistent data for device-ui
case deviceuiConfig(DeviceUIConfig)
+ #if !swift(>=4.1)
+ public static func ==(lhs: FromRadio.OneOf_PayloadVariant, rhs: FromRadio.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.packet, .packet): return {
+ guard case .packet(let l) = lhs, case .packet(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.myInfo, .myInfo): return {
+ guard case .myInfo(let l) = lhs, case .myInfo(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.nodeInfo, .nodeInfo): return {
+ guard case .nodeInfo(let l) = lhs, case .nodeInfo(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.config, .config): return {
+ guard case .config(let l) = lhs, case .config(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.logRecord, .logRecord): return {
+ guard case .logRecord(let l) = lhs, case .logRecord(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.configCompleteID, .configCompleteID): return {
+ guard case .configCompleteID(let l) = lhs, case .configCompleteID(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.rebooted, .rebooted): return {
+ guard case .rebooted(let l) = lhs, case .rebooted(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.moduleConfig, .moduleConfig): return {
+ guard case .moduleConfig(let l) = lhs, case .moduleConfig(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.channel, .channel): return {
+ guard case .channel(let l) = lhs, case .channel(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.queueStatus, .queueStatus): return {
+ guard case .queueStatus(let l) = lhs, case .queueStatus(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.xmodemPacket, .xmodemPacket): return {
+ guard case .xmodemPacket(let l) = lhs, case .xmodemPacket(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.metadata, .metadata): return {
+ guard case .metadata(let l) = lhs, case .metadata(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.mqttClientProxyMessage, .mqttClientProxyMessage): return {
+ guard case .mqttClientProxyMessage(let l) = lhs, case .mqttClientProxyMessage(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.fileInfo, .fileInfo): return {
+ guard case .fileInfo(let l) = lhs, case .fileInfo(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.clientNotification, .clientNotification): return {
+ guard case .clientNotification(let l) = lhs, case .clientNotification(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.deviceuiConfig, .deviceuiConfig): return {
+ guard case .deviceuiConfig(let l) = lhs, case .deviceuiConfig(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
@@ -2987,7 +3360,7 @@ public struct FromRadio: Sendable {
/// To be used for important messages that should to be displayed to the user
/// in the form of push notifications or validation messages when saving
/// invalid configuration.
-public struct ClientNotification: Sendable {
+public struct ClientNotification {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3059,13 +3432,43 @@ public struct ClientNotification: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum OneOf_PayloadVariant: Equatable, Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
case keyVerificationNumberInform(KeyVerificationNumberInform)
case keyVerificationNumberRequest(KeyVerificationNumberRequest)
case keyVerificationFinal(KeyVerificationFinal)
case duplicatedPublicKey(DuplicatedPublicKey)
case lowEntropyKey(LowEntropyKey)
+ #if !swift(>=4.1)
+ public static func ==(lhs: ClientNotification.OneOf_PayloadVariant, rhs: ClientNotification.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.keyVerificationNumberInform, .keyVerificationNumberInform): return {
+ guard case .keyVerificationNumberInform(let l) = lhs, case .keyVerificationNumberInform(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.keyVerificationNumberRequest, .keyVerificationNumberRequest): return {
+ guard case .keyVerificationNumberRequest(let l) = lhs, case .keyVerificationNumberRequest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.keyVerificationFinal, .keyVerificationFinal): return {
+ guard case .keyVerificationFinal(let l) = lhs, case .keyVerificationFinal(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.duplicatedPublicKey, .duplicatedPublicKey): return {
+ guard case .duplicatedPublicKey(let l) = lhs, case .duplicatedPublicKey(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.lowEntropyKey, .lowEntropyKey): return {
+ guard case .lowEntropyKey(let l) = lhs, case .lowEntropyKey(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
@@ -3073,7 +3476,7 @@ public struct ClientNotification: Sendable {
fileprivate var _replyID: UInt32? = nil
}
-public struct KeyVerificationNumberInform: Sendable {
+public struct KeyVerificationNumberInform {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3089,7 +3492,7 @@ public struct KeyVerificationNumberInform: Sendable {
public init() {}
}
-public struct KeyVerificationNumberRequest: Sendable {
+public struct KeyVerificationNumberRequest {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3103,7 +3506,7 @@ public struct KeyVerificationNumberRequest: Sendable {
public init() {}
}
-public struct KeyVerificationFinal: Sendable {
+public struct KeyVerificationFinal {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3121,7 +3524,7 @@ public struct KeyVerificationFinal: Sendable {
public init() {}
}
-public struct DuplicatedPublicKey: Sendable {
+public struct DuplicatedPublicKey {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3131,7 +3534,7 @@ public struct DuplicatedPublicKey: Sendable {
public init() {}
}
-public struct LowEntropyKey: Sendable {
+public struct LowEntropyKey {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3143,7 +3546,7 @@ public struct LowEntropyKey: Sendable {
///
/// Individual File info for the device
-public struct FileInfo: Sendable {
+public struct FileInfo {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3164,7 +3567,7 @@ public struct FileInfo: Sendable {
///
/// Packets/commands to the radio will be written (reliably) to the toRadio characteristic.
/// Once the write completes the phone can assume it is handled.
-public struct ToRadio: Sendable {
+public struct ToRadio {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3244,7 +3647,7 @@ public struct ToRadio: Sendable {
///
/// Log levels, chosen to match python logging conventions.
- public enum OneOf_PayloadVariant: Equatable, Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// Send this packet on the mesh
case packet(MeshPacket)
@@ -3271,6 +3674,40 @@ public struct ToRadio: Sendable {
/// Heartbeat message (used to keep the device connection awake on serial)
case heartbeat(Heartbeat)
+ #if !swift(>=4.1)
+ public static func ==(lhs: ToRadio.OneOf_PayloadVariant, rhs: ToRadio.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.packet, .packet): return {
+ guard case .packet(let l) = lhs, case .packet(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.wantConfigID, .wantConfigID): return {
+ guard case .wantConfigID(let l) = lhs, case .wantConfigID(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.disconnect, .disconnect): return {
+ guard case .disconnect(let l) = lhs, case .disconnect(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.xmodemPacket, .xmodemPacket): return {
+ guard case .xmodemPacket(let l) = lhs, case .xmodemPacket(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.mqttClientProxyMessage, .mqttClientProxyMessage): return {
+ guard case .mqttClientProxyMessage(let l) = lhs, case .mqttClientProxyMessage(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.heartbeat, .heartbeat): return {
+ guard case .heartbeat(let l) = lhs, case .heartbeat(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
@@ -3278,7 +3715,7 @@ public struct ToRadio: Sendable {
///
/// Compressed message payload
-public struct Compressed: @unchecked Sendable {
+public struct Compressed {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3298,7 +3735,7 @@ public struct Compressed: @unchecked Sendable {
///
/// Full info on edges for a single node
-public struct NeighborInfo: Sendable {
+public struct NeighborInfo {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3326,7 +3763,7 @@ public struct NeighborInfo: Sendable {
///
/// A single edge in the mesh
-public struct Neighbor: Sendable {
+public struct Neighbor {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3356,7 +3793,7 @@ public struct Neighbor: Sendable {
///
/// Device metadata response
-public struct DeviceMetadata: Sendable {
+public struct DeviceMetadata {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3418,11 +3855,15 @@ public struct DeviceMetadata: Sendable {
///
/// A heartbeat message is sent to the node from the client to keep the connection alive.
/// This is currently only needed to keep serial connections alive, but can be used by any PhoneAPI.
-public struct Heartbeat: Sendable {
+public struct Heartbeat {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
+ ///
+ /// The nonce of the heartbeat message
+ public var nonce: UInt32 = 0
+
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
@@ -3430,7 +3871,7 @@ public struct Heartbeat: Sendable {
///
/// RemoteHardwarePins associated with a node
-public struct NodeRemoteHardwarePin: Sendable {
+public struct NodeRemoteHardwarePin {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3457,7 +3898,7 @@ public struct NodeRemoteHardwarePin: Sendable {
fileprivate var _pin: RemoteHardwarePin? = nil
}
-public struct ChunkedPayload: @unchecked Sendable {
+public struct ChunkedPayload {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3485,7 +3926,7 @@ public struct ChunkedPayload: @unchecked Sendable {
///
/// Wrapper message for broken repeated oneof support
-public struct resend_chunks: Sendable {
+public struct resend_chunks {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3499,7 +3940,7 @@ public struct resend_chunks: Sendable {
///
/// Responses to a ChunkedPayload request
-public struct ChunkedPayloadResponse: Sendable {
+public struct ChunkedPayloadResponse {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -3542,7 +3983,7 @@ public struct ChunkedPayloadResponse: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum OneOf_PayloadVariant: Equatable, Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// Request to transfer chunked payload
case requestTransfer(Bool)
@@ -3553,11 +3994,86 @@ public struct ChunkedPayloadResponse: Sendable {
/// Request missing indexes in the chunked payload
case resendChunks(resend_chunks)
+ #if !swift(>=4.1)
+ public static func ==(lhs: ChunkedPayloadResponse.OneOf_PayloadVariant, rhs: ChunkedPayloadResponse.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.requestTransfer, .requestTransfer): return {
+ guard case .requestTransfer(let l) = lhs, case .requestTransfer(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.acceptTransfer, .acceptTransfer): return {
+ guard case .acceptTransfer(let l) = lhs, case .acceptTransfer(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.resendChunks, .resendChunks): return {
+ guard case .resendChunks(let l) = lhs, case .resendChunks(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension HardwareModel: @unchecked Sendable {}
+extension Constants: @unchecked Sendable {}
+extension CriticalErrorCode: @unchecked Sendable {}
+extension FirmwareEdition: @unchecked Sendable {}
+extension ExcludedModules: @unchecked Sendable {}
+extension Position: @unchecked Sendable {}
+extension Position.LocSource: @unchecked Sendable {}
+extension Position.AltSource: @unchecked Sendable {}
+extension User: @unchecked Sendable {}
+extension RouteDiscovery: @unchecked Sendable {}
+extension Routing: @unchecked Sendable {}
+extension Routing.OneOf_Variant: @unchecked Sendable {}
+extension Routing.Error: @unchecked Sendable {}
+extension DataMessage: @unchecked Sendable {}
+extension KeyVerification: @unchecked Sendable {}
+extension Waypoint: @unchecked Sendable {}
+extension MqttClientProxyMessage: @unchecked Sendable {}
+extension MqttClientProxyMessage.OneOf_PayloadVariant: @unchecked Sendable {}
+extension MeshPacket: @unchecked Sendable {}
+extension MeshPacket.OneOf_PayloadVariant: @unchecked Sendable {}
+extension MeshPacket.Priority: @unchecked Sendable {}
+extension MeshPacket.Delayed: @unchecked Sendable {}
+extension MeshPacket.TransportMechanism: @unchecked Sendable {}
+extension NodeInfo: @unchecked Sendable {}
+extension MyNodeInfo: @unchecked Sendable {}
+extension LogRecord: @unchecked Sendable {}
+extension LogRecord.Level: @unchecked Sendable {}
+extension QueueStatus: @unchecked Sendable {}
+extension FromRadio: @unchecked Sendable {}
+extension FromRadio.OneOf_PayloadVariant: @unchecked Sendable {}
+extension ClientNotification: @unchecked Sendable {}
+extension ClientNotification.OneOf_PayloadVariant: @unchecked Sendable {}
+extension KeyVerificationNumberInform: @unchecked Sendable {}
+extension KeyVerificationNumberRequest: @unchecked Sendable {}
+extension KeyVerificationFinal: @unchecked Sendable {}
+extension DuplicatedPublicKey: @unchecked Sendable {}
+extension LowEntropyKey: @unchecked Sendable {}
+extension FileInfo: @unchecked Sendable {}
+extension ToRadio: @unchecked Sendable {}
+extension ToRadio.OneOf_PayloadVariant: @unchecked Sendable {}
+extension Compressed: @unchecked Sendable {}
+extension NeighborInfo: @unchecked Sendable {}
+extension Neighbor: @unchecked Sendable {}
+extension DeviceMetadata: @unchecked Sendable {}
+extension Heartbeat: @unchecked Sendable {}
+extension NodeRemoteHardwarePin: @unchecked Sendable {}
+extension ChunkedPayload: @unchecked Sendable {}
+extension resend_chunks: @unchecked Sendable {}
+extension ChunkedPayloadResponse: @unchecked Sendable {}
+extension ChunkedPayloadResponse.OneOf_PayloadVariant: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
@@ -3672,6 +4188,7 @@ extension HardwareModel: SwiftProtobuf._ProtoNameProviding {
105: .same(proto: "WISMESH_TAG"),
106: .same(proto: "RAK3312"),
107: .same(proto: "THINKNODE_M5"),
+ 108: .same(proto: "HELTEC_MESH_SOLAR"),
255: .same(proto: "PRIVATE_HW"),
]
}
@@ -3702,6 +4219,18 @@ extension CriticalErrorCode: SwiftProtobuf._ProtoNameProviding {
]
}
+extension FirmwareEdition: SwiftProtobuf._ProtoNameProviding {
+ public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
+ 0: .same(proto: "VANILLA"),
+ 1: .same(proto: "SMART_CITIZEN"),
+ 16: .same(proto: "OPEN_SAUCE"),
+ 17: .same(proto: "DEFCON"),
+ 18: .same(proto: "BURNING_MAN"),
+ 19: .same(proto: "HAMVENTION"),
+ 127: .same(proto: "DIY_EDITION"),
+ ]
+}
+
extension ExcludedModules: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
0: .same(proto: "EXCLUDED_NONE"),
@@ -4534,6 +5063,7 @@ extension MeshPacket: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
18: .standard(proto: "next_hop"),
19: .standard(proto: "relay_node"),
20: .standard(proto: "tx_after"),
+ 21: .standard(proto: "transport_mechanism"),
]
fileprivate class _StorageClass {
@@ -4556,6 +5086,7 @@ extension MeshPacket: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
var _nextHop: UInt32 = 0
var _relayNode: UInt32 = 0
var _txAfter: UInt32 = 0
+ var _transportMechanism: MeshPacket.TransportMechanism = .transportInternal
#if swift(>=5.10)
// This property is used as the initial default value for new instances of the type.
@@ -4589,6 +5120,7 @@ extension MeshPacket: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
_nextHop = source._nextHop
_relayNode = source._relayNode
_txAfter = source._txAfter
+ _transportMechanism = source._transportMechanism
}
}
@@ -4646,6 +5178,7 @@ extension MeshPacket: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
case 18: try { try decoder.decodeSingularUInt32Field(value: &_storage._nextHop) }()
case 19: try { try decoder.decodeSingularUInt32Field(value: &_storage._relayNode) }()
case 20: try { try decoder.decodeSingularUInt32Field(value: &_storage._txAfter) }()
+ case 21: try { try decoder.decodeSingularEnumField(value: &_storage._transportMechanism) }()
default: break
}
}
@@ -4684,7 +5217,7 @@ extension MeshPacket: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
if _storage._rxTime != 0 {
try visitor.visitSingularFixed32Field(value: _storage._rxTime, fieldNumber: 7)
}
- if _storage._rxSnr.bitPattern != 0 {
+ if _storage._rxSnr != 0 {
try visitor.visitSingularFloatField(value: _storage._rxSnr, fieldNumber: 8)
}
if _storage._hopLimit != 0 {
@@ -4723,6 +5256,9 @@ extension MeshPacket: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
if _storage._txAfter != 0 {
try visitor.visitSingularUInt32Field(value: _storage._txAfter, fieldNumber: 20)
}
+ if _storage._transportMechanism != .transportInternal {
+ try visitor.visitSingularEnumField(value: _storage._transportMechanism, fieldNumber: 21)
+ }
}
try unknownFields.traverse(visitor: &visitor)
}
@@ -4751,6 +5287,7 @@ extension MeshPacket: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
if _storage._nextHop != rhs_storage._nextHop {return false}
if _storage._relayNode != rhs_storage._relayNode {return false}
if _storage._txAfter != rhs_storage._txAfter {return false}
+ if _storage._transportMechanism != rhs_storage._transportMechanism {return false}
return true
}
if !storagesAreEqual {return false}
@@ -4783,6 +5320,19 @@ extension MeshPacket.Delayed: SwiftProtobuf._ProtoNameProviding {
]
}
+extension MeshPacket.TransportMechanism: SwiftProtobuf._ProtoNameProviding {
+ public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
+ 0: .same(proto: "TRANSPORT_INTERNAL"),
+ 1: .same(proto: "TRANSPORT_LORA"),
+ 2: .same(proto: "TRANSPORT_LORA_ALT1"),
+ 3: .same(proto: "TRANSPORT_LORA_ALT2"),
+ 4: .same(proto: "TRANSPORT_LORA_ALT3"),
+ 5: .same(proto: "TRANSPORT_MQTT"),
+ 6: .same(proto: "TRANSPORT_MULTICAST_UDP"),
+ 7: .same(proto: "TRANSPORT_API"),
+ ]
+}
+
extension NodeInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = _protobuf_package + ".NodeInfo"
public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
@@ -4890,7 +5440,7 @@ extension NodeInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
try { if let v = _storage._position {
try visitor.visitSingularMessageField(value: v, fieldNumber: 3)
} }()
- if _storage._snr.bitPattern != 0 {
+ if _storage._snr != 0 {
try visitor.visitSingularFloatField(value: _storage._snr, fieldNumber: 4)
}
if _storage._lastHeard != 0 {
@@ -4955,6 +5505,8 @@ extension MyNodeInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
11: .standard(proto: "min_app_version"),
12: .standard(proto: "device_id"),
13: .standard(proto: "pio_env"),
+ 14: .standard(proto: "firmware_edition"),
+ 15: .standard(proto: "nodedb_count"),
]
public mutating func decodeMessage(decoder: inout D) throws {
@@ -4968,6 +5520,8 @@ extension MyNodeInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
case 11: try { try decoder.decodeSingularUInt32Field(value: &self.minAppVersion) }()
case 12: try { try decoder.decodeSingularBytesField(value: &self.deviceID) }()
case 13: try { try decoder.decodeSingularStringField(value: &self.pioEnv) }()
+ case 14: try { try decoder.decodeSingularEnumField(value: &self.firmwareEdition) }()
+ case 15: try { try decoder.decodeSingularUInt32Field(value: &self.nodedbCount) }()
default: break
}
}
@@ -4989,6 +5543,12 @@ extension MyNodeInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
if !self.pioEnv.isEmpty {
try visitor.visitSingularStringField(value: self.pioEnv, fieldNumber: 13)
}
+ if self.firmwareEdition != .vanilla {
+ try visitor.visitSingularEnumField(value: self.firmwareEdition, fieldNumber: 14)
+ }
+ if self.nodedbCount != 0 {
+ try visitor.visitSingularUInt32Field(value: self.nodedbCount, fieldNumber: 15)
+ }
try unknownFields.traverse(visitor: &visitor)
}
@@ -4998,6 +5558,8 @@ extension MyNodeInfo: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
if lhs.minAppVersion != rhs.minAppVersion {return false}
if lhs.deviceID != rhs.deviceID {return false}
if lhs.pioEnv != rhs.pioEnv {return false}
+ if lhs.firmwareEdition != rhs.firmwareEdition {return false}
+ if lhs.nodedbCount != rhs.nodedbCount {return false}
if lhs.unknownFields != rhs.unknownFields {return false}
return true
}
@@ -5718,8 +6280,8 @@ extension DuplicatedPublicKey: SwiftProtobuf.Message, SwiftProtobuf._MessageImpl
public static let _protobuf_nameMap = SwiftProtobuf._NameMap()
public mutating func decodeMessage(decoder: inout D) throws {
- // Load everything into unknown fields
- while try decoder.nextFieldNumber() != nil {}
+ while let _ = try decoder.nextFieldNumber() {
+ }
}
public func traverse(visitor: inout V) throws {
@@ -5737,8 +6299,8 @@ extension LowEntropyKey: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementa
public static let _protobuf_nameMap = SwiftProtobuf._NameMap()
public mutating func decodeMessage(decoder: inout D) throws {
- // Load everything into unknown fields
- while try decoder.nextFieldNumber() != nil {}
+ while let _ = try decoder.nextFieldNumber() {
+ }
}
public func traverse(visitor: inout V) throws {
@@ -6037,7 +6599,7 @@ extension Neighbor: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
if self.nodeID != 0 {
try visitor.visitSingularUInt32Field(value: self.nodeID, fieldNumber: 1)
}
- if self.snr.bitPattern != 0 {
+ if self.snr != 0 {
try visitor.visitSingularFloatField(value: self.snr, fieldNumber: 2)
}
if self.lastRxTime != 0 {
@@ -6159,18 +6721,31 @@ extension DeviceMetadata: SwiftProtobuf.Message, SwiftProtobuf._MessageImplement
extension Heartbeat: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = _protobuf_package + ".Heartbeat"
- public static let _protobuf_nameMap = SwiftProtobuf._NameMap()
+ public static let _protobuf_nameMap: SwiftProtobuf._NameMap = [
+ 1: .same(proto: "nonce"),
+ ]
public mutating func decodeMessage(decoder: inout D) throws {
- // Load everything into unknown fields
- while try decoder.nextFieldNumber() != nil {}
+ while let fieldNumber = try decoder.nextFieldNumber() {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch fieldNumber {
+ case 1: try { try decoder.decodeSingularUInt32Field(value: &self.nonce) }()
+ default: break
+ }
+ }
}
public func traverse(visitor: inout V) throws {
+ if self.nonce != 0 {
+ try visitor.visitSingularUInt32Field(value: self.nonce, fieldNumber: 1)
+ }
try unknownFields.traverse(visitor: &visitor)
}
public static func ==(lhs: Heartbeat, rhs: Heartbeat) -> Bool {
+ if lhs.nonce != rhs.nonce {return false}
if lhs.unknownFields != rhs.unknownFields {return false}
return true
}
diff --git a/MeshtasticProtobufs/Sources/meshtastic/module_config.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/module_config.pb.swift
index c2e81366..ef376888 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/module_config.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/module_config.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/module_config.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -20,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public enum RemoteHardwarePinType: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum RemoteHardwarePinType: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -58,18 +58,24 @@ public enum RemoteHardwarePinType: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension RemoteHardwarePinType: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [RemoteHardwarePinType] = [
.unknown,
.digitalRead,
.digitalWrite,
]
-
}
+#endif // swift(>=4.2)
+
///
/// Module Config
-public struct ModuleConfig: Sendable {
+public struct ModuleConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -212,7 +218,7 @@ public struct ModuleConfig: Sendable {
///
/// TODO: REPLACE
- public enum OneOf_PayloadVariant: Equatable, Sendable {
+ public enum OneOf_PayloadVariant: Equatable {
///
/// TODO: REPLACE
case mqtt(ModuleConfig.MQTTConfig)
@@ -253,11 +259,73 @@ public struct ModuleConfig: Sendable {
/// TODO: REPLACE
case paxcounter(ModuleConfig.PaxcounterConfig)
+ #if !swift(>=4.1)
+ public static func ==(lhs: ModuleConfig.OneOf_PayloadVariant, rhs: ModuleConfig.OneOf_PayloadVariant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.mqtt, .mqtt): return {
+ guard case .mqtt(let l) = lhs, case .mqtt(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.serial, .serial): return {
+ guard case .serial(let l) = lhs, case .serial(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.externalNotification, .externalNotification): return {
+ guard case .externalNotification(let l) = lhs, case .externalNotification(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.storeForward, .storeForward): return {
+ guard case .storeForward(let l) = lhs, case .storeForward(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.rangeTest, .rangeTest): return {
+ guard case .rangeTest(let l) = lhs, case .rangeTest(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.telemetry, .telemetry): return {
+ guard case .telemetry(let l) = lhs, case .telemetry(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.cannedMessage, .cannedMessage): return {
+ guard case .cannedMessage(let l) = lhs, case .cannedMessage(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.audio, .audio): return {
+ guard case .audio(let l) = lhs, case .audio(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.remoteHardware, .remoteHardware): return {
+ guard case .remoteHardware(let l) = lhs, case .remoteHardware(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.neighborInfo, .neighborInfo): return {
+ guard case .neighborInfo(let l) = lhs, case .neighborInfo(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.ambientLighting, .ambientLighting): return {
+ guard case .ambientLighting(let l) = lhs, case .ambientLighting(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.detectionSensor, .detectionSensor): return {
+ guard case .detectionSensor(let l) = lhs, case .detectionSensor(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.paxcounter, .paxcounter): return {
+ guard case .paxcounter(let l) = lhs, case .paxcounter(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
///
/// MQTT Client Config
- public struct MQTTConfig: Sendable {
+ public struct MQTTConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -332,7 +400,7 @@ public struct ModuleConfig: Sendable {
///
/// Settings for reporting unencrypted information about our node to a map via MQTT
- public struct MapReportSettings: Sendable {
+ public struct MapReportSettings {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -356,7 +424,7 @@ public struct ModuleConfig: Sendable {
///
/// RemoteHardwareModule Config
- public struct RemoteHardwareConfig: Sendable {
+ public struct RemoteHardwareConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -380,7 +448,7 @@ public struct ModuleConfig: Sendable {
///
/// NeighborInfoModule Config
- public struct NeighborInfoConfig: Sendable {
+ public struct NeighborInfoConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -406,7 +474,7 @@ public struct ModuleConfig: Sendable {
///
/// Detection Sensor Module Config
- public struct DetectionSensorConfig: Sendable {
+ public struct DetectionSensorConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -453,7 +521,7 @@ public struct ModuleConfig: Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum TriggerType: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum TriggerType: SwiftProtobuf.Enum {
public typealias RawValue = Int
/// Event is triggered if pin is low
@@ -505,16 +573,6 @@ public struct ModuleConfig: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [ModuleConfig.DetectionSensorConfig.TriggerType] = [
- .logicLow,
- .logicHigh,
- .fallingEdge,
- .risingEdge,
- .eitherEdgeActiveLow,
- .eitherEdgeActiveHigh,
- ]
-
}
public init() {}
@@ -522,7 +580,7 @@ public struct ModuleConfig: Sendable {
///
/// Audio Config for codec2 voice
- public struct AudioConfig: Sendable {
+ public struct AudioConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -559,7 +617,7 @@ public struct ModuleConfig: Sendable {
///
/// Baudrate for codec2 voice
- public enum Audio_Baud: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Audio_Baud: SwiftProtobuf.Enum {
public typealias RawValue = Int
case codec2Default // = 0
case codec23200 // = 1
@@ -606,19 +664,6 @@ public struct ModuleConfig: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [ModuleConfig.AudioConfig.Audio_Baud] = [
- .codec2Default,
- .codec23200,
- .codec22400,
- .codec21600,
- .codec21400,
- .codec21300,
- .codec21200,
- .codec2700,
- .codec2700B,
- ]
-
}
public init() {}
@@ -626,7 +671,7 @@ public struct ModuleConfig: Sendable {
///
/// Config for the Paxcounter Module
- public struct PaxcounterConfig: Sendable {
+ public struct PaxcounterConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -652,7 +697,7 @@ public struct ModuleConfig: Sendable {
///
/// Serial Config
- public struct SerialConfig: Sendable {
+ public struct SerialConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -695,7 +740,7 @@ public struct ModuleConfig: Sendable {
///
/// TODO: REPLACE
- public enum Serial_Baud: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Serial_Baud: SwiftProtobuf.Enum {
public typealias RawValue = Int
case baudDefault // = 0
case baud110 // = 1
@@ -763,31 +808,11 @@ public struct ModuleConfig: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [ModuleConfig.SerialConfig.Serial_Baud] = [
- .baudDefault,
- .baud110,
- .baud300,
- .baud600,
- .baud1200,
- .baud2400,
- .baud4800,
- .baud9600,
- .baud19200,
- .baud38400,
- .baud57600,
- .baud115200,
- .baud230400,
- .baud460800,
- .baud576000,
- .baud921600,
- ]
-
}
///
/// TODO: REPLACE
- public enum Serial_Mode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Serial_Mode: SwiftProtobuf.Enum {
public typealias RawValue = Int
case `default` // = 0
case simple // = 1
@@ -804,6 +829,10 @@ public struct ModuleConfig: Sendable {
/// VE.Direct is a serial protocol used by Victron Energy products
/// https://beta.ivc.no/wiki/index.php/Victron_VE_Direct_DIY_Cable
case veDirect // = 7
+
+ ///Used to configure and view some parameters of MeshSolar.
+ ///https://heltec.org/project/meshsolar/
+ case msConfig // = 8
case UNRECOGNIZED(Int)
public init() {
@@ -820,6 +849,7 @@ public struct ModuleConfig: Sendable {
case 5: self = .caltopo
case 6: self = .ws85
case 7: self = .veDirect
+ case 8: self = .msConfig
default: self = .UNRECOGNIZED(rawValue)
}
}
@@ -834,22 +864,11 @@ public struct ModuleConfig: Sendable {
case .caltopo: return 5
case .ws85: return 6
case .veDirect: return 7
+ case .msConfig: return 8
case .UNRECOGNIZED(let i): return i
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [ModuleConfig.SerialConfig.Serial_Mode] = [
- .default,
- .simple,
- .proto,
- .textmsg,
- .nmea,
- .caltopo,
- .ws85,
- .veDirect,
- ]
-
}
public init() {}
@@ -857,7 +876,7 @@ public struct ModuleConfig: Sendable {
///
/// External Notifications Config
- public struct ExternalNotificationConfig: Sendable {
+ public struct ExternalNotificationConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -940,7 +959,7 @@ public struct ModuleConfig: Sendable {
///
/// Store and Forward Module Config
- public struct StoreForwardConfig: Sendable {
+ public struct StoreForwardConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -976,7 +995,7 @@ public struct ModuleConfig: Sendable {
///
/// Preferences for the RangeTestModule
- public struct RangeTestConfig: Sendable {
+ public struct RangeTestConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1001,7 +1020,7 @@ public struct ModuleConfig: Sendable {
///
/// Configuration for both device and environment metrics
- public struct TelemetryConfig: Sendable {
+ public struct TelemetryConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1070,7 +1089,7 @@ public struct ModuleConfig: Sendable {
///
/// Canned Messages Module Config
- public struct CannedMessageConfig: Sendable {
+ public struct CannedMessageConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1125,7 +1144,7 @@ public struct ModuleConfig: Sendable {
///
/// TODO: REPLACE
- public enum InputEventChar: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum InputEventChar: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -1193,18 +1212,6 @@ public struct ModuleConfig: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [ModuleConfig.CannedMessageConfig.InputEventChar] = [
- .none,
- .up,
- .down,
- .left,
- .right,
- .select,
- .back,
- .cancel,
- ]
-
}
public init() {}
@@ -1213,7 +1220,7 @@ public struct ModuleConfig: Sendable {
///
///Ambient Lighting Module - Settings for control of onboard LEDs to allow users to adjust the brightness levels and respective color levels.
///Initially created for the RAK14001 RGB LED module.
- public struct AmbientLightingConfig: Sendable {
+ public struct AmbientLightingConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1246,9 +1253,91 @@ public struct ModuleConfig: Sendable {
public init() {}
}
+#if swift(>=4.2)
+
+extension ModuleConfig.DetectionSensorConfig.TriggerType: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [ModuleConfig.DetectionSensorConfig.TriggerType] = [
+ .logicLow,
+ .logicHigh,
+ .fallingEdge,
+ .risingEdge,
+ .eitherEdgeActiveLow,
+ .eitherEdgeActiveHigh,
+ ]
+}
+
+extension ModuleConfig.AudioConfig.Audio_Baud: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [ModuleConfig.AudioConfig.Audio_Baud] = [
+ .codec2Default,
+ .codec23200,
+ .codec22400,
+ .codec21600,
+ .codec21400,
+ .codec21300,
+ .codec21200,
+ .codec2700,
+ .codec2700B,
+ ]
+}
+
+extension ModuleConfig.SerialConfig.Serial_Baud: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [ModuleConfig.SerialConfig.Serial_Baud] = [
+ .baudDefault,
+ .baud110,
+ .baud300,
+ .baud600,
+ .baud1200,
+ .baud2400,
+ .baud4800,
+ .baud9600,
+ .baud19200,
+ .baud38400,
+ .baud57600,
+ .baud115200,
+ .baud230400,
+ .baud460800,
+ .baud576000,
+ .baud921600,
+ ]
+}
+
+extension ModuleConfig.SerialConfig.Serial_Mode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [ModuleConfig.SerialConfig.Serial_Mode] = [
+ .default,
+ .simple,
+ .proto,
+ .textmsg,
+ .nmea,
+ .caltopo,
+ .ws85,
+ .veDirect,
+ .msConfig,
+ ]
+}
+
+extension ModuleConfig.CannedMessageConfig.InputEventChar: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [ModuleConfig.CannedMessageConfig.InputEventChar] = [
+ .none,
+ .up,
+ .down,
+ .left,
+ .right,
+ .select,
+ .back,
+ .cancel,
+ ]
+}
+
+#endif // swift(>=4.2)
+
///
/// A GPIO pin definition for remote hardware module
-public struct RemoteHardwarePin: Sendable {
+public struct RemoteHardwarePin {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1270,6 +1359,32 @@ public struct RemoteHardwarePin: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension RemoteHardwarePinType: @unchecked Sendable {}
+extension ModuleConfig: @unchecked Sendable {}
+extension ModuleConfig.OneOf_PayloadVariant: @unchecked Sendable {}
+extension ModuleConfig.MQTTConfig: @unchecked Sendable {}
+extension ModuleConfig.MapReportSettings: @unchecked Sendable {}
+extension ModuleConfig.RemoteHardwareConfig: @unchecked Sendable {}
+extension ModuleConfig.NeighborInfoConfig: @unchecked Sendable {}
+extension ModuleConfig.DetectionSensorConfig: @unchecked Sendable {}
+extension ModuleConfig.DetectionSensorConfig.TriggerType: @unchecked Sendable {}
+extension ModuleConfig.AudioConfig: @unchecked Sendable {}
+extension ModuleConfig.AudioConfig.Audio_Baud: @unchecked Sendable {}
+extension ModuleConfig.PaxcounterConfig: @unchecked Sendable {}
+extension ModuleConfig.SerialConfig: @unchecked Sendable {}
+extension ModuleConfig.SerialConfig.Serial_Baud: @unchecked Sendable {}
+extension ModuleConfig.SerialConfig.Serial_Mode: @unchecked Sendable {}
+extension ModuleConfig.ExternalNotificationConfig: @unchecked Sendable {}
+extension ModuleConfig.StoreForwardConfig: @unchecked Sendable {}
+extension ModuleConfig.RangeTestConfig: @unchecked Sendable {}
+extension ModuleConfig.TelemetryConfig: @unchecked Sendable {}
+extension ModuleConfig.CannedMessageConfig: @unchecked Sendable {}
+extension ModuleConfig.CannedMessageConfig.InputEventChar: @unchecked Sendable {}
+extension ModuleConfig.AmbientLightingConfig: @unchecked Sendable {}
+extension RemoteHardwarePin: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
@@ -2100,6 +2215,7 @@ extension ModuleConfig.SerialConfig.Serial_Mode: SwiftProtobuf._ProtoNameProvidi
5: .same(proto: "CALTOPO"),
6: .same(proto: "WS85"),
7: .same(proto: "VE_DIRECT"),
+ 8: .same(proto: "MS_CONFIG"),
]
}
diff --git a/MeshtasticProtobufs/Sources/meshtastic/mqtt.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/mqtt.pb.swift
index 80508b5d..94ed8cc9 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/mqtt.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/mqtt.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/mqtt.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -22,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// This message wraps a MeshPacket with extra metadata about the sender and how it arrived.
-public struct ServiceEnvelope: Sendable {
+public struct ServiceEnvelope {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -57,7 +57,7 @@ public struct ServiceEnvelope: Sendable {
///
/// Information about a node intended to be reported unencrypted to a map using MQTT.
-public struct MapReport: Sendable {
+public struct MapReport {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -126,6 +126,11 @@ public struct MapReport: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension ServiceEnvelope: @unchecked Sendable {}
+extension MapReport: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/paxcount.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/paxcount.pb.swift
index e24ed371..cf8aa463 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/paxcount.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/paxcount.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/paxcount.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -22,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// TODO: REPLACE
-public struct Paxcount: Sendable {
+public struct Paxcount {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -44,6 +44,10 @@ public struct Paxcount: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension Paxcount: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/portnums.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/portnums.pb.swift
index 03017f97..f9ff36f6 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/portnums.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/portnums.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/portnums.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -33,7 +33,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
/// Note: This was formerly a Type enum named 'typ' with the same id #
/// We have change to this 'portnum' based scheme for specifying app handlers for particular payloads.
/// This change is backwards compatible by treating the legacy OPAQUE/CLEAR_TEXT values identically.
-public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum PortNum: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -304,6 +304,11 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
}
}
+}
+
+#if swift(>=4.2)
+
+extension PortNum: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [PortNum] = [
.unknownApp,
@@ -339,9 +344,14 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
.atakForwarder,
.max,
]
-
}
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension PortNum: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
extension PortNum: SwiftProtobuf._ProtoNameProviding {
diff --git a/MeshtasticProtobufs/Sources/meshtastic/powermon.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/powermon.pb.swift
index fba85796..92f3c5ce 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/powermon.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/powermon.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/powermon.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -22,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
/// Note: There are no 'PowerMon' messages normally in use (PowerMons are sent only as structured logs - slogs).
/// But we wrap our State enum in this message to effectively nest a namespace (without our linter yelling at us)
-public struct PowerMon: Sendable {
+public struct PowerMon {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -31,7 +31,7 @@ public struct PowerMon: Sendable {
/// Any significant power changing event in meshtastic should be tagged with a powermon state transition.
/// If you are making new meshtastic features feel free to add new entries at the end of this definition.
- public enum State: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum State: SwiftProtobuf.Enum {
public typealias RawValue = Int
case none // = 0
case cpuDeepSleep // = 1
@@ -104,31 +104,37 @@ public struct PowerMon: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [PowerMon.State] = [
- .none,
- .cpuDeepSleep,
- .cpuLightSleep,
- .vext1On,
- .loraRxon,
- .loraTxon,
- .loraRxactive,
- .btOn,
- .ledOn,
- .screenOn,
- .screenDrawing,
- .wifiOn,
- .gpsActive,
- ]
-
}
public init() {}
}
+#if swift(>=4.2)
+
+extension PowerMon.State: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [PowerMon.State] = [
+ .none,
+ .cpuDeepSleep,
+ .cpuLightSleep,
+ .vext1On,
+ .loraRxon,
+ .loraTxon,
+ .loraRxactive,
+ .btOn,
+ .ledOn,
+ .screenOn,
+ .screenDrawing,
+ .wifiOn,
+ .gpsActive,
+ ]
+}
+
+#endif // swift(>=4.2)
+
///
/// PowerStress testing support via the C++ PowerStress module
-public struct PowerStressMessage: Sendable {
+public struct PowerStressMessage {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -145,7 +151,7 @@ public struct PowerStressMessage: Sendable {
/// What operation would we like the UUT to perform.
/// note: senders should probably set want_response in their request packets, so that they can know when the state
/// machine has started processing their request
- public enum Opcode: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Opcode: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -266,35 +272,48 @@ public struct PowerStressMessage: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [PowerStressMessage.Opcode] = [
- .unset,
- .printInfo,
- .forceQuiet,
- .endQuiet,
- .screenOn,
- .screenOff,
- .cpuIdle,
- .cpuDeepsleep,
- .cpuFullon,
- .ledOn,
- .ledOff,
- .loraOff,
- .loraTx,
- .loraRx,
- .btOff,
- .btOn,
- .wifiOff,
- .wifiOn,
- .gpsOff,
- .gpsOn,
- ]
-
}
public init() {}
}
+#if swift(>=4.2)
+
+extension PowerStressMessage.Opcode: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [PowerStressMessage.Opcode] = [
+ .unset,
+ .printInfo,
+ .forceQuiet,
+ .endQuiet,
+ .screenOn,
+ .screenOff,
+ .cpuIdle,
+ .cpuDeepsleep,
+ .cpuFullon,
+ .ledOn,
+ .ledOff,
+ .loraOff,
+ .loraTx,
+ .loraRx,
+ .btOff,
+ .btOn,
+ .wifiOff,
+ .wifiOn,
+ .gpsOff,
+ .gpsOn,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension PowerMon: @unchecked Sendable {}
+extension PowerMon.State: @unchecked Sendable {}
+extension PowerStressMessage: @unchecked Sendable {}
+extension PowerStressMessage.Opcode: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
@@ -304,8 +323,8 @@ extension PowerMon: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationB
public static let _protobuf_nameMap = SwiftProtobuf._NameMap()
public mutating func decodeMessage(decoder: inout D) throws {
- // Load everything into unknown fields
- while try decoder.nextFieldNumber() != nil {}
+ while let _ = try decoder.nextFieldNumber() {
+ }
}
public func traverse(visitor: inout V) throws {
@@ -360,7 +379,7 @@ extension PowerStressMessage: SwiftProtobuf.Message, SwiftProtobuf._MessageImple
if self.cmd != .unset {
try visitor.visitSingularEnumField(value: self.cmd, fieldNumber: 1)
}
- if self.numSeconds.bitPattern != 0 {
+ if self.numSeconds != 0 {
try visitor.visitSingularFloatField(value: self.numSeconds, fieldNumber: 2)
}
try unknownFields.traverse(visitor: &visitor)
diff --git a/MeshtasticProtobufs/Sources/meshtastic/remote_hardware.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/remote_hardware.pb.swift
index d23dc07b..ac6eeb26 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/remote_hardware.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/remote_hardware.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/remote_hardware.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -30,7 +30,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
/// because no security yet (beyond the channel mechanism).
/// It should be off by default and then protected based on some TBD mechanism
/// (a special channel once multichannel support is included?)
-public struct HardwareMessage: Sendable {
+public struct HardwareMessage {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -52,7 +52,7 @@ public struct HardwareMessage: Sendable {
///
/// TODO: REPLACE
- public enum TypeEnum: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum TypeEnum: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -110,21 +110,32 @@ public struct HardwareMessage: Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [HardwareMessage.TypeEnum] = [
- .unset,
- .writeGpios,
- .watchGpios,
- .gpiosChanged,
- .readGpios,
- .readGpiosReply,
- ]
-
}
public init() {}
}
+#if swift(>=4.2)
+
+extension HardwareMessage.TypeEnum: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [HardwareMessage.TypeEnum] = [
+ .unset,
+ .writeGpios,
+ .watchGpios,
+ .gpiosChanged,
+ .readGpios,
+ .readGpiosReply,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension HardwareMessage: @unchecked Sendable {}
+extension HardwareMessage.TypeEnum: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/rtttl.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/rtttl.pb.swift
index 38d0c880..6fdf3208 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/rtttl.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/rtttl.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/rtttl.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -22,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// Canned message module configuration.
-public struct RTTTLConfig: Sendable {
+public struct RTTTLConfig {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -36,6 +36,10 @@ public struct RTTTLConfig: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension RTTTLConfig: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/storeforward.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/storeforward.pb.swift
index deb96569..54efa77b 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/storeforward.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/storeforward.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/storeforward.proto
@@ -23,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// TODO: REPLACE
-public struct StoreAndForward: @unchecked Sendable {
+public struct StoreAndForward {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -80,7 +79,7 @@ public struct StoreAndForward: @unchecked Sendable {
///
/// TODO: REPLACE
- public enum OneOf_Variant: Equatable, @unchecked Sendable {
+ public enum OneOf_Variant: Equatable {
///
/// TODO: REPLACE
case stats(StoreAndForward.Statistics)
@@ -94,12 +93,38 @@ public struct StoreAndForward: @unchecked Sendable {
/// Text from history message.
case text(Data)
+ #if !swift(>=4.1)
+ public static func ==(lhs: StoreAndForward.OneOf_Variant, rhs: StoreAndForward.OneOf_Variant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.stats, .stats): return {
+ guard case .stats(let l) = lhs, case .stats(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.history, .history): return {
+ guard case .history(let l) = lhs, case .history(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.heartbeat, .heartbeat): return {
+ guard case .heartbeat(let l) = lhs, case .heartbeat(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.text, .text): return {
+ guard case .text(let l) = lhs, case .text(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
///
/// 001 - 063 = From Router
/// 064 - 127 = From Client
- public enum RequestResponse: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum RequestResponse: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -217,31 +242,11 @@ public struct StoreAndForward: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [StoreAndForward.RequestResponse] = [
- .unset,
- .routerError,
- .routerHeartbeat,
- .routerPing,
- .routerPong,
- .routerBusy,
- .routerHistory,
- .routerStats,
- .routerTextDirect,
- .routerTextBroadcast,
- .clientError,
- .clientHistory,
- .clientStats,
- .clientPing,
- .clientPong,
- .clientAbort,
- ]
-
}
///
/// TODO: REPLACE
- public struct Statistics: Sendable {
+ public struct Statistics {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -289,7 +294,7 @@ public struct StoreAndForward: @unchecked Sendable {
///
/// TODO: REPLACE
- public struct History: Sendable {
+ public struct History {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -314,7 +319,7 @@ public struct StoreAndForward: @unchecked Sendable {
///
/// TODO: REPLACE
- public struct Heartbeat: Sendable {
+ public struct Heartbeat {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -335,6 +340,41 @@ public struct StoreAndForward: @unchecked Sendable {
public init() {}
}
+#if swift(>=4.2)
+
+extension StoreAndForward.RequestResponse: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [StoreAndForward.RequestResponse] = [
+ .unset,
+ .routerError,
+ .routerHeartbeat,
+ .routerPing,
+ .routerPong,
+ .routerBusy,
+ .routerHistory,
+ .routerStats,
+ .routerTextDirect,
+ .routerTextBroadcast,
+ .clientError,
+ .clientHistory,
+ .clientStats,
+ .clientPing,
+ .clientPong,
+ .clientAbort,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension StoreAndForward: @unchecked Sendable {}
+extension StoreAndForward.OneOf_Variant: @unchecked Sendable {}
+extension StoreAndForward.RequestResponse: @unchecked Sendable {}
+extension StoreAndForward.Statistics: @unchecked Sendable {}
+extension StoreAndForward.History: @unchecked Sendable {}
+extension StoreAndForward.Heartbeat: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
diff --git a/MeshtasticProtobufs/Sources/meshtastic/telemetry.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/telemetry.pb.swift
index f0e6df4c..1f82d357 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/telemetry.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/telemetry.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/telemetry.proto
@@ -8,6 +7,7 @@
// For information on using the generated types, please see the documentation:
// https://github.com/apple/swift-protobuf/
+import Foundation
import SwiftProtobuf
// If the compiler emits an error on this type, it is because this file
@@ -22,7 +22,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
///
/// Supported I2C Sensors for telemetry in Meshtastic
-public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
+public enum TelemetrySensorType: SwiftProtobuf.Enum {
public typealias RawValue = Int
///
@@ -196,6 +196,10 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
///
/// Sensirion SFA30 Formaldehyde sensor
case sfa30 // = 42
+
+ ///
+ /// SEN5X PM SENSORS
+ case sen5X // = 43
case UNRECOGNIZED(Int)
public init() {
@@ -247,6 +251,7 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case 40: self = .ads1X15
case 41: self = .ads1X15Alt
case 42: self = .sfa30
+ case 43: self = .sen5X
default: self = .UNRECOGNIZED(rawValue)
}
}
@@ -296,10 +301,16 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case .ads1X15: return 40
case .ads1X15Alt: return 41
case .sfa30: return 42
+ case .sen5X: return 43
case .UNRECOGNIZED(let i): return i
}
}
+}
+
+#if swift(>=4.2)
+
+extension TelemetrySensorType: CaseIterable {
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [TelemetrySensorType] = [
.sensorUnset,
@@ -345,13 +356,15 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
.ads1X15,
.ads1X15Alt,
.sfa30,
+ .sen5X,
]
-
}
+#endif // swift(>=4.2)
+
///
/// Key native device metrics such as battery level
-public struct DeviceMetrics: Sendable {
+public struct DeviceMetrics {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -424,7 +437,7 @@ public struct DeviceMetrics: Sendable {
///
/// Weather station or other environmental metrics
-public struct EnvironmentMetrics: @unchecked Sendable {
+public struct EnvironmentMetrics {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -682,7 +695,7 @@ public struct EnvironmentMetrics: @unchecked Sendable {
///
/// Power Metrics (voltage / current / etc)
-public struct PowerMetrics: Sendable {
+public struct PowerMetrics {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -887,13 +900,13 @@ public struct PowerMetrics: Sendable {
///
/// Air quality metrics
-public struct AirQualityMetrics: @unchecked Sendable {
+public struct AirQualityMetrics {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
///
- /// Concentration Units Standard PM1.0
+ /// Concentration Units Standard PM1.0 in ug/m3
public var pm10Standard: UInt32 {
get {return _storage._pm10Standard ?? 0}
set {_uniqueStorage()._pm10Standard = newValue}
@@ -904,7 +917,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearPm10Standard() {_uniqueStorage()._pm10Standard = nil}
///
- /// Concentration Units Standard PM2.5
+ /// Concentration Units Standard PM2.5 in ug/m3
public var pm25Standard: UInt32 {
get {return _storage._pm25Standard ?? 0}
set {_uniqueStorage()._pm25Standard = newValue}
@@ -915,7 +928,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearPm25Standard() {_uniqueStorage()._pm25Standard = nil}
///
- /// Concentration Units Standard PM10.0
+ /// Concentration Units Standard PM10.0 in ug/m3
public var pm100Standard: UInt32 {
get {return _storage._pm100Standard ?? 0}
set {_uniqueStorage()._pm100Standard = newValue}
@@ -926,7 +939,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearPm100Standard() {_uniqueStorage()._pm100Standard = nil}
///
- /// Concentration Units Environmental PM1.0
+ /// Concentration Units Environmental PM1.0 in ug/m3
public var pm10Environmental: UInt32 {
get {return _storage._pm10Environmental ?? 0}
set {_uniqueStorage()._pm10Environmental = newValue}
@@ -937,7 +950,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearPm10Environmental() {_uniqueStorage()._pm10Environmental = nil}
///
- /// Concentration Units Environmental PM2.5
+ /// Concentration Units Environmental PM2.5 in ug/m3
public var pm25Environmental: UInt32 {
get {return _storage._pm25Environmental ?? 0}
set {_uniqueStorage()._pm25Environmental = newValue}
@@ -948,7 +961,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearPm25Environmental() {_uniqueStorage()._pm25Environmental = nil}
///
- /// Concentration Units Environmental PM10.0
+ /// Concentration Units Environmental PM10.0 in ug/m3
public var pm100Environmental: UInt32 {
get {return _storage._pm100Environmental ?? 0}
set {_uniqueStorage()._pm100Environmental = newValue}
@@ -959,7 +972,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearPm100Environmental() {_uniqueStorage()._pm100Environmental = nil}
///
- /// 0.3um Particle Count
+ /// 0.3um Particle Count in #/0.1l
public var particles03Um: UInt32 {
get {return _storage._particles03Um ?? 0}
set {_uniqueStorage()._particles03Um = newValue}
@@ -970,7 +983,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearParticles03Um() {_uniqueStorage()._particles03Um = nil}
///
- /// 0.5um Particle Count
+ /// 0.5um Particle Count in #/0.1l
public var particles05Um: UInt32 {
get {return _storage._particles05Um ?? 0}
set {_uniqueStorage()._particles05Um = newValue}
@@ -981,7 +994,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearParticles05Um() {_uniqueStorage()._particles05Um = nil}
///
- /// 1.0um Particle Count
+ /// 1.0um Particle Count in #/0.1l
public var particles10Um: UInt32 {
get {return _storage._particles10Um ?? 0}
set {_uniqueStorage()._particles10Um = newValue}
@@ -992,7 +1005,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearParticles10Um() {_uniqueStorage()._particles10Um = nil}
///
- /// 2.5um Particle Count
+ /// 2.5um Particle Count in #/0.1l
public var particles25Um: UInt32 {
get {return _storage._particles25Um ?? 0}
set {_uniqueStorage()._particles25Um = newValue}
@@ -1003,7 +1016,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearParticles25Um() {_uniqueStorage()._particles25Um = nil}
///
- /// 5.0um Particle Count
+ /// 5.0um Particle Count in #/0.1l
public var particles50Um: UInt32 {
get {return _storage._particles50Um ?? 0}
set {_uniqueStorage()._particles50Um = newValue}
@@ -1014,7 +1027,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
public mutating func clearParticles50Um() {_uniqueStorage()._particles50Um = nil}
///
- /// 10.0um Particle Count
+ /// 10.0um Particle Count in #/0.1l
public var particles100Um: UInt32 {
get {return _storage._particles100Um ?? 0}
set {_uniqueStorage()._particles100Um = newValue}
@@ -1090,6 +1103,83 @@ public struct AirQualityMetrics: @unchecked Sendable {
/// Clears the value of `formTemperature`. Subsequent reads from it will return its default value.
public mutating func clearFormTemperature() {_uniqueStorage()._formTemperature = nil}
+ ///
+ /// Concentration Units Standard PM4.0 in ug/m3
+ public var pm40Standard: UInt32 {
+ get {return _storage._pm40Standard ?? 0}
+ set {_uniqueStorage()._pm40Standard = newValue}
+ }
+ /// Returns true if `pm40Standard` has been explicitly set.
+ public var hasPm40Standard: Bool {return _storage._pm40Standard != nil}
+ /// Clears the value of `pm40Standard`. Subsequent reads from it will return its default value.
+ public mutating func clearPm40Standard() {_uniqueStorage()._pm40Standard = nil}
+
+ ///
+ /// 4.0um Particle Count in #/0.1l
+ public var particles40Um: UInt32 {
+ get {return _storage._particles40Um ?? 0}
+ set {_uniqueStorage()._particles40Um = newValue}
+ }
+ /// Returns true if `particles40Um` has been explicitly set.
+ public var hasParticles40Um: Bool {return _storage._particles40Um != nil}
+ /// Clears the value of `particles40Um`. Subsequent reads from it will return its default value.
+ public mutating func clearParticles40Um() {_uniqueStorage()._particles40Um = nil}
+
+ ///
+ /// PM Sensor Temperature
+ public var pmTemperature: Float {
+ get {return _storage._pmTemperature ?? 0}
+ set {_uniqueStorage()._pmTemperature = newValue}
+ }
+ /// Returns true if `pmTemperature` has been explicitly set.
+ public var hasPmTemperature: Bool {return _storage._pmTemperature != nil}
+ /// Clears the value of `pmTemperature`. Subsequent reads from it will return its default value.
+ public mutating func clearPmTemperature() {_uniqueStorage()._pmTemperature = nil}
+
+ ///
+ /// PM Sensor humidity
+ public var pmHumidity: Float {
+ get {return _storage._pmHumidity ?? 0}
+ set {_uniqueStorage()._pmHumidity = newValue}
+ }
+ /// Returns true if `pmHumidity` has been explicitly set.
+ public var hasPmHumidity: Bool {return _storage._pmHumidity != nil}
+ /// Clears the value of `pmHumidity`. Subsequent reads from it will return its default value.
+ public mutating func clearPmHumidity() {_uniqueStorage()._pmHumidity = nil}
+
+ ///
+ /// PM Sensor VOC Index
+ public var pmVocIdx: Float {
+ get {return _storage._pmVocIdx ?? 0}
+ set {_uniqueStorage()._pmVocIdx = newValue}
+ }
+ /// Returns true if `pmVocIdx` has been explicitly set.
+ public var hasPmVocIdx: Bool {return _storage._pmVocIdx != nil}
+ /// Clears the value of `pmVocIdx`. Subsequent reads from it will return its default value.
+ public mutating func clearPmVocIdx() {_uniqueStorage()._pmVocIdx = nil}
+
+ ///
+ /// PM Sensor NOx Index
+ public var pmNoxIdx: Float {
+ get {return _storage._pmNoxIdx ?? 0}
+ set {_uniqueStorage()._pmNoxIdx = newValue}
+ }
+ /// Returns true if `pmNoxIdx` has been explicitly set.
+ public var hasPmNoxIdx: Bool {return _storage._pmNoxIdx != nil}
+ /// Clears the value of `pmNoxIdx`. Subsequent reads from it will return its default value.
+ public mutating func clearPmNoxIdx() {_uniqueStorage()._pmNoxIdx = nil}
+
+ ///
+ /// Typical Particle Size in um
+ public var particlesTps: Float {
+ get {return _storage._particlesTps ?? 0}
+ set {_uniqueStorage()._particlesTps = newValue}
+ }
+ /// Returns true if `particlesTps` has been explicitly set.
+ public var hasParticlesTps: Bool {return _storage._particlesTps != nil}
+ /// Clears the value of `particlesTps`. Subsequent reads from it will return its default value.
+ public mutating func clearParticlesTps() {_uniqueStorage()._particlesTps = nil}
+
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
@@ -1099,7 +1189,7 @@ public struct AirQualityMetrics: @unchecked Sendable {
///
/// Local device mesh statistics
-public struct LocalStats: Sendable {
+public struct LocalStats {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1165,7 +1255,7 @@ public struct LocalStats: Sendable {
///
/// Health telemetry metrics
-public struct HealthMetrics: Sendable {
+public struct HealthMetrics {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1214,7 +1304,7 @@ public struct HealthMetrics: Sendable {
///
/// Linux host metrics
-public struct HostMetrics: Sendable {
+public struct HostMetrics {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1288,7 +1378,7 @@ public struct HostMetrics: Sendable {
///
/// Types of Measurements the telemetry module is equipped to handle
-public struct Telemetry: @unchecked Sendable {
+public struct Telemetry {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1377,7 +1467,7 @@ public struct Telemetry: @unchecked Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum OneOf_Variant: Equatable, Sendable {
+ public enum OneOf_Variant: Equatable {
///
/// Key native device metrics such as battery level
case deviceMetrics(DeviceMetrics)
@@ -1400,6 +1490,44 @@ public struct Telemetry: @unchecked Sendable {
/// Linux host metrics
case hostMetrics(HostMetrics)
+ #if !swift(>=4.1)
+ public static func ==(lhs: Telemetry.OneOf_Variant, rhs: Telemetry.OneOf_Variant) -> Bool {
+ // The use of inline closures is to circumvent an issue where the compiler
+ // allocates stack space for every case branch when no optimizations are
+ // enabled. https://github.com/apple/swift-protobuf/issues/1034
+ switch (lhs, rhs) {
+ case (.deviceMetrics, .deviceMetrics): return {
+ guard case .deviceMetrics(let l) = lhs, case .deviceMetrics(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.environmentMetrics, .environmentMetrics): return {
+ guard case .environmentMetrics(let l) = lhs, case .environmentMetrics(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.airQualityMetrics, .airQualityMetrics): return {
+ guard case .airQualityMetrics(let l) = lhs, case .airQualityMetrics(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.powerMetrics, .powerMetrics): return {
+ guard case .powerMetrics(let l) = lhs, case .powerMetrics(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.localStats, .localStats): return {
+ guard case .localStats(let l) = lhs, case .localStats(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.healthMetrics, .healthMetrics): return {
+ guard case .healthMetrics(let l) = lhs, case .healthMetrics(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ case (.hostMetrics, .hostMetrics): return {
+ guard case .hostMetrics(let l) = lhs, case .hostMetrics(let r) = rhs else { preconditionFailure() }
+ return l == r
+ }()
+ default: return false
+ }
+ }
+ #endif
}
public init() {}
@@ -1409,7 +1537,7 @@ public struct Telemetry: @unchecked Sendable {
///
/// NAU7802 Telemetry configuration, for saving to flash
-public struct Nau7802Config: Sendable {
+public struct Nau7802Config {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -1427,6 +1555,20 @@ public struct Nau7802Config: Sendable {
public init() {}
}
+#if swift(>=5.5) && canImport(_Concurrency)
+extension TelemetrySensorType: @unchecked Sendable {}
+extension DeviceMetrics: @unchecked Sendable {}
+extension EnvironmentMetrics: @unchecked Sendable {}
+extension PowerMetrics: @unchecked Sendable {}
+extension AirQualityMetrics: @unchecked Sendable {}
+extension LocalStats: @unchecked Sendable {}
+extension HealthMetrics: @unchecked Sendable {}
+extension HostMetrics: @unchecked Sendable {}
+extension Telemetry: @unchecked Sendable {}
+extension Telemetry.OneOf_Variant: @unchecked Sendable {}
+extension Nau7802Config: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"
@@ -1476,6 +1618,7 @@ extension TelemetrySensorType: SwiftProtobuf._ProtoNameProviding {
40: .same(proto: "ADS1X15"),
41: .same(proto: "ADS1X15_ALT"),
42: .same(proto: "SFA30"),
+ 43: .same(proto: "SEN5X"),
]
}
@@ -1930,6 +2073,13 @@ extension AirQualityMetrics: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
16: .standard(proto: "form_formaldehyde"),
17: .standard(proto: "form_humidity"),
18: .standard(proto: "form_temperature"),
+ 19: .standard(proto: "pm40_standard"),
+ 20: .standard(proto: "particles_40um"),
+ 21: .standard(proto: "pm_temperature"),
+ 22: .standard(proto: "pm_humidity"),
+ 23: .standard(proto: "pm_voc_idx"),
+ 24: .standard(proto: "pm_nox_idx"),
+ 25: .standard(proto: "particles_tps"),
]
fileprivate class _StorageClass {
@@ -1951,6 +2101,13 @@ extension AirQualityMetrics: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
var _formFormaldehyde: Float? = nil
var _formHumidity: Float? = nil
var _formTemperature: Float? = nil
+ var _pm40Standard: UInt32? = nil
+ var _particles40Um: UInt32? = nil
+ var _pmTemperature: Float? = nil
+ var _pmHumidity: Float? = nil
+ var _pmVocIdx: Float? = nil
+ var _pmNoxIdx: Float? = nil
+ var _particlesTps: Float? = nil
#if swift(>=5.10)
// This property is used as the initial default value for new instances of the type.
@@ -1983,6 +2140,13 @@ extension AirQualityMetrics: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
_formFormaldehyde = source._formFormaldehyde
_formHumidity = source._formHumidity
_formTemperature = source._formTemperature
+ _pm40Standard = source._pm40Standard
+ _particles40Um = source._particles40Um
+ _pmTemperature = source._pmTemperature
+ _pmHumidity = source._pmHumidity
+ _pmVocIdx = source._pmVocIdx
+ _pmNoxIdx = source._pmNoxIdx
+ _particlesTps = source._particlesTps
}
}
@@ -2019,6 +2183,13 @@ extension AirQualityMetrics: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
case 16: try { try decoder.decodeSingularFloatField(value: &_storage._formFormaldehyde) }()
case 17: try { try decoder.decodeSingularFloatField(value: &_storage._formHumidity) }()
case 18: try { try decoder.decodeSingularFloatField(value: &_storage._formTemperature) }()
+ case 19: try { try decoder.decodeSingularUInt32Field(value: &_storage._pm40Standard) }()
+ case 20: try { try decoder.decodeSingularUInt32Field(value: &_storage._particles40Um) }()
+ case 21: try { try decoder.decodeSingularFloatField(value: &_storage._pmTemperature) }()
+ case 22: try { try decoder.decodeSingularFloatField(value: &_storage._pmHumidity) }()
+ case 23: try { try decoder.decodeSingularFloatField(value: &_storage._pmVocIdx) }()
+ case 24: try { try decoder.decodeSingularFloatField(value: &_storage._pmNoxIdx) }()
+ case 25: try { try decoder.decodeSingularFloatField(value: &_storage._particlesTps) }()
default: break
}
}
@@ -2085,6 +2256,27 @@ extension AirQualityMetrics: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
try { if let v = _storage._formTemperature {
try visitor.visitSingularFloatField(value: v, fieldNumber: 18)
} }()
+ try { if let v = _storage._pm40Standard {
+ try visitor.visitSingularUInt32Field(value: v, fieldNumber: 19)
+ } }()
+ try { if let v = _storage._particles40Um {
+ try visitor.visitSingularUInt32Field(value: v, fieldNumber: 20)
+ } }()
+ try { if let v = _storage._pmTemperature {
+ try visitor.visitSingularFloatField(value: v, fieldNumber: 21)
+ } }()
+ try { if let v = _storage._pmHumidity {
+ try visitor.visitSingularFloatField(value: v, fieldNumber: 22)
+ } }()
+ try { if let v = _storage._pmVocIdx {
+ try visitor.visitSingularFloatField(value: v, fieldNumber: 23)
+ } }()
+ try { if let v = _storage._pmNoxIdx {
+ try visitor.visitSingularFloatField(value: v, fieldNumber: 24)
+ } }()
+ try { if let v = _storage._particlesTps {
+ try visitor.visitSingularFloatField(value: v, fieldNumber: 25)
+ } }()
}
try unknownFields.traverse(visitor: &visitor)
}
@@ -2112,6 +2304,13 @@ extension AirQualityMetrics: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
if _storage._formFormaldehyde != rhs_storage._formFormaldehyde {return false}
if _storage._formHumidity != rhs_storage._formHumidity {return false}
if _storage._formTemperature != rhs_storage._formTemperature {return false}
+ if _storage._pm40Standard != rhs_storage._pm40Standard {return false}
+ if _storage._particles40Um != rhs_storage._particles40Um {return false}
+ if _storage._pmTemperature != rhs_storage._pmTemperature {return false}
+ if _storage._pmHumidity != rhs_storage._pmHumidity {return false}
+ if _storage._pmVocIdx != rhs_storage._pmVocIdx {return false}
+ if _storage._pmNoxIdx != rhs_storage._pmNoxIdx {return false}
+ if _storage._particlesTps != rhs_storage._particlesTps {return false}
return true
}
if !storagesAreEqual {return false}
@@ -2167,10 +2366,10 @@ extension LocalStats: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementatio
if self.uptimeSeconds != 0 {
try visitor.visitSingularUInt32Field(value: self.uptimeSeconds, fieldNumber: 1)
}
- if self.channelUtilization.bitPattern != 0 {
+ if self.channelUtilization != 0 {
try visitor.visitSingularFloatField(value: self.channelUtilization, fieldNumber: 2)
}
- if self.airUtilTx.bitPattern != 0 {
+ if self.airUtilTx != 0 {
try visitor.visitSingularFloatField(value: self.airUtilTx, fieldNumber: 3)
}
if self.numPacketsTx != 0 {
@@ -2589,7 +2788,7 @@ extension Nau7802Config: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementa
if self.zeroOffset != 0 {
try visitor.visitSingularInt32Field(value: self.zeroOffset, fieldNumber: 1)
}
- if self.calibrationFactor.bitPattern != 0 {
+ if self.calibrationFactor != 0 {
try visitor.visitSingularFloatField(value: self.calibrationFactor, fieldNumber: 2)
}
try unknownFields.traverse(visitor: &visitor)
diff --git a/MeshtasticProtobufs/Sources/meshtastic/xmodem.pb.swift b/MeshtasticProtobufs/Sources/meshtastic/xmodem.pb.swift
index 46907a58..1f41fe0b 100644
--- a/MeshtasticProtobufs/Sources/meshtastic/xmodem.pb.swift
+++ b/MeshtasticProtobufs/Sources/meshtastic/xmodem.pb.swift
@@ -1,6 +1,5 @@
// DO NOT EDIT.
// swift-format-ignore-file
-// swiftlint:disable all
//
// Generated by the Swift generator plugin for the protocol buffer compiler.
// Source: meshtastic/xmodem.proto
@@ -21,7 +20,7 @@ fileprivate struct _GeneratedWithProtocGenSwiftVersion: SwiftProtobuf.ProtobufAP
typealias Version = _2
}
-public struct XModem: @unchecked Sendable {
+public struct XModem {
// SwiftProtobuf.Message conformance is added in an extension below. See the
// `Message` and `Message+*Additions` files in the SwiftProtobuf library for
// methods supported on all messages.
@@ -36,7 +35,7 @@ public struct XModem: @unchecked Sendable {
public var unknownFields = SwiftProtobuf.UnknownStorage()
- public enum Control: SwiftProtobuf.Enum, Swift.CaseIterable {
+ public enum Control: SwiftProtobuf.Enum {
public typealias RawValue = Int
case nul // = 0
case soh // = 1
@@ -80,23 +79,34 @@ public struct XModem: @unchecked Sendable {
}
}
- // The compiler won't synthesize support with the UNRECOGNIZED case.
- public static let allCases: [XModem.Control] = [
- .nul,
- .soh,
- .stx,
- .eot,
- .ack,
- .nak,
- .can,
- .ctrlz,
- ]
-
}
public init() {}
}
+#if swift(>=4.2)
+
+extension XModem.Control: CaseIterable {
+ // The compiler won't synthesize support with the UNRECOGNIZED case.
+ public static let allCases: [XModem.Control] = [
+ .nul,
+ .soh,
+ .stx,
+ .eot,
+ .ack,
+ .nak,
+ .can,
+ .ctrlz,
+ ]
+}
+
+#endif // swift(>=4.2)
+
+#if swift(>=5.5) && canImport(_Concurrency)
+extension XModem: @unchecked Sendable {}
+extension XModem.Control: @unchecked Sendable {}
+#endif // swift(>=5.5) && canImport(_Concurrency)
+
// MARK: - Code below here is support for the SwiftProtobuf runtime.
fileprivate let _protobuf_package = "meshtastic"