From 8292c7f172a98a200bbcb7936d008fc16e205d01 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Tue, 8 Aug 2023 13:18:31 -0500 Subject: [PATCH] 2.2 changes --- .../Data/DeviceStateContainerTests.cs | 4 +- .../MessageFactories/AdminMessageFactory.cs | 1 + Meshtastic/Generated/Admin.cs | 28 +- Meshtastic/Generated/Deviceonly.cs | 97 +- Meshtastic/Generated/Mesh.cs | 834 +++++------------- Meshtastic/Generated/Portnums.cs | 26 + protobufs | 2 +- 7 files changed, 284 insertions(+), 708 deletions(-) diff --git a/Meshtastic.Test/Data/DeviceStateContainerTests.cs b/Meshtastic.Test/Data/DeviceStateContainerTests.cs index 3537190..eb1832d 100644 --- a/Meshtastic.Test/Data/DeviceStateContainerTests.cs +++ b/Meshtastic.Test/Data/DeviceStateContainerTests.cs @@ -74,11 +74,11 @@ public void AddFromRadio_Should_SetMyInfo_GivenMyNodeInfo() { MyInfo = new MyNodeInfo() { - FirmwareVersion = "420" + RebootCount = 1234 } }; deviceStateContainer.AddFromRadio(fromRadio); - deviceStateContainer.MyNodeInfo.FirmwareVersion.Should().Be("420"); + deviceStateContainer.MyNodeInfo.RebootCount.Should().Be(1234); } [Test] diff --git a/Meshtastic/Data/MessageFactories/AdminMessageFactory.cs b/Meshtastic/Data/MessageFactories/AdminMessageFactory.cs index 7b38947..7a6973a 100644 --- a/Meshtastic/Data/MessageFactories/AdminMessageFactory.cs +++ b/Meshtastic/Data/MessageFactories/AdminMessageFactory.cs @@ -90,6 +90,7 @@ public MeshPacket CreateSetModuleConfigMessage(object instance) StoreForwardConfig => new ModuleConfig() { StoreForward = instance as StoreForwardConfig }, TelemetryConfig => new ModuleConfig() { Telemetry = instance as TelemetryConfig }, RemoteHardwareConfig => new ModuleConfig() { RemoteHardware = instance as RemoteHardwareConfig }, + NeighborInfoConfig => new ModuleConfig() { NeighborInfo = instance as NeighborInfoConfig }, _ => throw new ArgumentException("Could not determine ModuleConfig type", nameof(instance)), }; return GetNewMeshPacket(new AdminMessage() { SetModuleConfig = moduleConfig! }); diff --git a/Meshtastic/Generated/Admin.cs b/Meshtastic/Generated/Admin.cs index daad7cb..fbd6971 100644 --- a/Meshtastic/Generated/Admin.cs +++ b/Meshtastic/Generated/Admin.cs @@ -28,7 +28,7 @@ static AdminReflection() { "dGljL2NoYW5uZWwucHJvdG8aF21lc2h0YXN0aWMvY29uZmlnLnByb3RvGiJt", "ZXNodGFzdGljL2Nvbm5lY3Rpb25fc3RhdHVzLnByb3RvGhttZXNodGFzdGlj", "L2RldmljZW9ubHkucHJvdG8aFW1lc2h0YXN0aWMvbWVzaC5wcm90bxoebWVz", - "aHRhc3RpYy9tb2R1bGVfY29uZmlnLnByb3RvIpIPCgxBZG1pbk1lc3NhZ2US", + "aHRhc3RpYy9tb2R1bGVfY29uZmlnLnByb3RvIqsPCgxBZG1pbk1lc3NhZ2US", "HQoTZ2V0X2NoYW5uZWxfcmVxdWVzdBgBIAEoDUgAEjMKFGdldF9jaGFubmVs", "X3Jlc3BvbnNlGAIgASgLMhMubWVzaHRhc3RpYy5DaGFubmVsSAASGwoRZ2V0", "X293bmVyX3JlcXVlc3QYAyABKAhIABIuChJnZXRfb3duZXJfcmVzcG9uc2UY", @@ -65,20 +65,21 @@ static AdminReflection() { "ABIWCgxub2RlZGJfcmVzZXQYZCABKAVIACKVAQoKQ29uZmlnVHlwZRIRCg1E", "RVZJQ0VfQ09ORklHEAASEwoPUE9TSVRJT05fQ09ORklHEAESEAoMUE9XRVJf", "Q09ORklHEAISEgoOTkVUV09SS19DT05GSUcQAxISCg5ESVNQTEFZX0NPTkZJ", - "RxAEEg8KC0xPUkFfQ09ORklHEAUSFAoQQkxVRVRPT1RIX0NPTkZJRxAGIu8B", + "RxAEEg8KC0xPUkFfQ09ORklHEAUSFAoQQkxVRVRPT1RIX0NPTkZJRxAGIogC", "ChBNb2R1bGVDb25maWdUeXBlEg8KC01RVFRfQ09ORklHEAASEQoNU0VSSUFM", "X0NPTkZJRxABEhMKD0VYVE5PVElGX0NPTkZJRxACEhcKE1NUT1JFRk9SV0FS", "RF9DT05GSUcQAxIUChBSQU5HRVRFU1RfQ09ORklHEAQSFAoQVEVMRU1FVFJZ", "X0NPTkZJRxAFEhQKEENBTk5FRE1TR19DT05GSUcQBhIQCgxBVURJT19DT05G", - "SUcQBxIZChVSRU1PVEVIQVJEV0FSRV9DT05GSUcQCBIaChZBTUJJRU5UTElH", - "SFRJTkdfQ09ORklHEApCEQoPcGF5bG9hZF92YXJpYW50IlsKDUhhbVBhcmFt", - "ZXRlcnMSEQoJY2FsbF9zaWduGAEgASgJEhAKCHR4X3Bvd2VyGAIgASgFEhEK", - "CWZyZXF1ZW5jeRgDIAEoAhISCgpzaG9ydF9uYW1lGAQgASgJImYKHk5vZGVS", - "ZW1vdGVIYXJkd2FyZVBpbnNSZXNwb25zZRJEChlub2RlX3JlbW90ZV9oYXJk", - "d2FyZV9waW5zGAEgAygLMiEubWVzaHRhc3RpYy5Ob2RlUmVtb3RlSGFyZHdh", - "cmVQaW5CYAoTY29tLmdlZWtzdmlsbGUubWVzaEILQWRtaW5Qcm90b3NaImdp", - "dGh1Yi5jb20vbWVzaHRhc3RpYy9nby9nZW5lcmF0ZWSqAhRNZXNodGFzdGlj", - "LlByb3RvYnVmc7oCAGIGcHJvdG8z")); + "SUcQBxIZChVSRU1PVEVIQVJEV0FSRV9DT05GSUcQCBIXChNORUlHSEJPUklO", + "Rk9fQ09ORklHEAkSGgoWQU1CSUVOVExJR0hUSU5HX0NPTkZJRxAKQhEKD3Bh", + "eWxvYWRfdmFyaWFudCJbCg1IYW1QYXJhbWV0ZXJzEhEKCWNhbGxfc2lnbhgB", + "IAEoCRIQCgh0eF9wb3dlchgCIAEoBRIRCglmcmVxdWVuY3kYAyABKAISEgoK", + "c2hvcnRfbmFtZRgEIAEoCSJmCh5Ob2RlUmVtb3RlSGFyZHdhcmVQaW5zUmVz", + "cG9uc2USRAoZbm9kZV9yZW1vdGVfaGFyZHdhcmVfcGlucxgBIAMoCzIhLm1l", + "c2h0YXN0aWMuTm9kZVJlbW90ZUhhcmR3YXJlUGluQmAKE2NvbS5nZWVrc3Zp", + "bGxlLm1lc2hCC0FkbWluUHJvdG9zWiJnaXRodWIuY29tL21lc2h0YXN0aWMv", + "Z28vZ2VuZXJhdGVkqgIUTWVzaHRhc3RpYy5Qcm90b2J1ZnO6AgBiBnByb3Rv", + "Mw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Meshtastic.Protobufs.ChannelReflection.Descriptor, global::Meshtastic.Protobufs.ConfigReflection.Descriptor, global::Meshtastic.Protobufs.ConnectionStatusReflection.Descriptor, global::Meshtastic.Protobufs.DeviceonlyReflection.Descriptor, global::Meshtastic.Protobufs.MeshReflection.Descriptor, global::Meshtastic.Protobufs.ModuleConfigReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { @@ -1995,6 +1996,11 @@ public enum ModuleConfigType { /// /// TODO: REPLACE /// + [pbr::OriginalName("NEIGHBORINFO_CONFIG")] NeighborinfoConfig = 9, + /// + /// + /// TODO: REPLACE + /// [pbr::OriginalName("AMBIENTLIGHTING_CONFIG")] AmbientlightingConfig = 10, } diff --git a/Meshtastic/Generated/Deviceonly.cs b/Meshtastic/Generated/Deviceonly.cs index 342030a..66d77ef 100644 --- a/Meshtastic/Generated/Deviceonly.cs +++ b/Meshtastic/Generated/Deviceonly.cs @@ -27,43 +27,42 @@ static DeviceonlyReflection() { "ChttZXNodGFzdGljL2RldmljZW9ubHkucHJvdG8SCm1lc2h0YXN0aWMaGG1l", "c2h0YXN0aWMvY2hhbm5lbC5wcm90bxoabWVzaHRhc3RpYy9sb2NhbG9ubHku", "cHJvdG8aFW1lc2h0YXN0aWMvbWVzaC5wcm90bxoabWVzaHRhc3RpYy90ZWxl", - "bWV0cnkucHJvdG8aHm1lc2h0YXN0aWMvbW9kdWxlX2NvbmZpZy5wcm90byK+", + "bWV0cnkucHJvdG8aHm1lc2h0YXN0aWMvbW9kdWxlX2NvbmZpZy5wcm90byKT", "AwoLRGV2aWNlU3RhdGUSJwoHbXlfbm9kZRgCIAEoCzIWLm1lc2h0YXN0aWMu", - "TXlOb2RlSW5mbxIfCgVvd25lchgDIAEoCzIQLm1lc2h0YXN0aWMuVXNlchIp", - "Cgdub2RlX2RiGAQgAygLMhQubWVzaHRhc3RpYy5Ob2RlSW5mb0ICGAESLQoN", - "cmVjZWl2ZV9xdWV1ZRgFIAMoCzIWLm1lc2h0YXN0aWMuTWVzaFBhY2tldBIP", - "Cgd2ZXJzaW9uGAggASgNEi8KD3J4X3RleHRfbWVzc2FnZRgHIAEoCzIWLm1l", - "c2h0YXN0aWMuTWVzaFBhY2tldBIPCgdub19zYXZlGAkgASgIEhUKDWRpZF9n", - "cHNfcmVzZXQYCyABKAgSKwoLcnhfd2F5cG9pbnQYDCABKAsyFi5tZXNodGFz", - "dGljLk1lc2hQYWNrZXQSRAoZbm9kZV9yZW1vdGVfaGFyZHdhcmVfcGlucxgN", - "IAMoCzIhLm1lc2h0YXN0aWMuTm9kZVJlbW90ZUhhcmR3YXJlUGluEi4KDG5v", - "ZGVfZGJfbGl0ZRgOIAMoCzIYLm1lc2h0YXN0aWMuTm9kZUluZm9MaXRlIswB", - "CgxOb2RlSW5mb0xpdGUSCwoDbnVtGAEgASgNEh4KBHVzZXIYAiABKAsyEC5t", - "ZXNodGFzdGljLlVzZXISKgoIcG9zaXRpb24YAyABKAsyGC5tZXNodGFzdGlj", - "LlBvc2l0aW9uTGl0ZRILCgNzbnIYBCABKAISEgoKbGFzdF9oZWFyZBgFIAEo", - "BxIxCg5kZXZpY2VfbWV0cmljcxgGIAEoCzIZLm1lc2h0YXN0aWMuRGV2aWNl", - "TWV0cmljcxIPCgdjaGFubmVsGAcgASgNIpABCgxQb3NpdGlvbkxpdGUSEgoK", - "bGF0aXR1ZGVfaRgBIAEoDxITCgtsb25naXR1ZGVfaRgCIAEoDxIQCghhbHRp", - "dHVkZRgDIAEoBRIMCgR0aW1lGAQgASgHEjcKD2xvY2F0aW9uX3NvdXJjZRgF", - "IAEoDjIeLm1lc2h0YXN0aWMuUG9zaXRpb24uTG9jU291cmNlIkUKC0NoYW5u", - "ZWxGaWxlEiUKCGNoYW5uZWxzGAEgAygLMhMubWVzaHRhc3RpYy5DaGFubmVs", - "Eg8KB3ZlcnNpb24YAiABKA0ilwIKCE9FTVN0b3JlEhYKDm9lbV9pY29uX3dp", - "ZHRoGAEgASgNEhcKD29lbV9pY29uX2hlaWdodBgCIAEoDRIVCg1vZW1faWNv", - "bl9iaXRzGAMgASgMEikKCG9lbV9mb250GAQgASgOMhcubWVzaHRhc3RpYy5T", - "Y3JlZW5Gb250cxIQCghvZW1fdGV4dBgFIAEoCRITCgtvZW1fYWVzX2tleRgG", - "IAEoDBIxChBvZW1fbG9jYWxfY29uZmlnGAcgASgLMhcubWVzaHRhc3RpYy5M", - "b2NhbENvbmZpZxI+ChdvZW1fbG9jYWxfbW9kdWxlX2NvbmZpZxgIIAEoCzId", - "Lm1lc2h0YXN0aWMuTG9jYWxNb2R1bGVDb25maWciVQoVTm9kZVJlbW90ZUhh", - "cmR3YXJlUGluEhAKCG5vZGVfbnVtGAEgASgNEioKA3BpbhgCIAEoCzIdLm1l", - "c2h0YXN0aWMuUmVtb3RlSGFyZHdhcmVQaW4qPgoLU2NyZWVuRm9udHMSDgoK", - "Rk9OVF9TTUFMTBAAEg8KC0ZPTlRfTUVESVVNEAESDgoKRk9OVF9MQVJHRRAC", - "Ql8KE2NvbS5nZWVrc3ZpbGxlLm1lc2hCCkRldmljZU9ubHlaImdpdGh1Yi5j", - "b20vbWVzaHRhc3RpYy9nby9nZW5lcmF0ZWSqAhRNZXNodGFzdGljLlByb3Rv", - "YnVmc7oCAGIGcHJvdG8z")); + "TXlOb2RlSW5mbxIfCgVvd25lchgDIAEoCzIQLm1lc2h0YXN0aWMuVXNlchIt", + "Cg1yZWNlaXZlX3F1ZXVlGAUgAygLMhYubWVzaHRhc3RpYy5NZXNoUGFja2V0", + "Eg8KB3ZlcnNpb24YCCABKA0SLwoPcnhfdGV4dF9tZXNzYWdlGAcgASgLMhYu", + "bWVzaHRhc3RpYy5NZXNoUGFja2V0Eg8KB25vX3NhdmUYCSABKAgSFQoNZGlk", + "X2dwc19yZXNldBgLIAEoCBIrCgtyeF93YXlwb2ludBgMIAEoCzIWLm1lc2h0", + "YXN0aWMuTWVzaFBhY2tldBJEChlub2RlX3JlbW90ZV9oYXJkd2FyZV9waW5z", + "GA0gAygLMiEubWVzaHRhc3RpYy5Ob2RlUmVtb3RlSGFyZHdhcmVQaW4SLgoM", + "bm9kZV9kYl9saXRlGA4gAygLMhgubWVzaHRhc3RpYy5Ob2RlSW5mb0xpdGUi", + "zAEKDE5vZGVJbmZvTGl0ZRILCgNudW0YASABKA0SHgoEdXNlchgCIAEoCzIQ", + "Lm1lc2h0YXN0aWMuVXNlchIqCghwb3NpdGlvbhgDIAEoCzIYLm1lc2h0YXN0", + "aWMuUG9zaXRpb25MaXRlEgsKA3NuchgEIAEoAhISCgpsYXN0X2hlYXJkGAUg", + "ASgHEjEKDmRldmljZV9tZXRyaWNzGAYgASgLMhkubWVzaHRhc3RpYy5EZXZp", + "Y2VNZXRyaWNzEg8KB2NoYW5uZWwYByABKA0ikAEKDFBvc2l0aW9uTGl0ZRIS", + "CgpsYXRpdHVkZV9pGAEgASgPEhMKC2xvbmdpdHVkZV9pGAIgASgPEhAKCGFs", + "dGl0dWRlGAMgASgFEgwKBHRpbWUYBCABKAcSNwoPbG9jYXRpb25fc291cmNl", + "GAUgASgOMh4ubWVzaHRhc3RpYy5Qb3NpdGlvbi5Mb2NTb3VyY2UiRQoLQ2hh", + "bm5lbEZpbGUSJQoIY2hhbm5lbHMYASADKAsyEy5tZXNodGFzdGljLkNoYW5u", + "ZWwSDwoHdmVyc2lvbhgCIAEoDSKXAgoIT0VNU3RvcmUSFgoOb2VtX2ljb25f", + "d2lkdGgYASABKA0SFwoPb2VtX2ljb25faGVpZ2h0GAIgASgNEhUKDW9lbV9p", + "Y29uX2JpdHMYAyABKAwSKQoIb2VtX2ZvbnQYBCABKA4yFy5tZXNodGFzdGlj", + "LlNjcmVlbkZvbnRzEhAKCG9lbV90ZXh0GAUgASgJEhMKC29lbV9hZXNfa2V5", + "GAYgASgMEjEKEG9lbV9sb2NhbF9jb25maWcYByABKAsyFy5tZXNodGFzdGlj", + "LkxvY2FsQ29uZmlnEj4KF29lbV9sb2NhbF9tb2R1bGVfY29uZmlnGAggASgL", + "Mh0ubWVzaHRhc3RpYy5Mb2NhbE1vZHVsZUNvbmZpZyJVChVOb2RlUmVtb3Rl", + "SGFyZHdhcmVQaW4SEAoIbm9kZV9udW0YASABKA0SKgoDcGluGAIgASgLMh0u", + "bWVzaHRhc3RpYy5SZW1vdGVIYXJkd2FyZVBpbio+CgtTY3JlZW5Gb250cxIO", + "CgpGT05UX1NNQUxMEAASDwoLRk9OVF9NRURJVU0QARIOCgpGT05UX0xBUkdF", + "EAJCXwoTY29tLmdlZWtzdmlsbGUubWVzaEIKRGV2aWNlT25seVoiZ2l0aHVi", + "LmNvbS9tZXNodGFzdGljL2dvL2dlbmVyYXRlZKoCFE1lc2h0YXN0aWMuUHJv", + "dG9idWZzugIAYgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Meshtastic.Protobufs.ChannelReflection.Descriptor, global::Meshtastic.Protobufs.LocalonlyReflection.Descriptor, global::Meshtastic.Protobufs.MeshReflection.Descriptor, global::Meshtastic.Protobufs.TelemetryReflection.Descriptor, global::Meshtastic.Protobufs.ModuleConfigReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Meshtastic.Protobufs.ScreenFonts), }, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.DeviceState), global::Meshtastic.Protobufs.DeviceState.Parser, new[]{ "MyNode", "Owner", "NodeDb", "ReceiveQueue", "Version", "RxTextMessage", "NoSave", "DidGpsReset", "RxWaypoint", "NodeRemoteHardwarePins", "NodeDbLite" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.DeviceState), global::Meshtastic.Protobufs.DeviceState.Parser, new[]{ "MyNode", "Owner", "ReceiveQueue", "Version", "RxTextMessage", "NoSave", "DidGpsReset", "RxWaypoint", "NodeRemoteHardwarePins", "NodeDbLite" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.NodeInfoLite), global::Meshtastic.Protobufs.NodeInfoLite.Parser, new[]{ "Num", "User", "Position", "Snr", "LastHeard", "DeviceMetrics", "Channel" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.PositionLite), global::Meshtastic.Protobufs.PositionLite.Parser, new[]{ "LatitudeI", "LongitudeI", "Altitude", "Time", "LocationSource" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.ChannelFile), global::Meshtastic.Protobufs.ChannelFile.Parser, new[]{ "Channels", "Version" }, null, null, null, null), @@ -144,7 +143,6 @@ public DeviceState() { public DeviceState(DeviceState other) : this() { myNode_ = other.myNode_ != null ? other.myNode_.Clone() : null; owner_ = other.owner_ != null ? other.owner_.Clone() : null; - nodeDb_ = other.nodeDb_.Clone(); receiveQueue_ = other.receiveQueue_.Clone(); version_ = other.version_; rxTextMessage_ = other.rxTextMessage_ != null ? other.rxTextMessage_.Clone() : null; @@ -194,23 +192,6 @@ public DeviceState Clone() { } } - /// Field number for the "node_db" field. - public const int NodeDbFieldNumber = 4; - private static readonly pb::FieldCodec _repeated_nodeDb_codec - = pb::FieldCodec.ForMessage(34, global::Meshtastic.Protobufs.NodeInfo.Parser); - private readonly pbc::RepeatedField nodeDb_ = new pbc::RepeatedField(); - /// - /// - /// Deprecated in 2.1.x - /// Old node_db. See NodeInfoLite node_db_lite - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField NodeDb { - get { return nodeDb_; } - } - /// Field number for the "receive_queue" field. public const int ReceiveQueueFieldNumber = 5; private static readonly pb::FieldCodec _repeated_receiveQueue_codec @@ -360,7 +341,6 @@ public bool Equals(DeviceState other) { } if (!object.Equals(MyNode, other.MyNode)) return false; if (!object.Equals(Owner, other.Owner)) return false; - if(!nodeDb_.Equals(other.nodeDb_)) return false; if(!receiveQueue_.Equals(other.receiveQueue_)) return false; if (Version != other.Version) return false; if (!object.Equals(RxTextMessage, other.RxTextMessage)) return false; @@ -378,7 +358,6 @@ public override int GetHashCode() { int hash = 1; if (myNode_ != null) hash ^= MyNode.GetHashCode(); if (owner_ != null) hash ^= Owner.GetHashCode(); - hash ^= nodeDb_.GetHashCode(); hash ^= receiveQueue_.GetHashCode(); if (Version != 0) hash ^= Version.GetHashCode(); if (rxTextMessage_ != null) hash ^= RxTextMessage.GetHashCode(); @@ -413,7 +392,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(26); output.WriteMessage(Owner); } - nodeDb_.WriteTo(output, _repeated_nodeDb_codec); receiveQueue_.WriteTo(output, _repeated_receiveQueue_codec); if (rxTextMessage_ != null) { output.WriteRawTag(58); @@ -455,7 +433,6 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(26); output.WriteMessage(Owner); } - nodeDb_.WriteTo(ref output, _repeated_nodeDb_codec); receiveQueue_.WriteTo(ref output, _repeated_receiveQueue_codec); if (rxTextMessage_ != null) { output.WriteRawTag(58); @@ -495,7 +472,6 @@ public int CalculateSize() { if (owner_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(Owner); } - size += nodeDb_.CalculateSize(_repeated_nodeDb_codec); size += receiveQueue_.CalculateSize(_repeated_receiveQueue_codec); if (Version != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(Version); @@ -538,7 +514,6 @@ public void MergeFrom(DeviceState other) { } Owner.MergeFrom(other.Owner); } - nodeDb_.Add(other.nodeDb_); receiveQueue_.Add(other.receiveQueue_); if (other.Version != 0) { Version = other.Version; @@ -592,10 +567,6 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(Owner); break; } - case 34: { - nodeDb_.AddEntriesFrom(input, _repeated_nodeDb_codec); - break; - } case 42: { receiveQueue_.AddEntriesFrom(input, _repeated_receiveQueue_codec); break; @@ -663,10 +634,6 @@ public void MergeFrom(pb::CodedInputStream input) { input.ReadMessage(Owner); break; } - case 34: { - nodeDb_.AddEntriesFrom(ref input, _repeated_nodeDb_codec); - break; - } case 42: { receiveQueue_.AddEntriesFrom(ref input, _repeated_receiveQueue_codec); break; diff --git a/Meshtastic/Generated/Mesh.cs b/Meshtastic/Generated/Mesh.cs index e93fd73..12ddd37 100644 --- a/Meshtastic/Generated/Mesh.cs +++ b/Meshtastic/Generated/Mesh.cs @@ -81,79 +81,73 @@ static MeshReflection() { "KA0SHgoEdXNlchgCIAEoCzIQLm1lc2h0YXN0aWMuVXNlchImCghwb3NpdGlv", "bhgDIAEoCzIULm1lc2h0YXN0aWMuUG9zaXRpb24SCwoDc25yGAQgASgCEhIK", "Cmxhc3RfaGVhcmQYBSABKAcSMQoOZGV2aWNlX21ldHJpY3MYBiABKAsyGS5t", - "ZXNodGFzdGljLkRldmljZU1ldHJpY3MSDwoHY2hhbm5lbBgHIAEoDSLFAwoK", - "TXlOb2RlSW5mbxITCgtteV9ub2RlX251bRgBIAEoDRITCgdoYXNfZ3BzGAIg", - "ASgIQgIYARIYCgxtYXhfY2hhbm5lbHMYAyABKA1CAhgBEhwKEGZpcm13YXJl", - "X3ZlcnNpb24YBCABKAlCAhgBEjUKCmVycm9yX2NvZGUYBSABKA4yHS5tZXNo", - "dGFzdGljLkNyaXRpY2FsRXJyb3JDb2RlQgIYARIZCg1lcnJvcl9hZGRyZXNz", - "GAYgASgNQgIYARIXCgtlcnJvcl9jb3VudBgHIAEoDUICGAESFAoMcmVib290", - "X2NvdW50GAggASgNEhMKB2JpdHJhdGUYCSABKAJCAhgBEiAKFG1lc3NhZ2Vf", - "dGltZW91dF9tc2VjGAogASgNQgIYARIXCg9taW5fYXBwX3ZlcnNpb24YCyAB", - "KA0SGQoNYWlyX3BlcmlvZF90eBgMIAMoDUICGAESGQoNYWlyX3BlcmlvZF9y", - "eBgNIAMoDUICGAESFAoIaGFzX3dpZmkYDiABKAhCAhgBEh8KE2NoYW5uZWxf", - "dXRpbGl6YXRpb24YDyABKAJCAhgBEhcKC2Fpcl91dGlsX3R4GBAgASgCQgIY", - "ASLAAQoJTG9nUmVjb3JkEg8KB21lc3NhZ2UYASABKAkSDAoEdGltZRgCIAEo", - "BxIOCgZzb3VyY2UYAyABKAkSKgoFbGV2ZWwYBCABKA4yGy5tZXNodGFzdGlj", - "LkxvZ1JlY29yZC5MZXZlbCJYCgVMZXZlbBIJCgVVTlNFVBAAEgwKCENSSVRJ", - "Q0FMEDISCQoFRVJST1IQKBILCgdXQVJOSU5HEB4SCAoESU5GTxAUEgkKBURF", - "QlVHEAoSCQoFVFJBQ0UQBSJQCgtRdWV1ZVN0YXR1cxILCgNyZXMYASABKAUS", - "DAoEZnJlZRgCIAEoDRIOCgZtYXhsZW4YAyABKA0SFgoObWVzaF9wYWNrZXRf", - "aWQYBCABKA0i2wQKCUZyb21SYWRpbxIKCgJpZBgBIAEoDRIoCgZwYWNrZXQY", - "AiABKAsyFi5tZXNodGFzdGljLk1lc2hQYWNrZXRIABIpCgdteV9pbmZvGAMg", - "ASgLMhYubWVzaHRhc3RpYy5NeU5vZGVJbmZvSAASKQoJbm9kZV9pbmZvGAQg", - "ASgLMhQubWVzaHRhc3RpYy5Ob2RlSW5mb0gAEiQKBmNvbmZpZxgFIAEoCzIS", - "Lm1lc2h0YXN0aWMuQ29uZmlnSAASKwoKbG9nX3JlY29yZBgGIAEoCzIVLm1l", - "c2h0YXN0aWMuTG9nUmVjb3JkSAASHAoSY29uZmlnX2NvbXBsZXRlX2lkGAcg", - "ASgNSAASEgoIcmVib290ZWQYCCABKAhIABIwCgxtb2R1bGVDb25maWcYCSAB", - "KAsyGC5tZXNodGFzdGljLk1vZHVsZUNvbmZpZ0gAEiYKB2NoYW5uZWwYCiAB", - "KAsyEy5tZXNodGFzdGljLkNoYW5uZWxIABIuCgtxdWV1ZVN0YXR1cxgLIAEo", - "CzIXLm1lc2h0YXN0aWMuUXVldWVTdGF0dXNIABIqCgx4bW9kZW1QYWNrZXQY", - "DCABKAsyEi5tZXNodGFzdGljLlhNb2RlbUgAEi4KCG1ldGFkYXRhGA0gASgL", - "MhoubWVzaHRhc3RpYy5EZXZpY2VNZXRhZGF0YUgAEkQKFm1xdHRDbGllbnRQ", - "cm94eU1lc3NhZ2UYDiABKAsyIi5tZXNodGFzdGljLk1xdHRDbGllbnRQcm94", - "eU1lc3NhZ2VIAEIRCg9wYXlsb2FkX3ZhcmlhbnQi6AEKB1RvUmFkaW8SKAoG", - "cGFja2V0GAEgASgLMhYubWVzaHRhc3RpYy5NZXNoUGFja2V0SAASGAoOd2Fu", - "dF9jb25maWdfaWQYAyABKA1IABIUCgpkaXNjb25uZWN0GAQgASgISAASKgoM", - "eG1vZGVtUGFja2V0GAUgASgLMhIubWVzaHRhc3RpYy5YTW9kZW1IABJEChZt", - "cXR0Q2xpZW50UHJveHlNZXNzYWdlGAYgASgLMiIubWVzaHRhc3RpYy5NcXR0", - "Q2xpZW50UHJveHlNZXNzYWdlSABCEQoPcGF5bG9hZF92YXJpYW50IkAKCkNv", - "bXByZXNzZWQSJAoHcG9ydG51bRgBIAEoDjITLm1lc2h0YXN0aWMuUG9ydE51", - "bRIMCgRkYXRhGAIgASgMImEKDE5laWdoYm9ySW5mbxIPCgdub2RlX2lkGAEg", - "ASgNEhcKD2xhc3Rfc2VudF9ieV9pZBgCIAEoDRInCgluZWlnaGJvcnMYAyAD", - "KAsyFC5tZXNodGFzdGljLk5laWdoYm9yIigKCE5laWdoYm9yEg8KB25vZGVf", - "aWQYASABKA0SCwoDc25yGAIgASgCIq0CCg5EZXZpY2VNZXRhZGF0YRIYChBm", - "aXJtd2FyZV92ZXJzaW9uGAEgASgJEhwKFGRldmljZV9zdGF0ZV92ZXJzaW9u", - "GAIgASgNEhMKC2NhblNodXRkb3duGAMgASgIEg8KB2hhc1dpZmkYBCABKAgS", - "FAoMaGFzQmx1ZXRvb3RoGAUgASgIEhMKC2hhc0V0aGVybmV0GAYgASgIEjIK", - "BHJvbGUYByABKA4yJC5tZXNodGFzdGljLkNvbmZpZy5EZXZpY2VDb25maWcu", - "Um9sZRIWCg5wb3NpdGlvbl9mbGFncxgIIAEoDRIrCghod19tb2RlbBgJIAEo", - "DjIZLm1lc2h0YXN0aWMuSGFyZHdhcmVNb2RlbBIZChFoYXNSZW1vdGVIYXJk", - "d2FyZRgKIAEoCCrRBQoNSGFyZHdhcmVNb2RlbBIJCgVVTlNFVBAAEgwKCFRM", - "T1JBX1YyEAESDAoIVExPUkFfVjEQAhISCg5UTE9SQV9WMl8xXzFQNhADEgkK", - "BVRCRUFNEAQSDwoLSEVMVEVDX1YyXzAQBRIOCgpUQkVBTV9WMFA3EAYSCgoG", - "VF9FQ0hPEAcSEAoMVExPUkFfVjFfMVAzEAgSCwoHUkFLNDYzMRAJEg8KC0hF", - "TFRFQ19WMl8xEAoSDQoJSEVMVEVDX1YxEAsSGAoUTElMWUdPX1RCRUFNX1Mz", - "X0NPUkUQDBIMCghSQUsxMTIwMBANEgsKB05BTk9fRzEQDhISCg5UTE9SQV9W", - "Ml8xXzFQOBAPEg8KC1RMT1JBX1QzX1MzEBASFAoQTkFOT19HMV9FWFBMT1JF", - "UhAREhEKDU5BTk9fRzJfVUxUUkEQEhIOCgpTVEFUSU9OX0cxEBkSDAoIUkFL", - "MTEzMTAQGhIRCg1MT1JBX1JFTEFZX1YxECASDgoKTlJGNTI4NDBESxAhEgcK", - "A1BQUhAiEg8KC0dFTklFQkxPQ0tTECMSEQoNTlJGNTJfVU5LTk9XThAkEg0K", - "CVBPUlREVUlOTxAlEg8KC0FORFJPSURfU0lNECYSCgoGRElZX1YxECcSFQoR", - "TlJGNTI4NDBfUENBMTAwNTkQKBIKCgZEUl9ERVYQKRILCgdNNVNUQUNLECoS", - "DQoJSEVMVEVDX1YzECsSEQoNSEVMVEVDX1dTTF9WMxAsEhMKD0JFVEFGUFZf", - "MjQwMF9UWBAtEhcKE0JFVEFGUFZfOTAwX05BTk9fVFgQLhIMCghSUElfUElD", - "TxAvEhsKF0hFTFRFQ19XSVJFTEVTU19UUkFDS0VSEDASGQoVSEVMVEVDX1dJ", - "UkVMRVNTX1BBUEVSEDESCgoGVF9ERUNLEDISDgoKVF9XQVRDSF9TMxAzEg8K", - "ClBSSVZBVEVfSFcQ/wEqLAoJQ29uc3RhbnRzEggKBFpFUk8QABIVChBEQVRB", - "X1BBWUxPQURfTEVOEO0BKu4BChFDcml0aWNhbEVycm9yQ29kZRIICgROT05F", - "EAASDwoLVFhfV0FUQ0hET0cQARIUChBTTEVFUF9FTlRFUl9XQUlUEAISDAoI", - "Tk9fUkFESU8QAxIPCgtVTlNQRUNJRklFRBAEEhUKEVVCTE9YX1VOSVRfRkFJ", - "TEVEEAUSDQoJTk9fQVhQMTkyEAYSGQoVSU5WQUxJRF9SQURJT19TRVRUSU5H", - "EAcSEwoPVFJBTlNNSVRfRkFJTEVEEAgSDAoIQlJPV05PVVQQCRISCg5TWDEy", - "NjJfRkFJTFVSRRAKEhEKDVJBRElPX1NQSV9CVUcQC0JfChNjb20uZ2Vla3N2", - "aWxsZS5tZXNoQgpNZXNoUHJvdG9zWiJnaXRodWIuY29tL21lc2h0YXN0aWMv", - "Z28vZ2VuZXJhdGVkqgIUTWVzaHRhc3RpYy5Qcm90b2J1ZnO6AgBiBnByb3Rv", - "Mw==")); + "ZXNodGFzdGljLkRldmljZU1ldHJpY3MSDwoHY2hhbm5lbBgHIAEoDSJQCgpN", + "eU5vZGVJbmZvEhMKC215X25vZGVfbnVtGAEgASgNEhQKDHJlYm9vdF9jb3Vu", + "dBgIIAEoDRIXCg9taW5fYXBwX3ZlcnNpb24YCyABKA0iwAEKCUxvZ1JlY29y", + "ZBIPCgdtZXNzYWdlGAEgASgJEgwKBHRpbWUYAiABKAcSDgoGc291cmNlGAMg", + "ASgJEioKBWxldmVsGAQgASgOMhsubWVzaHRhc3RpYy5Mb2dSZWNvcmQuTGV2", + "ZWwiWAoFTGV2ZWwSCQoFVU5TRVQQABIMCghDUklUSUNBTBAyEgkKBUVSUk9S", + "ECgSCwoHV0FSTklORxAeEggKBElORk8QFBIJCgVERUJVRxAKEgkKBVRSQUNF", + "EAUiUAoLUXVldWVTdGF0dXMSCwoDcmVzGAEgASgFEgwKBGZyZWUYAiABKA0S", + "DgoGbWF4bGVuGAMgASgNEhYKDm1lc2hfcGFja2V0X2lkGAQgASgNItsECglG", + "cm9tUmFkaW8SCgoCaWQYASABKA0SKAoGcGFja2V0GAIgASgLMhYubWVzaHRh", + "c3RpYy5NZXNoUGFja2V0SAASKQoHbXlfaW5mbxgDIAEoCzIWLm1lc2h0YXN0", + "aWMuTXlOb2RlSW5mb0gAEikKCW5vZGVfaW5mbxgEIAEoCzIULm1lc2h0YXN0", + "aWMuTm9kZUluZm9IABIkCgZjb25maWcYBSABKAsyEi5tZXNodGFzdGljLkNv", + "bmZpZ0gAEisKCmxvZ19yZWNvcmQYBiABKAsyFS5tZXNodGFzdGljLkxvZ1Jl", + "Y29yZEgAEhwKEmNvbmZpZ19jb21wbGV0ZV9pZBgHIAEoDUgAEhIKCHJlYm9v", + "dGVkGAggASgISAASMAoMbW9kdWxlQ29uZmlnGAkgASgLMhgubWVzaHRhc3Rp", + "Yy5Nb2R1bGVDb25maWdIABImCgdjaGFubmVsGAogASgLMhMubWVzaHRhc3Rp", + "Yy5DaGFubmVsSAASLgoLcXVldWVTdGF0dXMYCyABKAsyFy5tZXNodGFzdGlj", + "LlF1ZXVlU3RhdHVzSAASKgoMeG1vZGVtUGFja2V0GAwgASgLMhIubWVzaHRh", + "c3RpYy5YTW9kZW1IABIuCghtZXRhZGF0YRgNIAEoCzIaLm1lc2h0YXN0aWMu", + "RGV2aWNlTWV0YWRhdGFIABJEChZtcXR0Q2xpZW50UHJveHlNZXNzYWdlGA4g", + "ASgLMiIubWVzaHRhc3RpYy5NcXR0Q2xpZW50UHJveHlNZXNzYWdlSABCEQoP", + "cGF5bG9hZF92YXJpYW50IugBCgdUb1JhZGlvEigKBnBhY2tldBgBIAEoCzIW", + "Lm1lc2h0YXN0aWMuTWVzaFBhY2tldEgAEhgKDndhbnRfY29uZmlnX2lkGAMg", + "ASgNSAASFAoKZGlzY29ubmVjdBgEIAEoCEgAEioKDHhtb2RlbVBhY2tldBgF", + "IAEoCzISLm1lc2h0YXN0aWMuWE1vZGVtSAASRAoWbXF0dENsaWVudFByb3h5", + "TWVzc2FnZRgGIAEoCzIiLm1lc2h0YXN0aWMuTXF0dENsaWVudFByb3h5TWVz", + "c2FnZUgAQhEKD3BheWxvYWRfdmFyaWFudCJACgpDb21wcmVzc2VkEiQKB3Bv", + "cnRudW0YASABKA4yEy5tZXNodGFzdGljLlBvcnROdW0SDAoEZGF0YRgCIAEo", + "DCKHAQoMTmVpZ2hib3JJbmZvEg8KB25vZGVfaWQYASABKA0SFwoPbGFzdF9z", + "ZW50X2J5X2lkGAIgASgNEiQKHG5vZGVfYnJvYWRjYXN0X2ludGVydmFsX3Nl", + "Y3MYAyABKA0SJwoJbmVpZ2hib3JzGAQgAygLMhQubWVzaHRhc3RpYy5OZWln", + "aGJvciJkCghOZWlnaGJvchIPCgdub2RlX2lkGAEgASgNEgsKA3NuchgCIAEo", + "AhIUCgxsYXN0X3J4X3RpbWUYAyABKAcSJAocbm9kZV9icm9hZGNhc3RfaW50", + "ZXJ2YWxfc2VjcxgEIAEoDSKtAgoORGV2aWNlTWV0YWRhdGESGAoQZmlybXdh", + "cmVfdmVyc2lvbhgBIAEoCRIcChRkZXZpY2Vfc3RhdGVfdmVyc2lvbhgCIAEo", + "DRITCgtjYW5TaHV0ZG93bhgDIAEoCBIPCgdoYXNXaWZpGAQgASgIEhQKDGhh", + "c0JsdWV0b290aBgFIAEoCBITCgtoYXNFdGhlcm5ldBgGIAEoCBIyCgRyb2xl", + "GAcgASgOMiQubWVzaHRhc3RpYy5Db25maWcuRGV2aWNlQ29uZmlnLlJvbGUS", + "FgoOcG9zaXRpb25fZmxhZ3MYCCABKA0SKwoIaHdfbW9kZWwYCSABKA4yGS5t", + "ZXNodGFzdGljLkhhcmR3YXJlTW9kZWwSGQoRaGFzUmVtb3RlSGFyZHdhcmUY", + "CiABKAgq5AUKDUhhcmR3YXJlTW9kZWwSCQoFVU5TRVQQABIMCghUTE9SQV9W", + "MhABEgwKCFRMT1JBX1YxEAISEgoOVExPUkFfVjJfMV8xUDYQAxIJCgVUQkVB", + "TRAEEg8KC0hFTFRFQ19WMl8wEAUSDgoKVEJFQU1fVjBQNxAGEgoKBlRfRUNI", + "TxAHEhAKDFRMT1JBX1YxXzFQMxAIEgsKB1JBSzQ2MzEQCRIPCgtIRUxURUNf", + "VjJfMRAKEg0KCUhFTFRFQ19WMRALEhgKFExJTFlHT19UQkVBTV9TM19DT1JF", + "EAwSDAoIUkFLMTEyMDAQDRILCgdOQU5PX0cxEA4SEgoOVExPUkFfVjJfMV8x", + "UDgQDxIPCgtUTE9SQV9UM19TMxAQEhQKEE5BTk9fRzFfRVhQTE9SRVIQERIR", + "Cg1OQU5PX0cyX1VMVFJBEBISDgoKU1RBVElPTl9HMRAZEgwKCFJBSzExMzEw", + "EBoSEQoNTE9SQV9SRUxBWV9WMRAgEg4KCk5SRjUyODQwREsQIRIHCgNQUFIQ", + "IhIPCgtHRU5JRUJMT0NLUxAjEhEKDU5SRjUyX1VOS05PV04QJBINCglQT1JU", + "RFVJTk8QJRIPCgtBTkRST0lEX1NJTRAmEgoKBkRJWV9WMRAnEhUKEU5SRjUy", + "ODQwX1BDQTEwMDU5ECgSCgoGRFJfREVWECkSCwoHTTVTVEFDSxAqEg0KCUhF", + "TFRFQ19WMxArEhEKDUhFTFRFQ19XU0xfVjMQLBITCg9CRVRBRlBWXzI0MDBf", + "VFgQLRIXChNCRVRBRlBWXzkwMF9OQU5PX1RYEC4SDAoIUlBJX1BJQ08QLxIb", + "ChdIRUxURUNfV0lSRUxFU1NfVFJBQ0tFUhAwEhkKFUhFTFRFQ19XSVJFTEVT", + "U19QQVBFUhAxEgoKBlRfREVDSxAyEg4KClRfV0FUQ0hfUzMQMxIRCg1QSUNP", + "TVBVVEVSX1MzEDQSDwoKUFJJVkFURV9IVxD/ASosCglDb25zdGFudHMSCAoE", + "WkVSTxAAEhUKEERBVEFfUEFZTE9BRF9MRU4Q7QEq7gEKEUNyaXRpY2FsRXJy", + "b3JDb2RlEggKBE5PTkUQABIPCgtUWF9XQVRDSERPRxABEhQKEFNMRUVQX0VO", + "VEVSX1dBSVQQAhIMCghOT19SQURJTxADEg8KC1VOU1BFQ0lGSUVEEAQSFQoR", + "VUJMT1hfVU5JVF9GQUlMRUQQBRINCglOT19BWFAxOTIQBhIZChVJTlZBTElE", + "X1JBRElPX1NFVFRJTkcQBxITCg9UUkFOU01JVF9GQUlMRUQQCBIMCghCUk9X", + "Tk9VVBAJEhIKDlNYMTI2Ml9GQUlMVVJFEAoSEQoNUkFESU9fU1BJX0JVRxAL", + "Ql8KE2NvbS5nZWVrc3ZpbGxlLm1lc2hCCk1lc2hQcm90b3NaImdpdGh1Yi5j", + "b20vbWVzaHRhc3RpYy9nby9nZW5lcmF0ZWSqAhRNZXNodGFzdGljLlByb3Rv", + "YnVmc7oCAGIGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Meshtastic.Protobufs.ChannelReflection.Descriptor, global::Meshtastic.Protobufs.ConfigReflection.Descriptor, global::Meshtastic.Protobufs.ModuleConfigReflection.Descriptor, global::Meshtastic.Protobufs.PortnumsReflection.Descriptor, global::Meshtastic.Protobufs.TelemetryReflection.Descriptor, global::Meshtastic.Protobufs.XmodemReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Meshtastic.Protobufs.HardwareModel), typeof(global::Meshtastic.Protobufs.Constants), typeof(global::Meshtastic.Protobufs.CriticalErrorCode), }, null, new pbr::GeneratedClrTypeInfo[] { @@ -166,14 +160,14 @@ static MeshReflection() { new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.MqttClientProxyMessage), global::Meshtastic.Protobufs.MqttClientProxyMessage.Parser, new[]{ "Topic", "Data", "Text", "Retained" }, new[]{ "PayloadVariant" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.MeshPacket), global::Meshtastic.Protobufs.MeshPacket.Parser, new[]{ "From", "To", "Channel", "Decoded", "Encrypted", "Id", "RxTime", "RxSnr", "HopLimit", "WantAck", "Priority", "RxRssi", "Delayed" }, new[]{ "PayloadVariant" }, new[]{ typeof(global::Meshtastic.Protobufs.MeshPacket.Types.Priority), typeof(global::Meshtastic.Protobufs.MeshPacket.Types.Delayed) }, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.NodeInfo), global::Meshtastic.Protobufs.NodeInfo.Parser, new[]{ "Num", "User", "Position", "Snr", "LastHeard", "DeviceMetrics", "Channel" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.MyNodeInfo), global::Meshtastic.Protobufs.MyNodeInfo.Parser, new[]{ "MyNodeNum", "HasGps", "MaxChannels", "FirmwareVersion", "ErrorCode", "ErrorAddress", "ErrorCount", "RebootCount", "Bitrate", "MessageTimeoutMsec", "MinAppVersion", "AirPeriodTx", "AirPeriodRx", "HasWifi", "ChannelUtilization", "AirUtilTx" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.MyNodeInfo), global::Meshtastic.Protobufs.MyNodeInfo.Parser, new[]{ "MyNodeNum", "RebootCount", "MinAppVersion" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.LogRecord), global::Meshtastic.Protobufs.LogRecord.Parser, new[]{ "Message", "Time", "Source", "Level" }, null, new[]{ typeof(global::Meshtastic.Protobufs.LogRecord.Types.Level) }, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.QueueStatus), global::Meshtastic.Protobufs.QueueStatus.Parser, new[]{ "Res", "Free", "Maxlen", "MeshPacketId" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.FromRadio), global::Meshtastic.Protobufs.FromRadio.Parser, new[]{ "Id", "Packet", "MyInfo", "NodeInfo", "Config", "LogRecord", "ConfigCompleteId", "Rebooted", "ModuleConfig", "Channel", "QueueStatus", "XmodemPacket", "Metadata", "MqttClientProxyMessage" }, new[]{ "PayloadVariant" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.ToRadio), global::Meshtastic.Protobufs.ToRadio.Parser, new[]{ "Packet", "WantConfigId", "Disconnect", "XmodemPacket", "MqttClientProxyMessage" }, new[]{ "PayloadVariant" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.Compressed), global::Meshtastic.Protobufs.Compressed.Parser, new[]{ "Portnum", "Data" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.NeighborInfo), global::Meshtastic.Protobufs.NeighborInfo.Parser, new[]{ "NodeId", "LastSentById", "Neighbors" }, null, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.Neighbor), global::Meshtastic.Protobufs.Neighbor.Parser, new[]{ "NodeId", "Snr" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.NeighborInfo), global::Meshtastic.Protobufs.NeighborInfo.Parser, new[]{ "NodeId", "LastSentById", "NodeBroadcastIntervalSecs", "Neighbors" }, null, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.Neighbor), global::Meshtastic.Protobufs.Neighbor.Parser, new[]{ "NodeId", "Snr", "LastRxTime", "NodeBroadcastIntervalSecs" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Meshtastic.Protobufs.DeviceMetadata), global::Meshtastic.Protobufs.DeviceMetadata.Parser, new[]{ "FirmwareVersion", "DeviceStateVersion", "CanShutdown", "HasWifi", "HasBluetooth", "HasEthernet", "Role", "PositionFlags", "HwModel", "HasRemoteHardware" }, null, null, null, null) })); } @@ -390,7 +384,7 @@ public enum HardwareModel { [pbr::OriginalName("HELTEC_WIRELESS_PAPER")] HeltecWirelessPaper = 49, /// /// - /// LilyGo T-Deck with ESP32-S3 CPU, Keyboard, and IPS display + /// LilyGo T-Deck with ESP32-S3 CPU, Keyboard and IPS display /// [pbr::OriginalName("T_DECK")] TDeck = 50, /// @@ -400,6 +394,11 @@ public enum HardwareModel { [pbr::OriginalName("T_WATCH_S3")] TWatchS3 = 51, /// /// + /// Bobricius Picomputer with ESP32-S3 CPU, Keyboard and IPS display + /// + [pbr::OriginalName("PICOMPUTER_S3")] PicomputerS3 = 52, + /// + /// /// ------------------------------------------------------------------------------------------------------------------------------------------ /// 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. /// ------------------------------------------------------------------------------------------------------------------------------------------ @@ -5418,21 +5417,8 @@ public MyNodeInfo() { [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MyNodeInfo(MyNodeInfo other) : this() { myNodeNum_ = other.myNodeNum_; - hasGps_ = other.hasGps_; - maxChannels_ = other.maxChannels_; - firmwareVersion_ = other.firmwareVersion_; - errorCode_ = other.errorCode_; - errorAddress_ = other.errorAddress_; - errorCount_ = other.errorCount_; rebootCount_ = other.rebootCount_; - bitrate_ = other.bitrate_; - messageTimeoutMsec_ = other.messageTimeoutMsec_; minAppVersion_ = other.minAppVersion_; - airPeriodTx_ = other.airPeriodTx_.Clone(); - airPeriodRx_ = other.airPeriodRx_.Clone(); - hasWifi_ = other.hasWifi_; - channelUtilization_ = other.channelUtilization_; - airUtilTx_ = other.airUtilTx_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -5459,118 +5445,6 @@ public uint MyNodeNum { } } - /// Field number for the "has_gps" field. - public const int HasGpsFieldNumber = 2; - private bool hasGps_; - /// - /// - /// Deprecated in 2.1.x (Source from device_metadata) - /// Note: This flag merely means we detected a hardware GPS in our node. - /// Not the same as UserPreferences.location_sharing - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasGps { - get { return hasGps_; } - set { - hasGps_ = value; - } - } - - /// Field number for the "max_channels" field. - public const int MaxChannelsFieldNumber = 3; - private uint maxChannels_; - /// - /// - /// Deprecated in 2.1.x - /// The maximum number of 'software' channels that can be set on this node. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint MaxChannels { - get { return maxChannels_; } - set { - maxChannels_ = value; - } - } - - /// Field number for the "firmware_version" field. - public const int FirmwareVersionFieldNumber = 4; - private string firmwareVersion_ = ""; - /// - /// - /// Deprecated in 2.1.x (Source from device_metadata) - /// 0.0.5 etc... - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public string FirmwareVersion { - get { return firmwareVersion_; } - set { - firmwareVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value"); - } - } - - /// Field number for the "error_code" field. - public const int ErrorCodeFieldNumber = 5; - private global::Meshtastic.Protobufs.CriticalErrorCode errorCode_ = global::Meshtastic.Protobufs.CriticalErrorCode.None; - /// - /// - /// An error message we'd like to report back to the mothership through analytics. - /// It indicates a serious bug occurred on the device, the device coped with it, - /// but we still want to tell the devs about the bug. - /// This field will be cleared after the phone reads MyNodeInfo - /// (i.e. it will only be reported once) - /// a numeric error code to go with error message, zero means no error - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public global::Meshtastic.Protobufs.CriticalErrorCode ErrorCode { - get { return errorCode_; } - set { - errorCode_ = value; - } - } - - /// Field number for the "error_address" field. - public const int ErrorAddressFieldNumber = 6; - private uint errorAddress_; - /// - /// - /// A numeric error address (nonzero if available) - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint ErrorAddress { - get { return errorAddress_; } - set { - errorAddress_ = value; - } - } - - /// Field number for the "error_count" field. - public const int ErrorCountFieldNumber = 7; - private uint errorCount_; - /// - /// - /// The total number of errors this node has ever encountered - /// (well - since the last time we discarded preferences) - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint ErrorCount { - get { return errorCount_; } - set { - errorCount_ = value; - } - } - /// Field number for the "reboot_count" field. public const int RebootCountFieldNumber = 8; private uint rebootCount_; @@ -5588,45 +5462,6 @@ public uint RebootCount { } } - /// Field number for the "bitrate" field. - public const int BitrateFieldNumber = 9; - private float bitrate_; - /// - /// - /// Deprecated in 2.1.x - /// Calculated bitrate of the current channel (in Bytes Per Second) - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public float Bitrate { - get { return bitrate_; } - set { - bitrate_ = value; - } - } - - /// Field number for the "message_timeout_msec" field. - public const int MessageTimeoutMsecFieldNumber = 10; - private uint messageTimeoutMsec_; - /// - /// - /// Deprecated in 2.1.x - /// How long before we consider a message abandoned and we can clear our - /// caches of any messages in flight Normally quite large to handle the worst case - /// message delivery time, 5 minutes. - /// Formerly called FLOOD_EXPIRE_TIME in the device code - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public uint MessageTimeoutMsec { - get { return messageTimeoutMsec_; } - set { - messageTimeoutMsec_ = value; - } - } - /// Field number for the "min_app_version" field. public const int MinAppVersionFieldNumber = 11; private uint minAppVersion_; @@ -5644,94 +5479,6 @@ public uint MinAppVersion { } } - /// Field number for the "air_period_tx" field. - public const int AirPeriodTxFieldNumber = 12; - private static readonly pb::FieldCodec _repeated_airPeriodTx_codec - = pb::FieldCodec.ForUInt32(98); - private readonly pbc::RepeatedField airPeriodTx_ = new pbc::RepeatedField(); - /// - /// - /// Deprecated in 2.1.x (Only used on device to keep track of utilization) - /// 24 time windows of 1hr each with the airtime transmitted out of the device per hour. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField AirPeriodTx { - get { return airPeriodTx_; } - } - - /// Field number for the "air_period_rx" field. - public const int AirPeriodRxFieldNumber = 13; - private static readonly pb::FieldCodec _repeated_airPeriodRx_codec - = pb::FieldCodec.ForUInt32(106); - private readonly pbc::RepeatedField airPeriodRx_ = new pbc::RepeatedField(); - /// - /// - /// Deprecated in 2.1.x (Only used on device to keep track of utilization) - /// 24 time windows of 1hr each with the airtime of valid packets for your mesh. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public pbc::RepeatedField AirPeriodRx { - get { return airPeriodRx_; } - } - - /// Field number for the "has_wifi" field. - public const int HasWifiFieldNumber = 14; - private bool hasWifi_; - /// - /// - /// Deprecated in 2.1.x (Source from DeviceMetadata instead) - /// Is the device wifi capable? - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool HasWifi { - get { return hasWifi_; } - set { - hasWifi_ = value; - } - } - - /// Field number for the "channel_utilization" field. - public const int ChannelUtilizationFieldNumber = 15; - private float channelUtilization_; - /// - /// - /// Deprecated in 2.1.x (Source from DeviceMetrics telemetry payloads) - /// Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise). - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public float ChannelUtilization { - get { return channelUtilization_; } - set { - channelUtilization_ = value; - } - } - - /// Field number for the "air_util_tx" field. - public const int AirUtilTxFieldNumber = 16; - private float airUtilTx_; - /// - /// - /// Deprecated in 2.1.x (Source from DeviceMetrics telemetry payloads) - /// Percent of airtime for transmission used within the last hour. - /// - [global::System.ObsoleteAttribute] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] - [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public float AirUtilTx { - get { return airUtilTx_; } - set { - airUtilTx_ = value; - } - } - [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -5748,21 +5495,8 @@ public bool Equals(MyNodeInfo other) { return true; } if (MyNodeNum != other.MyNodeNum) return false; - if (HasGps != other.HasGps) return false; - if (MaxChannels != other.MaxChannels) return false; - if (FirmwareVersion != other.FirmwareVersion) return false; - if (ErrorCode != other.ErrorCode) return false; - if (ErrorAddress != other.ErrorAddress) return false; - if (ErrorCount != other.ErrorCount) return false; if (RebootCount != other.RebootCount) return false; - if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Bitrate, other.Bitrate)) return false; - if (MessageTimeoutMsec != other.MessageTimeoutMsec) return false; if (MinAppVersion != other.MinAppVersion) return false; - if(!airPeriodTx_.Equals(other.airPeriodTx_)) return false; - if(!airPeriodRx_.Equals(other.airPeriodRx_)) return false; - if (HasWifi != other.HasWifi) return false; - if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(ChannelUtilization, other.ChannelUtilization)) return false; - if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(AirUtilTx, other.AirUtilTx)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -5771,21 +5505,8 @@ public bool Equals(MyNodeInfo other) { public override int GetHashCode() { int hash = 1; if (MyNodeNum != 0) hash ^= MyNodeNum.GetHashCode(); - if (HasGps != false) hash ^= HasGps.GetHashCode(); - if (MaxChannels != 0) hash ^= MaxChannels.GetHashCode(); - if (FirmwareVersion.Length != 0) hash ^= FirmwareVersion.GetHashCode(); - if (ErrorCode != global::Meshtastic.Protobufs.CriticalErrorCode.None) hash ^= ErrorCode.GetHashCode(); - if (ErrorAddress != 0) hash ^= ErrorAddress.GetHashCode(); - if (ErrorCount != 0) hash ^= ErrorCount.GetHashCode(); if (RebootCount != 0) hash ^= RebootCount.GetHashCode(); - if (Bitrate != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Bitrate); - if (MessageTimeoutMsec != 0) hash ^= MessageTimeoutMsec.GetHashCode(); if (MinAppVersion != 0) hash ^= MinAppVersion.GetHashCode(); - hash ^= airPeriodTx_.GetHashCode(); - hash ^= airPeriodRx_.GetHashCode(); - if (HasWifi != false) hash ^= HasWifi.GetHashCode(); - if (ChannelUtilization != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(ChannelUtilization); - if (AirUtilTx != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(AirUtilTx); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -5808,60 +5529,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(8); output.WriteUInt32(MyNodeNum); } - if (HasGps != false) { - output.WriteRawTag(16); - output.WriteBool(HasGps); - } - if (MaxChannels != 0) { - output.WriteRawTag(24); - output.WriteUInt32(MaxChannels); - } - if (FirmwareVersion.Length != 0) { - output.WriteRawTag(34); - output.WriteString(FirmwareVersion); - } - if (ErrorCode != global::Meshtastic.Protobufs.CriticalErrorCode.None) { - output.WriteRawTag(40); - output.WriteEnum((int) ErrorCode); - } - if (ErrorAddress != 0) { - output.WriteRawTag(48); - output.WriteUInt32(ErrorAddress); - } - if (ErrorCount != 0) { - output.WriteRawTag(56); - output.WriteUInt32(ErrorCount); - } if (RebootCount != 0) { output.WriteRawTag(64); output.WriteUInt32(RebootCount); } - if (Bitrate != 0F) { - output.WriteRawTag(77); - output.WriteFloat(Bitrate); - } - if (MessageTimeoutMsec != 0) { - output.WriteRawTag(80); - output.WriteUInt32(MessageTimeoutMsec); - } if (MinAppVersion != 0) { output.WriteRawTag(88); output.WriteUInt32(MinAppVersion); } - airPeriodTx_.WriteTo(output, _repeated_airPeriodTx_codec); - airPeriodRx_.WriteTo(output, _repeated_airPeriodRx_codec); - if (HasWifi != false) { - output.WriteRawTag(112); - output.WriteBool(HasWifi); - } - if (ChannelUtilization != 0F) { - output.WriteRawTag(125); - output.WriteFloat(ChannelUtilization); - } - if (AirUtilTx != 0F) { - output.WriteRawTag(133, 1); - output.WriteFloat(AirUtilTx); - } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -5876,60 +5551,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(8); output.WriteUInt32(MyNodeNum); } - if (HasGps != false) { - output.WriteRawTag(16); - output.WriteBool(HasGps); - } - if (MaxChannels != 0) { - output.WriteRawTag(24); - output.WriteUInt32(MaxChannels); - } - if (FirmwareVersion.Length != 0) { - output.WriteRawTag(34); - output.WriteString(FirmwareVersion); - } - if (ErrorCode != global::Meshtastic.Protobufs.CriticalErrorCode.None) { - output.WriteRawTag(40); - output.WriteEnum((int) ErrorCode); - } - if (ErrorAddress != 0) { - output.WriteRawTag(48); - output.WriteUInt32(ErrorAddress); - } - if (ErrorCount != 0) { - output.WriteRawTag(56); - output.WriteUInt32(ErrorCount); - } if (RebootCount != 0) { output.WriteRawTag(64); output.WriteUInt32(RebootCount); } - if (Bitrate != 0F) { - output.WriteRawTag(77); - output.WriteFloat(Bitrate); - } - if (MessageTimeoutMsec != 0) { - output.WriteRawTag(80); - output.WriteUInt32(MessageTimeoutMsec); - } if (MinAppVersion != 0) { output.WriteRawTag(88); output.WriteUInt32(MinAppVersion); } - airPeriodTx_.WriteTo(ref output, _repeated_airPeriodTx_codec); - airPeriodRx_.WriteTo(ref output, _repeated_airPeriodRx_codec); - if (HasWifi != false) { - output.WriteRawTag(112); - output.WriteBool(HasWifi); - } - if (ChannelUtilization != 0F) { - output.WriteRawTag(125); - output.WriteFloat(ChannelUtilization); - } - if (AirUtilTx != 0F) { - output.WriteRawTag(133, 1); - output.WriteFloat(AirUtilTx); - } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -5943,47 +5572,12 @@ public int CalculateSize() { if (MyNodeNum != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MyNodeNum); } - if (HasGps != false) { - size += 1 + 1; - } - if (MaxChannels != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MaxChannels); - } - if (FirmwareVersion.Length != 0) { - size += 1 + pb::CodedOutputStream.ComputeStringSize(FirmwareVersion); - } - if (ErrorCode != global::Meshtastic.Protobufs.CriticalErrorCode.None) { - size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ErrorCode); - } - if (ErrorAddress != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ErrorAddress); - } - if (ErrorCount != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ErrorCount); - } if (RebootCount != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(RebootCount); } - if (Bitrate != 0F) { - size += 1 + 4; - } - if (MessageTimeoutMsec != 0) { - size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MessageTimeoutMsec); - } if (MinAppVersion != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MinAppVersion); } - size += airPeriodTx_.CalculateSize(_repeated_airPeriodTx_codec); - size += airPeriodRx_.CalculateSize(_repeated_airPeriodRx_codec); - if (HasWifi != false) { - size += 1 + 1; - } - if (ChannelUtilization != 0F) { - size += 1 + 4; - } - if (AirUtilTx != 0F) { - size += 2 + 4; - } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -5999,47 +5593,12 @@ public void MergeFrom(MyNodeInfo other) { if (other.MyNodeNum != 0) { MyNodeNum = other.MyNodeNum; } - if (other.HasGps != false) { - HasGps = other.HasGps; - } - if (other.MaxChannels != 0) { - MaxChannels = other.MaxChannels; - } - if (other.FirmwareVersion.Length != 0) { - FirmwareVersion = other.FirmwareVersion; - } - if (other.ErrorCode != global::Meshtastic.Protobufs.CriticalErrorCode.None) { - ErrorCode = other.ErrorCode; - } - if (other.ErrorAddress != 0) { - ErrorAddress = other.ErrorAddress; - } - if (other.ErrorCount != 0) { - ErrorCount = other.ErrorCount; - } if (other.RebootCount != 0) { RebootCount = other.RebootCount; } - if (other.Bitrate != 0F) { - Bitrate = other.Bitrate; - } - if (other.MessageTimeoutMsec != 0) { - MessageTimeoutMsec = other.MessageTimeoutMsec; - } if (other.MinAppVersion != 0) { MinAppVersion = other.MinAppVersion; } - airPeriodTx_.Add(other.airPeriodTx_); - airPeriodRx_.Add(other.airPeriodRx_); - if (other.HasWifi != false) { - HasWifi = other.HasWifi; - } - if (other.ChannelUtilization != 0F) { - ChannelUtilization = other.ChannelUtilization; - } - if (other.AirUtilTx != 0F) { - AirUtilTx = other.AirUtilTx; - } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -6059,68 +5618,14 @@ public void MergeFrom(pb::CodedInputStream input) { MyNodeNum = input.ReadUInt32(); break; } - case 16: { - HasGps = input.ReadBool(); - break; - } - case 24: { - MaxChannels = input.ReadUInt32(); - break; - } - case 34: { - FirmwareVersion = input.ReadString(); - break; - } - case 40: { - ErrorCode = (global::Meshtastic.Protobufs.CriticalErrorCode) input.ReadEnum(); - break; - } - case 48: { - ErrorAddress = input.ReadUInt32(); - break; - } - case 56: { - ErrorCount = input.ReadUInt32(); - break; - } case 64: { RebootCount = input.ReadUInt32(); break; } - case 77: { - Bitrate = input.ReadFloat(); - break; - } - case 80: { - MessageTimeoutMsec = input.ReadUInt32(); - break; - } case 88: { MinAppVersion = input.ReadUInt32(); break; } - case 98: - case 96: { - airPeriodTx_.AddEntriesFrom(input, _repeated_airPeriodTx_codec); - break; - } - case 106: - case 104: { - airPeriodRx_.AddEntriesFrom(input, _repeated_airPeriodRx_codec); - break; - } - case 112: { - HasWifi = input.ReadBool(); - break; - } - case 125: { - ChannelUtilization = input.ReadFloat(); - break; - } - case 133: { - AirUtilTx = input.ReadFloat(); - break; - } } } #endif @@ -6140,68 +5645,14 @@ public void MergeFrom(pb::CodedInputStream input) { MyNodeNum = input.ReadUInt32(); break; } - case 16: { - HasGps = input.ReadBool(); - break; - } - case 24: { - MaxChannels = input.ReadUInt32(); - break; - } - case 34: { - FirmwareVersion = input.ReadString(); - break; - } - case 40: { - ErrorCode = (global::Meshtastic.Protobufs.CriticalErrorCode) input.ReadEnum(); - break; - } - case 48: { - ErrorAddress = input.ReadUInt32(); - break; - } - case 56: { - ErrorCount = input.ReadUInt32(); - break; - } case 64: { RebootCount = input.ReadUInt32(); break; } - case 77: { - Bitrate = input.ReadFloat(); - break; - } - case 80: { - MessageTimeoutMsec = input.ReadUInt32(); - break; - } case 88: { MinAppVersion = input.ReadUInt32(); break; } - case 98: - case 96: { - airPeriodTx_.AddEntriesFrom(ref input, _repeated_airPeriodTx_codec); - break; - } - case 106: - case 104: { - airPeriodRx_.AddEntriesFrom(ref input, _repeated_airPeriodRx_codec); - break; - } - case 112: { - HasWifi = input.ReadBool(); - break; - } - case 125: { - ChannelUtilization = input.ReadFloat(); - break; - } - case 133: { - AirUtilTx = input.ReadFloat(); - break; - } } } } @@ -8572,6 +8023,7 @@ public NeighborInfo() { public NeighborInfo(NeighborInfo other) : this() { nodeId_ = other.nodeId_; lastSentById_ = other.lastSentById_; + nodeBroadcastIntervalSecs_ = other.nodeBroadcastIntervalSecs_; neighbors_ = other.neighbors_.Clone(); _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -8614,10 +8066,26 @@ public uint LastSentById { } } + /// Field number for the "node_broadcast_interval_secs" field. + public const int NodeBroadcastIntervalSecsFieldNumber = 3; + private uint nodeBroadcastIntervalSecs_; + /// + /// + /// Broadcast interval of the represented node (in seconds) + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NodeBroadcastIntervalSecs { + get { return nodeBroadcastIntervalSecs_; } + set { + nodeBroadcastIntervalSecs_ = value; + } + } + /// Field number for the "neighbors" field. - public const int NeighborsFieldNumber = 3; + public const int NeighborsFieldNumber = 4; private static readonly pb::FieldCodec _repeated_neighbors_codec - = pb::FieldCodec.ForMessage(26, global::Meshtastic.Protobufs.Neighbor.Parser); + = pb::FieldCodec.ForMessage(34, global::Meshtastic.Protobufs.Neighbor.Parser); private readonly pbc::RepeatedField neighbors_ = new pbc::RepeatedField(); /// /// @@ -8646,6 +8114,7 @@ public bool Equals(NeighborInfo other) { } if (NodeId != other.NodeId) return false; if (LastSentById != other.LastSentById) return false; + if (NodeBroadcastIntervalSecs != other.NodeBroadcastIntervalSecs) return false; if(!neighbors_.Equals(other.neighbors_)) return false; return Equals(_unknownFields, other._unknownFields); } @@ -8656,6 +8125,7 @@ public override int GetHashCode() { int hash = 1; if (NodeId != 0) hash ^= NodeId.GetHashCode(); if (LastSentById != 0) hash ^= LastSentById.GetHashCode(); + if (NodeBroadcastIntervalSecs != 0) hash ^= NodeBroadcastIntervalSecs.GetHashCode(); hash ^= neighbors_.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -8683,6 +8153,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(16); output.WriteUInt32(LastSentById); } + if (NodeBroadcastIntervalSecs != 0) { + output.WriteRawTag(24); + output.WriteUInt32(NodeBroadcastIntervalSecs); + } neighbors_.WriteTo(output, _repeated_neighbors_codec); if (_unknownFields != null) { _unknownFields.WriteTo(output); @@ -8702,6 +8176,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(16); output.WriteUInt32(LastSentById); } + if (NodeBroadcastIntervalSecs != 0) { + output.WriteRawTag(24); + output.WriteUInt32(NodeBroadcastIntervalSecs); + } neighbors_.WriteTo(ref output, _repeated_neighbors_codec); if (_unknownFields != null) { _unknownFields.WriteTo(ref output); @@ -8719,6 +8197,9 @@ public int CalculateSize() { if (LastSentById != 0) { size += 1 + pb::CodedOutputStream.ComputeUInt32Size(LastSentById); } + if (NodeBroadcastIntervalSecs != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeBroadcastIntervalSecs); + } size += neighbors_.CalculateSize(_repeated_neighbors_codec); if (_unknownFields != null) { size += _unknownFields.CalculateSize(); @@ -8738,6 +8219,9 @@ public void MergeFrom(NeighborInfo other) { if (other.LastSentById != 0) { LastSentById = other.LastSentById; } + if (other.NodeBroadcastIntervalSecs != 0) { + NodeBroadcastIntervalSecs = other.NodeBroadcastIntervalSecs; + } neighbors_.Add(other.neighbors_); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -8762,7 +8246,11 @@ public void MergeFrom(pb::CodedInputStream input) { LastSentById = input.ReadUInt32(); break; } - case 26: { + case 24: { + NodeBroadcastIntervalSecs = input.ReadUInt32(); + break; + } + case 34: { neighbors_.AddEntriesFrom(input, _repeated_neighbors_codec); break; } @@ -8789,7 +8277,11 @@ public void MergeFrom(pb::CodedInputStream input) { LastSentById = input.ReadUInt32(); break; } - case 26: { + case 24: { + NodeBroadcastIntervalSecs = input.ReadUInt32(); + break; + } + case 34: { neighbors_.AddEntriesFrom(ref input, _repeated_neighbors_codec); break; } @@ -8840,6 +8332,8 @@ public Neighbor() { public Neighbor(Neighbor other) : this() { nodeId_ = other.nodeId_; snr_ = other.snr_; + lastRxTime_ = other.lastRxTime_; + nodeBroadcastIntervalSecs_ = other.nodeBroadcastIntervalSecs_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } @@ -8881,6 +8375,40 @@ public float Snr { } } + /// Field number for the "last_rx_time" field. + public const int LastRxTimeFieldNumber = 3; + private uint lastRxTime_; + /// + /// + /// Reception time (in secs since 1970) of last message that was last sent by this ID. + /// Note: this is for local storage only and will not be sent out over the mesh. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint LastRxTime { + get { return lastRxTime_; } + set { + lastRxTime_ = value; + } + } + + /// Field number for the "node_broadcast_interval_secs" field. + public const int NodeBroadcastIntervalSecsFieldNumber = 4; + private uint nodeBroadcastIntervalSecs_; + /// + /// + /// Broadcast interval of this neighbor (in seconds). + /// Note: this is for local storage only and will not be sent out over the mesh. + /// + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public uint NodeBroadcastIntervalSecs { + get { return nodeBroadcastIntervalSecs_; } + set { + nodeBroadcastIntervalSecs_ = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { @@ -8898,6 +8426,8 @@ public bool Equals(Neighbor other) { } if (NodeId != other.NodeId) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Snr, other.Snr)) return false; + if (LastRxTime != other.LastRxTime) return false; + if (NodeBroadcastIntervalSecs != other.NodeBroadcastIntervalSecs) return false; return Equals(_unknownFields, other._unknownFields); } @@ -8907,6 +8437,8 @@ public override int GetHashCode() { int hash = 1; if (NodeId != 0) hash ^= NodeId.GetHashCode(); if (Snr != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Snr); + if (LastRxTime != 0) hash ^= LastRxTime.GetHashCode(); + if (NodeBroadcastIntervalSecs != 0) hash ^= NodeBroadcastIntervalSecs.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } @@ -8933,6 +8465,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(21); output.WriteFloat(Snr); } + if (LastRxTime != 0) { + output.WriteRawTag(29); + output.WriteFixed32(LastRxTime); + } + if (NodeBroadcastIntervalSecs != 0) { + output.WriteRawTag(32); + output.WriteUInt32(NodeBroadcastIntervalSecs); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -8951,6 +8491,14 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(21); output.WriteFloat(Snr); } + if (LastRxTime != 0) { + output.WriteRawTag(29); + output.WriteFixed32(LastRxTime); + } + if (NodeBroadcastIntervalSecs != 0) { + output.WriteRawTag(32); + output.WriteUInt32(NodeBroadcastIntervalSecs); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -8967,6 +8515,12 @@ public int CalculateSize() { if (Snr != 0F) { size += 1 + 4; } + if (LastRxTime != 0) { + size += 1 + 4; + } + if (NodeBroadcastIntervalSecs != 0) { + size += 1 + pb::CodedOutputStream.ComputeUInt32Size(NodeBroadcastIntervalSecs); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -8985,6 +8539,12 @@ public void MergeFrom(Neighbor other) { if (other.Snr != 0F) { Snr = other.Snr; } + if (other.LastRxTime != 0) { + LastRxTime = other.LastRxTime; + } + if (other.NodeBroadcastIntervalSecs != 0) { + NodeBroadcastIntervalSecs = other.NodeBroadcastIntervalSecs; + } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } @@ -9008,6 +8568,14 @@ public void MergeFrom(pb::CodedInputStream input) { Snr = input.ReadFloat(); break; } + case 29: { + LastRxTime = input.ReadFixed32(); + break; + } + case 32: { + NodeBroadcastIntervalSecs = input.ReadUInt32(); + break; + } } } #endif @@ -9031,6 +8599,14 @@ public void MergeFrom(pb::CodedInputStream input) { Snr = input.ReadFloat(); break; } + case 29: { + LastRxTime = input.ReadFixed32(); + break; + } + case 32: { + NodeBroadcastIntervalSecs = input.ReadUInt32(); + break; + } } } } diff --git a/Meshtastic/Generated/Portnums.cs b/Meshtastic/Generated/Portnums.cs index 72c1c64..dca0cd0 100644 --- a/Meshtastic/Generated/Portnums.cs +++ b/Meshtastic/Generated/Portnums.cs @@ -67,6 +67,7 @@ public enum PortNum { /// Deprecated: do not use in new code (formerly called OPAQUE) /// A message sent from a device outside of the mesh, in a form the mesh does not understand /// NOTE: This must be 0, because it is documented in IMeshService.aidl to be so + /// ENCODING: binary undefined /// [pbr::OriginalName("UNKNOWN_APP")] UnknownApp = 0, /// @@ -74,64 +75,80 @@ public enum PortNum { /// A simple UTF-8 text message, which even the little micros in the mesh /// can understand and show on their screen eventually in some circumstances /// even signal might send messages in this form (see below) + /// ENCODING: UTF-8 Plaintext (?) /// [pbr::OriginalName("TEXT_MESSAGE_APP")] TextMessageApp = 1, /// /// /// Reserved for built-in GPIO/example app. /// See remote_hardware.proto/HardwareMessage for details on the message sent/received to this port number + /// ENCODING: Protobuf /// [pbr::OriginalName("REMOTE_HARDWARE_APP")] RemoteHardwareApp = 2, /// /// /// The built-in position messaging app. /// Payload is a [Position](/docs/developers/protobufs/api#position) message + /// ENCODING: Protobuf /// [pbr::OriginalName("POSITION_APP")] PositionApp = 3, /// /// /// The built-in user info app. /// Payload is a [User](/docs/developers/protobufs/api#user) message + /// ENCODING: Protobuf /// [pbr::OriginalName("NODEINFO_APP")] NodeinfoApp = 4, /// /// /// Protocol control packets for mesh protocol use. /// Payload is a [Routing](/docs/developers/protobufs/api#routing) message + /// ENCODING: Protobuf /// [pbr::OriginalName("ROUTING_APP")] RoutingApp = 5, /// /// /// Admin control packets. /// Payload is a [AdminMessage](/docs/developers/protobufs/api#adminmessage) message + /// ENCODING: Protobuf /// [pbr::OriginalName("ADMIN_APP")] AdminApp = 6, /// /// /// Compressed TEXT_MESSAGE payloads. + /// ENCODING: UTF-8 Plaintext (?) with Unishox2 Compression + /// NOTE: The Device Firmware converts a TEXT_MESSAGE_APP to TEXT_MESSAGE_COMPRESSED_APP if the compressed + /// payload is shorter. There's no need for app developers to do this themselves. Also the firmware will decompress + /// any incoming TEXT_MESSAGE_COMPRESSED_APP payload and convert to TEXT_MESSAGE_APP. /// [pbr::OriginalName("TEXT_MESSAGE_COMPRESSED_APP")] TextMessageCompressedApp = 7, /// /// /// Waypoint payloads. /// Payload is a [Waypoint](/docs/developers/protobufs/api#waypoint) message + /// ENCODING: Protobuf /// [pbr::OriginalName("WAYPOINT_APP")] WaypointApp = 8, /// /// /// Audio Payloads. /// Encapsulated codec2 packets. On 2.4 GHZ Bandwidths only for now + /// ENCODING: codec2 audio frames + /// NOTE: audio frames contain a 3 byte header (0xc0 0xde 0xc2) and a one byte marker for the decompressed bitrate. + /// This marker comes from the 'moduleConfig.audio.bitrate' enum minus one. /// [pbr::OriginalName("AUDIO_APP")] AudioApp = 9, /// /// /// Provides a 'ping' service that replies to any packet it receives. /// Also serves as a small example module. + /// ENCODING: ASCII Plaintext /// [pbr::OriginalName("REPLY_APP")] ReplyApp = 32, /// /// /// Used for the python IP tunnel feature + /// ENCODING: IP Packet. Handled by the python API, firmware ignores this one and pases on. /// [pbr::OriginalName("IP_TUNNEL_APP")] IpTunnelApp = 33, /// @@ -141,23 +158,27 @@ public enum PortNum { /// network is forwarded to the RX pin while sending a packet to TX will go out to the Mesh network. /// Maximum packet size of 240 bytes. /// Module is disabled by default can be turned on by setting SERIAL_MODULE_ENABLED = 1 in SerialPlugh.cpp. + /// ENCODING: binary undefined /// [pbr::OriginalName("SERIAL_APP")] SerialApp = 64, /// /// /// STORE_FORWARD_APP (Work in Progress) /// Maintained by Jm Casler (MC Hamster) : jm@casler.org + /// ENCODING: Protobuf /// [pbr::OriginalName("STORE_FORWARD_APP")] StoreForwardApp = 65, /// /// /// Optional port for messages for the range test module. + /// ENCODING: ASCII Plaintext /// [pbr::OriginalName("RANGE_TEST_APP")] RangeTestApp = 66, /// /// /// Provides a format to send and receive telemetry data from the Meshtastic network. /// Maintained by Charles Crossan (crossan007) : crossan007@gmail.com + /// ENCODING: Protobuf /// [pbr::OriginalName("TELEMETRY_APP")] TelemetryApp = 67, /// @@ -165,6 +186,7 @@ public enum PortNum { /// Experimental tools for estimating node position without a GPS /// Maintained by Github user a-f-G-U-C (a Meshtastic contributor) /// Project files at https://github.com/a-f-G-U-C/Meshtastic-ZPS + /// ENCODING: arrays of int64 fields /// [pbr::OriginalName("ZPS_APP")] ZpsApp = 68, /// @@ -173,17 +195,20 @@ public enum PortNum { /// as if they did using their LoRa chip. /// Maintained by GitHub user GUVWAF. /// Project files at https://github.com/GUVWAF/Meshtasticator + /// ENCODING: Protobuf (?) /// [pbr::OriginalName("SIMULATOR_APP")] SimulatorApp = 69, /// /// /// Provides a traceroute functionality to show the route a packet towards /// a certain destination would take on the mesh. + /// ENCODING: Protobuf /// [pbr::OriginalName("TRACEROUTE_APP")] TracerouteApp = 70, /// /// /// Aggregates edge info for the network by sending out a list of each node's neighbors + /// ENCODING: Protobuf /// [pbr::OriginalName("NEIGHBORINFO_APP")] NeighborinfoApp = 71, /// @@ -196,6 +221,7 @@ public enum PortNum { /// /// /// ATAK Forwarder Module https://github.com/paulmandal/atak-forwarder + /// ENCODING: libcotshrink /// [pbr::OriginalName("ATAK_FORWARDER")] AtakForwarder = 257, /// diff --git a/protobufs b/protobufs index c5fa71f..d473009 160000 --- a/protobufs +++ b/protobufs @@ -1 +1 @@ -Subproject commit c5fa71fbb68b8d4044cb6a6d72f06257ac29dd9c +Subproject commit d47300965904a8d55d109327568e19a2eb9a12c0