Update protobufs

This commit is contained in:
Ben Meadors 2026-04-07 06:05:50 -05:00
parent 352d338fd7
commit 64873e285e
9 changed files with 1461 additions and 936 deletions

View file

@ -650,10 +650,14 @@ class AccessoryManager: ObservableObject, MqttClientProxyManagerDelegate {
Logger.mesh.info("🕸️ MESH PACKET received for Reticulum Tunnel App UNHANDLED \((try? decodedInfo.packet.jsonString()) ?? "JSON Decode Failure", privacy: .public)")
case .keyVerificationApp:
Logger.mesh.warning("🕸️ MESH PACKET received for Key Verification App UNHANDLED \((try? decodedInfo.packet.jsonString()) ?? "JSON Decode Failure", privacy: .public)")
case .unknownApp:
Logger.mesh.warning("🕸️ MESH PACKET received for unknown App UNHANDLED \((try? decodedInfo.packet.jsonString()) ?? "JSON Decode Failure", privacy: .public)")
case .cayenneApp:
Logger.mesh.info("🕸️ MESH PACKET received Cayenne App UNHANDLED \((try? decodedInfo.packet.jsonString()) ?? "JSON Decode Failure", privacy: .public)")
case .groupalarmApp:
Logger.mesh.info("🕸️ MESH PACKET received Group Alarm App UNHANDLED \((try? decodedInfo.packet.jsonString()) ?? "JSON Decode Failure", privacy: .public)")
case .lorawanBridge:
Logger.mesh.info("🕸️ MESH PACKET received for LoRaWAN Bridge UNHANDLED \((try? decodedInfo.packet.jsonString()) ?? "JSON Decode Failure", privacy: .public)")
case .unknownApp:
Logger.mesh.warning("🕸️ MESH PACKET received for unknown App UNHANDLED \((try? decodedInfo.packet.jsonString()) ?? "JSON Decode Failure", privacy: .public)")
}
}

File diff suppressed because it is too large Load diff

View file

@ -1478,6 +1478,13 @@ public struct Config: Sendable {
set {_uniqueStorage()._configOkToMqtt = newValue}
}
///
/// Set where LORA FEM is enabled, disabled, or not present
public var femLnaMode: Config.LoRaConfig.FEM_LNA_Mode {
get {return _storage._femLnaMode}
set {_uniqueStorage()._femLnaMode = newValue}
}
public var unknownFields = SwiftProtobuf.UnknownStorage()
public enum RegionCode: SwiftProtobuf.Enum, Swift.CaseIterable {
@ -1803,6 +1810,53 @@ public struct Config: Sendable {
}
public enum FEM_LNA_Mode: SwiftProtobuf.Enum, Swift.CaseIterable {
public typealias RawValue = Int
///
/// FEM_LNA is present but disabled
case disabled // = 0
///
/// FEM_LNA is present and enabled
case enabled // = 1
///
/// FEM_LNA is not present on the device
case notPresent // = 2
case UNRECOGNIZED(Int)
public init() {
self = .disabled
}
public init?(rawValue: Int) {
switch rawValue {
case 0: self = .disabled
case 1: self = .enabled
case 2: self = .notPresent
default: self = .UNRECOGNIZED(rawValue)
}
}
public var rawValue: Int {
switch self {
case .disabled: return 0
case .enabled: return 1
case .notPresent: return 2
case .UNRECOGNIZED(let i): return i
}
}
// The compiler won't synthesize support with the UNRECOGNIZED case.
public static let allCases: [Config.LoRaConfig.FEM_LNA_Mode] = [
.disabled,
.enabled,
.notPresent,
]
}
public init() {}
fileprivate var _storage = _StorageClass.defaultInstance
@ -2655,7 +2709,7 @@ extension Config.DisplayConfig.CompassOrientation: SwiftProtobuf._ProtoNameProvi
extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = Config.protoMessageName + ".LoRaConfig"
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}use_preset\0\u{3}modem_preset\0\u{1}bandwidth\0\u{3}spread_factor\0\u{3}coding_rate\0\u{3}frequency_offset\0\u{1}region\0\u{3}hop_limit\0\u{3}tx_enabled\0\u{3}tx_power\0\u{3}channel_num\0\u{3}override_duty_cycle\0\u{3}sx126x_rx_boosted_gain\0\u{3}override_frequency\0\u{3}pa_fan_disabled\0\u{4}X\u{1}ignore_incoming\0\u{3}ignore_mqtt\0\u{3}config_ok_to_mqtt\0")
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}use_preset\0\u{3}modem_preset\0\u{1}bandwidth\0\u{3}spread_factor\0\u{3}coding_rate\0\u{3}frequency_offset\0\u{1}region\0\u{3}hop_limit\0\u{3}tx_enabled\0\u{3}tx_power\0\u{3}channel_num\0\u{3}override_duty_cycle\0\u{3}sx126x_rx_boosted_gain\0\u{3}override_frequency\0\u{3}pa_fan_disabled\0\u{4}X\u{1}ignore_incoming\0\u{3}ignore_mqtt\0\u{3}config_ok_to_mqtt\0\u{3}fem_lna_mode\0")
fileprivate class _StorageClass {
var _usePreset: Bool = false
@ -2676,6 +2730,7 @@ extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
var _ignoreIncoming: [UInt32] = []
var _ignoreMqtt: Bool = false
var _configOkToMqtt: Bool = false
var _femLnaMode: Config.LoRaConfig.FEM_LNA_Mode = .disabled
// This property is used as the initial default value for new instances of the type.
// The type itself is protecting the reference to its storage via CoW semantics.
@ -2704,6 +2759,7 @@ extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
_ignoreIncoming = source._ignoreIncoming
_ignoreMqtt = source._ignoreMqtt
_configOkToMqtt = source._configOkToMqtt
_femLnaMode = source._femLnaMode
}
}
@ -2740,6 +2796,7 @@ extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
case 103: try { try decoder.decodeRepeatedUInt32Field(value: &_storage._ignoreIncoming) }()
case 104: try { try decoder.decodeSingularBoolField(value: &_storage._ignoreMqtt) }()
case 105: try { try decoder.decodeSingularBoolField(value: &_storage._configOkToMqtt) }()
case 106: try { try decoder.decodeSingularEnumField(value: &_storage._femLnaMode) }()
default: break
}
}
@ -2802,6 +2859,9 @@ extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
if _storage._configOkToMqtt != false {
try visitor.visitSingularBoolField(value: _storage._configOkToMqtt, fieldNumber: 105)
}
if _storage._femLnaMode != .disabled {
try visitor.visitSingularEnumField(value: _storage._femLnaMode, fieldNumber: 106)
}
}
try unknownFields.traverse(visitor: &visitor)
}
@ -2829,6 +2889,7 @@ extension Config.LoRaConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
if _storage._ignoreIncoming != rhs_storage._ignoreIncoming {return false}
if _storage._ignoreMqtt != rhs_storage._ignoreMqtt {return false}
if _storage._configOkToMqtt != rhs_storage._configOkToMqtt {return false}
if _storage._femLnaMode != rhs_storage._femLnaMode {return false}
return true
}
if !storagesAreEqual {return false}
@ -2846,6 +2907,10 @@ extension Config.LoRaConfig.ModemPreset: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0LONG_FAST\0\u{1}LONG_SLOW\0\u{1}VERY_LONG_SLOW\0\u{1}MEDIUM_SLOW\0\u{1}MEDIUM_FAST\0\u{1}SHORT_SLOW\0\u{1}SHORT_FAST\0\u{1}LONG_MODERATE\0\u{1}SHORT_TURBO\0\u{1}LONG_TURBO\0")
}
extension Config.LoRaConfig.FEM_LNA_Mode: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0DISABLED\0\u{1}ENABLED\0\u{1}NOT_PRESENT\0")
}
extension Config.BluetoothConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = Config.protoMessageName + ".BluetoothConfig"
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}enabled\0\u{1}mode\0\u{3}fixed_pin\0")

View file

@ -299,6 +299,17 @@ public struct LocalModuleConfig: @unchecked Sendable {
/// Clears the value of `trafficManagement`. Subsequent reads from it will return its default value.
public mutating func clearTrafficManagement() {_uniqueStorage()._trafficManagement = nil}
///
/// TAK Config
public var tak: ModuleConfig.TAKConfig {
get {return _storage._tak ?? ModuleConfig.TAKConfig()}
set {_uniqueStorage()._tak = newValue}
}
/// Returns true if `tak` has been explicitly set.
public var hasTak: Bool {return _storage._tak != nil}
/// Clears the value of `tak`. Subsequent reads from it will return its default value.
public mutating func clearTak() {_uniqueStorage()._tak = nil}
///
/// A version integer used to invalidate old save files when we make
/// incompatible changes This integer is set at build time and is private to
@ -447,7 +458,7 @@ extension LocalConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementati
extension LocalModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = _protobuf_package + ".LocalModuleConfig"
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}mqtt\0\u{1}serial\0\u{3}external_notification\0\u{3}store_forward\0\u{3}range_test\0\u{1}telemetry\0\u{3}canned_message\0\u{1}version\0\u{1}audio\0\u{3}remote_hardware\0\u{3}neighbor_info\0\u{3}ambient_lighting\0\u{3}detection_sensor\0\u{1}paxcounter\0\u{1}statusmessage\0\u{3}traffic_management\0")
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}mqtt\0\u{1}serial\0\u{3}external_notification\0\u{3}store_forward\0\u{3}range_test\0\u{1}telemetry\0\u{3}canned_message\0\u{1}version\0\u{1}audio\0\u{3}remote_hardware\0\u{3}neighbor_info\0\u{3}ambient_lighting\0\u{3}detection_sensor\0\u{1}paxcounter\0\u{1}statusmessage\0\u{3}traffic_management\0\u{1}tak\0")
fileprivate class _StorageClass {
var _mqtt: ModuleConfig.MQTTConfig? = nil
@ -465,6 +476,7 @@ extension LocalModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
var _paxcounter: ModuleConfig.PaxcounterConfig? = nil
var _statusmessage: ModuleConfig.StatusMessageConfig? = nil
var _trafficManagement: ModuleConfig.TrafficManagementConfig? = nil
var _tak: ModuleConfig.TAKConfig? = nil
var _version: UInt32 = 0
// This property is used as the initial default value for new instances of the type.
@ -491,6 +503,7 @@ extension LocalModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
_paxcounter = source._paxcounter
_statusmessage = source._statusmessage
_trafficManagement = source._trafficManagement
_tak = source._tak
_version = source._version
}
}
@ -526,6 +539,7 @@ extension LocalModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
case 14: try { try decoder.decodeSingularMessageField(value: &_storage._paxcounter) }()
case 15: try { try decoder.decodeSingularMessageField(value: &_storage._statusmessage) }()
case 16: try { try decoder.decodeSingularMessageField(value: &_storage._trafficManagement) }()
case 17: try { try decoder.decodeSingularMessageField(value: &_storage._tak) }()
default: break
}
}
@ -586,6 +600,9 @@ extension LocalModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
try { if let v = _storage._trafficManagement {
try visitor.visitSingularMessageField(value: v, fieldNumber: 16)
} }()
try { if let v = _storage._tak {
try visitor.visitSingularMessageField(value: v, fieldNumber: 17)
} }()
}
try unknownFields.traverse(visitor: &visitor)
}
@ -610,6 +627,7 @@ extension LocalModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplem
if _storage._paxcounter != rhs_storage._paxcounter {return false}
if _storage._statusmessage != rhs_storage._statusmessage {return false}
if _storage._trafficManagement != rhs_storage._trafficManagement {return false}
if _storage._tak != rhs_storage._tak {return false}
if _storage._version != rhs_storage._version {return false}
return true
}

View file

@ -547,6 +547,25 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
/// LilyGo T5 S3 ePaper Pro (V1 and V2)
case t5S3EpaperPro // = 123
///
/// LilyGo T-Beam BPF (144-148Mhz)
case tbeamBpf // = 124
///
/// LilyGo T-Mini E-paper S3 Kit
case miniEpaperS3 // = 125
///
/// LilyGo T-Display S3 Pro LR1121
case tdisplayS3Pro // = 126
///
/// Heltec Mesh Node T096 board features an nRF52840 CPU and a TFT screen.
case heltecMeshNodeT096 // = 127
/// Seeed studio T1000-E Pro tracker card. NRF52840 w/ LR2021 radio, GPS, button, buzzer, and sensors.
case trackerT1000EPro // = 128
///
/// ------------------------------------------------------------------------------------------------------------------------------------------
/// 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.
@ -684,6 +703,11 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
case 121: self = .meshstick1262
case 122: self = .tbeam1Watt
case 123: self = .t5S3EpaperPro
case 124: self = .tbeamBpf
case 125: self = .miniEpaperS3
case 126: self = .tdisplayS3Pro
case 127: self = .heltecMeshNodeT096
case 128: self = .trackerT1000EPro
case 255: self = .privateHw
default: self = .UNRECOGNIZED(rawValue)
}
@ -815,6 +839,11 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
case .meshstick1262: return 121
case .tbeam1Watt: return 122
case .t5S3EpaperPro: return 123
case .tbeamBpf: return 124
case .miniEpaperS3: return 125
case .tdisplayS3Pro: return 126
case .heltecMeshNodeT096: return 127
case .trackerT1000EPro: return 128
case .privateHw: return 255
case .UNRECOGNIZED(let i): return i
}
@ -946,6 +975,11 @@ public enum HardwareModel: SwiftProtobuf.Enum, Swift.CaseIterable {
.meshstick1262,
.tbeam1Watt,
.t5S3EpaperPro,
.tbeamBpf,
.miniEpaperS3,
.tdisplayS3Pro,
.heltecMeshNodeT096,
.trackerT1000EPro,
.privateHw,
]
@ -4014,7 +4048,7 @@ public struct ChunkedPayloadResponse: Sendable {
fileprivate let _protobuf_package = "meshtastic"
extension HardwareModel: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0UNSET\0\u{1}TLORA_V2\0\u{1}TLORA_V1\0\u{1}TLORA_V2_1_1P6\0\u{1}TBEAM\0\u{1}HELTEC_V2_0\0\u{1}TBEAM_V0P7\0\u{1}T_ECHO\0\u{1}TLORA_V1_1P3\0\u{1}RAK4631\0\u{1}HELTEC_V2_1\0\u{1}HELTEC_V1\0\u{1}LILYGO_TBEAM_S3_CORE\0\u{1}RAK11200\0\u{1}NANO_G1\0\u{1}TLORA_V2_1_1P8\0\u{1}TLORA_T3_S3\0\u{1}NANO_G1_EXPLORER\0\u{1}NANO_G2_ULTRA\0\u{1}LORA_TYPE\0\u{1}WIPHONE\0\u{1}WIO_WM1110\0\u{1}RAK2560\0\u{1}HELTEC_HRU_3601\0\u{1}HELTEC_WIRELESS_BRIDGE\0\u{1}STATION_G1\0\u{1}RAK11310\0\u{1}SENSELORA_RP2040\0\u{1}SENSELORA_S3\0\u{1}CANARYONE\0\u{1}RP2040_LORA\0\u{1}STATION_G2\0\u{1}LORA_RELAY_V1\0\u{1}T_ECHO_PLUS\0\u{1}PPR\0\u{1}GENIEBLOCKS\0\u{1}NRF52_UNKNOWN\0\u{1}PORTDUINO\0\u{1}ANDROID_SIM\0\u{1}DIY_V1\0\u{1}NRF52840_PCA10059\0\u{1}DR_DEV\0\u{1}M5STACK\0\u{1}HELTEC_V3\0\u{1}HELTEC_WSL_V3\0\u{1}BETAFPV_2400_TX\0\u{1}BETAFPV_900_NANO_TX\0\u{1}RPI_PICO\0\u{1}HELTEC_WIRELESS_TRACKER\0\u{1}HELTEC_WIRELESS_PAPER\0\u{1}T_DECK\0\u{1}T_WATCH_S3\0\u{1}PICOMPUTER_S3\0\u{1}HELTEC_HT62\0\u{1}EBYTE_ESP32_S3\0\u{1}ESP32_S3_PICO\0\u{1}CHATTER_2\0\u{1}HELTEC_WIRELESS_PAPER_V1_0\0\u{1}HELTEC_WIRELESS_TRACKER_V1_0\0\u{1}UNPHONE\0\u{1}TD_LORAC\0\u{1}CDEBYTE_EORA_S3\0\u{1}TWC_MESH_V4\0\u{1}NRF52_PROMICRO_DIY\0\u{1}RADIOMASTER_900_BANDIT_NANO\0\u{1}HELTEC_CAPSULE_SENSOR_V3\0\u{1}HELTEC_VISION_MASTER_T190\0\u{1}HELTEC_VISION_MASTER_E213\0\u{1}HELTEC_VISION_MASTER_E290\0\u{1}HELTEC_MESH_NODE_T114\0\u{1}SENSECAP_INDICATOR\0\u{1}TRACKER_T1000_E\0\u{1}RAK3172\0\u{1}WIO_E5\0\u{1}RADIOMASTER_900_BANDIT\0\u{1}ME25LS01_4Y10TD\0\u{1}RP2040_FEATHER_RFM95\0\u{1}M5STACK_COREBASIC\0\u{1}M5STACK_CORE2\0\u{1}RPI_PICO2\0\u{1}M5STACK_CORES3\0\u{1}SEEED_XIAO_S3\0\u{1}MS24SF1\0\u{1}TLORA_C6\0\u{1}WISMESH_TAP\0\u{1}ROUTASTIC\0\u{1}MESH_TAB\0\u{1}MESHLINK\0\u{1}XIAO_NRF52_KIT\0\u{1}THINKNODE_M1\0\u{1}THINKNODE_M2\0\u{1}T_ETH_ELITE\0\u{1}HELTEC_SENSOR_HUB\0\u{1}MUZI_BASE\0\u{1}HELTEC_MESH_POCKET\0\u{1}SEEED_SOLAR_NODE\0\u{1}NOMADSTAR_METEOR_PRO\0\u{1}CROWPANEL\0\u{1}LINK_32\0\u{1}SEEED_WIO_TRACKER_L1\0\u{1}SEEED_WIO_TRACKER_L1_EINK\0\u{1}MUZI_R1_NEO\0\u{1}T_DECK_PRO\0\u{1}T_LORA_PAGER\0\u{1}M5STACK_RESERVED\0\u{1}WISMESH_TAG\0\u{1}RAK3312\0\u{1}THINKNODE_M5\0\u{1}HELTEC_MESH_SOLAR\0\u{1}T_ECHO_LITE\0\u{1}HELTEC_V4\0\u{1}M5STACK_C6L\0\u{1}M5STACK_CARDPUTER_ADV\0\u{1}HELTEC_WIRELESS_TRACKER_V2\0\u{1}T_WATCH_ULTRA\0\u{1}THINKNODE_M3\0\u{1}WISMESH_TAP_V2\0\u{1}RAK3401\0\u{1}RAK6421\0\u{1}THINKNODE_M4\0\u{1}THINKNODE_M6\0\u{1}MESHSTICK_1262\0\u{1}TBEAM_1_WATT\0\u{1}T5_S3_EPAPER_PRO\0\u{2}D\u{2}PRIVATE_HW\0")
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0UNSET\0\u{1}TLORA_V2\0\u{1}TLORA_V1\0\u{1}TLORA_V2_1_1P6\0\u{1}TBEAM\0\u{1}HELTEC_V2_0\0\u{1}TBEAM_V0P7\0\u{1}T_ECHO\0\u{1}TLORA_V1_1P3\0\u{1}RAK4631\0\u{1}HELTEC_V2_1\0\u{1}HELTEC_V1\0\u{1}LILYGO_TBEAM_S3_CORE\0\u{1}RAK11200\0\u{1}NANO_G1\0\u{1}TLORA_V2_1_1P8\0\u{1}TLORA_T3_S3\0\u{1}NANO_G1_EXPLORER\0\u{1}NANO_G2_ULTRA\0\u{1}LORA_TYPE\0\u{1}WIPHONE\0\u{1}WIO_WM1110\0\u{1}RAK2560\0\u{1}HELTEC_HRU_3601\0\u{1}HELTEC_WIRELESS_BRIDGE\0\u{1}STATION_G1\0\u{1}RAK11310\0\u{1}SENSELORA_RP2040\0\u{1}SENSELORA_S3\0\u{1}CANARYONE\0\u{1}RP2040_LORA\0\u{1}STATION_G2\0\u{1}LORA_RELAY_V1\0\u{1}T_ECHO_PLUS\0\u{1}PPR\0\u{1}GENIEBLOCKS\0\u{1}NRF52_UNKNOWN\0\u{1}PORTDUINO\0\u{1}ANDROID_SIM\0\u{1}DIY_V1\0\u{1}NRF52840_PCA10059\0\u{1}DR_DEV\0\u{1}M5STACK\0\u{1}HELTEC_V3\0\u{1}HELTEC_WSL_V3\0\u{1}BETAFPV_2400_TX\0\u{1}BETAFPV_900_NANO_TX\0\u{1}RPI_PICO\0\u{1}HELTEC_WIRELESS_TRACKER\0\u{1}HELTEC_WIRELESS_PAPER\0\u{1}T_DECK\0\u{1}T_WATCH_S3\0\u{1}PICOMPUTER_S3\0\u{1}HELTEC_HT62\0\u{1}EBYTE_ESP32_S3\0\u{1}ESP32_S3_PICO\0\u{1}CHATTER_2\0\u{1}HELTEC_WIRELESS_PAPER_V1_0\0\u{1}HELTEC_WIRELESS_TRACKER_V1_0\0\u{1}UNPHONE\0\u{1}TD_LORAC\0\u{1}CDEBYTE_EORA_S3\0\u{1}TWC_MESH_V4\0\u{1}NRF52_PROMICRO_DIY\0\u{1}RADIOMASTER_900_BANDIT_NANO\0\u{1}HELTEC_CAPSULE_SENSOR_V3\0\u{1}HELTEC_VISION_MASTER_T190\0\u{1}HELTEC_VISION_MASTER_E213\0\u{1}HELTEC_VISION_MASTER_E290\0\u{1}HELTEC_MESH_NODE_T114\0\u{1}SENSECAP_INDICATOR\0\u{1}TRACKER_T1000_E\0\u{1}RAK3172\0\u{1}WIO_E5\0\u{1}RADIOMASTER_900_BANDIT\0\u{1}ME25LS01_4Y10TD\0\u{1}RP2040_FEATHER_RFM95\0\u{1}M5STACK_COREBASIC\0\u{1}M5STACK_CORE2\0\u{1}RPI_PICO2\0\u{1}M5STACK_CORES3\0\u{1}SEEED_XIAO_S3\0\u{1}MS24SF1\0\u{1}TLORA_C6\0\u{1}WISMESH_TAP\0\u{1}ROUTASTIC\0\u{1}MESH_TAB\0\u{1}MESHLINK\0\u{1}XIAO_NRF52_KIT\0\u{1}THINKNODE_M1\0\u{1}THINKNODE_M2\0\u{1}T_ETH_ELITE\0\u{1}HELTEC_SENSOR_HUB\0\u{1}MUZI_BASE\0\u{1}HELTEC_MESH_POCKET\0\u{1}SEEED_SOLAR_NODE\0\u{1}NOMADSTAR_METEOR_PRO\0\u{1}CROWPANEL\0\u{1}LINK_32\0\u{1}SEEED_WIO_TRACKER_L1\0\u{1}SEEED_WIO_TRACKER_L1_EINK\0\u{1}MUZI_R1_NEO\0\u{1}T_DECK_PRO\0\u{1}T_LORA_PAGER\0\u{1}M5STACK_RESERVED\0\u{1}WISMESH_TAG\0\u{1}RAK3312\0\u{1}THINKNODE_M5\0\u{1}HELTEC_MESH_SOLAR\0\u{1}T_ECHO_LITE\0\u{1}HELTEC_V4\0\u{1}M5STACK_C6L\0\u{1}M5STACK_CARDPUTER_ADV\0\u{1}HELTEC_WIRELESS_TRACKER_V2\0\u{1}T_WATCH_ULTRA\0\u{1}THINKNODE_M3\0\u{1}WISMESH_TAP_V2\0\u{1}RAK3401\0\u{1}RAK6421\0\u{1}THINKNODE_M4\0\u{1}THINKNODE_M6\0\u{1}MESHSTICK_1262\0\u{1}TBEAM_1_WATT\0\u{1}T5_S3_EPAPER_PRO\0\u{1}TBEAM_BPF\0\u{1}MINI_EPAPER_S3\0\u{1}TDISPLAY_S3_PRO\0\u{1}HELTEC_MESH_NODE_T096\0\u{1}TRACKER_T1000_E_PRO\0\u{2}\u{7f}\u{1}PRIVATE_HW\0")
}
extension Constants: SwiftProtobuf._ProtoNameProviding {

View file

@ -228,6 +228,16 @@ public struct ModuleConfig: Sendable {
set {payloadVariant = .trafficManagement(newValue)}
}
///
/// TAK team/role configuration for TAK_TRACKER
public var tak: ModuleConfig.TAKConfig {
get {
if case .tak(let v)? = payloadVariant {return v}
return ModuleConfig.TAKConfig()
}
set {payloadVariant = .tak(newValue)}
}
public var unknownFields = SwiftProtobuf.UnknownStorage()
///
@ -278,6 +288,9 @@ public struct ModuleConfig: Sendable {
///
/// Traffic management module config for mesh network optimization
case trafficManagement(ModuleConfig.TrafficManagementConfig)
///
/// TAK team/role configuration for TAK_TRACKER
case tak(ModuleConfig.TAKConfig)
}
@ -1391,6 +1404,28 @@ public struct ModuleConfig: Sendable {
public init() {}
}
///
/// TAK team/role configuration
public struct TAKConfig: Sendable {
// 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.
///
/// Team color.
/// Default Unspecifed_Color -> firmware uses Cyan
public var team: Team = .unspecifedColor
///
/// Member role.
/// Default Unspecifed -> firmware uses TeamMember
public var role: MemberRole = .unspecifed
public var unknownFields = SwiftProtobuf.UnknownStorage()
public init() {}
}
public init() {}
}
@ -1428,7 +1463,7 @@ extension RemoteHardwarePinType: SwiftProtobuf._ProtoNameProviding {
extension ModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = _protobuf_package + ".ModuleConfig"
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}mqtt\0\u{1}serial\0\u{3}external_notification\0\u{3}store_forward\0\u{3}range_test\0\u{1}telemetry\0\u{3}canned_message\0\u{1}audio\0\u{3}remote_hardware\0\u{3}neighbor_info\0\u{3}ambient_lighting\0\u{3}detection_sensor\0\u{1}paxcounter\0\u{1}statusmessage\0\u{3}traffic_management\0")
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}mqtt\0\u{1}serial\0\u{3}external_notification\0\u{3}store_forward\0\u{3}range_test\0\u{1}telemetry\0\u{3}canned_message\0\u{1}audio\0\u{3}remote_hardware\0\u{3}neighbor_info\0\u{3}ambient_lighting\0\u{3}detection_sensor\0\u{1}paxcounter\0\u{1}statusmessage\0\u{3}traffic_management\0\u{1}tak\0")
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
while let fieldNumber = try decoder.nextFieldNumber() {
@ -1631,6 +1666,19 @@ extension ModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementat
self.payloadVariant = .trafficManagement(v)
}
}()
case 16: try {
var v: ModuleConfig.TAKConfig?
var hadOneofValue = false
if let current = self.payloadVariant {
hadOneofValue = true
if case .tak(let m) = current {v = m}
}
try decoder.decodeSingularMessageField(value: &v)
if let v = v {
if hadOneofValue {try decoder.handleConflictingOneOf()}
self.payloadVariant = .tak(v)
}
}()
default: break
}
}
@ -1702,6 +1750,10 @@ extension ModuleConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementat
guard case .trafficManagement(let v)? = self.payloadVariant else { preconditionFailure() }
try visitor.visitSingularMessageField(value: v, fieldNumber: 15)
}()
case .tak?: try {
guard case .tak(let v)? = self.payloadVariant else { preconditionFailure() }
try visitor.visitSingularMessageField(value: v, fieldNumber: 16)
}()
case nil: break
}
try unknownFields.traverse(visitor: &visitor)
@ -2728,6 +2780,41 @@ extension ModuleConfig.StatusMessageConfig: SwiftProtobuf.Message, SwiftProtobuf
}
}
extension ModuleConfig.TAKConfig: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = ModuleConfig.protoMessageName + ".TAKConfig"
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{1}team\0\u{1}role\0")
public mutating func decodeMessage<D: SwiftProtobuf.Decoder>(decoder: inout D) throws {
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.decodeSingularEnumField(value: &self.team) }()
case 2: try { try decoder.decodeSingularEnumField(value: &self.role) }()
default: break
}
}
}
public func traverse<V: SwiftProtobuf.Visitor>(visitor: inout V) throws {
if self.team != .unspecifedColor {
try visitor.visitSingularEnumField(value: self.team, fieldNumber: 1)
}
if self.role != .unspecifed {
try visitor.visitSingularEnumField(value: self.role, fieldNumber: 2)
}
try unknownFields.traverse(visitor: &visitor)
}
public static func ==(lhs: ModuleConfig.TAKConfig, rhs: ModuleConfig.TAKConfig) -> Bool {
if lhs.team != rhs.team {return false}
if lhs.role != rhs.role {return false}
if lhs.unknownFields != rhs.unknownFields {return false}
return true
}
}
extension RemoteHardwarePin: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {
public static let protoMessageName: String = _protobuf_package + ".RemoteHardwarePin"
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{3}gpio_pin\0\u{1}name\0\u{1}type\0")

View file

@ -211,6 +211,11 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
/// PowerStress based monitoring support (for automated power consumption testing)
case powerstressApp // = 74
///
/// LoraWAN Payload Transport
/// ENCODING: compact binary LoRaWAN uplink (10-byte RF metadata + PHY payload) - see LoRaWANBridgeModule
case lorawanBridge // = 75
///
/// Reticulum Network Stack Tunnel App
/// ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
@ -222,6 +227,12 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
/// ENCODING: CayenneLLP
case cayenneApp // = 77
///
/// GroupAlarm integration
/// Used for transporting GroupAlarm-related messages between Meshtastic nodes
/// and companion applications/services.
case groupalarmApp // = 112
///
/// Private applications should use portnums >= 256.
/// To simplify initial development and testing you can use "PRIVATE_APP"
@ -273,8 +284,10 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
case 72: self = .atakPlugin
case 73: self = .mapReportApp
case 74: self = .powerstressApp
case 75: self = .lorawanBridge
case 76: self = .reticulumTunnelApp
case 77: self = .cayenneApp
case 112: self = .groupalarmApp
case 256: self = .privateApp
case 257: self = .atakForwarder
case 511: self = .max
@ -313,8 +326,10 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
case .atakPlugin: return 72
case .mapReportApp: return 73
case .powerstressApp: return 74
case .lorawanBridge: return 75
case .reticulumTunnelApp: return 76
case .cayenneApp: return 77
case .groupalarmApp: return 112
case .privateApp: return 256
case .atakForwarder: return 257
case .max: return 511
@ -353,8 +368,10 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
.atakPlugin,
.mapReportApp,
.powerstressApp,
.lorawanBridge,
.reticulumTunnelApp,
.cayenneApp,
.groupalarmApp,
.privateApp,
.atakForwarder,
.max,
@ -365,5 +382,5 @@ public enum PortNum: SwiftProtobuf.Enum, Swift.CaseIterable {
// MARK: - Code below here is support for the SwiftProtobuf runtime.
extension PortNum: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0UNKNOWN_APP\0\u{1}TEXT_MESSAGE_APP\0\u{1}REMOTE_HARDWARE_APP\0\u{1}POSITION_APP\0\u{1}NODEINFO_APP\0\u{1}ROUTING_APP\0\u{1}ADMIN_APP\0\u{1}TEXT_MESSAGE_COMPRESSED_APP\0\u{1}WAYPOINT_APP\0\u{1}AUDIO_APP\0\u{1}DETECTION_SENSOR_APP\0\u{1}ALERT_APP\0\u{1}KEY_VERIFICATION_APP\0\u{2}\u{14}REPLY_APP\0\u{1}IP_TUNNEL_APP\0\u{1}PAXCOUNTER_APP\0\u{1}STORE_FORWARD_PLUSPLUS_APP\0\u{1}NODE_STATUS_APP\0\u{2}\u{1c}SERIAL_APP\0\u{1}STORE_FORWARD_APP\0\u{1}RANGE_TEST_APP\0\u{1}TELEMETRY_APP\0\u{1}ZPS_APP\0\u{1}SIMULATOR_APP\0\u{1}TRACEROUTE_APP\0\u{1}NEIGHBORINFO_APP\0\u{1}ATAK_PLUGIN\0\u{1}MAP_REPORT_APP\0\u{1}POWERSTRESS_APP\0\u{2}\u{2}RETICULUM_TUNNEL_APP\0\u{1}CAYENNE_APP\0\u{2}s\u{2}PRIVATE_APP\0\u{1}ATAK_FORWARDER\0\u{2}~\u{3}MAX\0")
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0UNKNOWN_APP\0\u{1}TEXT_MESSAGE_APP\0\u{1}REMOTE_HARDWARE_APP\0\u{1}POSITION_APP\0\u{1}NODEINFO_APP\0\u{1}ROUTING_APP\0\u{1}ADMIN_APP\0\u{1}TEXT_MESSAGE_COMPRESSED_APP\0\u{1}WAYPOINT_APP\0\u{1}AUDIO_APP\0\u{1}DETECTION_SENSOR_APP\0\u{1}ALERT_APP\0\u{1}KEY_VERIFICATION_APP\0\u{2}\u{14}REPLY_APP\0\u{1}IP_TUNNEL_APP\0\u{1}PAXCOUNTER_APP\0\u{1}STORE_FORWARD_PLUSPLUS_APP\0\u{1}NODE_STATUS_APP\0\u{2}\u{1c}SERIAL_APP\0\u{1}STORE_FORWARD_APP\0\u{1}RANGE_TEST_APP\0\u{1}TELEMETRY_APP\0\u{1}ZPS_APP\0\u{1}SIMULATOR_APP\0\u{1}TRACEROUTE_APP\0\u{1}NEIGHBORINFO_APP\0\u{1}ATAK_PLUGIN\0\u{1}MAP_REPORT_APP\0\u{1}POWERSTRESS_APP\0\u{1}LORAWAN_BRIDGE\0\u{1}RETICULUM_TUNNEL_APP\0\u{1}CAYENNE_APP\0\u{2}#GROUPALARM_APP\0\u{2}P\u{2}PRIVATE_APP\0\u{1}ATAK_FORWARDER\0\u{2}~\u{3}MAX\0")
}

View file

@ -54,7 +54,7 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case bmp280 // = 6
///
/// High accuracy temperature and humidity
/// TODO - REMOVE High accuracy temperature and humidity
case shtc3 // = 7
///
@ -74,7 +74,7 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case qmc5883L // = 11
///
/// High accuracy temperature and humidity
/// TODO - REMOVE High accuracy temperature and humidity
case sht31 // = 12
///
@ -94,7 +94,7 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case rcwl9620 // = 16
///
/// Sensirion High accuracy temperature and humidity
/// TODO - REMOVE Sensirion High accuracy temperature and humidity
case sht4X // = 17
///
@ -214,12 +214,20 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case hdc1080 // = 46
///
/// STH21 Temperature and R. Humidity sensor
/// TODO - REMOVE STH21 Temperature and R. Humidity sensor
case sht21 // = 47
///
/// Sensirion STC31 CO2 sensor
case stc31 // = 48
///
/// SCD30 CO2, humidity, temperature sensor
case scd30 // = 49
///
/// SHT family of sensors for temperature and humidity
case shtxx // = 50
case UNRECOGNIZED(Int)
public init() {
@ -277,6 +285,8 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case 46: self = .hdc1080
case 47: self = .sht21
case 48: self = .stc31
case 49: self = .scd30
case 50: self = .shtxx
default: self = .UNRECOGNIZED(rawValue)
}
}
@ -332,6 +342,8 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
case .hdc1080: return 46
case .sht21: return 47
case .stc31: return 48
case .scd30: return 49
case .shtxx: return 50
case .UNRECOGNIZED(let i): return i
}
}
@ -387,6 +399,8 @@ public enum TelemetrySensorType: SwiftProtobuf.Enum, Swift.CaseIterable {
.hdc1080,
.sht21,
.stc31,
.scd30,
.shtxx,
]
}
@ -1673,7 +1687,7 @@ public struct SEN5XState: Sendable {
fileprivate let _protobuf_package = "meshtastic"
extension TelemetrySensorType: SwiftProtobuf._ProtoNameProviding {
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0SENSOR_UNSET\0\u{1}BME280\0\u{1}BME680\0\u{1}MCP9808\0\u{1}INA260\0\u{1}INA219\0\u{1}BMP280\0\u{1}SHTC3\0\u{1}LPS22\0\u{1}QMC6310\0\u{1}QMI8658\0\u{1}QMC5883L\0\u{1}SHT31\0\u{1}PMSA003I\0\u{1}INA3221\0\u{1}BMP085\0\u{1}RCWL9620\0\u{1}SHT4X\0\u{1}VEML7700\0\u{1}MLX90632\0\u{1}OPT3001\0\u{1}LTR390UV\0\u{1}TSL25911FN\0\u{1}AHT10\0\u{1}DFROBOT_LARK\0\u{1}NAU7802\0\u{1}BMP3XX\0\u{1}ICM20948\0\u{1}MAX17048\0\u{1}CUSTOM_SENSOR\0\u{1}MAX30102\0\u{1}MLX90614\0\u{1}SCD4X\0\u{1}RADSENS\0\u{1}INA226\0\u{1}DFROBOT_RAIN\0\u{1}DPS310\0\u{1}RAK12035\0\u{1}MAX17261\0\u{1}PCT2075\0\u{1}ADS1X15\0\u{1}ADS1X15_ALT\0\u{1}SFA30\0\u{1}SEN5X\0\u{1}TSL2561\0\u{1}BH1750\0\u{1}HDC1080\0\u{1}SHT21\0\u{1}STC31\0")
public static let _protobuf_nameMap = SwiftProtobuf._NameMap(bytecode: "\0\u{2}\0SENSOR_UNSET\0\u{1}BME280\0\u{1}BME680\0\u{1}MCP9808\0\u{1}INA260\0\u{1}INA219\0\u{1}BMP280\0\u{1}SHTC3\0\u{1}LPS22\0\u{1}QMC6310\0\u{1}QMI8658\0\u{1}QMC5883L\0\u{1}SHT31\0\u{1}PMSA003I\0\u{1}INA3221\0\u{1}BMP085\0\u{1}RCWL9620\0\u{1}SHT4X\0\u{1}VEML7700\0\u{1}MLX90632\0\u{1}OPT3001\0\u{1}LTR390UV\0\u{1}TSL25911FN\0\u{1}AHT10\0\u{1}DFROBOT_LARK\0\u{1}NAU7802\0\u{1}BMP3XX\0\u{1}ICM20948\0\u{1}MAX17048\0\u{1}CUSTOM_SENSOR\0\u{1}MAX30102\0\u{1}MLX90614\0\u{1}SCD4X\0\u{1}RADSENS\0\u{1}INA226\0\u{1}DFROBOT_RAIN\0\u{1}DPS310\0\u{1}RAK12035\0\u{1}MAX17261\0\u{1}PCT2075\0\u{1}ADS1X15\0\u{1}ADS1X15_ALT\0\u{1}SFA30\0\u{1}SEN5X\0\u{1}TSL2561\0\u{1}BH1750\0\u{1}HDC1080\0\u{1}SHT21\0\u{1}STC31\0\u{1}SCD30\0\u{1}SHTXX\0")
}
extension DeviceMetrics: SwiftProtobuf.Message, SwiftProtobuf._MessageImplementationBase, SwiftProtobuf._ProtoNameProviding {

@ -1 +1 @@
Subproject commit c8d5047b6351b732c0bccfcea6960a532f7ae49a
Subproject commit 349c1d5c1e3ab716a65d7dab1597923b4542796d