From 09c04108a0cb7020b9016bcef9bfcc34da325747 Mon Sep 17 00:00:00 2001 From: Marin Ivanov Date: Mon, 9 Jun 2025 02:40:13 +0300 Subject: Use v2.6.10 protobufs --- meshtastic/admin.pb.go | 1341 ++++-- meshtastic/admin_vtproto.pb.go | 1625 ++++++- meshtastic/apponly.pb.go | 80 +- meshtastic/atak.pb.go | 397 +- meshtastic/atak_vtproto.pb.go | 101 + meshtastic/cannedmessages.pb.go | 70 +- meshtastic/channel.pb.go | 184 +- meshtastic/channel_vtproto.pb.go | 33 + meshtastic/clientonly.pb.go | 146 +- meshtastic/clientonly_vtproto.pb.go | 138 + meshtastic/config.pb.go | 1579 ++++--- meshtastic/config_vtproto.pb.go | 1059 ++++- meshtastic/connection_status.pb.go | 306 +- meshtastic/device_ui.pb.go | 809 ++++ meshtastic/device_ui_vtproto.pb.go | 1617 +++++++ meshtastic/deviceonly.pb.go | 1096 +++-- meshtastic/deviceonly_vtproto.pb.go | 1758 +++++--- meshtastic/interdevice.pb.go | 372 ++ meshtastic/interdevice_vtproto.pb.go | 463 ++ meshtastic/localonly.pb.go | 294 +- meshtastic/localonly_vtproto.pb.go | 50 + meshtastic/mesh.pb.go | 3591 ++++++++++----- meshtastic/mesh_vtproto.pb.go | 7768 +++++++++++++++++++++++--------- meshtastic/module_config.pb.go | 1587 +++---- meshtastic/module_config_vtproto.pb.go | 497 +- meshtastic/mqtt.pb.go | 295 +- meshtastic/mqtt_vtproto.pb.go | 517 +++ meshtastic/nanopb.pb.go | 849 ++++ meshtastic/nanopb_vtproto.pb.go | 1125 +++++ meshtastic/paxcount.pb.go | 72 +- meshtastic/portnums.pb.go | 129 +- meshtastic/powermon.pb.go | 418 ++ meshtastic/powermon_vtproto.pb.go | 257 ++ meshtastic/remote_hardware.pb.go | 92 +- meshtastic/rtttl.pb.go | 68 +- meshtastic/storeforward.pb.go | 305 +- meshtastic/telemetry.pb.go | 1528 +++++-- meshtastic/telemetry_vtproto.pb.go | 2246 ++++++++- meshtastic/xmodem.pb.go | 95 +- protobufs | 2 +- 40 files changed, 26193 insertions(+), 8766 deletions(-) create mode 100644 meshtastic/device_ui.pb.go create mode 100644 meshtastic/device_ui_vtproto.pb.go create mode 100644 meshtastic/interdevice.pb.go create mode 100644 meshtastic/interdevice_vtproto.pb.go create mode 100644 meshtastic/nanopb.pb.go create mode 100644 meshtastic/nanopb_vtproto.pb.go create mode 100644 meshtastic/powermon.pb.go create mode 100644 meshtastic/powermon_vtproto.pb.go diff --git a/meshtastic/admin.pb.go b/meshtastic/admin.pb.go index 1f25eb8..94b9506 100644 --- a/meshtastic/admin.pb.go +++ b/meshtastic/admin.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/admin.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -38,6 +39,12 @@ const ( AdminMessage_LORA_CONFIG AdminMessage_ConfigType = 5 // TODO: REPLACE AdminMessage_BLUETOOTH_CONFIG AdminMessage_ConfigType = 6 + // TODO: REPLACE + AdminMessage_SECURITY_CONFIG AdminMessage_ConfigType = 7 + // Session key config + AdminMessage_SESSIONKEY_CONFIG AdminMessage_ConfigType = 8 + // device-ui config + AdminMessage_DEVICEUI_CONFIG AdminMessage_ConfigType = 9 ) // Enum value maps for AdminMessage_ConfigType. @@ -50,15 +57,21 @@ var ( 4: "DISPLAY_CONFIG", 5: "LORA_CONFIG", 6: "BLUETOOTH_CONFIG", + 7: "SECURITY_CONFIG", + 8: "SESSIONKEY_CONFIG", + 9: "DEVICEUI_CONFIG", } AdminMessage_ConfigType_value = map[string]int32{ - "DEVICE_CONFIG": 0, - "POSITION_CONFIG": 1, - "POWER_CONFIG": 2, - "NETWORK_CONFIG": 3, - "DISPLAY_CONFIG": 4, - "LORA_CONFIG": 5, - "BLUETOOTH_CONFIG": 6, + "DEVICE_CONFIG": 0, + "POSITION_CONFIG": 1, + "POWER_CONFIG": 2, + "NETWORK_CONFIG": 3, + "DISPLAY_CONFIG": 4, + "LORA_CONFIG": 5, + "BLUETOOTH_CONFIG": 6, + "SECURITY_CONFIG": 7, + "SESSIONKEY_CONFIG": 8, + "DEVICEUI_CONFIG": 9, } ) @@ -182,17 +195,124 @@ func (AdminMessage_ModuleConfigType) EnumDescriptor() ([]byte, []int) { return file_meshtastic_admin_proto_rawDescGZIP(), []int{0, 1} } +type AdminMessage_BackupLocation int32 + +const ( + // Backup to the internal flash + AdminMessage_FLASH AdminMessage_BackupLocation = 0 + // Backup to the SD card + AdminMessage_SD AdminMessage_BackupLocation = 1 +) + +// Enum value maps for AdminMessage_BackupLocation. +var ( + AdminMessage_BackupLocation_name = map[int32]string{ + 0: "FLASH", + 1: "SD", + } + AdminMessage_BackupLocation_value = map[string]int32{ + "FLASH": 0, + "SD": 1, + } +) + +func (x AdminMessage_BackupLocation) Enum() *AdminMessage_BackupLocation { + p := new(AdminMessage_BackupLocation) + *p = x + return p +} + +func (x AdminMessage_BackupLocation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AdminMessage_BackupLocation) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_admin_proto_enumTypes[2].Descriptor() +} + +func (AdminMessage_BackupLocation) Type() protoreflect.EnumType { + return &file_meshtastic_admin_proto_enumTypes[2] +} + +func (x AdminMessage_BackupLocation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AdminMessage_BackupLocation.Descriptor instead. +func (AdminMessage_BackupLocation) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{0, 2} +} + +// Three stages of this request. +type KeyVerificationAdmin_MessageType int32 + +const ( + // This is the first stage, where a client initiates + KeyVerificationAdmin_INITIATE_VERIFICATION KeyVerificationAdmin_MessageType = 0 + // After the nonce has been returned over the mesh, the client prompts for the security number + // And uses this message to provide it to the node. + KeyVerificationAdmin_PROVIDE_SECURITY_NUMBER KeyVerificationAdmin_MessageType = 1 + // Once the user has compared the verification message, this message notifies the node. + KeyVerificationAdmin_DO_VERIFY KeyVerificationAdmin_MessageType = 2 + // This is the cancel path, can be taken at any point + KeyVerificationAdmin_DO_NOT_VERIFY KeyVerificationAdmin_MessageType = 3 +) + +// Enum value maps for KeyVerificationAdmin_MessageType. +var ( + KeyVerificationAdmin_MessageType_name = map[int32]string{ + 0: "INITIATE_VERIFICATION", + 1: "PROVIDE_SECURITY_NUMBER", + 2: "DO_VERIFY", + 3: "DO_NOT_VERIFY", + } + KeyVerificationAdmin_MessageType_value = map[string]int32{ + "INITIATE_VERIFICATION": 0, + "PROVIDE_SECURITY_NUMBER": 1, + "DO_VERIFY": 2, + "DO_NOT_VERIFY": 3, + } +) + +func (x KeyVerificationAdmin_MessageType) Enum() *KeyVerificationAdmin_MessageType { + p := new(KeyVerificationAdmin_MessageType) + *p = x + return p +} + +func (x KeyVerificationAdmin_MessageType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (KeyVerificationAdmin_MessageType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_admin_proto_enumTypes[3].Descriptor() +} + +func (KeyVerificationAdmin_MessageType) Type() protoreflect.EnumType { + return &file_meshtastic_admin_proto_enumTypes[3] +} + +func (x KeyVerificationAdmin_MessageType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use KeyVerificationAdmin_MessageType.Descriptor instead. +func (KeyVerificationAdmin_MessageType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{4, 0} +} + // This message is handled by the Admin module and is responsible for all settings/channel read/write operations. // This message is used to do settings operations to both remote AND local nodes. // (Prior to 1.2 these operations were done via special ToRadio operations) type AdminMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` + // The node generates this key and sends it with any get_x_response packets. + // The client MUST include the same key with any set_x commands. Key expires after 300 seconds. + // Prevents replay attacks for admin messages. + SessionPasskey []byte `protobuf:"bytes,101,opt,name=session_passkey,json=sessionPasskey,proto3" json:"session_passkey,omitempty"` // TODO: REPLACE // - // Types that are assignable to PayloadVariant: + // Types that are valid to be assigned to PayloadVariant: // // *AdminMessage_GetChannelRequest // *AdminMessage_GetChannelResponse @@ -215,6 +335,10 @@ type AdminMessage struct { // *AdminMessage_GetNodeRemoteHardwarePinsResponse // *AdminMessage_EnterDfuModeRequest // *AdminMessage_DeleteFileRequest + // *AdminMessage_SetScale + // *AdminMessage_BackupPreferences + // *AdminMessage_RestorePreferences + // *AdminMessage_RemoveBackupPreferences // *AdminMessage_SetOwner // *AdminMessage_SetChannel // *AdminMessage_SetConfig @@ -222,24 +346,37 @@ type AdminMessage struct { // *AdminMessage_SetCannedMessageModuleMessages // *AdminMessage_SetRingtoneMessage // *AdminMessage_RemoveByNodenum + // *AdminMessage_SetFavoriteNode + // *AdminMessage_RemoveFavoriteNode + // *AdminMessage_SetFixedPosition + // *AdminMessage_RemoveFixedPosition + // *AdminMessage_SetTimeOnly + // *AdminMessage_GetUiConfigRequest + // *AdminMessage_GetUiConfigResponse + // *AdminMessage_StoreUiConfig + // *AdminMessage_SetIgnoredNode + // *AdminMessage_RemoveIgnoredNode // *AdminMessage_BeginEditSettings // *AdminMessage_CommitEditSettings + // *AdminMessage_AddContact + // *AdminMessage_KeyVerification + // *AdminMessage_FactoryResetDevice // *AdminMessage_RebootOtaSeconds // *AdminMessage_ExitSimulator // *AdminMessage_RebootSeconds // *AdminMessage_ShutdownSeconds - // *AdminMessage_FactoryReset + // *AdminMessage_FactoryResetConfig // *AdminMessage_NodedbReset PayloadVariant isAdminMessage_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AdminMessage) Reset() { *x = AdminMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_admin_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_admin_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AdminMessage) String() string { @@ -250,7 +387,7 @@ func (*AdminMessage) ProtoMessage() {} func (x *AdminMessage) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_admin_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -265,261 +402,493 @@ func (*AdminMessage) Descriptor() ([]byte, []int) { return file_meshtastic_admin_proto_rawDescGZIP(), []int{0} } -func (m *AdminMessage) GetPayloadVariant() isAdminMessage_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *AdminMessage) GetSessionPasskey() []byte { + if x != nil { + return x.SessionPasskey + } + return nil +} + +func (x *AdminMessage) GetPayloadVariant() isAdminMessage_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } func (x *AdminMessage) GetGetChannelRequest() uint32 { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetChannelRequest); ok { - return x.GetChannelRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetChannelRequest); ok { + return x.GetChannelRequest + } } return 0 } func (x *AdminMessage) GetGetChannelResponse() *Channel { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetChannelResponse); ok { - return x.GetChannelResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetChannelResponse); ok { + return x.GetChannelResponse + } } return nil } func (x *AdminMessage) GetGetOwnerRequest() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetOwnerRequest); ok { - return x.GetOwnerRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetOwnerRequest); ok { + return x.GetOwnerRequest + } } return false } func (x *AdminMessage) GetGetOwnerResponse() *User { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetOwnerResponse); ok { - return x.GetOwnerResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetOwnerResponse); ok { + return x.GetOwnerResponse + } } return nil } func (x *AdminMessage) GetGetConfigRequest() AdminMessage_ConfigType { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetConfigRequest); ok { - return x.GetConfigRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetConfigRequest); ok { + return x.GetConfigRequest + } } return AdminMessage_DEVICE_CONFIG } func (x *AdminMessage) GetGetConfigResponse() *Config { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetConfigResponse); ok { - return x.GetConfigResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetConfigResponse); ok { + return x.GetConfigResponse + } } return nil } func (x *AdminMessage) GetGetModuleConfigRequest() AdminMessage_ModuleConfigType { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetModuleConfigRequest); ok { - return x.GetModuleConfigRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetModuleConfigRequest); ok { + return x.GetModuleConfigRequest + } } return AdminMessage_MQTT_CONFIG } func (x *AdminMessage) GetGetModuleConfigResponse() *ModuleConfig { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetModuleConfigResponse); ok { - return x.GetModuleConfigResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetModuleConfigResponse); ok { + return x.GetModuleConfigResponse + } } return nil } func (x *AdminMessage) GetGetCannedMessageModuleMessagesRequest() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetCannedMessageModuleMessagesRequest); ok { - return x.GetCannedMessageModuleMessagesRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetCannedMessageModuleMessagesRequest); ok { + return x.GetCannedMessageModuleMessagesRequest + } } return false } func (x *AdminMessage) GetGetCannedMessageModuleMessagesResponse() string { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetCannedMessageModuleMessagesResponse); ok { - return x.GetCannedMessageModuleMessagesResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetCannedMessageModuleMessagesResponse); ok { + return x.GetCannedMessageModuleMessagesResponse + } } return "" } func (x *AdminMessage) GetGetDeviceMetadataRequest() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceMetadataRequest); ok { - return x.GetDeviceMetadataRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetDeviceMetadataRequest); ok { + return x.GetDeviceMetadataRequest + } } return false } func (x *AdminMessage) GetGetDeviceMetadataResponse() *DeviceMetadata { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceMetadataResponse); ok { - return x.GetDeviceMetadataResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetDeviceMetadataResponse); ok { + return x.GetDeviceMetadataResponse + } } return nil } func (x *AdminMessage) GetGetRingtoneRequest() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetRingtoneRequest); ok { - return x.GetRingtoneRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetRingtoneRequest); ok { + return x.GetRingtoneRequest + } } return false } func (x *AdminMessage) GetGetRingtoneResponse() string { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetRingtoneResponse); ok { - return x.GetRingtoneResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetRingtoneResponse); ok { + return x.GetRingtoneResponse + } } return "" } func (x *AdminMessage) GetGetDeviceConnectionStatusRequest() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceConnectionStatusRequest); ok { - return x.GetDeviceConnectionStatusRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetDeviceConnectionStatusRequest); ok { + return x.GetDeviceConnectionStatusRequest + } } return false } func (x *AdminMessage) GetGetDeviceConnectionStatusResponse() *DeviceConnectionStatus { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceConnectionStatusResponse); ok { - return x.GetDeviceConnectionStatusResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetDeviceConnectionStatusResponse); ok { + return x.GetDeviceConnectionStatusResponse + } } return nil } func (x *AdminMessage) GetSetHamMode() *HamParameters { - if x, ok := x.GetPayloadVariant().(*AdminMessage_SetHamMode); ok { - return x.SetHamMode + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetHamMode); ok { + return x.SetHamMode + } } return nil } func (x *AdminMessage) GetGetNodeRemoteHardwarePinsRequest() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetNodeRemoteHardwarePinsRequest); ok { - return x.GetNodeRemoteHardwarePinsRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetNodeRemoteHardwarePinsRequest); ok { + return x.GetNodeRemoteHardwarePinsRequest + } } return false } func (x *AdminMessage) GetGetNodeRemoteHardwarePinsResponse() *NodeRemoteHardwarePinsResponse { - if x, ok := x.GetPayloadVariant().(*AdminMessage_GetNodeRemoteHardwarePinsResponse); ok { - return x.GetNodeRemoteHardwarePinsResponse + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetNodeRemoteHardwarePinsResponse); ok { + return x.GetNodeRemoteHardwarePinsResponse + } } return nil } func (x *AdminMessage) GetEnterDfuModeRequest() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_EnterDfuModeRequest); ok { - return x.EnterDfuModeRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_EnterDfuModeRequest); ok { + return x.EnterDfuModeRequest + } } return false } func (x *AdminMessage) GetDeleteFileRequest() string { - if x, ok := x.GetPayloadVariant().(*AdminMessage_DeleteFileRequest); ok { - return x.DeleteFileRequest + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_DeleteFileRequest); ok { + return x.DeleteFileRequest + } } return "" } +func (x *AdminMessage) GetSetScale() uint32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetScale); ok { + return x.SetScale + } + } + return 0 +} + +func (x *AdminMessage) GetBackupPreferences() AdminMessage_BackupLocation { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_BackupPreferences); ok { + return x.BackupPreferences + } + } + return AdminMessage_FLASH +} + +func (x *AdminMessage) GetRestorePreferences() AdminMessage_BackupLocation { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RestorePreferences); ok { + return x.RestorePreferences + } + } + return AdminMessage_FLASH +} + +func (x *AdminMessage) GetRemoveBackupPreferences() AdminMessage_BackupLocation { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RemoveBackupPreferences); ok { + return x.RemoveBackupPreferences + } + } + return AdminMessage_FLASH +} + func (x *AdminMessage) GetSetOwner() *User { - if x, ok := x.GetPayloadVariant().(*AdminMessage_SetOwner); ok { - return x.SetOwner + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetOwner); ok { + return x.SetOwner + } } return nil } func (x *AdminMessage) GetSetChannel() *Channel { - if x, ok := x.GetPayloadVariant().(*AdminMessage_SetChannel); ok { - return x.SetChannel + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetChannel); ok { + return x.SetChannel + } } return nil } func (x *AdminMessage) GetSetConfig() *Config { - if x, ok := x.GetPayloadVariant().(*AdminMessage_SetConfig); ok { - return x.SetConfig + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetConfig); ok { + return x.SetConfig + } } return nil } func (x *AdminMessage) GetSetModuleConfig() *ModuleConfig { - if x, ok := x.GetPayloadVariant().(*AdminMessage_SetModuleConfig); ok { - return x.SetModuleConfig + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetModuleConfig); ok { + return x.SetModuleConfig + } } return nil } func (x *AdminMessage) GetSetCannedMessageModuleMessages() string { - if x, ok := x.GetPayloadVariant().(*AdminMessage_SetCannedMessageModuleMessages); ok { - return x.SetCannedMessageModuleMessages + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetCannedMessageModuleMessages); ok { + return x.SetCannedMessageModuleMessages + } } return "" } func (x *AdminMessage) GetSetRingtoneMessage() string { - if x, ok := x.GetPayloadVariant().(*AdminMessage_SetRingtoneMessage); ok { - return x.SetRingtoneMessage + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetRingtoneMessage); ok { + return x.SetRingtoneMessage + } } return "" } func (x *AdminMessage) GetRemoveByNodenum() uint32 { - if x, ok := x.GetPayloadVariant().(*AdminMessage_RemoveByNodenum); ok { - return x.RemoveByNodenum + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RemoveByNodenum); ok { + return x.RemoveByNodenum + } + } + return 0 +} + +func (x *AdminMessage) GetSetFavoriteNode() uint32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetFavoriteNode); ok { + return x.SetFavoriteNode + } + } + return 0 +} + +func (x *AdminMessage) GetRemoveFavoriteNode() uint32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RemoveFavoriteNode); ok { + return x.RemoveFavoriteNode + } + } + return 0 +} + +func (x *AdminMessage) GetSetFixedPosition() *Position { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetFixedPosition); ok { + return x.SetFixedPosition + } + } + return nil +} + +func (x *AdminMessage) GetRemoveFixedPosition() bool { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RemoveFixedPosition); ok { + return x.RemoveFixedPosition + } + } + return false +} + +func (x *AdminMessage) GetSetTimeOnly() uint32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetTimeOnly); ok { + return x.SetTimeOnly + } + } + return 0 +} + +func (x *AdminMessage) GetGetUiConfigRequest() bool { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetUiConfigRequest); ok { + return x.GetUiConfigRequest + } + } + return false +} + +func (x *AdminMessage) GetGetUiConfigResponse() *DeviceUIConfig { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_GetUiConfigResponse); ok { + return x.GetUiConfigResponse + } + } + return nil +} + +func (x *AdminMessage) GetStoreUiConfig() *DeviceUIConfig { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_StoreUiConfig); ok { + return x.StoreUiConfig + } + } + return nil +} + +func (x *AdminMessage) GetSetIgnoredNode() uint32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_SetIgnoredNode); ok { + return x.SetIgnoredNode + } + } + return 0 +} + +func (x *AdminMessage) GetRemoveIgnoredNode() uint32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RemoveIgnoredNode); ok { + return x.RemoveIgnoredNode + } } return 0 } func (x *AdminMessage) GetBeginEditSettings() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_BeginEditSettings); ok { - return x.BeginEditSettings + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_BeginEditSettings); ok { + return x.BeginEditSettings + } } return false } func (x *AdminMessage) GetCommitEditSettings() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_CommitEditSettings); ok { - return x.CommitEditSettings + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_CommitEditSettings); ok { + return x.CommitEditSettings + } } return false } +func (x *AdminMessage) GetAddContact() *SharedContact { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_AddContact); ok { + return x.AddContact + } + } + return nil +} + +func (x *AdminMessage) GetKeyVerification() *KeyVerificationAdmin { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_KeyVerification); ok { + return x.KeyVerification + } + } + return nil +} + +func (x *AdminMessage) GetFactoryResetDevice() int32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_FactoryResetDevice); ok { + return x.FactoryResetDevice + } + } + return 0 +} + func (x *AdminMessage) GetRebootOtaSeconds() int32 { - if x, ok := x.GetPayloadVariant().(*AdminMessage_RebootOtaSeconds); ok { - return x.RebootOtaSeconds + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RebootOtaSeconds); ok { + return x.RebootOtaSeconds + } } return 0 } func (x *AdminMessage) GetExitSimulator() bool { - if x, ok := x.GetPayloadVariant().(*AdminMessage_ExitSimulator); ok { - return x.ExitSimulator + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_ExitSimulator); ok { + return x.ExitSimulator + } } return false } func (x *AdminMessage) GetRebootSeconds() int32 { - if x, ok := x.GetPayloadVariant().(*AdminMessage_RebootSeconds); ok { - return x.RebootSeconds + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_RebootSeconds); ok { + return x.RebootSeconds + } } return 0 } func (x *AdminMessage) GetShutdownSeconds() int32 { - if x, ok := x.GetPayloadVariant().(*AdminMessage_ShutdownSeconds); ok { - return x.ShutdownSeconds + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_ShutdownSeconds); ok { + return x.ShutdownSeconds + } } return 0 } -func (x *AdminMessage) GetFactoryReset() int32 { - if x, ok := x.GetPayloadVariant().(*AdminMessage_FactoryReset); ok { - return x.FactoryReset +func (x *AdminMessage) GetFactoryResetConfig() int32 { + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_FactoryResetConfig); ok { + return x.FactoryResetConfig + } } return 0 } func (x *AdminMessage) GetNodedbReset() int32 { - if x, ok := x.GetPayloadVariant().(*AdminMessage_NodedbReset); ok { - return x.NodedbReset + if x != nil { + if x, ok := x.PayloadVariant.(*AdminMessage_NodedbReset); ok { + return x.NodedbReset + } } return 0 } @@ -635,6 +1004,26 @@ type AdminMessage_DeleteFileRequest struct { DeleteFileRequest string `protobuf:"bytes,22,opt,name=delete_file_request,json=deleteFileRequest,proto3,oneof"` } +type AdminMessage_SetScale struct { + // Set zero and offset for scale chips + SetScale uint32 `protobuf:"varint,23,opt,name=set_scale,json=setScale,proto3,oneof"` +} + +type AdminMessage_BackupPreferences struct { + // Backup the node's preferences + BackupPreferences AdminMessage_BackupLocation `protobuf:"varint,24,opt,name=backup_preferences,json=backupPreferences,proto3,enum=meshtastic.AdminMessage_BackupLocation,oneof"` +} + +type AdminMessage_RestorePreferences struct { + // Restore the node's preferences + RestorePreferences AdminMessage_BackupLocation `protobuf:"varint,25,opt,name=restore_preferences,json=restorePreferences,proto3,enum=meshtastic.AdminMessage_BackupLocation,oneof"` +} + +type AdminMessage_RemoveBackupPreferences struct { + // Remove backups of the node's preferences + RemoveBackupPreferences AdminMessage_BackupLocation `protobuf:"varint,26,opt,name=remove_backup_preferences,json=removeBackupPreferences,proto3,enum=meshtastic.AdminMessage_BackupLocation,oneof"` +} + type AdminMessage_SetOwner struct { // Set the owner for this node SetOwner *User `protobuf:"bytes,32,opt,name=set_owner,json=setOwner,proto3,oneof"` @@ -674,6 +1063,57 @@ type AdminMessage_RemoveByNodenum struct { RemoveByNodenum uint32 `protobuf:"varint,38,opt,name=remove_by_nodenum,json=removeByNodenum,proto3,oneof"` } +type AdminMessage_SetFavoriteNode struct { + // Set specified node-num to be favorited on the NodeDB on the device + SetFavoriteNode uint32 `protobuf:"varint,39,opt,name=set_favorite_node,json=setFavoriteNode,proto3,oneof"` +} + +type AdminMessage_RemoveFavoriteNode struct { + // Set specified node-num to be un-favorited on the NodeDB on the device + RemoveFavoriteNode uint32 `protobuf:"varint,40,opt,name=remove_favorite_node,json=removeFavoriteNode,proto3,oneof"` +} + +type AdminMessage_SetFixedPosition struct { + // Set fixed position data on the node and then set the position.fixed_position = true + SetFixedPosition *Position `protobuf:"bytes,41,opt,name=set_fixed_position,json=setFixedPosition,proto3,oneof"` +} + +type AdminMessage_RemoveFixedPosition struct { + // Clear fixed position coordinates and then set position.fixed_position = false + RemoveFixedPosition bool `protobuf:"varint,42,opt,name=remove_fixed_position,json=removeFixedPosition,proto3,oneof"` +} + +type AdminMessage_SetTimeOnly struct { + // Set time only on the node + // Convenience method to set the time on the node (as Net quality) without any other position data + SetTimeOnly uint32 `protobuf:"fixed32,43,opt,name=set_time_only,json=setTimeOnly,proto3,oneof"` +} + +type AdminMessage_GetUiConfigRequest struct { + // Tell the node to send the stored ui data. + GetUiConfigRequest bool `protobuf:"varint,44,opt,name=get_ui_config_request,json=getUiConfigRequest,proto3,oneof"` +} + +type AdminMessage_GetUiConfigResponse struct { + // Reply stored device ui data. + GetUiConfigResponse *DeviceUIConfig `protobuf:"bytes,45,opt,name=get_ui_config_response,json=getUiConfigResponse,proto3,oneof"` +} + +type AdminMessage_StoreUiConfig struct { + // Tell the node to store UI data persistently. + StoreUiConfig *DeviceUIConfig `protobuf:"bytes,46,opt,name=store_ui_config,json=storeUiConfig,proto3,oneof"` +} + +type AdminMessage_SetIgnoredNode struct { + // Set specified node-num to be ignored on the NodeDB on the device + SetIgnoredNode uint32 `protobuf:"varint,47,opt,name=set_ignored_node,json=setIgnoredNode,proto3,oneof"` +} + +type AdminMessage_RemoveIgnoredNode struct { + // Set specified node-num to be un-ignored on the NodeDB on the device + RemoveIgnoredNode uint32 `protobuf:"varint,48,opt,name=remove_ignored_node,json=removeIgnoredNode,proto3,oneof"` +} + type AdminMessage_BeginEditSettings struct { // Begins an edit transaction for config, module config, owner, and channel settings changes // This will delay the standard *implicit* save to the file system and subsequent reboot behavior until committed (commit_edit_settings) @@ -685,6 +1125,21 @@ type AdminMessage_CommitEditSettings struct { CommitEditSettings bool `protobuf:"varint,65,opt,name=commit_edit_settings,json=commitEditSettings,proto3,oneof"` } +type AdminMessage_AddContact struct { + // Add a contact (User) to the nodedb + AddContact *SharedContact `protobuf:"bytes,66,opt,name=add_contact,json=addContact,proto3,oneof"` +} + +type AdminMessage_KeyVerification struct { + // Initiate or respond to a key verification request + KeyVerification *KeyVerificationAdmin `protobuf:"bytes,67,opt,name=key_verification,json=keyVerification,proto3,oneof"` +} + +type AdminMessage_FactoryResetDevice struct { + // Tell the node to factory reset config everything; all device state and configuration will be returned to factory defaults and BLE bonds will be cleared. + FactoryResetDevice int32 `protobuf:"varint,94,opt,name=factory_reset_device,json=factoryResetDevice,proto3,oneof"` +} + type AdminMessage_RebootOtaSeconds struct { // Tell the node to reboot into the OTA Firmware in this many seconds (or <0 to cancel reboot) // Only Implemented for ESP32 Devices. This needs to be issued to send a new main firmware via bluetooth. @@ -707,9 +1162,9 @@ type AdminMessage_ShutdownSeconds struct { ShutdownSeconds int32 `protobuf:"varint,98,opt,name=shutdown_seconds,json=shutdownSeconds,proto3,oneof"` } -type AdminMessage_FactoryReset struct { - // Tell the node to factory reset, all device settings will be returned to factory defaults. - FactoryReset int32 `protobuf:"varint,99,opt,name=factory_reset,json=factoryReset,proto3,oneof"` +type AdminMessage_FactoryResetConfig struct { + // Tell the node to factory reset config; all device state and configuration will be returned to factory defaults; BLE bonds will be preserved. + FactoryResetConfig int32 `protobuf:"varint,99,opt,name=factory_reset_config,json=factoryResetConfig,proto3,oneof"` } type AdminMessage_NodedbReset struct { @@ -759,6 +1214,14 @@ func (*AdminMessage_EnterDfuModeRequest) isAdminMessage_PayloadVariant() {} func (*AdminMessage_DeleteFileRequest) isAdminMessage_PayloadVariant() {} +func (*AdminMessage_SetScale) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_BackupPreferences) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RestorePreferences) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RemoveBackupPreferences) isAdminMessage_PayloadVariant() {} + func (*AdminMessage_SetOwner) isAdminMessage_PayloadVariant() {} func (*AdminMessage_SetChannel) isAdminMessage_PayloadVariant() {} @@ -773,10 +1236,36 @@ func (*AdminMessage_SetRingtoneMessage) isAdminMessage_PayloadVariant() {} func (*AdminMessage_RemoveByNodenum) isAdminMessage_PayloadVariant() {} +func (*AdminMessage_SetFavoriteNode) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RemoveFavoriteNode) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetFixedPosition) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RemoveFixedPosition) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetTimeOnly) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetUiConfigRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetUiConfigResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_StoreUiConfig) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetIgnoredNode) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RemoveIgnoredNode) isAdminMessage_PayloadVariant() {} + func (*AdminMessage_BeginEditSettings) isAdminMessage_PayloadVariant() {} func (*AdminMessage_CommitEditSettings) isAdminMessage_PayloadVariant() {} +func (*AdminMessage_AddContact) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_KeyVerification) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_FactoryResetDevice) isAdminMessage_PayloadVariant() {} + func (*AdminMessage_RebootOtaSeconds) isAdminMessage_PayloadVariant() {} func (*AdminMessage_ExitSimulator) isAdminMessage_PayloadVariant() {} @@ -785,16 +1274,13 @@ func (*AdminMessage_RebootSeconds) isAdminMessage_PayloadVariant() {} func (*AdminMessage_ShutdownSeconds) isAdminMessage_PayloadVariant() {} -func (*AdminMessage_FactoryReset) isAdminMessage_PayloadVariant() {} +func (*AdminMessage_FactoryResetConfig) isAdminMessage_PayloadVariant() {} func (*AdminMessage_NodedbReset) isAdminMessage_PayloadVariant() {} // Parameters for setting up Meshtastic for ameteur radio usage type HamParameters struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Amateur radio call sign, eg. KD2ABC CallSign string `protobuf:"bytes,1,opt,name=call_sign,json=callSign,proto3" json:"call_sign,omitempty"` // Transmit power in dBm at the LoRA transceiver, not including any amplification @@ -804,16 +1290,16 @@ type HamParameters struct { // Ensure your radio is capable of operating of the selected frequency before setting this. Frequency float32 `protobuf:"fixed32,3,opt,name=frequency,proto3" json:"frequency,omitempty"` // Optional short name of user - ShortName string `protobuf:"bytes,4,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"` + ShortName string `protobuf:"bytes,4,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HamParameters) Reset() { *x = HamParameters{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_admin_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_admin_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HamParameters) String() string { @@ -824,7 +1310,7 @@ func (*HamParameters) ProtoMessage() {} func (x *HamParameters) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_admin_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -869,21 +1355,18 @@ func (x *HamParameters) GetShortName() string { // Response envelope for node_remote_hardware_pins type NodeRemoteHardwarePinsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Nodes and their respective remote hardware GPIO pins NodeRemoteHardwarePins []*NodeRemoteHardwarePin `protobuf:"bytes,1,rep,name=node_remote_hardware_pins,json=nodeRemoteHardwarePins,proto3" json:"node_remote_hardware_pins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NodeRemoteHardwarePinsResponse) Reset() { *x = NodeRemoteHardwarePinsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_admin_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_admin_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NodeRemoteHardwarePinsResponse) String() string { @@ -894,7 +1377,7 @@ func (*NodeRemoteHardwarePinsResponse) ProtoMessage() {} func (x *NodeRemoteHardwarePinsResponse) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_admin_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -916,277 +1399,318 @@ func (x *NodeRemoteHardwarePinsResponse) GetNodeRemoteHardwarePins() []*NodeRemo return nil } -var File_meshtastic_admin_proto protoreflect.FileDescriptor +type SharedContact struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The node number of the contact + NodeNum uint32 `protobuf:"varint,1,opt,name=node_num,json=nodeNum,proto3" json:"node_num,omitempty"` + // The User of the contact + User *User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SharedContact) Reset() { + *x = SharedContact{} + mi := &file_meshtastic_admin_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SharedContact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SharedContact) ProtoMessage() {} + +func (x *SharedContact) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_admin_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SharedContact.ProtoReflect.Descriptor instead. +func (*SharedContact) Descriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{3} +} + +func (x *SharedContact) GetNodeNum() uint32 { + if x != nil { + return x.NodeNum + } + return 0 +} + +func (x *SharedContact) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +// This message is used by a client to initiate or complete a key verification +type KeyVerificationAdmin struct { + state protoimpl.MessageState `protogen:"open.v1"` + MessageType KeyVerificationAdmin_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=meshtastic.KeyVerificationAdmin_MessageType" json:"message_type,omitempty"` + // The nodenum we're requesting + RemoteNodenum uint32 `protobuf:"varint,2,opt,name=remote_nodenum,json=remoteNodenum,proto3" json:"remote_nodenum,omitempty"` + // The nonce is used to track the connection + Nonce uint64 `protobuf:"varint,3,opt,name=nonce,proto3" json:"nonce,omitempty"` + // The 4 digit code generated by the remote node, and communicated outside the mesh + SecurityNumber *uint32 `protobuf:"varint,4,opt,name=security_number,json=securityNumber,proto3,oneof" json:"security_number,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *KeyVerificationAdmin) Reset() { + *x = KeyVerificationAdmin{} + mi := &file_meshtastic_admin_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *KeyVerificationAdmin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyVerificationAdmin) ProtoMessage() {} -var file_meshtastic_admin_proto_rawDesc = []byte{ - 0x0a, 0x16, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x1a, 0x18, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x6f, 0x6e, - 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xc1, 0x16, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x30, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, - 0x11, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x47, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x67, - 0x65, 0x74, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x65, 0x74, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x12, 0x67, 0x65, 0x74, - 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x67, 0x65, 0x74, 0x4f, 0x77, - 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x67, - 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x10, - 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x44, 0x0a, 0x13, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x00, 0x52, 0x11, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x19, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x54, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x16, 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, - 0x0a, 0x1a, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x17, - 0x67, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x2a, 0x67, 0x65, 0x74, 0x5f, 0x63, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x25, 0x67, - 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x2b, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x26, 0x67, 0x65, 0x74, - 0x43, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x1b, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x18, 0x67, 0x65, 0x74, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x1c, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x19, 0x67, 0x65, 0x74, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x74, - 0x6f, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x74, 0x52, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x67, 0x65, 0x74, 0x5f, 0x72, - 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x67, 0x65, 0x74, 0x52, 0x69, 0x6e, - 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, - 0x24, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x20, 0x67, - 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x76, 0x0a, 0x25, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x48, 0x00, 0x52, 0x21, 0x67, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x5f, 0x68, - 0x61, 0x6d, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x48, 0x61, 0x6d, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x48, - 0x61, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x51, 0x0a, 0x25, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, - 0x72, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x20, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7f, 0x0a, 0x26, 0x67, 0x65, 0x74, - 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x72, - 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x21, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x5f, 0x64, 0x66, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x13, 0x65, 0x6e, - 0x74, 0x65, 0x72, 0x44, 0x66, 0x75, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x30, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x4f, - 0x77, 0x6e, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, - 0x52, 0x0a, 0x73, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x33, 0x0a, 0x0a, - 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x46, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4c, 0x0a, 0x22, 0x73, 0x65, 0x74, - 0x5f, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x1e, 0x73, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x6e, - 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x65, 0x74, 0x5f, 0x72, - 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x25, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x74, 0x52, 0x69, 0x6e, 0x67, - 0x74, 0x6f, 0x6e, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x6e, 0x75, 0x6d, - 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x42, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x30, 0x0a, 0x13, 0x62, 0x65, 0x67, - 0x69, 0x6e, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x18, 0x40, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x45, - 0x64, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x41, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x45, 0x64, 0x69, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x2e, 0x0a, 0x12, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x6f, 0x74, 0x61, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x10, 0x72, - 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x4f, 0x74, 0x61, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, - 0x27, 0x0a, 0x0e, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, - 0x72, 0x18, 0x60, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x69, 0x74, 0x53, - 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0e, 0x72, 0x65, 0x62, 0x6f, - 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x61, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x00, 0x52, 0x0d, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x12, 0x2b, 0x0a, 0x10, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x62, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0f, 0x73, - 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x25, - 0x0a, 0x0d, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, - 0x63, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x64, 0x62, 0x5f, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x6e, - 0x6f, 0x64, 0x65, 0x64, 0x62, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x0a, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x45, 0x56, - 0x49, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, - 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, - 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x47, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x49, 0x53, 0x50, 0x4c, - 0x41, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, - 0x4f, 0x52, 0x41, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, - 0x42, 0x4c, 0x55, 0x45, 0x54, 0x4f, 0x4f, 0x54, 0x48, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, - 0x10, 0x06, 0x22, 0xbb, 0x02, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x51, 0x54, 0x54, 0x5f, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x52, 0x49, - 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x45, - 0x58, 0x54, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x02, - 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, - 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x41, 0x4e, - 0x47, 0x45, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x04, 0x12, - 0x14, 0x0a, 0x10, 0x54, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e, - 0x46, 0x49, 0x47, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x4d, - 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x41, - 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x12, 0x19, 0x0a, - 0x15, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x48, 0x41, 0x52, 0x44, 0x57, 0x41, 0x52, 0x45, 0x5f, - 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x45, 0x49, 0x47, - 0x48, 0x42, 0x4f, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, - 0x09, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x4d, 0x42, 0x49, 0x45, 0x4e, 0x54, 0x4c, 0x49, 0x47, 0x48, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x0a, 0x12, 0x1a, 0x0a, - 0x16, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x45, 0x4e, 0x53, 0x4f, 0x52, - 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x41, 0x58, - 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x0c, - 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x0d, 0x48, 0x61, 0x6d, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x69, - 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x69, - 0x67, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x78, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1c, 0x0a, - 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x7e, 0x0a, 0x1e, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, - 0x50, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x19, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x72, 0x64, - 0x77, 0x61, 0x72, 0x65, 0x5f, 0x70, 0x69, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, - 0x69, 0x6e, 0x52, 0x16, 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, - 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x73, 0x42, 0x60, 0x0a, 0x13, 0x63, 0x6f, - 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x42, 0x0b, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, +func (x *KeyVerificationAdmin) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_admin_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyVerificationAdmin.ProtoReflect.Descriptor instead. +func (*KeyVerificationAdmin) Descriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{4} } +func (x *KeyVerificationAdmin) GetMessageType() KeyVerificationAdmin_MessageType { + if x != nil { + return x.MessageType + } + return KeyVerificationAdmin_INITIATE_VERIFICATION +} + +func (x *KeyVerificationAdmin) GetRemoteNodenum() uint32 { + if x != nil { + return x.RemoteNodenum + } + return 0 +} + +func (x *KeyVerificationAdmin) GetNonce() uint64 { + if x != nil { + return x.Nonce + } + return 0 +} + +func (x *KeyVerificationAdmin) GetSecurityNumber() uint32 { + if x != nil && x.SecurityNumber != nil { + return *x.SecurityNumber + } + return 0 +} + +var File_meshtastic_admin_proto protoreflect.FileDescriptor + +const file_meshtastic_admin_proto_rawDesc = "" + + "\n" + + "\x16meshtastic/admin.proto\x12\n" + + "meshtastic\x1a\x18meshtastic/channel.proto\x1a\x17meshtastic/config.proto\x1a\"meshtastic/connection_status.proto\x1a\x15meshtastic/mesh.proto\x1a\x1emeshtastic/module_config.proto\x1a\x1ameshtastic/device_ui.proto\"\x8a \n" + + "\fAdminMessage\x12'\n" + + "\x0fsession_passkey\x18e \x01(\fR\x0esessionPasskey\x120\n" + + "\x13get_channel_request\x18\x01 \x01(\rH\x00R\x11getChannelRequest\x12G\n" + + "\x14get_channel_response\x18\x02 \x01(\v2\x13.meshtastic.ChannelH\x00R\x12getChannelResponse\x12,\n" + + "\x11get_owner_request\x18\x03 \x01(\bH\x00R\x0fgetOwnerRequest\x12@\n" + + "\x12get_owner_response\x18\x04 \x01(\v2\x10.meshtastic.UserH\x00R\x10getOwnerResponse\x12S\n" + + "\x12get_config_request\x18\x05 \x01(\x0e2#.meshtastic.AdminMessage.ConfigTypeH\x00R\x10getConfigRequest\x12D\n" + + "\x13get_config_response\x18\x06 \x01(\v2\x12.meshtastic.ConfigH\x00R\x11getConfigResponse\x12f\n" + + "\x19get_module_config_request\x18\a \x01(\x0e2).meshtastic.AdminMessage.ModuleConfigTypeH\x00R\x16getModuleConfigRequest\x12W\n" + + "\x1aget_module_config_response\x18\b \x01(\v2\x18.meshtastic.ModuleConfigH\x00R\x17getModuleConfigResponse\x12[\n" + + "*get_canned_message_module_messages_request\x18\n" + + " \x01(\bH\x00R%getCannedMessageModuleMessagesRequest\x12]\n" + + "+get_canned_message_module_messages_response\x18\v \x01(\tH\x00R&getCannedMessageModuleMessagesResponse\x12?\n" + + "\x1bget_device_metadata_request\x18\f \x01(\bH\x00R\x18getDeviceMetadataRequest\x12]\n" + + "\x1cget_device_metadata_response\x18\r \x01(\v2\x1a.meshtastic.DeviceMetadataH\x00R\x19getDeviceMetadataResponse\x122\n" + + "\x14get_ringtone_request\x18\x0e \x01(\bH\x00R\x12getRingtoneRequest\x124\n" + + "\x15get_ringtone_response\x18\x0f \x01(\tH\x00R\x13getRingtoneResponse\x12P\n" + + "$get_device_connection_status_request\x18\x10 \x01(\bH\x00R getDeviceConnectionStatusRequest\x12v\n" + + "%get_device_connection_status_response\x18\x11 \x01(\v2\".meshtastic.DeviceConnectionStatusH\x00R!getDeviceConnectionStatusResponse\x12=\n" + + "\fset_ham_mode\x18\x12 \x01(\v2\x19.meshtastic.HamParametersH\x00R\n" + + "setHamMode\x12Q\n" + + "%get_node_remote_hardware_pins_request\x18\x13 \x01(\bH\x00R getNodeRemoteHardwarePinsRequest\x12\x7f\n" + + "&get_node_remote_hardware_pins_response\x18\x14 \x01(\v2*.meshtastic.NodeRemoteHardwarePinsResponseH\x00R!getNodeRemoteHardwarePinsResponse\x125\n" + + "\x16enter_dfu_mode_request\x18\x15 \x01(\bH\x00R\x13enterDfuModeRequest\x120\n" + + "\x13delete_file_request\x18\x16 \x01(\tH\x00R\x11deleteFileRequest\x12\x1d\n" + + "\tset_scale\x18\x17 \x01(\rH\x00R\bsetScale\x12X\n" + + "\x12backup_preferences\x18\x18 \x01(\x0e2'.meshtastic.AdminMessage.BackupLocationH\x00R\x11backupPreferences\x12Z\n" + + "\x13restore_preferences\x18\x19 \x01(\x0e2'.meshtastic.AdminMessage.BackupLocationH\x00R\x12restorePreferences\x12e\n" + + "\x19remove_backup_preferences\x18\x1a \x01(\x0e2'.meshtastic.AdminMessage.BackupLocationH\x00R\x17removeBackupPreferences\x12/\n" + + "\tset_owner\x18 \x01(\v2\x10.meshtastic.UserH\x00R\bsetOwner\x126\n" + + "\vset_channel\x18! \x01(\v2\x13.meshtastic.ChannelH\x00R\n" + + "setChannel\x123\n" + + "\n" + + "set_config\x18\" \x01(\v2\x12.meshtastic.ConfigH\x00R\tsetConfig\x12F\n" + + "\x11set_module_config\x18# \x01(\v2\x18.meshtastic.ModuleConfigH\x00R\x0fsetModuleConfig\x12L\n" + + "\"set_canned_message_module_messages\x18$ \x01(\tH\x00R\x1esetCannedMessageModuleMessages\x122\n" + + "\x14set_ringtone_message\x18% \x01(\tH\x00R\x12setRingtoneMessage\x12,\n" + + "\x11remove_by_nodenum\x18& \x01(\rH\x00R\x0fremoveByNodenum\x12,\n" + + "\x11set_favorite_node\x18' \x01(\rH\x00R\x0fsetFavoriteNode\x122\n" + + "\x14remove_favorite_node\x18( \x01(\rH\x00R\x12removeFavoriteNode\x12D\n" + + "\x12set_fixed_position\x18) \x01(\v2\x14.meshtastic.PositionH\x00R\x10setFixedPosition\x124\n" + + "\x15remove_fixed_position\x18* \x01(\bH\x00R\x13removeFixedPosition\x12$\n" + + "\rset_time_only\x18+ \x01(\aH\x00R\vsetTimeOnly\x123\n" + + "\x15get_ui_config_request\x18, \x01(\bH\x00R\x12getUiConfigRequest\x12Q\n" + + "\x16get_ui_config_response\x18- \x01(\v2\x1a.meshtastic.DeviceUIConfigH\x00R\x13getUiConfigResponse\x12D\n" + + "\x0fstore_ui_config\x18. \x01(\v2\x1a.meshtastic.DeviceUIConfigH\x00R\rstoreUiConfig\x12*\n" + + "\x10set_ignored_node\x18/ \x01(\rH\x00R\x0esetIgnoredNode\x120\n" + + "\x13remove_ignored_node\x180 \x01(\rH\x00R\x11removeIgnoredNode\x120\n" + + "\x13begin_edit_settings\x18@ \x01(\bH\x00R\x11beginEditSettings\x122\n" + + "\x14commit_edit_settings\x18A \x01(\bH\x00R\x12commitEditSettings\x12<\n" + + "\vadd_contact\x18B \x01(\v2\x19.meshtastic.SharedContactH\x00R\n" + + "addContact\x12M\n" + + "\x10key_verification\x18C \x01(\v2 .meshtastic.KeyVerificationAdminH\x00R\x0fkeyVerification\x122\n" + + "\x14factory_reset_device\x18^ \x01(\x05H\x00R\x12factoryResetDevice\x12.\n" + + "\x12reboot_ota_seconds\x18_ \x01(\x05H\x00R\x10rebootOtaSeconds\x12'\n" + + "\x0eexit_simulator\x18` \x01(\bH\x00R\rexitSimulator\x12'\n" + + "\x0ereboot_seconds\x18a \x01(\x05H\x00R\rrebootSeconds\x12+\n" + + "\x10shutdown_seconds\x18b \x01(\x05H\x00R\x0fshutdownSeconds\x122\n" + + "\x14factory_reset_config\x18c \x01(\x05H\x00R\x12factoryResetConfig\x12#\n" + + "\fnodedb_reset\x18d \x01(\x05H\x00R\vnodedbReset\"\xd6\x01\n" + + "\n" + + "ConfigType\x12\x11\n" + + "\rDEVICE_CONFIG\x10\x00\x12\x13\n" + + "\x0fPOSITION_CONFIG\x10\x01\x12\x10\n" + + "\fPOWER_CONFIG\x10\x02\x12\x12\n" + + "\x0eNETWORK_CONFIG\x10\x03\x12\x12\n" + + "\x0eDISPLAY_CONFIG\x10\x04\x12\x0f\n" + + "\vLORA_CONFIG\x10\x05\x12\x14\n" + + "\x10BLUETOOTH_CONFIG\x10\x06\x12\x13\n" + + "\x0fSECURITY_CONFIG\x10\a\x12\x15\n" + + "\x11SESSIONKEY_CONFIG\x10\b\x12\x13\n" + + "\x0fDEVICEUI_CONFIG\x10\t\"\xbb\x02\n" + + "\x10ModuleConfigType\x12\x0f\n" + + "\vMQTT_CONFIG\x10\x00\x12\x11\n" + + "\rSERIAL_CONFIG\x10\x01\x12\x13\n" + + "\x0fEXTNOTIF_CONFIG\x10\x02\x12\x17\n" + + "\x13STOREFORWARD_CONFIG\x10\x03\x12\x14\n" + + "\x10RANGETEST_CONFIG\x10\x04\x12\x14\n" + + "\x10TELEMETRY_CONFIG\x10\x05\x12\x14\n" + + "\x10CANNEDMSG_CONFIG\x10\x06\x12\x10\n" + + "\fAUDIO_CONFIG\x10\a\x12\x19\n" + + "\x15REMOTEHARDWARE_CONFIG\x10\b\x12\x17\n" + + "\x13NEIGHBORINFO_CONFIG\x10\t\x12\x1a\n" + + "\x16AMBIENTLIGHTING_CONFIG\x10\n" + + "\x12\x1a\n" + + "\x16DETECTIONSENSOR_CONFIG\x10\v\x12\x15\n" + + "\x11PAXCOUNTER_CONFIG\x10\f\"#\n" + + "\x0eBackupLocation\x12\t\n" + + "\x05FLASH\x10\x00\x12\x06\n" + + "\x02SD\x10\x01B\x11\n" + + "\x0fpayload_variant\"\x84\x01\n" + + "\rHamParameters\x12\x1b\n" + + "\tcall_sign\x18\x01 \x01(\tR\bcallSign\x12\x19\n" + + "\btx_power\x18\x02 \x01(\x05R\atxPower\x12\x1c\n" + + "\tfrequency\x18\x03 \x01(\x02R\tfrequency\x12\x1d\n" + + "\n" + + "short_name\x18\x04 \x01(\tR\tshortName\"~\n" + + "\x1eNodeRemoteHardwarePinsResponse\x12\\\n" + + "\x19node_remote_hardware_pins\x18\x01 \x03(\v2!.meshtastic.NodeRemoteHardwarePinR\x16nodeRemoteHardwarePins\"P\n" + + "\rSharedContact\x12\x19\n" + + "\bnode_num\x18\x01 \x01(\rR\anodeNum\x12$\n" + + "\x04user\x18\x02 \x01(\v2\x10.meshtastic.UserR\x04user\"\xcf\x02\n" + + "\x14KeyVerificationAdmin\x12O\n" + + "\fmessage_type\x18\x01 \x01(\x0e2,.meshtastic.KeyVerificationAdmin.MessageTypeR\vmessageType\x12%\n" + + "\x0eremote_nodenum\x18\x02 \x01(\rR\rremoteNodenum\x12\x14\n" + + "\x05nonce\x18\x03 \x01(\x04R\x05nonce\x12,\n" + + "\x0fsecurity_number\x18\x04 \x01(\rH\x00R\x0esecurityNumber\x88\x01\x01\"g\n" + + "\vMessageType\x12\x19\n" + + "\x15INITIATE_VERIFICATION\x10\x00\x12\x1b\n" + + "\x17PROVIDE_SECURITY_NUMBER\x10\x01\x12\r\n" + + "\tDO_VERIFY\x10\x02\x12\x11\n" + + "\rDO_NOT_VERIFY\x10\x03B\x12\n" + + "\x10_security_numberB`\n" + + "\x13com.geeksville.meshB\vAdminProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + var ( file_meshtastic_admin_proto_rawDescOnce sync.Once - file_meshtastic_admin_proto_rawDescData = file_meshtastic_admin_proto_rawDesc + file_meshtastic_admin_proto_rawDescData []byte ) func file_meshtastic_admin_proto_rawDescGZIP() []byte { file_meshtastic_admin_proto_rawDescOnce.Do(func() { - file_meshtastic_admin_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_admin_proto_rawDescData) + file_meshtastic_admin_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_admin_proto_rawDesc), len(file_meshtastic_admin_proto_rawDesc))) }) return file_meshtastic_admin_proto_rawDescData } -var file_meshtastic_admin_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_meshtastic_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_meshtastic_admin_proto_goTypes = []interface{}{ +var file_meshtastic_admin_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_meshtastic_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_meshtastic_admin_proto_goTypes = []any{ (AdminMessage_ConfigType)(0), // 0: meshtastic.AdminMessage.ConfigType (AdminMessage_ModuleConfigType)(0), // 1: meshtastic.AdminMessage.ModuleConfigType - (*AdminMessage)(nil), // 2: meshtastic.AdminMessage - (*HamParameters)(nil), // 3: meshtastic.HamParameters - (*NodeRemoteHardwarePinsResponse)(nil), // 4: meshtastic.NodeRemoteHardwarePinsResponse - (*Channel)(nil), // 5: meshtastic.Channel - (*User)(nil), // 6: meshtastic.User - (*Config)(nil), // 7: meshtastic.Config - (*ModuleConfig)(nil), // 8: meshtastic.ModuleConfig - (*DeviceMetadata)(nil), // 9: meshtastic.DeviceMetadata - (*DeviceConnectionStatus)(nil), // 10: meshtastic.DeviceConnectionStatus - (*NodeRemoteHardwarePin)(nil), // 11: meshtastic.NodeRemoteHardwarePin + (AdminMessage_BackupLocation)(0), // 2: meshtastic.AdminMessage.BackupLocation + (KeyVerificationAdmin_MessageType)(0), // 3: meshtastic.KeyVerificationAdmin.MessageType + (*AdminMessage)(nil), // 4: meshtastic.AdminMessage + (*HamParameters)(nil), // 5: meshtastic.HamParameters + (*NodeRemoteHardwarePinsResponse)(nil), // 6: meshtastic.NodeRemoteHardwarePinsResponse + (*SharedContact)(nil), // 7: meshtastic.SharedContact + (*KeyVerificationAdmin)(nil), // 8: meshtastic.KeyVerificationAdmin + (*Channel)(nil), // 9: meshtastic.Channel + (*User)(nil), // 10: meshtastic.User + (*Config)(nil), // 11: meshtastic.Config + (*ModuleConfig)(nil), // 12: meshtastic.ModuleConfig + (*DeviceMetadata)(nil), // 13: meshtastic.DeviceMetadata + (*DeviceConnectionStatus)(nil), // 14: meshtastic.DeviceConnectionStatus + (*Position)(nil), // 15: meshtastic.Position + (*DeviceUIConfig)(nil), // 16: meshtastic.DeviceUIConfig + (*NodeRemoteHardwarePin)(nil), // 17: meshtastic.NodeRemoteHardwarePin } var file_meshtastic_admin_proto_depIdxs = []int32{ - 5, // 0: meshtastic.AdminMessage.get_channel_response:type_name -> meshtastic.Channel - 6, // 1: meshtastic.AdminMessage.get_owner_response:type_name -> meshtastic.User + 9, // 0: meshtastic.AdminMessage.get_channel_response:type_name -> meshtastic.Channel + 10, // 1: meshtastic.AdminMessage.get_owner_response:type_name -> meshtastic.User 0, // 2: meshtastic.AdminMessage.get_config_request:type_name -> meshtastic.AdminMessage.ConfigType - 7, // 3: meshtastic.AdminMessage.get_config_response:type_name -> meshtastic.Config + 11, // 3: meshtastic.AdminMessage.get_config_response:type_name -> meshtastic.Config 1, // 4: meshtastic.AdminMessage.get_module_config_request:type_name -> meshtastic.AdminMessage.ModuleConfigType - 8, // 5: meshtastic.AdminMessage.get_module_config_response:type_name -> meshtastic.ModuleConfig - 9, // 6: meshtastic.AdminMessage.get_device_metadata_response:type_name -> meshtastic.DeviceMetadata - 10, // 7: meshtastic.AdminMessage.get_device_connection_status_response:type_name -> meshtastic.DeviceConnectionStatus - 3, // 8: meshtastic.AdminMessage.set_ham_mode:type_name -> meshtastic.HamParameters - 4, // 9: meshtastic.AdminMessage.get_node_remote_hardware_pins_response:type_name -> meshtastic.NodeRemoteHardwarePinsResponse - 6, // 10: meshtastic.AdminMessage.set_owner:type_name -> meshtastic.User - 5, // 11: meshtastic.AdminMessage.set_channel:type_name -> meshtastic.Channel - 7, // 12: meshtastic.AdminMessage.set_config:type_name -> meshtastic.Config - 8, // 13: meshtastic.AdminMessage.set_module_config:type_name -> meshtastic.ModuleConfig - 11, // 14: meshtastic.NodeRemoteHardwarePinsResponse.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 12, // 5: meshtastic.AdminMessage.get_module_config_response:type_name -> meshtastic.ModuleConfig + 13, // 6: meshtastic.AdminMessage.get_device_metadata_response:type_name -> meshtastic.DeviceMetadata + 14, // 7: meshtastic.AdminMessage.get_device_connection_status_response:type_name -> meshtastic.DeviceConnectionStatus + 5, // 8: meshtastic.AdminMessage.set_ham_mode:type_name -> meshtastic.HamParameters + 6, // 9: meshtastic.AdminMessage.get_node_remote_hardware_pins_response:type_name -> meshtastic.NodeRemoteHardwarePinsResponse + 2, // 10: meshtastic.AdminMessage.backup_preferences:type_name -> meshtastic.AdminMessage.BackupLocation + 2, // 11: meshtastic.AdminMessage.restore_preferences:type_name -> meshtastic.AdminMessage.BackupLocation + 2, // 12: meshtastic.AdminMessage.remove_backup_preferences:type_name -> meshtastic.AdminMessage.BackupLocation + 10, // 13: meshtastic.AdminMessage.set_owner:type_name -> meshtastic.User + 9, // 14: meshtastic.AdminMessage.set_channel:type_name -> meshtastic.Channel + 11, // 15: meshtastic.AdminMessage.set_config:type_name -> meshtastic.Config + 12, // 16: meshtastic.AdminMessage.set_module_config:type_name -> meshtastic.ModuleConfig + 15, // 17: meshtastic.AdminMessage.set_fixed_position:type_name -> meshtastic.Position + 16, // 18: meshtastic.AdminMessage.get_ui_config_response:type_name -> meshtastic.DeviceUIConfig + 16, // 19: meshtastic.AdminMessage.store_ui_config:type_name -> meshtastic.DeviceUIConfig + 7, // 20: meshtastic.AdminMessage.add_contact:type_name -> meshtastic.SharedContact + 8, // 21: meshtastic.AdminMessage.key_verification:type_name -> meshtastic.KeyVerificationAdmin + 17, // 22: meshtastic.NodeRemoteHardwarePinsResponse.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin + 10, // 23: meshtastic.SharedContact.user:type_name -> meshtastic.User + 3, // 24: meshtastic.KeyVerificationAdmin.message_type:type_name -> meshtastic.KeyVerificationAdmin.MessageType + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_meshtastic_admin_proto_init() } @@ -1197,48 +1721,10 @@ func file_meshtastic_admin_proto_init() { file_meshtastic_channel_proto_init() file_meshtastic_config_proto_init() file_meshtastic_connection_status_proto_init() - file_meshtastic_deviceonly_proto_init() file_meshtastic_mesh_proto_init() file_meshtastic_module_config_proto_init() - if !protoimpl.UnsafeEnabled { - file_meshtastic_admin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdminMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HamParameters); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeRemoteHardwarePinsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_admin_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_meshtastic_device_ui_proto_init() + file_meshtastic_admin_proto_msgTypes[0].OneofWrappers = []any{ (*AdminMessage_GetChannelRequest)(nil), (*AdminMessage_GetChannelResponse)(nil), (*AdminMessage_GetOwnerRequest)(nil), @@ -1260,6 +1746,10 @@ func file_meshtastic_admin_proto_init() { (*AdminMessage_GetNodeRemoteHardwarePinsResponse)(nil), (*AdminMessage_EnterDfuModeRequest)(nil), (*AdminMessage_DeleteFileRequest)(nil), + (*AdminMessage_SetScale)(nil), + (*AdminMessage_BackupPreferences)(nil), + (*AdminMessage_RestorePreferences)(nil), + (*AdminMessage_RemoveBackupPreferences)(nil), (*AdminMessage_SetOwner)(nil), (*AdminMessage_SetChannel)(nil), (*AdminMessage_SetConfig)(nil), @@ -1267,22 +1757,36 @@ func file_meshtastic_admin_proto_init() { (*AdminMessage_SetCannedMessageModuleMessages)(nil), (*AdminMessage_SetRingtoneMessage)(nil), (*AdminMessage_RemoveByNodenum)(nil), + (*AdminMessage_SetFavoriteNode)(nil), + (*AdminMessage_RemoveFavoriteNode)(nil), + (*AdminMessage_SetFixedPosition)(nil), + (*AdminMessage_RemoveFixedPosition)(nil), + (*AdminMessage_SetTimeOnly)(nil), + (*AdminMessage_GetUiConfigRequest)(nil), + (*AdminMessage_GetUiConfigResponse)(nil), + (*AdminMessage_StoreUiConfig)(nil), + (*AdminMessage_SetIgnoredNode)(nil), + (*AdminMessage_RemoveIgnoredNode)(nil), (*AdminMessage_BeginEditSettings)(nil), (*AdminMessage_CommitEditSettings)(nil), + (*AdminMessage_AddContact)(nil), + (*AdminMessage_KeyVerification)(nil), + (*AdminMessage_FactoryResetDevice)(nil), (*AdminMessage_RebootOtaSeconds)(nil), (*AdminMessage_ExitSimulator)(nil), (*AdminMessage_RebootSeconds)(nil), (*AdminMessage_ShutdownSeconds)(nil), - (*AdminMessage_FactoryReset)(nil), + (*AdminMessage_FactoryResetConfig)(nil), (*AdminMessage_NodedbReset)(nil), } + file_meshtastic_admin_proto_msgTypes[4].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_admin_proto_rawDesc, - NumEnums: 2, - NumMessages: 3, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_admin_proto_rawDesc), len(file_meshtastic_admin_proto_rawDesc)), + NumEnums: 4, + NumMessages: 5, NumExtensions: 0, NumServices: 0, }, @@ -1292,7 +1796,6 @@ func file_meshtastic_admin_proto_init() { MessageInfos: file_meshtastic_admin_proto_msgTypes, }.Build() File_meshtastic_admin_proto = out.File - file_meshtastic_admin_proto_rawDesc = nil file_meshtastic_admin_proto_goTypes = nil file_meshtastic_admin_proto_depIdxs = nil } diff --git a/meshtastic/admin_vtproto.pb.go b/meshtastic/admin_vtproto.pb.go index 42b34d2..20c37e7 100644 --- a/meshtastic/admin_vtproto.pb.go +++ b/meshtastic/admin_vtproto.pb.go @@ -59,6 +59,15 @@ func (m *AdminMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } i -= size } + if len(m.SessionPasskey) > 0 { + i -= len(m.SessionPasskey) + copy(dAtA[i:], m.SessionPasskey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SessionPasskey))) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xaa + } return len(dAtA) - i, nil } @@ -425,6 +434,62 @@ func (m *AdminMessage_DeleteFileRequest) MarshalToSizedBufferVT(dAtA []byte) (in dAtA[i] = 0xb2 return len(dAtA) - i, nil } +func (m *AdminMessage_SetScale) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetScale) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SetScale)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_BackupPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_BackupPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BackupPreferences)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc0 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RestorePreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RestorePreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RestorePreferences)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RemoveBackupPreferences) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RemoveBackupPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoveBackupPreferences)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd0 + return len(dAtA) - i, nil +} func (m *AdminMessage_SetOwner) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) @@ -555,6 +620,178 @@ func (m *AdminMessage_RemoveByNodenum) MarshalToSizedBufferVT(dAtA []byte) (int, dAtA[i] = 0xb0 return len(dAtA) - i, nil } +func (m *AdminMessage_SetFavoriteNode) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetFavoriteNode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SetFavoriteNode)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xb8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RemoveFavoriteNode) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RemoveFavoriteNode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoveFavoriteNode)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xc0 + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetFixedPosition) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetFixedPosition) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetFixedPosition != nil { + size, err := m.SetFixedPosition.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xca + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_RemoveFixedPosition) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RemoveFixedPosition) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.RemoveFixedPosition { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xd0 + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetTimeOnly) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetTimeOnly) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.SetTimeOnly)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xdd + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetUiConfigRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetUiConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetUiConfigRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xe0 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetUiConfigResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetUiConfigResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetUiConfigResponse != nil { + size, err := m.GetUiConfigResponse.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xea + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_StoreUiConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_StoreUiConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.StoreUiConfig != nil { + size, err := m.StoreUiConfig.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xf2 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetIgnoredNode) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetIgnoredNode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SetIgnoredNode)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xf8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RemoveIgnoredNode) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RemoveIgnoredNode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoveIgnoredNode)) + i-- + dAtA[i] = 0x3 + i-- + dAtA[i] = 0x80 + return len(dAtA) - i, nil +} func (m *AdminMessage_BeginEditSettings) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) @@ -593,6 +830,62 @@ func (m *AdminMessage_CommitEditSettings) MarshalToSizedBufferVT(dAtA []byte) (i dAtA[i] = 0x88 return len(dAtA) - i, nil } +func (m *AdminMessage_AddContact) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_AddContact) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AddContact != nil { + size, err := m.AddContact.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_KeyVerification) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_KeyVerification) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.KeyVerification != nil { + size, err := m.KeyVerification.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x9a + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_FactoryResetDevice) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_FactoryResetDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FactoryResetDevice)) + i-- + dAtA[i] = 0x5 + i-- + dAtA[i] = 0xf0 + return len(dAtA) - i, nil +} func (m *AdminMessage_RebootOtaSeconds) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) @@ -654,14 +947,14 @@ func (m *AdminMessage_ShutdownSeconds) MarshalToSizedBufferVT(dAtA []byte) (int, dAtA[i] = 0x90 return len(dAtA) - i, nil } -func (m *AdminMessage_FactoryReset) MarshalToVT(dAtA []byte) (int, error) { +func (m *AdminMessage_FactoryResetConfig) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *AdminMessage_FactoryReset) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *AdminMessage_FactoryResetConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FactoryReset)) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FactoryResetConfig)) i-- dAtA[i] = 0x6 i-- @@ -785,43 +1078,148 @@ func (m *NodeRemoteHardwarePinsResponse) MarshalToSizedBufferVT(dAtA []byte) (in return len(dAtA) - i, nil } -func (m *AdminMessage) SizeVT() (n int) { +func (m *SharedContact) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *AdminMessage_GetChannelRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 1 + protohelpers.SizeOfVarint(uint64(m.GetChannelRequest)) - return n +func (m *SharedContact) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *AdminMessage_GetChannelResponse) SizeVT() (n int) { + +func (m *SharedContact) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.GetChannelResponse != nil { - l = m.GetChannelResponse.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - return n -} -func (m *AdminMessage_GetOwnerRequest) SizeVT() (n int) { - if m == nil { - return 0 + if m.User != nil { + size, err := m.User.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.NodeNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeNum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *KeyVerificationAdmin) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *KeyVerificationAdmin) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *KeyVerificationAdmin) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.SecurityNumber != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.SecurityNumber)) + i-- + dAtA[i] = 0x20 + } + if m.Nonce != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Nonce)) + i-- + dAtA[i] = 0x18 + } + if m.RemoteNodenum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoteNodenum)) + i-- + dAtA[i] = 0x10 + } + if m.MessageType != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MessageType)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *AdminMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + l = len(m.SessionPasskey) + if l > 0 { + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *AdminMessage_GetChannelRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 1 + protohelpers.SizeOfVarint(uint64(m.GetChannelRequest)) + return n +} +func (m *AdminMessage_GetChannelResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetChannelResponse != nil { + l = m.GetChannelResponse.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_GetOwnerRequest) SizeVT() (n int) { + if m == nil { + return 0 } var l int _ = l @@ -1014,6 +1412,42 @@ func (m *AdminMessage_DeleteFileRequest) SizeVT() (n int) { n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) return n } +func (m *AdminMessage_SetScale) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.SetScale)) + return n +} +func (m *AdminMessage_BackupPreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.BackupPreferences)) + return n +} +func (m *AdminMessage_RestorePreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.RestorePreferences)) + return n +} +func (m *AdminMessage_RemoveBackupPreferences) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.RemoveBackupPreferences)) + return n +} func (m *AdminMessage_SetOwner) SizeVT() (n int) { if m == nil { return 0 @@ -1091,6 +1525,105 @@ func (m *AdminMessage_RemoveByNodenum) SizeVT() (n int) { n += 2 + protohelpers.SizeOfVarint(uint64(m.RemoveByNodenum)) return n } +func (m *AdminMessage_SetFavoriteNode) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.SetFavoriteNode)) + return n +} +func (m *AdminMessage_RemoveFavoriteNode) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.RemoveFavoriteNode)) + return n +} +func (m *AdminMessage_SetFixedPosition) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SetFixedPosition != nil { + l = m.SetFixedPosition.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_RemoveFixedPosition) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_SetTimeOnly) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 6 + return n +} +func (m *AdminMessage_GetUiConfigRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_GetUiConfigResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetUiConfigResponse != nil { + l = m.GetUiConfigResponse.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_StoreUiConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.StoreUiConfig != nil { + l = m.StoreUiConfig.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_SetIgnoredNode) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.SetIgnoredNode)) + return n +} +func (m *AdminMessage_RemoveIgnoredNode) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.RemoveIgnoredNode)) + return n +} func (m *AdminMessage_BeginEditSettings) SizeVT() (n int) { if m == nil { return 0 @@ -1109,6 +1642,39 @@ func (m *AdminMessage_CommitEditSettings) SizeVT() (n int) { n += 3 return n } +func (m *AdminMessage_AddContact) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AddContact != nil { + l = m.AddContact.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_KeyVerification) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.KeyVerification != nil { + l = m.KeyVerification.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_FactoryResetDevice) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.FactoryResetDevice)) + return n +} func (m *AdminMessage_RebootOtaSeconds) SizeVT() (n int) { if m == nil { return 0 @@ -1145,13 +1711,13 @@ func (m *AdminMessage_ShutdownSeconds) SizeVT() (n int) { n += 2 + protohelpers.SizeOfVarint(uint64(m.ShutdownSeconds)) return n } -func (m *AdminMessage_FactoryReset) SizeVT() (n int) { +func (m *AdminMessage_FactoryResetConfig) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - n += 2 + protohelpers.SizeOfVarint(uint64(m.FactoryReset)) + n += 2 + protohelpers.SizeOfVarint(uint64(m.FactoryResetConfig)) return n } func (m *AdminMessage_NodedbReset) SizeVT() (n int) { @@ -1203,6 +1769,45 @@ func (m *NodeRemoteHardwarePinsResponse) SizeVT() (n int) { return n } +func (m *SharedContact) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NodeNum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeNum)) + } + if m.User != nil { + l = m.User.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *KeyVerificationAdmin) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MessageType != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MessageType)) + } + if m.RemoteNodenum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RemoteNodenum)) + } + if m.Nonce != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Nonce)) + } + if m.SecurityNumber != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.SecurityNumber)) + } + n += len(m.unknownFields) + return n +} + func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -1863,11 +2468,11 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } m.PayloadVariant = &AdminMessage_DeleteFileRequest{DeleteFileRequest: string(dAtA[iNdEx:postIndex])} iNdEx = postIndex - case 32: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SetOwner", wireType) + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetScale", wireType) } - var msglen int + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1877,7 +2482,87 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_SetScale{SetScale: v} + case 24: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BackupPreferences", wireType) + } + var v AdminMessage_BackupLocation + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= AdminMessage_BackupLocation(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_BackupPreferences{BackupPreferences: v} + case 25: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RestorePreferences", wireType) + } + var v AdminMessage_BackupLocation + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= AdminMessage_BackupLocation(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_RestorePreferences{RestorePreferences: v} + case 26: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoveBackupPreferences", wireType) + } + var v AdminMessage_BackupLocation + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= AdminMessage_BackupLocation(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_RemoveBackupPreferences{RemoveBackupPreferences: v} + case 32: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetOwner", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift if b < 0x80 { break } @@ -2111,11 +2796,11 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } } m.PayloadVariant = &AdminMessage_RemoveByNodenum{RemoveByNodenum: v} - case 64: + case 39: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BeginEditSettings", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SetFavoriteNode", wireType) } - var v int + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2125,18 +2810,17 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } - b := bool(v != 0) - m.PayloadVariant = &AdminMessage_BeginEditSettings{BeginEditSettings: b} - case 65: + m.PayloadVariant = &AdminMessage_SetFavoriteNode{SetFavoriteNode: v} + case 40: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CommitEditSettings", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RemoveFavoriteNode", wireType) } - var v int + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2146,18 +2830,17 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } - b := bool(v != 0) - m.PayloadVariant = &AdminMessage_CommitEditSettings{CommitEditSettings: b} - case 95: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RebootOtaSeconds", wireType) + m.PayloadVariant = &AdminMessage_RemoveFavoriteNode{RemoveFavoriteNode: v} + case 41: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetFixedPosition", wireType) } - var v int32 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2167,15 +2850,36 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.PayloadVariant = &AdminMessage_RebootOtaSeconds{RebootOtaSeconds: v} - case 96: + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*AdminMessage_SetFixedPosition); ok { + if err := oneof.SetFixedPosition.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Position{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetFixedPosition{SetFixedPosition: v} + } + iNdEx = postIndex + case 42: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ExitSimulator", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RemoveFixedPosition", wireType) } var v int for shift := uint(0); ; shift += 7 { @@ -2193,12 +2897,23 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } } b := bool(v != 0) - m.PayloadVariant = &AdminMessage_ExitSimulator{ExitSimulator: b} - case 97: + m.PayloadVariant = &AdminMessage_RemoveFixedPosition{RemoveFixedPosition: b} + case 43: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field SetTimeOnly", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.PayloadVariant = &AdminMessage_SetTimeOnly{SetTimeOnly: v} + case 44: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RebootSeconds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field GetUiConfigRequest", wireType) } - var v int32 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2208,17 +2923,18 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - m.PayloadVariant = &AdminMessage_RebootSeconds{RebootSeconds: v} - case 98: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ShutdownSeconds", wireType) + b := bool(v != 0) + m.PayloadVariant = &AdminMessage_GetUiConfigRequest{GetUiConfigRequest: b} + case 45: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetUiConfigResponse", wireType) } - var v int32 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2228,37 +2944,38 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.PayloadVariant = &AdminMessage_ShutdownSeconds{ShutdownSeconds: v} - case 99: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FactoryReset", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - var v int32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*AdminMessage_GetUiConfigResponse); ok { + if err := oneof.GetUiConfigResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - v |= int32(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := &DeviceUIConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.PayloadVariant = &AdminMessage_GetUiConfigResponse{GetUiConfigResponse: v} } - m.PayloadVariant = &AdminMessage_FactoryReset{FactoryReset: v} - case 100: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NodedbReset", wireType) + iNdEx = postIndex + case 46: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoreUiConfig", wireType) } - var v int32 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2268,68 +2985,38 @@ func (m *AdminMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.PayloadVariant = &AdminMessage_NodedbReset{NodedbReset: v} - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *HamParameters) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if oneof, ok := m.PayloadVariant.(*AdminMessage_StoreUiConfig); ok { + if err := oneof.StoreUiConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceUIConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_StoreUiConfig{StoreUiConfig: v} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: HamParameters: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: HamParameters: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CallSign", wireType) + iNdEx = postIndex + case 47: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SetIgnoredNode", wireType) } - var stringLen uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2339,29 +3026,17 @@ func (m *HamParameters) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CallSign = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: + m.PayloadVariant = &AdminMessage_SetIgnoredNode{SetIgnoredNode: v} + case 48: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TxPower", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RemoveIgnoredNode", wireType) } - m.TxPower = 0 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2371,7 +3046,409 @@ func (m *HamParameters) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TxPower |= int32(b&0x7F) << shift + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_RemoveIgnoredNode{RemoveIgnoredNode: v} + case 64: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BeginEditSettings", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.PayloadVariant = &AdminMessage_BeginEditSettings{BeginEditSettings: b} + case 65: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CommitEditSettings", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.PayloadVariant = &AdminMessage_CommitEditSettings{CommitEditSettings: b} + case 66: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AddContact", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*AdminMessage_AddContact); ok { + if err := oneof.AddContact.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &SharedContact{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_AddContact{AddContact: v} + } + iNdEx = postIndex + case 67: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field KeyVerification", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*AdminMessage_KeyVerification); ok { + if err := oneof.KeyVerification.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &KeyVerificationAdmin{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_KeyVerification{KeyVerification: v} + } + iNdEx = postIndex + case 94: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FactoryResetDevice", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_FactoryResetDevice{FactoryResetDevice: v} + case 95: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RebootOtaSeconds", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_RebootOtaSeconds{RebootOtaSeconds: v} + case 96: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExitSimulator", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.PayloadVariant = &AdminMessage_ExitSimulator{ExitSimulator: b} + case 97: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RebootSeconds", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_RebootSeconds{RebootSeconds: v} + case 98: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShutdownSeconds", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_ShutdownSeconds{ShutdownSeconds: v} + case 99: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FactoryResetConfig", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_FactoryResetConfig{FactoryResetConfig: v} + case 100: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodedbReset", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_NodedbReset{NodedbReset: v} + case 101: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SessionPasskey", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SessionPasskey = append(m.SessionPasskey[:0], dAtA[iNdEx:postIndex]...) + if m.SessionPasskey == nil { + m.SessionPasskey = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *HamParameters) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: HamParameters: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HamParameters: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CallSign", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CallSign = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxPower", wireType) + } + m.TxPower = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TxPower |= int32(b&0x7F) << shift if b < 0x80 { break } @@ -2526,3 +3603,237 @@ func (m *NodeRemoteHardwarePinsResponse) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *SharedContact) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SharedContact: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SharedContact: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeNum", wireType) + } + m.NodeNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeNum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.User == nil { + m.User = &User{} + } + if err := m.User.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *KeyVerificationAdmin) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: KeyVerificationAdmin: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: KeyVerificationAdmin: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessageType", wireType) + } + m.MessageType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessageType |= KeyVerificationAdmin_MessageType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteNodenum", wireType) + } + m.RemoteNodenum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RemoteNodenum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) + } + m.Nonce = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Nonce |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SecurityNumber", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SecurityNumber = &v + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/meshtastic/apponly.pb.go b/meshtastic/apponly.pb.go index 42d7ee2..8d0240d 100644 --- a/meshtastic/apponly.pb.go +++ b/meshtastic/apponly.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/apponly.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -26,23 +27,20 @@ const ( // No DISABLED channels are included. // This abstraction is used only on the the 'app side' of the world (ie python, javascript and android etc) to show a group of Channels as a (long) URL type ChannelSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Channel list with settings Settings []*ChannelSettings `protobuf:"bytes,1,rep,name=settings,proto3" json:"settings,omitempty"` // LoRa config - LoraConfig *Config_LoRaConfig `protobuf:"bytes,2,opt,name=lora_config,json=loraConfig,proto3" json:"lora_config,omitempty"` + LoraConfig *Config_LoRaConfig `protobuf:"bytes,2,opt,name=lora_config,json=loraConfig,proto3" json:"lora_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChannelSet) Reset() { *x = ChannelSet{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_apponly_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_apponly_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChannelSet) String() string { @@ -53,7 +51,7 @@ func (*ChannelSet) ProtoMessage() {} func (x *ChannelSet) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_apponly_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -84,44 +82,31 @@ func (x *ChannelSet) GetLoraConfig() *Config_LoRaConfig { var File_meshtastic_apponly_proto protoreflect.FileDescriptor -var file_meshtastic_apponly_proto_rawDesc = []byte{ - 0x0a, 0x18, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x61, 0x70, 0x70, - 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x1a, 0x18, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x17, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x01, 0x0a, 0x0a, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x3e, 0x0a, 0x0b, 0x6c, 0x6f, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x52, 0x61, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x6c, 0x6f, 0x72, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x42, 0x62, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, - 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0d, 0x41, 0x70, 0x70, 0x4f, 0x6e, 0x6c, - 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, - 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_apponly_proto_rawDesc = "" + + "\n" + + "\x18meshtastic/apponly.proto\x12\n" + + "meshtastic\x1a\x18meshtastic/channel.proto\x1a\x17meshtastic/config.proto\"\x85\x01\n" + + "\n" + + "ChannelSet\x127\n" + + "\bsettings\x18\x01 \x03(\v2\x1b.meshtastic.ChannelSettingsR\bsettings\x12>\n" + + "\vlora_config\x18\x02 \x01(\v2\x1d.meshtastic.Config.LoRaConfigR\n" + + "loraConfigBb\n" + + "\x13com.geeksville.meshB\rAppOnlyProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_apponly_proto_rawDescOnce sync.Once - file_meshtastic_apponly_proto_rawDescData = file_meshtastic_apponly_proto_rawDesc + file_meshtastic_apponly_proto_rawDescData []byte ) func file_meshtastic_apponly_proto_rawDescGZIP() []byte { file_meshtastic_apponly_proto_rawDescOnce.Do(func() { - file_meshtastic_apponly_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_apponly_proto_rawDescData) + file_meshtastic_apponly_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_apponly_proto_rawDesc), len(file_meshtastic_apponly_proto_rawDesc))) }) return file_meshtastic_apponly_proto_rawDescData } var file_meshtastic_apponly_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_apponly_proto_goTypes = []interface{}{ +var file_meshtastic_apponly_proto_goTypes = []any{ (*ChannelSet)(nil), // 0: meshtastic.ChannelSet (*ChannelSettings)(nil), // 1: meshtastic.ChannelSettings (*Config_LoRaConfig)(nil), // 2: meshtastic.Config.LoRaConfig @@ -143,25 +128,11 @@ func file_meshtastic_apponly_proto_init() { } file_meshtastic_channel_proto_init() file_meshtastic_config_proto_init() - if !protoimpl.UnsafeEnabled { - file_meshtastic_apponly_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_apponly_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_apponly_proto_rawDesc), len(file_meshtastic_apponly_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -172,7 +143,6 @@ func file_meshtastic_apponly_proto_init() { MessageInfos: file_meshtastic_apponly_proto_msgTypes, }.Build() File_meshtastic_apponly_proto = out.File - file_meshtastic_apponly_proto_rawDesc = nil file_meshtastic_apponly_proto_goTypes = nil file_meshtastic_apponly_proto_depIdxs = nil } diff --git a/meshtastic/atak.pb.go b/meshtastic/atak.pb.go index b748df9..af34b01 100644 --- a/meshtastic/atak.pb.go +++ b/meshtastic/atak.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/atak.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -199,10 +200,7 @@ func (MemberRole) EnumDescriptor() ([]byte, []int) { // Packets for the official ATAK Plugin type TAKPacket struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Are the payloads strings compressed for LoRA transport? IsCompressed bool `protobuf:"varint,1,opt,name=is_compressed,json=isCompressed,proto3" json:"is_compressed,omitempty"` // The contact / callsign for ATAK user @@ -213,20 +211,21 @@ type TAKPacket struct { Status *Status `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // The payload of the packet // - // Types that are assignable to PayloadVariant: + // Types that are valid to be assigned to PayloadVariant: // // *TAKPacket_Pli // *TAKPacket_Chat + // *TAKPacket_Detail PayloadVariant isTAKPacket_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TAKPacket) Reset() { *x = TAKPacket{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_atak_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_atak_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TAKPacket) String() string { @@ -237,7 +236,7 @@ func (*TAKPacket) ProtoMessage() {} func (x *TAKPacket) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_atak_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -280,23 +279,36 @@ func (x *TAKPacket) GetStatus() *Status { return nil } -func (m *TAKPacket) GetPayloadVariant() isTAKPacket_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *TAKPacket) GetPayloadVariant() isTAKPacket_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } func (x *TAKPacket) GetPli() *PLI { - if x, ok := x.GetPayloadVariant().(*TAKPacket_Pli); ok { - return x.Pli + if x != nil { + if x, ok := x.PayloadVariant.(*TAKPacket_Pli); ok { + return x.Pli + } } return nil } func (x *TAKPacket) GetChat() *GeoChat { - if x, ok := x.GetPayloadVariant().(*TAKPacket_Chat); ok { - return x.Chat + if x != nil { + if x, ok := x.PayloadVariant.(*TAKPacket_Chat); ok { + return x.Chat + } + } + return nil +} + +func (x *TAKPacket) GetDetail() []byte { + if x != nil { + if x, ok := x.PayloadVariant.(*TAKPacket_Detail); ok { + return x.Detail + } } return nil } @@ -315,29 +327,36 @@ type TAKPacket_Chat struct { Chat *GeoChat `protobuf:"bytes,6,opt,name=chat,proto3,oneof"` } +type TAKPacket_Detail struct { + // Generic CoT detail XML + // May be compressed / truncated by the sender (EUD) + Detail []byte `protobuf:"bytes,7,opt,name=detail,proto3,oneof"` +} + func (*TAKPacket_Pli) isTAKPacket_PayloadVariant() {} func (*TAKPacket_Chat) isTAKPacket_PayloadVariant() {} +func (*TAKPacket_Detail) isTAKPacket_PayloadVariant() {} + // ATAK GeoChat message type GeoChat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The text message Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // Uid recipient of the message To *string `protobuf:"bytes,2,opt,name=to,proto3,oneof" json:"to,omitempty"` + // Callsign of the recipient for the message + ToCallsign *string `protobuf:"bytes,3,opt,name=to_callsign,json=toCallsign,proto3,oneof" json:"to_callsign,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *GeoChat) Reset() { *x = GeoChat{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_atak_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_atak_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GeoChat) String() string { @@ -348,7 +367,7 @@ func (*GeoChat) ProtoMessage() {} func (x *GeoChat) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_atak_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -377,27 +396,31 @@ func (x *GeoChat) GetTo() string { return "" } +func (x *GeoChat) GetToCallsign() string { + if x != nil && x.ToCallsign != nil { + return *x.ToCallsign + } + return "" +} + // ATAK Group // <__group role='Team Member' name='Cyan'/> type Group struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Role of the group member Role MemberRole `protobuf:"varint,1,opt,name=role,proto3,enum=meshtastic.MemberRole" json:"role,omitempty"` // Team (color) // Default Cyan - Team Team `protobuf:"varint,2,opt,name=team,proto3,enum=meshtastic.Team" json:"team,omitempty"` + Team Team `protobuf:"varint,2,opt,name=team,proto3,enum=meshtastic.Team" json:"team,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Group) Reset() { *x = Group{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_atak_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_atak_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Group) String() string { @@ -408,7 +431,7 @@ func (*Group) ProtoMessage() {} func (x *Group) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_atak_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -440,21 +463,18 @@ func (x *Group) GetTeam() Team { // ATAK EUD Status // type Status struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Battery level - Battery uint32 `protobuf:"varint,1,opt,name=battery,proto3" json:"battery,omitempty"` + Battery uint32 `protobuf:"varint,1,opt,name=battery,proto3" json:"battery,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Status) Reset() { *x = Status{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_atak_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_atak_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Status) String() string { @@ -465,7 +485,7 @@ func (*Status) ProtoMessage() {} func (x *Status) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_atak_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -490,23 +510,20 @@ func (x *Status) GetBattery() uint32 { // ATAK Contact // type Contact struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Callsign Callsign string `protobuf:"bytes,1,opt,name=callsign,proto3" json:"callsign,omitempty"` // Device callsign DeviceCallsign string `protobuf:"bytes,2,opt,name=device_callsign,json=deviceCallsign,proto3" json:"device_callsign,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Contact) Reset() { *x = Contact{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_atak_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_atak_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Contact) String() string { @@ -517,7 +534,7 @@ func (*Contact) ProtoMessage() {} func (x *Contact) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_atak_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -548,10 +565,7 @@ func (x *Contact) GetDeviceCallsign() string { // Position Location Information from ATAK type PLI struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The new preferred location encoding, multiply by 1e-7 to get degrees // in floating point LatitudeI int32 `protobuf:"fixed32,1,opt,name=latitude_i,json=latitudeI,proto3" json:"latitude_i,omitempty"` @@ -563,16 +577,16 @@ type PLI struct { // Speed Speed uint32 `protobuf:"varint,4,opt,name=speed,proto3" json:"speed,omitempty"` // Course in degrees - Course uint32 `protobuf:"varint,5,opt,name=course,proto3" json:"course,omitempty"` + Course uint32 `protobuf:"varint,5,opt,name=course,proto3" json:"course,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PLI) Reset() { *x = PLI{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_atak_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_atak_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PLI) String() string { @@ -583,7 +597,7 @@ func (*PLI) ProtoMessage() {} func (x *PLI) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_atak_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -635,97 +649,96 @@ func (x *PLI) GetCourse() uint32 { var File_meshtastic_atak_proto protoreflect.FileDescriptor -var file_meshtastic_atak_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x61, 0x74, 0x61, - 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x22, 0x97, 0x02, 0x0a, 0x09, 0x54, 0x41, 0x4b, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x03, 0x70, 0x6c, - 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x4c, 0x49, 0x48, 0x00, 0x52, 0x03, 0x70, 0x6c, 0x69, 0x12, - 0x29, 0x0a, 0x04, 0x63, 0x68, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x47, 0x65, 0x6f, 0x43, 0x68, - 0x61, 0x74, 0x48, 0x00, 0x52, 0x04, 0x63, 0x68, 0x61, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x3f, 0x0a, - 0x07, 0x47, 0x65, 0x6f, 0x43, 0x68, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x74, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x74, 0x6f, 0x22, 0x59, - 0x0a, 0x05, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x54, - 0x65, 0x61, 0x6d, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x22, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x22, 0x4e, 0x0a, - 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x6c, 0x6c, - 0x73, 0x69, 0x67, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x6c, 0x6c, - 0x73, 0x69, 0x67, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, - 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x69, 0x67, 0x6e, 0x22, 0x8f, 0x01, - 0x0a, 0x03, 0x50, 0x4c, 0x49, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x5f, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x49, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x5f, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x69, - 0x74, 0x75, 0x64, 0x65, 0x49, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x73, 0x70, 0x65, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x75, 0x72, 0x73, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2a, - 0xc0, 0x01, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x6e, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x65, 0x64, 0x5f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x09, - 0x0a, 0x05, 0x57, 0x68, 0x69, 0x74, 0x65, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x59, 0x65, 0x6c, - 0x6c, 0x6f, 0x77, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x10, - 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x61, 0x10, 0x04, 0x12, 0x07, - 0x0a, 0x03, 0x52, 0x65, 0x64, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6f, 0x6f, - 0x6e, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x75, 0x72, 0x70, 0x6c, 0x65, 0x10, 0x07, 0x12, - 0x0d, 0x0a, 0x09, 0x44, 0x61, 0x72, 0x6b, 0x5f, 0x42, 0x6c, 0x75, 0x65, 0x10, 0x08, 0x12, 0x08, - 0x0a, 0x04, 0x42, 0x6c, 0x75, 0x65, 0x10, 0x09, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x79, 0x61, 0x6e, - 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x65, 0x61, 0x6c, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, - 0x47, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x0c, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x61, 0x72, 0x6b, 0x5f, - 0x47, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x0d, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x72, 0x6f, 0x77, 0x6e, - 0x10, 0x0e, 0x2a, 0x7f, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, - 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x65, 0x64, 0x10, 0x00, - 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x01, - 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x65, 0x61, 0x6d, 0x4c, 0x65, 0x61, 0x64, 0x10, 0x02, 0x12, 0x06, - 0x0a, 0x02, 0x48, 0x51, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x6e, 0x69, 0x70, 0x65, 0x72, - 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x65, 0x64, 0x69, 0x63, 0x10, 0x05, 0x12, 0x13, 0x0a, - 0x0f, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x54, 0x4f, 0x10, 0x07, 0x12, 0x06, 0x0a, 0x02, 0x4b, - 0x39, 0x10, 0x08, 0x42, 0x5f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, - 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0a, 0x41, 0x54, 0x41, 0x4b, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, - 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_atak_proto_rawDesc = "" + + "\n" + + "\x15meshtastic/atak.proto\x12\n" + + "meshtastic\"\xb1\x02\n" + + "\tTAKPacket\x12#\n" + + "\ris_compressed\x18\x01 \x01(\bR\fisCompressed\x12-\n" + + "\acontact\x18\x02 \x01(\v2\x13.meshtastic.ContactR\acontact\x12'\n" + + "\x05group\x18\x03 \x01(\v2\x11.meshtastic.GroupR\x05group\x12*\n" + + "\x06status\x18\x04 \x01(\v2\x12.meshtastic.StatusR\x06status\x12#\n" + + "\x03pli\x18\x05 \x01(\v2\x0f.meshtastic.PLIH\x00R\x03pli\x12)\n" + + "\x04chat\x18\x06 \x01(\v2\x13.meshtastic.GeoChatH\x00R\x04chat\x12\x18\n" + + "\x06detail\x18\a \x01(\fH\x00R\x06detailB\x11\n" + + "\x0fpayload_variant\"u\n" + + "\aGeoChat\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\x12\x13\n" + + "\x02to\x18\x02 \x01(\tH\x00R\x02to\x88\x01\x01\x12$\n" + + "\vto_callsign\x18\x03 \x01(\tH\x01R\n" + + "toCallsign\x88\x01\x01B\x05\n" + + "\x03_toB\x0e\n" + + "\f_to_callsign\"Y\n" + + "\x05Group\x12*\n" + + "\x04role\x18\x01 \x01(\x0e2\x16.meshtastic.MemberRoleR\x04role\x12$\n" + + "\x04team\x18\x02 \x01(\x0e2\x10.meshtastic.TeamR\x04team\"\"\n" + + "\x06Status\x12\x18\n" + + "\abattery\x18\x01 \x01(\rR\abattery\"N\n" + + "\aContact\x12\x1a\n" + + "\bcallsign\x18\x01 \x01(\tR\bcallsign\x12'\n" + + "\x0fdevice_callsign\x18\x02 \x01(\tR\x0edeviceCallsign\"\x8f\x01\n" + + "\x03PLI\x12\x1d\n" + + "\n" + + "latitude_i\x18\x01 \x01(\x0fR\tlatitudeI\x12\x1f\n" + + "\vlongitude_i\x18\x02 \x01(\x0fR\n" + + "longitudeI\x12\x1a\n" + + "\baltitude\x18\x03 \x01(\x05R\baltitude\x12\x14\n" + + "\x05speed\x18\x04 \x01(\rR\x05speed\x12\x16\n" + + "\x06course\x18\x05 \x01(\rR\x06course*\xc0\x01\n" + + "\x04Team\x12\x14\n" + + "\x10Unspecifed_Color\x10\x00\x12\t\n" + + "\x05White\x10\x01\x12\n" + + "\n" + + "\x06Yellow\x10\x02\x12\n" + + "\n" + + "\x06Orange\x10\x03\x12\v\n" + + "\aMagenta\x10\x04\x12\a\n" + + "\x03Red\x10\x05\x12\n" + + "\n" + + "\x06Maroon\x10\x06\x12\n" + + "\n" + + "\x06Purple\x10\a\x12\r\n" + + "\tDark_Blue\x10\b\x12\b\n" + + "\x04Blue\x10\t\x12\b\n" + + "\x04Cyan\x10\n" + + "\x12\b\n" + + "\x04Teal\x10\v\x12\t\n" + + "\x05Green\x10\f\x12\x0e\n" + + "\n" + + "Dark_Green\x10\r\x12\t\n" + + "\x05Brown\x10\x0e*\x7f\n" + + "\n" + + "MemberRole\x12\x0e\n" + + "\n" + + "Unspecifed\x10\x00\x12\x0e\n" + + "\n" + + "TeamMember\x10\x01\x12\f\n" + + "\bTeamLead\x10\x02\x12\x06\n" + + "\x02HQ\x10\x03\x12\n" + + "\n" + + "\x06Sniper\x10\x04\x12\t\n" + + "\x05Medic\x10\x05\x12\x13\n" + + "\x0fForwardObserver\x10\x06\x12\a\n" + + "\x03RTO\x10\a\x12\x06\n" + + "\x02K9\x10\bB_\n" + + "\x13com.geeksville.meshB\n" + + "ATAKProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_atak_proto_rawDescOnce sync.Once - file_meshtastic_atak_proto_rawDescData = file_meshtastic_atak_proto_rawDesc + file_meshtastic_atak_proto_rawDescData []byte ) func file_meshtastic_atak_proto_rawDescGZIP() []byte { file_meshtastic_atak_proto_rawDescOnce.Do(func() { - file_meshtastic_atak_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_atak_proto_rawDescData) + file_meshtastic_atak_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_atak_proto_rawDesc), len(file_meshtastic_atak_proto_rawDesc))) }) return file_meshtastic_atak_proto_rawDescData } var file_meshtastic_atak_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_meshtastic_atak_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_meshtastic_atak_proto_goTypes = []interface{}{ +var file_meshtastic_atak_proto_goTypes = []any{ (Team)(0), // 0: meshtastic.Team (MemberRole)(0), // 1: meshtastic.MemberRole (*TAKPacket)(nil), // 2: meshtastic.TAKPacket @@ -755,90 +768,17 @@ func file_meshtastic_atak_proto_init() { if File_meshtastic_atak_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_atak_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TAKPacket); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_atak_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GeoChat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_atak_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Group); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_atak_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Status); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_atak_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Contact); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_atak_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PLI); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_atak_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_meshtastic_atak_proto_msgTypes[0].OneofWrappers = []any{ (*TAKPacket_Pli)(nil), (*TAKPacket_Chat)(nil), + (*TAKPacket_Detail)(nil), } - file_meshtastic_atak_proto_msgTypes[1].OneofWrappers = []interface{}{} + file_meshtastic_atak_proto_msgTypes[1].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_atak_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_atak_proto_rawDesc), len(file_meshtastic_atak_proto_rawDesc)), NumEnums: 2, NumMessages: 6, NumExtensions: 0, @@ -850,7 +790,6 @@ func file_meshtastic_atak_proto_init() { MessageInfos: file_meshtastic_atak_proto_msgTypes, }.Build() File_meshtastic_atak_proto = out.File - file_meshtastic_atak_proto_rawDesc = nil file_meshtastic_atak_proto_goTypes = nil file_meshtastic_atak_proto_depIdxs = nil } diff --git a/meshtastic/atak_vtproto.pb.go b/meshtastic/atak_vtproto.pb.go index ceb763c..26b1237 100644 --- a/meshtastic/atak_vtproto.pb.go +++ b/meshtastic/atak_vtproto.pb.go @@ -139,6 +139,20 @@ func (m *TAKPacket_Chat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } return len(dAtA) - i, nil } +func (m *TAKPacket_Detail) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *TAKPacket_Detail) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Detail) + copy(dAtA[i:], m.Detail) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Detail))) + i-- + dAtA[i] = 0x3a + return len(dAtA) - i, nil +} func (m *GeoChat) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -169,6 +183,13 @@ func (m *GeoChat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.ToCallsign != nil { + i -= len(*m.ToCallsign) + copy(dAtA[i:], *m.ToCallsign) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ToCallsign))) + i-- + dAtA[i] = 0x1a + } if m.To != nil { i -= len(*m.To) copy(dAtA[i:], *m.To) @@ -426,6 +447,16 @@ func (m *TAKPacket_Chat) SizeVT() (n int) { } return n } +func (m *TAKPacket_Detail) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Detail) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} func (m *GeoChat) SizeVT() (n int) { if m == nil { return 0 @@ -440,6 +471,10 @@ func (m *GeoChat) SizeVT() (n int) { l = len(*m.To) n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.ToCallsign != nil { + l = len(*m.ToCallsign) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -755,6 +790,39 @@ func (m *TAKPacket) UnmarshalVT(dAtA []byte) error { m.PayloadVariant = &TAKPacket_Chat{Chat: v} } iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Detail", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := make([]byte, postIndex-iNdEx) + copy(v, dAtA[iNdEx:postIndex]) + m.PayloadVariant = &TAKPacket_Detail{Detail: v} + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -871,6 +939,39 @@ func (m *GeoChat) UnmarshalVT(dAtA []byte) error { s := string(dAtA[iNdEx:postIndex]) m.To = &s iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ToCallsign", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.ToCallsign = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/cannedmessages.pb.go b/meshtastic/cannedmessages.pb.go index 212a323..15022d9 100644 --- a/meshtastic/cannedmessages.pb.go +++ b/meshtastic/cannedmessages.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/cannedmessages.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,21 +23,18 @@ const ( // Canned message module configuration. type CannedMessageModuleConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Predefined messages for canned message module separated by '|' characters. - Messages string `protobuf:"bytes,1,opt,name=messages,proto3" json:"messages,omitempty"` + Messages string `protobuf:"bytes,1,opt,name=messages,proto3" json:"messages,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CannedMessageModuleConfig) Reset() { *x = CannedMessageModuleConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_cannedmessages_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_cannedmessages_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CannedMessageModuleConfig) String() string { @@ -47,7 +45,7 @@ func (*CannedMessageModuleConfig) ProtoMessage() {} func (x *CannedMessageModuleConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_cannedmessages_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -71,37 +69,28 @@ func (x *CannedMessageModuleConfig) GetMessages() string { var File_meshtastic_cannedmessages_proto protoreflect.FileDescriptor -var file_meshtastic_cannedmessages_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x61, 0x6e, - 0x6e, 0x65, 0x64, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0x37, 0x0a, - 0x19, 0x43, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x42, 0x6e, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, - 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x19, 0x43, - 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, - 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_cannedmessages_proto_rawDesc = "" + + "\n" + + "\x1fmeshtastic/cannedmessages.proto\x12\n" + + "meshtastic\"7\n" + + "\x19CannedMessageModuleConfig\x12\x1a\n" + + "\bmessages\x18\x01 \x01(\tR\bmessagesBn\n" + + "\x13com.geeksville.meshB\x19CannedMessageConfigProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_cannedmessages_proto_rawDescOnce sync.Once - file_meshtastic_cannedmessages_proto_rawDescData = file_meshtastic_cannedmessages_proto_rawDesc + file_meshtastic_cannedmessages_proto_rawDescData []byte ) func file_meshtastic_cannedmessages_proto_rawDescGZIP() []byte { file_meshtastic_cannedmessages_proto_rawDescOnce.Do(func() { - file_meshtastic_cannedmessages_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_cannedmessages_proto_rawDescData) + file_meshtastic_cannedmessages_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_cannedmessages_proto_rawDesc), len(file_meshtastic_cannedmessages_proto_rawDesc))) }) return file_meshtastic_cannedmessages_proto_rawDescData } var file_meshtastic_cannedmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_cannedmessages_proto_goTypes = []interface{}{ +var file_meshtastic_cannedmessages_proto_goTypes = []any{ (*CannedMessageModuleConfig)(nil), // 0: meshtastic.CannedMessageModuleConfig } var file_meshtastic_cannedmessages_proto_depIdxs = []int32{ @@ -117,25 +106,11 @@ func file_meshtastic_cannedmessages_proto_init() { if File_meshtastic_cannedmessages_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_cannedmessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CannedMessageModuleConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_cannedmessages_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_cannedmessages_proto_rawDesc), len(file_meshtastic_cannedmessages_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -146,7 +121,6 @@ func file_meshtastic_cannedmessages_proto_init() { MessageInfos: file_meshtastic_cannedmessages_proto_msgTypes, }.Build() File_meshtastic_cannedmessages_proto = out.File - file_meshtastic_cannedmessages_proto_rawDesc = nil file_meshtastic_cannedmessages_proto_goTypes = nil file_meshtastic_cannedmessages_proto_depIdxs = nil } diff --git a/meshtastic/channel.pb.go b/meshtastic/channel.pb.go index cc6e1ca..66a2362 100644 --- a/meshtastic/channel.pb.go +++ b/meshtastic/channel.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/channel.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -98,10 +99,7 @@ func (Channel_Role) EnumDescriptor() ([]byte, []int) { // FIXME: explain how apps use channels for security. // explain how remote settings and remote gpio are managed as an example type ChannelSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Deprecated in favor of LoraConfig.channel_num // // Deprecated: Marked as deprecated in meshtastic/channel.proto. @@ -144,15 +142,15 @@ type ChannelSettings struct { DownlinkEnabled bool `protobuf:"varint,6,opt,name=downlink_enabled,json=downlinkEnabled,proto3" json:"downlink_enabled,omitempty"` // Per-channel module settings. ModuleSettings *ModuleSettings `protobuf:"bytes,7,opt,name=module_settings,json=moduleSettings,proto3" json:"module_settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChannelSettings) Reset() { *x = ChannelSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_channel_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_channel_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChannelSettings) String() string { @@ -163,7 +161,7 @@ func (*ChannelSettings) ProtoMessage() {} func (x *ChannelSettings) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_channel_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -230,21 +228,21 @@ func (x *ChannelSettings) GetModuleSettings() *ModuleSettings { // This message is specifically for modules to store per-channel configuration data. type ModuleSettings struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Bits of precision for the location sent in position packets. PositionPrecision uint32 `protobuf:"varint,1,opt,name=position_precision,json=positionPrecision,proto3" json:"position_precision,omitempty"` + // Controls whether or not the phone / clients should mute the current channel + // Useful for noisy public channels you don't necessarily want to disable + IsClientMuted bool `protobuf:"varint,2,opt,name=is_client_muted,json=isClientMuted,proto3" json:"is_client_muted,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleSettings) Reset() { *x = ModuleSettings{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_channel_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_channel_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleSettings) String() string { @@ -255,7 +253,7 @@ func (*ModuleSettings) ProtoMessage() {} func (x *ModuleSettings) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_channel_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -277,12 +275,16 @@ func (x *ModuleSettings) GetPositionPrecision() uint32 { return 0 } +func (x *ModuleSettings) GetIsClientMuted() bool { + if x != nil { + return x.IsClientMuted + } + return false +} + // A pair of a channel number, mode and the (sharable) settings for that channel type Channel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The index of this channel in the channel table (from 0 to MAX_NUM_CHANNELS-1) // (Someday - not currently implemented) An index of -1 could be used to mean "set by name", // in which case the target node will find and set the channel by settings.name. @@ -290,16 +292,16 @@ type Channel struct { // The new settings, or NULL to disable that channel Settings *ChannelSettings `protobuf:"bytes,2,opt,name=settings,proto3" json:"settings,omitempty"` // TODO: REPLACE - Role Channel_Role `protobuf:"varint,3,opt,name=role,proto3,enum=meshtastic.Channel_Role" json:"role,omitempty"` + Role Channel_Role `protobuf:"varint,3,opt,name=role,proto3,enum=meshtastic.Channel_Role" json:"role,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Channel) Reset() { *x = Channel{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_channel_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_channel_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Channel) String() string { @@ -310,7 +312,7 @@ func (*Channel) ProtoMessage() {} func (x *Channel) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_channel_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -348,66 +350,47 @@ func (x *Channel) GetRole() Channel_Role { var File_meshtastic_channel_proto protoreflect.FileDescriptor -var file_meshtastic_channel_proto_rawDesc = []byte{ - 0x0a, 0x18, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0x83, 0x02, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, - 0x10, 0x0a, 0x03, 0x70, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x70, 0x73, - 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x02, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, - 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x0f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0e, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x3f, 0x0a, 0x0e, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, - 0x0a, 0x12, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x01, - 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x37, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x52, 0x6f, 0x6c, 0x65, - 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x30, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0c, - 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x43, - 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x10, 0x02, 0x42, 0x62, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, - 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, - 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_channel_proto_rawDesc = "" + + "\n" + + "\x18meshtastic/channel.proto\x12\n" + + "meshtastic\"\x83\x02\n" + + "\x0fChannelSettings\x12#\n" + + "\vchannel_num\x18\x01 \x01(\rB\x02\x18\x01R\n" + + "channelNum\x12\x10\n" + + "\x03psk\x18\x02 \x01(\fR\x03psk\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\x12\x0e\n" + + "\x02id\x18\x04 \x01(\aR\x02id\x12%\n" + + "\x0euplink_enabled\x18\x05 \x01(\bR\ruplinkEnabled\x12)\n" + + "\x10downlink_enabled\x18\x06 \x01(\bR\x0fdownlinkEnabled\x12C\n" + + "\x0fmodule_settings\x18\a \x01(\v2\x1a.meshtastic.ModuleSettingsR\x0emoduleSettings\"g\n" + + "\x0eModuleSettings\x12-\n" + + "\x12position_precision\x18\x01 \x01(\rR\x11positionPrecision\x12&\n" + + "\x0fis_client_muted\x18\x02 \x01(\bR\risClientMuted\"\xb8\x01\n" + + "\aChannel\x12\x14\n" + + "\x05index\x18\x01 \x01(\x05R\x05index\x127\n" + + "\bsettings\x18\x02 \x01(\v2\x1b.meshtastic.ChannelSettingsR\bsettings\x12,\n" + + "\x04role\x18\x03 \x01(\x0e2\x18.meshtastic.Channel.RoleR\x04role\"0\n" + + "\x04Role\x12\f\n" + + "\bDISABLED\x10\x00\x12\v\n" + + "\aPRIMARY\x10\x01\x12\r\n" + + "\tSECONDARY\x10\x02Bb\n" + + "\x13com.geeksville.meshB\rChannelProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_channel_proto_rawDescOnce sync.Once - file_meshtastic_channel_proto_rawDescData = file_meshtastic_channel_proto_rawDesc + file_meshtastic_channel_proto_rawDescData []byte ) func file_meshtastic_channel_proto_rawDescGZIP() []byte { file_meshtastic_channel_proto_rawDescOnce.Do(func() { - file_meshtastic_channel_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_channel_proto_rawDescData) + file_meshtastic_channel_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_channel_proto_rawDesc), len(file_meshtastic_channel_proto_rawDesc))) }) return file_meshtastic_channel_proto_rawDescData } var file_meshtastic_channel_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_meshtastic_channel_proto_msgTypes = make([]protoimpl.MessageInfo, 3) -var file_meshtastic_channel_proto_goTypes = []interface{}{ +var file_meshtastic_channel_proto_goTypes = []any{ (Channel_Role)(0), // 0: meshtastic.Channel.Role (*ChannelSettings)(nil), // 1: meshtastic.ChannelSettings (*ModuleSettings)(nil), // 2: meshtastic.ModuleSettings @@ -429,49 +412,11 @@ func file_meshtastic_channel_proto_init() { if File_meshtastic_channel_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_channel_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_channel_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleSettings); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_channel_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Channel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_channel_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_channel_proto_rawDesc), len(file_meshtastic_channel_proto_rawDesc)), NumEnums: 1, NumMessages: 3, NumExtensions: 0, @@ -483,7 +428,6 @@ func file_meshtastic_channel_proto_init() { MessageInfos: file_meshtastic_channel_proto_msgTypes, }.Build() File_meshtastic_channel_proto = out.File - file_meshtastic_channel_proto_rawDesc = nil file_meshtastic_channel_proto_goTypes = nil file_meshtastic_channel_proto_depIdxs = nil } diff --git a/meshtastic/channel_vtproto.pb.go b/meshtastic/channel_vtproto.pb.go index a0b4fde..1ef03df 100644 --- a/meshtastic/channel_vtproto.pb.go +++ b/meshtastic/channel_vtproto.pb.go @@ -137,6 +137,16 @@ func (m *ModuleSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsClientMuted { + i-- + if m.IsClientMuted { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } if m.PositionPrecision != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionPrecision)) i-- @@ -241,6 +251,9 @@ func (m *ModuleSettings) SizeVT() (n int) { if m.PositionPrecision != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.PositionPrecision)) } + if m.IsClientMuted { + n += 2 + } n += len(m.unknownFields) return n } @@ -535,6 +548,26 @@ func (m *ModuleSettings) UnmarshalVT(dAtA []byte) error { break } } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsClientMuted", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsClientMuted = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/clientonly.pb.go b/meshtastic/clientonly.pb.go index 9730098..4f2a0f7 100644 --- a/meshtastic/clientonly.pb.go +++ b/meshtastic/clientonly.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/clientonly.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -23,10 +24,7 @@ const ( // This abstraction is used to contain any configuration for provisioning a node on any client. // It is useful for importing and exporting configurations. type DeviceProfile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Long name for the node LongName *string `protobuf:"bytes,1,opt,name=long_name,json=longName,proto3,oneof" json:"long_name,omitempty"` // Short name of the node @@ -37,15 +35,21 @@ type DeviceProfile struct { Config *LocalConfig `protobuf:"bytes,4,opt,name=config,proto3,oneof" json:"config,omitempty"` // The ModuleConfig of the node ModuleConfig *LocalModuleConfig `protobuf:"bytes,5,opt,name=module_config,json=moduleConfig,proto3,oneof" json:"module_config,omitempty"` + // Fixed position data + FixedPosition *Position `protobuf:"bytes,6,opt,name=fixed_position,json=fixedPosition,proto3,oneof" json:"fixed_position,omitempty"` + // Ringtone for ExternalNotification + Ringtone *string `protobuf:"bytes,7,opt,name=ringtone,proto3,oneof" json:"ringtone,omitempty"` + // Predefined messages for CannedMessage + CannedMessages *string `protobuf:"bytes,8,opt,name=canned_messages,json=cannedMessages,proto3,oneof" json:"canned_messages,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DeviceProfile) Reset() { *x = DeviceProfile{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_clientonly_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_clientonly_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeviceProfile) String() string { @@ -56,7 +60,7 @@ func (*DeviceProfile) ProtoMessage() {} func (x *DeviceProfile) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_clientonly_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -106,69 +110,83 @@ func (x *DeviceProfile) GetModuleConfig() *LocalModuleConfig { return nil } -var File_meshtastic_clientonly_proto protoreflect.FileDescriptor +func (x *DeviceProfile) GetFixedPosition() *Position { + if x != nil { + return x.FixedPosition + } + return nil +} -var file_meshtastic_clientonly_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x1a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, - 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, - 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x03, 0x52, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x04, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, - 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x65, 0x0a, 0x13, - 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x42, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, - 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +func (x *DeviceProfile) GetRingtone() string { + if x != nil && x.Ringtone != nil { + return *x.Ringtone + } + return "" +} + +func (x *DeviceProfile) GetCannedMessages() string { + if x != nil && x.CannedMessages != nil { + return *x.CannedMessages + } + return "" } +var File_meshtastic_clientonly_proto protoreflect.FileDescriptor + +const file_meshtastic_clientonly_proto_rawDesc = "" + + "\n" + + "\x1bmeshtastic/clientonly.proto\x12\n" + + "meshtastic\x1a\x1ameshtastic/localonly.proto\x1a\x15meshtastic/mesh.proto\"\x89\x04\n" + + "\rDeviceProfile\x12 \n" + + "\tlong_name\x18\x01 \x01(\tH\x00R\blongName\x88\x01\x01\x12\"\n" + + "\n" + + "short_name\x18\x02 \x01(\tH\x01R\tshortName\x88\x01\x01\x12$\n" + + "\vchannel_url\x18\x03 \x01(\tH\x02R\n" + + "channelUrl\x88\x01\x01\x124\n" + + "\x06config\x18\x04 \x01(\v2\x17.meshtastic.LocalConfigH\x03R\x06config\x88\x01\x01\x12G\n" + + "\rmodule_config\x18\x05 \x01(\v2\x1d.meshtastic.LocalModuleConfigH\x04R\fmoduleConfig\x88\x01\x01\x12@\n" + + "\x0efixed_position\x18\x06 \x01(\v2\x14.meshtastic.PositionH\x05R\rfixedPosition\x88\x01\x01\x12\x1f\n" + + "\bringtone\x18\a \x01(\tH\x06R\bringtone\x88\x01\x01\x12,\n" + + "\x0fcanned_messages\x18\b \x01(\tH\aR\x0ecannedMessages\x88\x01\x01B\f\n" + + "\n" + + "_long_nameB\r\n" + + "\v_short_nameB\x0e\n" + + "\f_channel_urlB\t\n" + + "\a_configB\x10\n" + + "\x0e_module_configB\x11\n" + + "\x0f_fixed_positionB\v\n" + + "\t_ringtoneB\x12\n" + + "\x10_canned_messagesBe\n" + + "\x13com.geeksville.meshB\x10ClientOnlyProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + var ( file_meshtastic_clientonly_proto_rawDescOnce sync.Once - file_meshtastic_clientonly_proto_rawDescData = file_meshtastic_clientonly_proto_rawDesc + file_meshtastic_clientonly_proto_rawDescData []byte ) func file_meshtastic_clientonly_proto_rawDescGZIP() []byte { file_meshtastic_clientonly_proto_rawDescOnce.Do(func() { - file_meshtastic_clientonly_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_clientonly_proto_rawDescData) + file_meshtastic_clientonly_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_clientonly_proto_rawDesc), len(file_meshtastic_clientonly_proto_rawDesc))) }) return file_meshtastic_clientonly_proto_rawDescData } var file_meshtastic_clientonly_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_clientonly_proto_goTypes = []interface{}{ +var file_meshtastic_clientonly_proto_goTypes = []any{ (*DeviceProfile)(nil), // 0: meshtastic.DeviceProfile (*LocalConfig)(nil), // 1: meshtastic.LocalConfig (*LocalModuleConfig)(nil), // 2: meshtastic.LocalModuleConfig + (*Position)(nil), // 3: meshtastic.Position } var file_meshtastic_clientonly_proto_depIdxs = []int32{ 1, // 0: meshtastic.DeviceProfile.config:type_name -> meshtastic.LocalConfig 2, // 1: meshtastic.DeviceProfile.module_config:type_name -> meshtastic.LocalModuleConfig - 2, // [2:2] is the sub-list for method output_type - 2, // [2:2] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name + 3, // 2: meshtastic.DeviceProfile.fixed_position:type_name -> meshtastic.Position + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name } func init() { file_meshtastic_clientonly_proto_init() } @@ -177,26 +195,13 @@ func file_meshtastic_clientonly_proto_init() { return } file_meshtastic_localonly_proto_init() - if !protoimpl.UnsafeEnabled { - file_meshtastic_clientonly_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceProfile); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_clientonly_proto_msgTypes[0].OneofWrappers = []interface{}{} + file_meshtastic_mesh_proto_init() + file_meshtastic_clientonly_proto_msgTypes[0].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_clientonly_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_clientonly_proto_rawDesc), len(file_meshtastic_clientonly_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -207,7 +212,6 @@ func file_meshtastic_clientonly_proto_init() { MessageInfos: file_meshtastic_clientonly_proto_msgTypes, }.Build() File_meshtastic_clientonly_proto = out.File - file_meshtastic_clientonly_proto_rawDesc = nil file_meshtastic_clientonly_proto_goTypes = nil file_meshtastic_clientonly_proto_depIdxs = nil } diff --git a/meshtastic/clientonly_vtproto.pb.go b/meshtastic/clientonly_vtproto.pb.go index 8ad1193..5600b00 100644 --- a/meshtastic/clientonly_vtproto.pb.go +++ b/meshtastic/clientonly_vtproto.pb.go @@ -48,6 +48,30 @@ func (m *DeviceProfile) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.CannedMessages != nil { + i -= len(*m.CannedMessages) + copy(dAtA[i:], *m.CannedMessages) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.CannedMessages))) + i-- + dAtA[i] = 0x42 + } + if m.Ringtone != nil { + i -= len(*m.Ringtone) + copy(dAtA[i:], *m.Ringtone) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Ringtone))) + i-- + dAtA[i] = 0x3a + } + if m.FixedPosition != nil { + size, err := m.FixedPosition.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } if m.ModuleConfig != nil { size, err := m.ModuleConfig.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -118,6 +142,18 @@ func (m *DeviceProfile) SizeVT() (n int) { l = m.ModuleConfig.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.FixedPosition != nil { + l = m.FixedPosition.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Ringtone != nil { + l = len(*m.Ringtone) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CannedMessages != nil { + l = len(*m.CannedMessages) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -322,6 +358,108 @@ func (m *DeviceProfile) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FixedPosition", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.FixedPosition == nil { + m.FixedPosition = &Position{} + } + if err := m.FixedPosition.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ringtone", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.Ringtone = &s + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CannedMessages", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.CannedMessages = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/config.pb.go b/meshtastic/config.pb.go index fd64176..79ca9b1 100644 --- a/meshtastic/config.pb.go +++ b/meshtastic/config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/config.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -35,7 +36,7 @@ const ( // The wifi radio and the oled screen will be put to sleep. // This mode may still potentially have higher power usage due to it's preference in message rebroadcasting on the mesh. Config_DeviceConfig_ROUTER Config_DeviceConfig_Role = 2 - // Description: Combination of both ROUTER and CLIENT. Not for mobile devices. + // Deprecated: Marked as deprecated in meshtastic/config.proto. Config_DeviceConfig_ROUTER_CLIENT Config_DeviceConfig_Role = 3 // Description: Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list. // Technical Details: Mesh packets will simply be rebroadcasted over this node. Nodes configured with this role will not originate NodeInfo, Position, Telemetry @@ -79,6 +80,13 @@ const ( // and automatic TAK PLI (position location information) broadcasts. // Uses position module configuration to determine TAK PLI broadcast interval. Config_DeviceConfig_TAK_TRACKER Config_DeviceConfig_Role = 10 + // Description: Will always rebroadcast packets, but will do so after all other modes. + // Technical Details: Used for router nodes that are intended to provide additional coverage + // + // in areas not already covered by other routers, or to bridge around problematic terrain, + // but should not be given priority over other routers in order to avoid unnecessaraily + // consuming hops. + Config_DeviceConfig_ROUTER_LATE Config_DeviceConfig_Role = 11 ) // Enum value maps for Config_DeviceConfig_Role. @@ -95,6 +103,7 @@ var ( 8: "CLIENT_HIDDEN", 9: "LOST_AND_FOUND", 10: "TAK_TRACKER", + 11: "ROUTER_LATE", } Config_DeviceConfig_Role_value = map[string]int32{ "CLIENT": 0, @@ -108,6 +117,7 @@ var ( "CLIENT_HIDDEN": 8, "LOST_AND_FOUND": 9, "TAK_TRACKER": 10, + "ROUTER_LATE": 11, } ) @@ -154,6 +164,11 @@ const ( // Ignores observed messages from foreign meshes like LOCAL_ONLY, // but takes it step further by also ignoring messages from nodenums not in the node's known list (NodeDB) Config_DeviceConfig_KNOWN_ONLY Config_DeviceConfig_RebroadcastMode = 3 + // Only permitted for SENSOR, TRACKER and TAK_TRACKER roles, this will inhibit all rebroadcasts, not unlike CLIENT_MUTE role. + Config_DeviceConfig_NONE Config_DeviceConfig_RebroadcastMode = 4 + // Ignores packets from non-standard portnums such as: TAK, RangeTest, PaxCounter, etc. + // Only rebroadcasts packets with standard portnums: NodeInfo, Text, Position, Telemetry, and Routing. + Config_DeviceConfig_CORE_PORTNUMS_ONLY Config_DeviceConfig_RebroadcastMode = 5 ) // Enum value maps for Config_DeviceConfig_RebroadcastMode. @@ -163,12 +178,16 @@ var ( 1: "ALL_SKIP_DECODING", 2: "LOCAL_ONLY", 3: "KNOWN_ONLY", + 4: "NONE", + 5: "CORE_PORTNUMS_ONLY", } Config_DeviceConfig_RebroadcastMode_value = map[string]int32{ - "ALL": 0, - "ALL_SKIP_DECODING": 1, - "LOCAL_ONLY": 2, - "KNOWN_ONLY": 3, + "ALL": 0, + "ALL_SKIP_DECODING": 1, + "LOCAL_ONLY": 2, + "KNOWN_ONLY": 3, + "NONE": 4, + "CORE_PORTNUMS_ONLY": 5, } ) @@ -394,6 +413,55 @@ func (Config_NetworkConfig_AddressMode) EnumDescriptor() ([]byte, []int) { return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 3, 0} } +// Available flags auxiliary network protocols +type Config_NetworkConfig_ProtocolFlags int32 + +const ( + // Do not broadcast packets over any network protocol + Config_NetworkConfig_NO_BROADCAST Config_NetworkConfig_ProtocolFlags = 0 + // Enable broadcasting packets via UDP over the local network + Config_NetworkConfig_UDP_BROADCAST Config_NetworkConfig_ProtocolFlags = 1 +) + +// Enum value maps for Config_NetworkConfig_ProtocolFlags. +var ( + Config_NetworkConfig_ProtocolFlags_name = map[int32]string{ + 0: "NO_BROADCAST", + 1: "UDP_BROADCAST", + } + Config_NetworkConfig_ProtocolFlags_value = map[string]int32{ + "NO_BROADCAST": 0, + "UDP_BROADCAST": 1, + } +) + +func (x Config_NetworkConfig_ProtocolFlags) Enum() *Config_NetworkConfig_ProtocolFlags { + p := new(Config_NetworkConfig_ProtocolFlags) + *p = x + return p +} + +func (x Config_NetworkConfig_ProtocolFlags) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_NetworkConfig_ProtocolFlags) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[5].Descriptor() +} + +func (Config_NetworkConfig_ProtocolFlags) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[5] +} + +func (x Config_NetworkConfig_ProtocolFlags) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_NetworkConfig_ProtocolFlags.Descriptor instead. +func (Config_NetworkConfig_ProtocolFlags) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 3, 1} +} + // How the GPS coordinates are displayed on the OLED screen. type Config_DisplayConfig_GpsCoordinateFormat int32 @@ -450,11 +518,11 @@ func (x Config_DisplayConfig_GpsCoordinateFormat) String() string { } func (Config_DisplayConfig_GpsCoordinateFormat) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_config_proto_enumTypes[5].Descriptor() + return file_meshtastic_config_proto_enumTypes[6].Descriptor() } func (Config_DisplayConfig_GpsCoordinateFormat) Type() protoreflect.EnumType { - return &file_meshtastic_config_proto_enumTypes[5] + return &file_meshtastic_config_proto_enumTypes[6] } func (x Config_DisplayConfig_GpsCoordinateFormat) Number() protoreflect.EnumNumber { @@ -499,11 +567,11 @@ func (x Config_DisplayConfig_DisplayUnits) String() string { } func (Config_DisplayConfig_DisplayUnits) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_config_proto_enumTypes[6].Descriptor() + return file_meshtastic_config_proto_enumTypes[7].Descriptor() } func (Config_DisplayConfig_DisplayUnits) Type() protoreflect.EnumType { - return &file_meshtastic_config_proto_enumTypes[6] + return &file_meshtastic_config_proto_enumTypes[7] } func (x Config_DisplayConfig_DisplayUnits) Number() protoreflect.EnumNumber { @@ -519,14 +587,16 @@ func (Config_DisplayConfig_DisplayUnits) EnumDescriptor() ([]byte, []int) { type Config_DisplayConfig_OledType int32 const ( - // Default / Auto + // Default / Autodetect Config_DisplayConfig_OLED_AUTO Config_DisplayConfig_OledType = 0 - // Default / Auto + // Default / Autodetect Config_DisplayConfig_OLED_SSD1306 Config_DisplayConfig_OledType = 1 - // Default / Auto + // Default / Autodetect Config_DisplayConfig_OLED_SH1106 Config_DisplayConfig_OledType = 2 // Can not be auto detected but set by proto. Used for 128x128 screens Config_DisplayConfig_OLED_SH1107 Config_DisplayConfig_OledType = 3 + // Can not be auto detected but set by proto. Used for 128x64 screens + Config_DisplayConfig_OLED_SH1107_128_64 Config_DisplayConfig_OledType = 4 ) // Enum value maps for Config_DisplayConfig_OledType. @@ -536,12 +606,14 @@ var ( 1: "OLED_SSD1306", 2: "OLED_SH1106", 3: "OLED_SH1107", + 4: "OLED_SH1107_128_64", } Config_DisplayConfig_OledType_value = map[string]int32{ - "OLED_AUTO": 0, - "OLED_SSD1306": 1, - "OLED_SH1106": 2, - "OLED_SH1107": 3, + "OLED_AUTO": 0, + "OLED_SSD1306": 1, + "OLED_SH1106": 2, + "OLED_SH1107": 3, + "OLED_SH1107_128_64": 4, } ) @@ -556,11 +628,11 @@ func (x Config_DisplayConfig_OledType) String() string { } func (Config_DisplayConfig_OledType) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_config_proto_enumTypes[7].Descriptor() + return file_meshtastic_config_proto_enumTypes[8].Descriptor() } func (Config_DisplayConfig_OledType) Type() protoreflect.EnumType { - return &file_meshtastic_config_proto_enumTypes[7] + return &file_meshtastic_config_proto_enumTypes[8] } func (x Config_DisplayConfig_OledType) Number() protoreflect.EnumNumber { @@ -612,11 +684,11 @@ func (x Config_DisplayConfig_DisplayMode) String() string { } func (Config_DisplayConfig_DisplayMode) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_config_proto_enumTypes[8].Descriptor() + return file_meshtastic_config_proto_enumTypes[9].Descriptor() } func (Config_DisplayConfig_DisplayMode) Type() protoreflect.EnumType { - return &file_meshtastic_config_proto_enumTypes[8] + return &file_meshtastic_config_proto_enumTypes[9] } func (x Config_DisplayConfig_DisplayMode) Number() protoreflect.EnumNumber { @@ -628,6 +700,78 @@ func (Config_DisplayConfig_DisplayMode) EnumDescriptor() ([]byte, []int) { return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 4, 3} } +type Config_DisplayConfig_CompassOrientation int32 + +const ( + // The compass and the display are in the same orientation. + Config_DisplayConfig_DEGREES_0 Config_DisplayConfig_CompassOrientation = 0 + // Rotate the compass by 90 degrees. + Config_DisplayConfig_DEGREES_90 Config_DisplayConfig_CompassOrientation = 1 + // Rotate the compass by 180 degrees. + Config_DisplayConfig_DEGREES_180 Config_DisplayConfig_CompassOrientation = 2 + // Rotate the compass by 270 degrees. + Config_DisplayConfig_DEGREES_270 Config_DisplayConfig_CompassOrientation = 3 + // Don't rotate the compass, but invert the result. + Config_DisplayConfig_DEGREES_0_INVERTED Config_DisplayConfig_CompassOrientation = 4 + // Rotate the compass by 90 degrees and invert. + Config_DisplayConfig_DEGREES_90_INVERTED Config_DisplayConfig_CompassOrientation = 5 + // Rotate the compass by 180 degrees and invert. + Config_DisplayConfig_DEGREES_180_INVERTED Config_DisplayConfig_CompassOrientation = 6 + // Rotate the compass by 270 degrees and invert. + Config_DisplayConfig_DEGREES_270_INVERTED Config_DisplayConfig_CompassOrientation = 7 +) + +// Enum value maps for Config_DisplayConfig_CompassOrientation. +var ( + Config_DisplayConfig_CompassOrientation_name = map[int32]string{ + 0: "DEGREES_0", + 1: "DEGREES_90", + 2: "DEGREES_180", + 3: "DEGREES_270", + 4: "DEGREES_0_INVERTED", + 5: "DEGREES_90_INVERTED", + 6: "DEGREES_180_INVERTED", + 7: "DEGREES_270_INVERTED", + } + Config_DisplayConfig_CompassOrientation_value = map[string]int32{ + "DEGREES_0": 0, + "DEGREES_90": 1, + "DEGREES_180": 2, + "DEGREES_270": 3, + "DEGREES_0_INVERTED": 4, + "DEGREES_90_INVERTED": 5, + "DEGREES_180_INVERTED": 6, + "DEGREES_270_INVERTED": 7, + } +) + +func (x Config_DisplayConfig_CompassOrientation) Enum() *Config_DisplayConfig_CompassOrientation { + p := new(Config_DisplayConfig_CompassOrientation) + *p = x + return p +} + +func (x Config_DisplayConfig_CompassOrientation) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_DisplayConfig_CompassOrientation) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[10].Descriptor() +} + +func (Config_DisplayConfig_CompassOrientation) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[10] +} + +func (x Config_DisplayConfig_CompassOrientation) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_DisplayConfig_CompassOrientation.Descriptor instead. +func (Config_DisplayConfig_CompassOrientation) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 4, 4} +} + type Config_LoRaConfig_RegionCode int32 const ( @@ -669,6 +813,12 @@ const ( Config_LoRaConfig_MY_919 Config_LoRaConfig_RegionCode = 17 // Singapore 923mhz Config_LoRaConfig_SG_923 Config_LoRaConfig_RegionCode = 18 + // Philippines 433mhz + Config_LoRaConfig_PH_433 Config_LoRaConfig_RegionCode = 19 + // Philippines 868mhz + Config_LoRaConfig_PH_868 Config_LoRaConfig_RegionCode = 20 + // Philippines 915mhz + Config_LoRaConfig_PH_915 Config_LoRaConfig_RegionCode = 21 ) // Enum value maps for Config_LoRaConfig_RegionCode. @@ -693,6 +843,9 @@ var ( 16: "MY_433", 17: "MY_919", 18: "SG_923", + 19: "PH_433", + 20: "PH_868", + 21: "PH_915", } Config_LoRaConfig_RegionCode_value = map[string]int32{ "UNSET": 0, @@ -714,6 +867,9 @@ var ( "MY_433": 16, "MY_919": 17, "SG_923": 18, + "PH_433": 19, + "PH_868": 20, + "PH_915": 21, } ) @@ -728,11 +884,11 @@ func (x Config_LoRaConfig_RegionCode) String() string { } func (Config_LoRaConfig_RegionCode) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_config_proto_enumTypes[9].Descriptor() + return file_meshtastic_config_proto_enumTypes[11].Descriptor() } func (Config_LoRaConfig_RegionCode) Type() protoreflect.EnumType { - return &file_meshtastic_config_proto_enumTypes[9] + return &file_meshtastic_config_proto_enumTypes[11] } func (x Config_LoRaConfig_RegionCode) Number() protoreflect.EnumNumber { @@ -754,6 +910,9 @@ const ( // Long Range - Slow Config_LoRaConfig_LONG_SLOW Config_LoRaConfig_ModemPreset = 1 // Very Long Range - Slow + // Deprecated in 2.5: Works only with txco and is unusably slow + // + // Deprecated: Marked as deprecated in meshtastic/config.proto. Config_LoRaConfig_VERY_LONG_SLOW Config_LoRaConfig_ModemPreset = 2 // Medium Range - Slow Config_LoRaConfig_MEDIUM_SLOW Config_LoRaConfig_ModemPreset = 3 @@ -765,6 +924,10 @@ const ( Config_LoRaConfig_SHORT_FAST Config_LoRaConfig_ModemPreset = 6 // Long Range - Moderately Fast Config_LoRaConfig_LONG_MODERATE Config_LoRaConfig_ModemPreset = 7 + // Short Range - Turbo + // This is the fastest preset and the only one with 500kHz bandwidth. + // It is not legal to use in all regions due to this wider bandwidth. + Config_LoRaConfig_SHORT_TURBO Config_LoRaConfig_ModemPreset = 8 ) // Enum value maps for Config_LoRaConfig_ModemPreset. @@ -778,6 +941,7 @@ var ( 5: "SHORT_SLOW", 6: "SHORT_FAST", 7: "LONG_MODERATE", + 8: "SHORT_TURBO", } Config_LoRaConfig_ModemPreset_value = map[string]int32{ "LONG_FAST": 0, @@ -788,6 +952,7 @@ var ( "SHORT_SLOW": 5, "SHORT_FAST": 6, "LONG_MODERATE": 7, + "SHORT_TURBO": 8, } ) @@ -802,11 +967,11 @@ func (x Config_LoRaConfig_ModemPreset) String() string { } func (Config_LoRaConfig_ModemPreset) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_config_proto_enumTypes[10].Descriptor() + return file_meshtastic_config_proto_enumTypes[12].Descriptor() } func (Config_LoRaConfig_ModemPreset) Type() protoreflect.EnumType { - return &file_meshtastic_config_proto_enumTypes[10] + return &file_meshtastic_config_proto_enumTypes[12] } func (x Config_LoRaConfig_ModemPreset) Number() protoreflect.EnumNumber { @@ -854,11 +1019,11 @@ func (x Config_BluetoothConfig_PairingMode) String() string { } func (Config_BluetoothConfig_PairingMode) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_config_proto_enumTypes[11].Descriptor() + return file_meshtastic_config_proto_enumTypes[13].Descriptor() } func (Config_BluetoothConfig_PairingMode) Type() protoreflect.EnumType { - return &file_meshtastic_config_proto_enumTypes[11] + return &file_meshtastic_config_proto_enumTypes[13] } func (x Config_BluetoothConfig_PairingMode) Number() protoreflect.EnumNumber { @@ -871,13 +1036,10 @@ func (Config_BluetoothConfig_PairingMode) EnumDescriptor() ([]byte, []int) { } type Config struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Payload Variant // - // Types that are assignable to PayloadVariant: + // Types that are valid to be assigned to PayloadVariant: // // *Config_Device // *Config_Position @@ -886,16 +1048,19 @@ type Config struct { // *Config_Display // *Config_Lora // *Config_Bluetooth + // *Config_Security + // *Config_Sessionkey + // *Config_DeviceUi PayloadVariant isConfig_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config) Reset() { *x = Config{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config) String() string { @@ -906,7 +1071,7 @@ func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -921,58 +1086,99 @@ func (*Config) Descriptor() ([]byte, []int) { return file_meshtastic_config_proto_rawDescGZIP(), []int{0} } -func (m *Config) GetPayloadVariant() isConfig_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *Config) GetPayloadVariant() isConfig_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } func (x *Config) GetDevice() *Config_DeviceConfig { - if x, ok := x.GetPayloadVariant().(*Config_Device); ok { - return x.Device + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Device); ok { + return x.Device + } } return nil } func (x *Config) GetPosition() *Config_PositionConfig { - if x, ok := x.GetPayloadVariant().(*Config_Position); ok { - return x.Position + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Position); ok { + return x.Position + } } return nil } func (x *Config) GetPower() *Config_PowerConfig { - if x, ok := x.GetPayloadVariant().(*Config_Power); ok { - return x.Power + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Power); ok { + return x.Power + } } return nil } func (x *Config) GetNetwork() *Config_NetworkConfig { - if x, ok := x.GetPayloadVariant().(*Config_Network); ok { - return x.Network + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Network); ok { + return x.Network + } } return nil } func (x *Config) GetDisplay() *Config_DisplayConfig { - if x, ok := x.GetPayloadVariant().(*Config_Display); ok { - return x.Display + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Display); ok { + return x.Display + } } return nil } func (x *Config) GetLora() *Config_LoRaConfig { - if x, ok := x.GetPayloadVariant().(*Config_Lora); ok { - return x.Lora + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Lora); ok { + return x.Lora + } } return nil } func (x *Config) GetBluetooth() *Config_BluetoothConfig { - if x, ok := x.GetPayloadVariant().(*Config_Bluetooth); ok { - return x.Bluetooth + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Bluetooth); ok { + return x.Bluetooth + } + } + return nil +} + +func (x *Config) GetSecurity() *Config_SecurityConfig { + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Security); ok { + return x.Security + } + } + return nil +} + +func (x *Config) GetSessionkey() *Config_SessionkeyConfig { + if x != nil { + if x, ok := x.PayloadVariant.(*Config_Sessionkey); ok { + return x.Sessionkey + } + } + return nil +} + +func (x *Config) GetDeviceUi() *DeviceUIConfig { + if x != nil { + if x, ok := x.PayloadVariant.(*Config_DeviceUi); ok { + return x.DeviceUi + } } return nil } @@ -1009,6 +1215,18 @@ type Config_Bluetooth struct { Bluetooth *Config_BluetoothConfig `protobuf:"bytes,7,opt,name=bluetooth,proto3,oneof"` } +type Config_Security struct { + Security *Config_SecurityConfig `protobuf:"bytes,8,opt,name=security,proto3,oneof"` +} + +type Config_Sessionkey struct { + Sessionkey *Config_SessionkeyConfig `protobuf:"bytes,9,opt,name=sessionkey,proto3,oneof"` +} + +type Config_DeviceUi struct { + DeviceUi *DeviceUIConfig `protobuf:"bytes,10,opt,name=device_ui,json=deviceUi,proto3,oneof"` +} + func (*Config_Device) isConfig_PayloadVariant() {} func (*Config_Position) isConfig_PayloadVariant() {} @@ -1023,19 +1241,22 @@ func (*Config_Lora) isConfig_PayloadVariant() {} func (*Config_Bluetooth) isConfig_PayloadVariant() {} +func (*Config_Security) isConfig_PayloadVariant() {} + +func (*Config_Sessionkey) isConfig_PayloadVariant() {} + +func (*Config_DeviceUi) isConfig_PayloadVariant() {} + // Configuration type Config_DeviceConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Sets the role of node Role Config_DeviceConfig_Role `protobuf:"varint,1,opt,name=role,proto3,enum=meshtastic.Config_DeviceConfig_Role" json:"role,omitempty"` // Disabling this will disable the SerialConsole by not initilizing the StreamAPI + // Moved to SecurityConfig + // + // Deprecated: Marked as deprecated in meshtastic/config.proto. SerialEnabled bool `protobuf:"varint,2,opt,name=serial_enabled,json=serialEnabled,proto3" json:"serial_enabled,omitempty"` - // By default we turn off logging as soon as an API client connects (to keep shared serial link quiet). - // Set this to true to leave the debug log outputting even when API is active. - DebugLogEnabled bool `protobuf:"varint,3,opt,name=debug_log_enabled,json=debugLogEnabled,proto3" json:"debug_log_enabled,omitempty"` // For boards without a hard wired button, this is the pin number that will be used // Boards that have more than one button can swap the function with this one. defaults to BUTTON_PIN if defined. ButtonGpio uint32 `protobuf:"varint,4,opt,name=button_gpio,json=buttonGpio,proto3" json:"button_gpio,omitempty"` @@ -1051,18 +1272,25 @@ type Config_DeviceConfig struct { DoubleTapAsButtonPress bool `protobuf:"varint,8,opt,name=double_tap_as_button_press,json=doubleTapAsButtonPress,proto3" json:"double_tap_as_button_press,omitempty"` // If true, device is considered to be "managed" by a mesh administrator // Clients should then limit available configuration and administrative options inside the user interface + // Moved to SecurityConfig + // + // Deprecated: Marked as deprecated in meshtastic/config.proto. IsManaged bool `protobuf:"varint,9,opt,name=is_managed,json=isManaged,proto3" json:"is_managed,omitempty"` // Disables the triple-press of user button to enable or disable GPS DisableTripleClick bool `protobuf:"varint,10,opt,name=disable_triple_click,json=disableTripleClick,proto3" json:"disable_triple_click,omitempty"` + // POSIX Timezone definition string from https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv. + Tzdef string `protobuf:"bytes,11,opt,name=tzdef,proto3" json:"tzdef,omitempty"` + // If true, disable the default blinking LED (LED_PIN) behavior on the device + LedHeartbeatDisabled bool `protobuf:"varint,12,opt,name=led_heartbeat_disabled,json=ledHeartbeatDisabled,proto3" json:"led_heartbeat_disabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_DeviceConfig) Reset() { *x = Config_DeviceConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_DeviceConfig) String() string { @@ -1073,7 +1301,7 @@ func (*Config_DeviceConfig) ProtoMessage() {} func (x *Config_DeviceConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1095,6 +1323,7 @@ func (x *Config_DeviceConfig) GetRole() Config_DeviceConfig_Role { return Config_DeviceConfig_CLIENT } +// Deprecated: Marked as deprecated in meshtastic/config.proto. func (x *Config_DeviceConfig) GetSerialEnabled() bool { if x != nil { return x.SerialEnabled @@ -1102,13 +1331,6 @@ func (x *Config_DeviceConfig) GetSerialEnabled() bool { return false } -func (x *Config_DeviceConfig) GetDebugLogEnabled() bool { - if x != nil { - return x.DebugLogEnabled - } - return false -} - func (x *Config_DeviceConfig) GetButtonGpio() uint32 { if x != nil { return x.ButtonGpio @@ -1144,6 +1366,7 @@ func (x *Config_DeviceConfig) GetDoubleTapAsButtonPress() bool { return false } +// Deprecated: Marked as deprecated in meshtastic/config.proto. func (x *Config_DeviceConfig) GetIsManaged() bool { if x != nil { return x.IsManaged @@ -1158,12 +1381,23 @@ func (x *Config_DeviceConfig) GetDisableTripleClick() bool { return false } +func (x *Config_DeviceConfig) GetTzdef() string { + if x != nil { + return x.Tzdef + } + return "" +} + +func (x *Config_DeviceConfig) GetLedHeartbeatDisabled() bool { + if x != nil { + return x.LedHeartbeatDisabled + } + return false +} + // Position Config type Config_PositionConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // We should send our position this often (but only if it has changed significantly) // Defaults to 15 minutes PositionBroadcastSecs uint32 `protobuf:"varint,1,opt,name=position_broadcast_secs,json=positionBroadcastSecs,proto3" json:"position_broadcast_secs,omitempty"` @@ -1199,16 +1433,16 @@ type Config_PositionConfig struct { // (Re)define PIN_GPS_EN for your board. GpsEnGpio uint32 `protobuf:"varint,12,opt,name=gps_en_gpio,json=gpsEnGpio,proto3" json:"gps_en_gpio,omitempty"` // Set where GPS is enabled, disabled, or not present - GpsMode Config_PositionConfig_GpsMode `protobuf:"varint,13,opt,name=gps_mode,json=gpsMode,proto3,enum=meshtastic.Config_PositionConfig_GpsMode" json:"gps_mode,omitempty"` + GpsMode Config_PositionConfig_GpsMode `protobuf:"varint,13,opt,name=gps_mode,json=gpsMode,proto3,enum=meshtastic.Config_PositionConfig_GpsMode" json:"gps_mode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_PositionConfig) Reset() { *x = Config_PositionConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_PositionConfig) String() string { @@ -1219,7 +1453,7 @@ func (*Config_PositionConfig) ProtoMessage() {} func (x *Config_PositionConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1330,51 +1564,46 @@ func (x *Config_PositionConfig) GetGpsMode() Config_PositionConfig_GpsMode { // Power Config\ // See [Power Config](/docs/settings/config/power) for additional power config details. type Config_PowerConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If set, we are powered from a low-current source (i.e. solar), so even if it looks like we have power flowing in - // we should try to minimize power consumption as much as possible. - // YOU DO NOT NEED TO SET THIS IF YOU'VE set is_router (it is implied in that case). - // Advanced Option + state protoimpl.MessageState `protogen:"open.v1"` + // Description: Will sleep everything as much as possible, for the tracker and sensor role this will also include the lora radio. + // Don't use this setting if you want to use your device with the phone apps or are using a device without a user button. + // Technical Details: Works for ESP32 devices and NRF52 devices in the Sensor or Tracker roles IsPowerSaving bool `protobuf:"varint,1,opt,name=is_power_saving,json=isPowerSaving,proto3" json:"is_power_saving,omitempty"` - // If non-zero, the device will fully power off this many seconds after external power is removed. + // Description: If non-zero, the device will fully power off this many seconds after external power is removed. OnBatteryShutdownAfterSecs uint32 `protobuf:"varint,2,opt,name=on_battery_shutdown_after_secs,json=onBatteryShutdownAfterSecs,proto3" json:"on_battery_shutdown_after_secs,omitempty"` // Ratio of voltage divider for battery pin eg. 3.20 (R1=100k, R2=220k) // Overrides the ADC_MULTIPLIER defined in variant for battery voltage calculation. - // Should be set to floating point value between 2 and 4 - // Fixes issues on Heltec v2 + // https://meshtastic.org/docs/configuration/radio/power/#adc-multiplier-override + // Should be set to floating point value between 2 and 6 AdcMultiplierOverride float32 `protobuf:"fixed32,3,opt,name=adc_multiplier_override,json=adcMultiplierOverride,proto3" json:"adc_multiplier_override,omitempty"` - // Wait Bluetooth Seconds - // The number of seconds for to wait before turning off BLE in No Bluetooth states - // 0 for default of 1 minute + // Description: The number of seconds for to wait before turning off BLE in No Bluetooth states + // Technical Details: ESP32 Only 0 for default of 1 minute WaitBluetoothSecs uint32 `protobuf:"varint,4,opt,name=wait_bluetooth_secs,json=waitBluetoothSecs,proto3" json:"wait_bluetooth_secs,omitempty"` // Super Deep Sleep Seconds // While in Light Sleep if mesh_sds_timeout_secs is exceeded we will lower into super deep sleep // for this value (default 1 year) or a button press // 0 for default of one year SdsSecs uint32 `protobuf:"varint,6,opt,name=sds_secs,json=sdsSecs,proto3" json:"sds_secs,omitempty"` - // Light Sleep Seconds - // In light sleep the CPU is suspended, LoRa radio is on, BLE is off an GPS is on - // ESP32 Only - // 0 for default of 300 + // Description: In light sleep the CPU is suspended, LoRa radio is on, BLE is off an GPS is on + // Technical Details: ESP32 Only 0 for default of 300 LsSecs uint32 `protobuf:"varint,7,opt,name=ls_secs,json=lsSecs,proto3" json:"ls_secs,omitempty"` - // Minimum Wake Seconds - // While in light sleep when we receive packets on the LoRa radio we will wake and handle them and stay awake in no BLE mode for this value - // 0 for default of 10 seconds + // Description: While in light sleep when we receive packets on the LoRa radio we will wake and handle them and stay awake in no BLE mode for this value + // Technical Details: ESP32 Only 0 for default of 10 seconds MinWakeSecs uint32 `protobuf:"varint,8,opt,name=min_wake_secs,json=minWakeSecs,proto3" json:"min_wake_secs,omitempty"` // I2C address of INA_2XX to use for reading device battery voltage DeviceBatteryInaAddress uint32 `protobuf:"varint,9,opt,name=device_battery_ina_address,json=deviceBatteryInaAddress,proto3" json:"device_battery_ina_address,omitempty"` + // If non-zero, we want powermon log outputs. With the particular (bitfield) sources enabled. + // Note: we picked an ID of 32 so that lower more efficient IDs can be used for more frequently used options. + PowermonEnables uint64 `protobuf:"varint,32,opt,name=powermon_enables,json=powermonEnables,proto3" json:"powermon_enables,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_PowerConfig) Reset() { *x = Config_PowerConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_PowerConfig) String() string { @@ -1385,7 +1614,7 @@ func (*Config_PowerConfig) ProtoMessage() {} func (x *Config_PowerConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1456,12 +1685,16 @@ func (x *Config_PowerConfig) GetDeviceBatteryInaAddress() uint32 { return 0 } +func (x *Config_PowerConfig) GetPowermonEnables() uint64 { + if x != nil { + return x.PowermonEnables + } + return 0 +} + // Network Config type Config_NetworkConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Enable WiFi (disables Bluetooth) WifiEnabled bool `protobuf:"varint,1,opt,name=wifi_enabled,json=wifiEnabled,proto3" json:"wifi_enabled,omitempty"` // If set, this node will try to join the specified wifi network and @@ -1469,7 +1702,7 @@ type Config_NetworkConfig struct { WifiSsid string `protobuf:"bytes,3,opt,name=wifi_ssid,json=wifiSsid,proto3" json:"wifi_ssid,omitempty"` // If set, will be use to authenticate to the named wifi WifiPsk string `protobuf:"bytes,4,opt,name=wifi_psk,json=wifiPsk,proto3" json:"wifi_psk,omitempty"` - // NTP server to use if WiFi is conneced, defaults to `0.pool.ntp.org` + // NTP server to use if WiFi is conneced, defaults to `meshtastic.pool.ntp.org` NtpServer string `protobuf:"bytes,5,opt,name=ntp_server,json=ntpServer,proto3" json:"ntp_server,omitempty"` // Enable Ethernet EthEnabled bool `protobuf:"varint,6,opt,name=eth_enabled,json=ethEnabled,proto3" json:"eth_enabled,omitempty"` @@ -1479,15 +1712,19 @@ type Config_NetworkConfig struct { Ipv4Config *Config_NetworkConfig_IpV4Config `protobuf:"bytes,8,opt,name=ipv4_config,json=ipv4Config,proto3" json:"ipv4_config,omitempty"` // rsyslog Server and Port RsyslogServer string `protobuf:"bytes,9,opt,name=rsyslog_server,json=rsyslogServer,proto3" json:"rsyslog_server,omitempty"` + // Flags for enabling/disabling network protocols + EnabledProtocols uint32 `protobuf:"varint,10,opt,name=enabled_protocols,json=enabledProtocols,proto3" json:"enabled_protocols,omitempty"` + // Enable/Disable ipv6 support + Ipv6Enabled bool `protobuf:"varint,11,opt,name=ipv6_enabled,json=ipv6Enabled,proto3" json:"ipv6_enabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_NetworkConfig) Reset() { *x = Config_NetworkConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_NetworkConfig) String() string { @@ -1498,7 +1735,7 @@ func (*Config_NetworkConfig) ProtoMessage() {} func (x *Config_NetworkConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1569,12 +1806,23 @@ func (x *Config_NetworkConfig) GetRsyslogServer() string { return "" } +func (x *Config_NetworkConfig) GetEnabledProtocols() uint32 { + if x != nil { + return x.EnabledProtocols + } + return 0 +} + +func (x *Config_NetworkConfig) GetIpv6Enabled() bool { + if x != nil { + return x.Ipv6Enabled + } + return false +} + // Display Config type Config_DisplayConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Number of seconds the screen stays on after pressing the user button or receiving a message // 0 for default of one minute MAXUINT for always on ScreenOnSecs uint32 `protobuf:"varint,1,opt,name=screen_on_secs,json=screenOnSecs,proto3" json:"screen_on_secs,omitempty"` @@ -1598,15 +1846,20 @@ type Config_DisplayConfig struct { HeadingBold bool `protobuf:"varint,9,opt,name=heading_bold,json=headingBold,proto3" json:"heading_bold,omitempty"` // Should we wake the screen up on accelerometer detected motion or tap WakeOnTapOrMotion bool `protobuf:"varint,10,opt,name=wake_on_tap_or_motion,json=wakeOnTapOrMotion,proto3" json:"wake_on_tap_or_motion,omitempty"` + // Indicates how to rotate or invert the compass output to accurate display on the display. + CompassOrientation Config_DisplayConfig_CompassOrientation `protobuf:"varint,11,opt,name=compass_orientation,json=compassOrientation,proto3,enum=meshtastic.Config_DisplayConfig_CompassOrientation" json:"compass_orientation,omitempty"` + // If false (default), the device will display the time in 24-hour format on screen. + // If true, the device will display the time in 12-hour format on screen. + Use_12HClock bool `protobuf:"varint,12,opt,name=use_12h_clock,json=use12hClock,proto3" json:"use_12h_clock,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_DisplayConfig) Reset() { *x = Config_DisplayConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_DisplayConfig) String() string { @@ -1617,7 +1870,7 @@ func (*Config_DisplayConfig) ProtoMessage() {} func (x *Config_DisplayConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1702,12 +1955,23 @@ func (x *Config_DisplayConfig) GetWakeOnTapOrMotion() bool { return false } +func (x *Config_DisplayConfig) GetCompassOrientation() Config_DisplayConfig_CompassOrientation { + if x != nil { + return x.CompassOrientation + } + return Config_DisplayConfig_DEGREES_0 +} + +func (x *Config_DisplayConfig) GetUse_12HClock() bool { + if x != nil { + return x.Use_12HClock + } + return false +} + // Lora Config type Config_LoRaConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // When enabled, the `modem_preset` fields will be adhered to, else the `bandwidth`/`spread_factor`/`coding_rate` // will be taked from their respective manually defined fields UsePreset bool `protobuf:"varint,1,opt,name=use_preset,json=usePreset,proto3" json:"use_preset,omitempty"` @@ -1765,21 +2029,25 @@ type Config_LoRaConfig struct { // Please respect your local laws and regulations. If you are a HAM, make sure you // enable HAM mode and turn off encryption. OverrideFrequency float32 `protobuf:"fixed32,14,opt,name=override_frequency,json=overrideFrequency,proto3" json:"override_frequency,omitempty"` + // If true, disable the build-in PA FAN using pin define in RF95_FAN_EN. + PaFanDisabled bool `protobuf:"varint,15,opt,name=pa_fan_disabled,json=paFanDisabled,proto3" json:"pa_fan_disabled,omitempty"` // For testing it is useful sometimes to force a node to never listen to // particular other nodes (simulating radio out of range). All nodenums listed // in ignore_incoming will have packets they send dropped on receive (by router.cpp) IgnoreIncoming []uint32 `protobuf:"varint,103,rep,packed,name=ignore_incoming,json=ignoreIncoming,proto3" json:"ignore_incoming,omitempty"` // If true, the device will not process any packets received via LoRa that passed via MQTT anywhere on the path towards it. IgnoreMqtt bool `protobuf:"varint,104,opt,name=ignore_mqtt,json=ignoreMqtt,proto3" json:"ignore_mqtt,omitempty"` + // Sets the ok_to_mqtt bit on outgoing packets + ConfigOkToMqtt bool `protobuf:"varint,105,opt,name=config_ok_to_mqtt,json=configOkToMqtt,proto3" json:"config_ok_to_mqtt,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_LoRaConfig) Reset() { *x = Config_LoRaConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_LoRaConfig) String() string { @@ -1790,7 +2058,7 @@ func (*Config_LoRaConfig) ProtoMessage() {} func (x *Config_LoRaConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1903,6 +2171,13 @@ func (x *Config_LoRaConfig) GetOverrideFrequency() float32 { return 0 } +func (x *Config_LoRaConfig) GetPaFanDisabled() bool { + if x != nil { + return x.PaFanDisabled + } + return false +} + func (x *Config_LoRaConfig) GetIgnoreIncoming() []uint32 { if x != nil { return x.IgnoreIncoming @@ -1917,26 +2192,30 @@ func (x *Config_LoRaConfig) GetIgnoreMqtt() bool { return false } -type Config_BluetoothConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *Config_LoRaConfig) GetConfigOkToMqtt() bool { + if x != nil { + return x.ConfigOkToMqtt + } + return false +} +type Config_BluetoothConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` // Enable Bluetooth on the device Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // Determines the pairing strategy for the device Mode Config_BluetoothConfig_PairingMode `protobuf:"varint,2,opt,name=mode,proto3,enum=meshtastic.Config_BluetoothConfig_PairingMode" json:"mode,omitempty"` // Specified PIN for PairingMode.FixedPin - FixedPin uint32 `protobuf:"varint,3,opt,name=fixed_pin,json=fixedPin,proto3" json:"fixed_pin,omitempty"` + FixedPin uint32 `protobuf:"varint,3,opt,name=fixed_pin,json=fixedPin,proto3" json:"fixed_pin,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_BluetoothConfig) Reset() { *x = Config_BluetoothConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_BluetoothConfig) String() string { @@ -1947,7 +2226,7 @@ func (*Config_BluetoothConfig) ProtoMessage() {} func (x *Config_BluetoothConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_config_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1983,11 +2262,148 @@ func (x *Config_BluetoothConfig) GetFixedPin() uint32 { return 0 } -type Config_NetworkConfig_IpV4Config struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +type Config_SecurityConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The public key of the user's device. + // Sent out to other nodes on the mesh to allow them to compute a shared secret key. + PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + // The private key of the device. + // Used to create a shared key with a remote device. + PrivateKey []byte `protobuf:"bytes,2,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"` + // The public key authorized to send admin messages to this node. + AdminKey [][]byte `protobuf:"bytes,3,rep,name=admin_key,json=adminKey,proto3" json:"admin_key,omitempty"` + // If true, device is considered to be "managed" by a mesh administrator via admin messages + // Device is managed by a mesh administrator. + IsManaged bool `protobuf:"varint,4,opt,name=is_managed,json=isManaged,proto3" json:"is_managed,omitempty"` + // Serial Console over the Stream API." + SerialEnabled bool `protobuf:"varint,5,opt,name=serial_enabled,json=serialEnabled,proto3" json:"serial_enabled,omitempty"` + // By default we turn off logging as soon as an API client connects (to keep shared serial link quiet). + // Output live debug logging over serial or bluetooth is set to true. + DebugLogApiEnabled bool `protobuf:"varint,6,opt,name=debug_log_api_enabled,json=debugLogApiEnabled,proto3" json:"debug_log_api_enabled,omitempty"` + // Allow incoming device control over the insecure legacy admin channel. + AdminChannelEnabled bool `protobuf:"varint,8,opt,name=admin_channel_enabled,json=adminChannelEnabled,proto3" json:"admin_channel_enabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Config_SecurityConfig) Reset() { + *x = Config_SecurityConfig{} + mi := &file_meshtastic_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Config_SecurityConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_SecurityConfig) ProtoMessage() {} + +func (x *Config_SecurityConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Config_SecurityConfig.ProtoReflect.Descriptor instead. +func (*Config_SecurityConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *Config_SecurityConfig) GetPublicKey() []byte { + if x != nil { + return x.PublicKey + } + return nil +} + +func (x *Config_SecurityConfig) GetPrivateKey() []byte { + if x != nil { + return x.PrivateKey + } + return nil +} + +func (x *Config_SecurityConfig) GetAdminKey() [][]byte { + if x != nil { + return x.AdminKey + } + return nil +} + +func (x *Config_SecurityConfig) GetIsManaged() bool { + if x != nil { + return x.IsManaged + } + return false +} + +func (x *Config_SecurityConfig) GetSerialEnabled() bool { + if x != nil { + return x.SerialEnabled + } + return false +} + +func (x *Config_SecurityConfig) GetDebugLogApiEnabled() bool { + if x != nil { + return x.DebugLogApiEnabled + } + return false +} + +func (x *Config_SecurityConfig) GetAdminChannelEnabled() bool { + if x != nil { + return x.AdminChannelEnabled + } + return false +} + +// Blank config request, strictly for getting the session key +type Config_SessionkeyConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Config_SessionkeyConfig) Reset() { + *x = Config_SessionkeyConfig{} + mi := &file_meshtastic_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Config_SessionkeyConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_SessionkeyConfig) ProtoMessage() {} + +func (x *Config_SessionkeyConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Config_SessionkeyConfig.ProtoReflect.Descriptor instead. +func (*Config_SessionkeyConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 8} +} +type Config_NetworkConfig_IpV4Config struct { + state protoimpl.MessageState `protogen:"open.v1"` // Static IP address Ip uint32 `protobuf:"fixed32,1,opt,name=ip,proto3" json:"ip,omitempty"` // Static gateway address @@ -1995,16 +2411,16 @@ type Config_NetworkConfig_IpV4Config struct { // Static subnet mask Subnet uint32 `protobuf:"fixed32,3,opt,name=subnet,proto3" json:"subnet,omitempty"` // Static DNS server address - Dns uint32 `protobuf:"fixed32,4,opt,name=dns,proto3" json:"dns,omitempty"` + Dns uint32 `protobuf:"fixed32,4,opt,name=dns,proto3" json:"dns,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Config_NetworkConfig_IpV4Config) Reset() { *x = Config_NetworkConfig_IpV4Config{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_config_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Config_NetworkConfig_IpV4Config) String() string { @@ -2014,8 +2430,8 @@ func (x *Config_NetworkConfig_IpV4Config) String() string { func (*Config_NetworkConfig_IpV4Config) ProtoMessage() {} func (x *Config_NetworkConfig_IpV4Config) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_config_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_config_proto_msgTypes[10] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2060,398 +2476,356 @@ func (x *Config_NetworkConfig_IpV4Config) GetDns() uint32 { var File_meshtastic_config_proto protoreflect.FileDescriptor -var file_meshtastic_config_proto_rawDesc = []byte{ - 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0xd2, 0x27, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x39, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x00, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x05, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x50, 0x6f, 0x77, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x05, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x12, 0x3c, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x07, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x12, 0x33, 0x0a, 0x04, 0x6c, 0x6f, 0x72, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x52, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, - 0x04, 0x6c, 0x6f, 0x72, 0x61, 0x12, 0x42, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, - 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x6c, 0x75, - 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, - 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x1a, 0xff, 0x05, 0x0a, 0x0c, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x04, 0x72, 0x6f, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x64, - 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x6f, 0x67, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x5f, 0x67, 0x70, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x47, 0x70, 0x69, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x75, 0x7a, 0x7a, - 0x65, 0x72, 0x5f, 0x67, 0x70, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, - 0x75, 0x7a, 0x7a, 0x65, 0x72, 0x47, 0x70, 0x69, 0x6f, 0x12, 0x5a, 0x0a, 0x10, 0x72, 0x65, 0x62, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, - 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x72, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, - 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x63, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x65, 0x63, 0x73, 0x12, 0x3a, - 0x0a, 0x1a, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x61, 0x70, 0x5f, 0x61, 0x73, 0x5f, - 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x16, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x54, 0x61, 0x70, 0x41, 0x73, 0x42, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, - 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x54, 0x72, 0x69, 0x70, 0x6c, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x22, 0xaa, 0x01, 0x0a, 0x04, - 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x00, - 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x10, 0x02, 0x12, 0x11, 0x0a, - 0x0d, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x03, - 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x50, 0x45, 0x41, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0b, - 0x0a, 0x07, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x53, - 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x41, 0x4b, 0x10, 0x07, - 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x48, 0x49, 0x44, 0x44, 0x45, - 0x4e, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x53, 0x54, 0x5f, 0x41, 0x4e, 0x44, 0x5f, - 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x41, 0x4b, 0x5f, 0x54, - 0x52, 0x41, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x0a, 0x22, 0x51, 0x0a, 0x0f, 0x52, 0x65, 0x62, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, - 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x4b, 0x49, 0x50, - 0x5f, 0x44, 0x45, 0x43, 0x4f, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, - 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x1a, 0xfa, 0x06, 0x0a, 0x0e, - 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x36, - 0x0a, 0x17, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, - 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x15, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x53, 0x65, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x20, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x6d, 0x61, - 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x1d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x50, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0b, 0x67, 0x70, 0x73, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x0a, 0x67, 0x70, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x67, - 0x70, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, - 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x67, 0x70, 0x73, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x10, 0x67, - 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x67, 0x70, 0x73, 0x41, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x67, 0x70, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x72, 0x78, 0x47, 0x70, 0x69, 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, - 0x67, 0x70, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x78, 0x47, 0x70, - 0x69, 0x6f, 0x12, 0x47, 0x0a, 0x20, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, - 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x64, 0x69, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x62, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x4d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x25, 0x62, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, - 0x73, 0x65, 0x63, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x21, 0x62, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, - 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x73, 0x12, 0x1e, 0x0a, - 0x0b, 0x67, 0x70, 0x73, 0x5f, 0x65, 0x6e, 0x5f, 0x67, 0x70, 0x69, 0x6f, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x09, 0x67, 0x70, 0x73, 0x45, 0x6e, 0x47, 0x70, 0x69, 0x6f, 0x12, 0x44, 0x0a, - 0x08, 0x67, 0x70, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x29, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x47, 0x70, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x67, 0x70, 0x73, 0x4d, - 0x6f, 0x64, 0x65, 0x22, 0xab, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, - 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x4c, 0x54, 0x49, 0x54, 0x55, 0x44, 0x45, 0x10, 0x01, 0x12, 0x10, - 0x0a, 0x0c, 0x41, 0x4c, 0x54, 0x49, 0x54, 0x55, 0x44, 0x45, 0x5f, 0x4d, 0x53, 0x4c, 0x10, 0x02, - 0x12, 0x16, 0x0a, 0x12, 0x47, 0x45, 0x4f, 0x49, 0x44, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x50, 0x41, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x50, 0x10, - 0x08, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x56, 0x44, 0x4f, 0x50, 0x10, 0x10, 0x12, 0x0d, 0x0a, 0x09, - 0x53, 0x41, 0x54, 0x49, 0x4e, 0x56, 0x49, 0x45, 0x57, 0x10, 0x20, 0x12, 0x0a, 0x0a, 0x06, 0x53, - 0x45, 0x51, 0x5f, 0x4e, 0x4f, 0x10, 0x40, 0x12, 0x0e, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x53, - 0x54, 0x41, 0x4d, 0x50, 0x10, 0x80, 0x01, 0x12, 0x0c, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x44, 0x49, - 0x4e, 0x47, 0x10, 0x80, 0x02, 0x12, 0x0a, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x45, 0x44, 0x10, 0x80, - 0x04, 0x22, 0x35, 0x0a, 0x07, 0x47, 0x70, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, - 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, - 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x50, - 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x1a, 0xf6, 0x02, 0x0a, 0x0b, 0x50, 0x6f, 0x77, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x69, 0x73, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, - 0x12, 0x42, 0x0a, 0x1e, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x73, - 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1a, 0x6f, 0x6e, 0x42, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x79, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x41, 0x66, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x63, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x61, 0x64, 0x63, 0x5f, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x15, 0x61, 0x64, 0x63, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x69, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x13, - 0x77, 0x61, 0x69, 0x74, 0x5f, 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x73, - 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x77, 0x61, 0x69, 0x74, 0x42, - 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x53, 0x65, 0x63, 0x73, 0x12, 0x19, 0x0a, 0x08, - 0x73, 0x64, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x73, 0x64, 0x73, 0x53, 0x65, 0x63, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x6c, 0x73, 0x5f, 0x73, 0x65, - 0x63, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x73, 0x53, 0x65, 0x63, 0x73, - 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x65, 0x63, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x57, 0x61, 0x6b, 0x65, - 0x53, 0x65, 0x63, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, - 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x61, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x61, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x1a, 0xf7, 0x03, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x77, 0x69, 0x66, 0x69, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x73, - 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x69, 0x66, 0x69, 0x53, - 0x73, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x70, 0x73, 0x6b, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x69, 0x66, 0x69, 0x50, 0x73, 0x6b, 0x12, 0x1d, - 0x0a, 0x0a, 0x6e, 0x74, 0x70, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6e, 0x74, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x65, 0x74, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4f, - 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x6f, - 0x64, 0x65, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x4c, 0x0a, 0x0b, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x70, 0x56, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0a, 0x69, 0x70, 0x76, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, - 0x0e, 0x72, 0x73, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x73, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x53, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x1a, 0x60, 0x0a, 0x0a, 0x49, 0x70, 0x56, 0x34, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, - 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x03, 0x64, 0x6e, 0x73, 0x22, 0x23, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x48, 0x43, 0x50, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0x01, 0x1a, 0xc6, 0x06, 0x0a, 0x0d, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x24, 0x0a, - 0x0e, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4f, 0x6e, 0x53, - 0x65, 0x63, 0x73, 0x12, 0x53, 0x0a, 0x0a, 0x67, 0x70, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x70, 0x73, 0x43, 0x6f, 0x6f, - 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x09, 0x67, - 0x70, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x61, 0x75, 0x74, 0x6f, - 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x61, 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, - 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x75, 0x74, - 0x6f, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c, 0x53, - 0x65, 0x63, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x6e, - 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x54, 0x6f, 0x70, 0x12, - 0x1f, 0x0a, 0x0b, 0x66, 0x6c, 0x69, 0x70, 0x5f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x66, 0x6c, 0x69, 0x70, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, - 0x12, 0x43, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2d, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x52, 0x05, - 0x75, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x6f, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x6c, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x6f, 0x6c, 0x65, 0x64, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x62, 0x6f, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, - 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x6c, 0x64, 0x12, 0x30, 0x0a, 0x15, 0x77, 0x61, 0x6b, 0x65, 0x5f, - 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x70, 0x5f, 0x6f, 0x72, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x77, 0x61, 0x6b, 0x65, 0x4f, 0x6e, 0x54, 0x61, - 0x70, 0x4f, 0x72, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x13, 0x47, 0x70, 0x73, - 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x07, 0x0a, 0x03, 0x44, 0x45, 0x43, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4d, 0x53, - 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x54, 0x4d, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x4d, - 0x47, 0x52, 0x53, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x4c, 0x43, 0x10, 0x04, 0x12, 0x08, - 0x0a, 0x04, 0x4f, 0x53, 0x47, 0x52, 0x10, 0x05, 0x22, 0x28, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x54, 0x52, - 0x49, 0x43, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x50, 0x45, 0x52, 0x49, 0x41, 0x4c, - 0x10, 0x01, 0x22, 0x4d, 0x0a, 0x08, 0x4f, 0x6c, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, - 0x0a, 0x09, 0x4f, 0x4c, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x0c, 0x4f, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x53, 0x44, 0x31, 0x33, 0x30, 0x36, 0x10, 0x01, 0x12, - 0x0f, 0x0a, 0x0b, 0x4f, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x48, 0x31, 0x31, 0x30, 0x36, 0x10, 0x02, - 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x48, 0x31, 0x31, 0x30, 0x37, 0x10, - 0x03, 0x22, 0x41, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, - 0x08, 0x54, 0x57, 0x4f, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, - 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x4f, 0x4c, - 0x4f, 0x52, 0x10, 0x03, 0x1a, 0x87, 0x08, 0x0a, 0x0a, 0x4c, 0x6f, 0x52, 0x61, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, 0x65, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6d, 0x5f, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x52, - 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6d, 0x50, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6d, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x46, 0x61, 0x63, - 0x74, 0x6f, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, - 0x52, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x79, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, - 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, - 0x40, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x28, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x52, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x74, 0x78, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x74, 0x78, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x74, 0x78, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x64, 0x75, 0x74, 0x79, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x44, 0x75, 0x74, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x73, 0x78, 0x31, - 0x32, 0x36, 0x78, 0x5f, 0x72, 0x78, 0x5f, 0x62, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x67, - 0x61, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x78, 0x31, 0x32, 0x36, - 0x78, 0x52, 0x78, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x2d, - 0x0a, 0x12, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x27, 0x0a, - 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, - 0x18, 0x67, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x49, 0x6e, - 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x68, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x67, 0x6e, - 0x6f, 0x72, 0x65, 0x4d, 0x71, 0x74, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, - 0x00, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x53, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x55, 0x5f, - 0x34, 0x33, 0x33, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x55, 0x5f, 0x38, 0x36, 0x38, 0x10, - 0x03, 0x12, 0x06, 0x0a, 0x02, 0x43, 0x4e, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x4a, 0x50, 0x10, - 0x05, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4e, 0x5a, 0x10, 0x06, 0x12, 0x06, 0x0a, 0x02, 0x4b, 0x52, - 0x10, 0x07, 0x12, 0x06, 0x0a, 0x02, 0x54, 0x57, 0x10, 0x08, 0x12, 0x06, 0x0a, 0x02, 0x52, 0x55, - 0x10, 0x09, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x5a, - 0x5f, 0x38, 0x36, 0x35, 0x10, 0x0b, 0x12, 0x06, 0x0a, 0x02, 0x54, 0x48, 0x10, 0x0c, 0x12, 0x0b, - 0x0a, 0x07, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x32, 0x34, 0x10, 0x0d, 0x12, 0x0a, 0x0a, 0x06, 0x55, - 0x41, 0x5f, 0x34, 0x33, 0x33, 0x10, 0x0e, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x41, 0x5f, 0x38, 0x36, - 0x38, 0x10, 0x0f, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x59, 0x5f, 0x34, 0x33, 0x33, 0x10, 0x10, 0x12, - 0x0a, 0x0a, 0x06, 0x4d, 0x59, 0x5f, 0x39, 0x31, 0x39, 0x10, 0x11, 0x12, 0x0a, 0x0a, 0x06, 0x53, - 0x47, 0x5f, 0x39, 0x32, 0x33, 0x10, 0x12, 0x22, 0x94, 0x01, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, - 0x6d, 0x50, 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, - 0x46, 0x41, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x53, - 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x4f, - 0x4e, 0x47, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x45, 0x44, - 0x49, 0x55, 0x4d, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x45, - 0x44, 0x49, 0x55, 0x4d, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x53, - 0x48, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x53, - 0x48, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x41, 0x53, 0x54, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x4c, - 0x4f, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x41, 0x54, 0x45, 0x10, 0x07, 0x1a, 0xc6, - 0x01, 0x0a, 0x0f, 0x42, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, - 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, - 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x66, 0x69, 0x78, 0x65, 0x64, 0x50, 0x69, 0x6e, 0x22, 0x38, 0x0a, - 0x0b, 0x50, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x0a, - 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x5f, 0x50, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, - 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, - 0x4f, 0x5f, 0x50, 0x49, 0x4e, 0x10, 0x02, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x42, 0x61, 0x0a, 0x13, 0x63, 0x6f, - 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x42, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, - 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_config_proto_rawDesc = "" + + "\n" + + "\x17meshtastic/config.proto\x12\n" + + "meshtastic\x1a\x1ameshtastic/device_ui.proto\"\xc11\n" + + "\x06Config\x129\n" + + "\x06device\x18\x01 \x01(\v2\x1f.meshtastic.Config.DeviceConfigH\x00R\x06device\x12?\n" + + "\bposition\x18\x02 \x01(\v2!.meshtastic.Config.PositionConfigH\x00R\bposition\x126\n" + + "\x05power\x18\x03 \x01(\v2\x1e.meshtastic.Config.PowerConfigH\x00R\x05power\x12<\n" + + "\anetwork\x18\x04 \x01(\v2 .meshtastic.Config.NetworkConfigH\x00R\anetwork\x12<\n" + + "\adisplay\x18\x05 \x01(\v2 .meshtastic.Config.DisplayConfigH\x00R\adisplay\x123\n" + + "\x04lora\x18\x06 \x01(\v2\x1d.meshtastic.Config.LoRaConfigH\x00R\x04lora\x12B\n" + + "\tbluetooth\x18\a \x01(\v2\".meshtastic.Config.BluetoothConfigH\x00R\tbluetooth\x12?\n" + + "\bsecurity\x18\b \x01(\v2!.meshtastic.Config.SecurityConfigH\x00R\bsecurity\x12E\n" + + "\n" + + "sessionkey\x18\t \x01(\v2#.meshtastic.Config.SessionkeyConfigH\x00R\n" + + "sessionkey\x129\n" + + "\tdevice_ui\x18\n" + + " \x01(\v2\x1a.meshtastic.DeviceUIConfigH\x00R\bdeviceUi\x1a\xde\x06\n" + + "\fDeviceConfig\x128\n" + + "\x04role\x18\x01 \x01(\x0e2$.meshtastic.Config.DeviceConfig.RoleR\x04role\x12)\n" + + "\x0eserial_enabled\x18\x02 \x01(\bB\x02\x18\x01R\rserialEnabled\x12\x1f\n" + + "\vbutton_gpio\x18\x04 \x01(\rR\n" + + "buttonGpio\x12\x1f\n" + + "\vbuzzer_gpio\x18\x05 \x01(\rR\n" + + "buzzerGpio\x12Z\n" + + "\x10rebroadcast_mode\x18\x06 \x01(\x0e2/.meshtastic.Config.DeviceConfig.RebroadcastModeR\x0frebroadcastMode\x127\n" + + "\x18node_info_broadcast_secs\x18\a \x01(\rR\x15nodeInfoBroadcastSecs\x12:\n" + + "\x1adouble_tap_as_button_press\x18\b \x01(\bR\x16doubleTapAsButtonPress\x12!\n" + + "\n" + + "is_managed\x18\t \x01(\bB\x02\x18\x01R\tisManaged\x120\n" + + "\x14disable_triple_click\x18\n" + + " \x01(\bR\x12disableTripleClick\x12\x14\n" + + "\x05tzdef\x18\v \x01(\tR\x05tzdef\x124\n" + + "\x16led_heartbeat_disabled\x18\f \x01(\bR\x14ledHeartbeatDisabled\"\xbf\x01\n" + + "\x04Role\x12\n" + + "\n" + + "\x06CLIENT\x10\x00\x12\x0f\n" + + "\vCLIENT_MUTE\x10\x01\x12\n" + + "\n" + + "\x06ROUTER\x10\x02\x12\x15\n" + + "\rROUTER_CLIENT\x10\x03\x1a\x02\b\x01\x12\f\n" + + "\bREPEATER\x10\x04\x12\v\n" + + "\aTRACKER\x10\x05\x12\n" + + "\n" + + "\x06SENSOR\x10\x06\x12\a\n" + + "\x03TAK\x10\a\x12\x11\n" + + "\rCLIENT_HIDDEN\x10\b\x12\x12\n" + + "\x0eLOST_AND_FOUND\x10\t\x12\x0f\n" + + "\vTAK_TRACKER\x10\n" + + "\x12\x0f\n" + + "\vROUTER_LATE\x10\v\"s\n" + + "\x0fRebroadcastMode\x12\a\n" + + "\x03ALL\x10\x00\x12\x15\n" + + "\x11ALL_SKIP_DECODING\x10\x01\x12\x0e\n" + + "\n" + + "LOCAL_ONLY\x10\x02\x12\x0e\n" + + "\n" + + "KNOWN_ONLY\x10\x03\x12\b\n" + + "\x04NONE\x10\x04\x12\x16\n" + + "\x12CORE_PORTNUMS_ONLY\x10\x05\x1a\xfa\x06\n" + + "\x0ePositionConfig\x126\n" + + "\x17position_broadcast_secs\x18\x01 \x01(\rR\x15positionBroadcastSecs\x12G\n" + + " position_broadcast_smart_enabled\x18\x02 \x01(\bR\x1dpositionBroadcastSmartEnabled\x12%\n" + + "\x0efixed_position\x18\x03 \x01(\bR\rfixedPosition\x12#\n" + + "\vgps_enabled\x18\x04 \x01(\bB\x02\x18\x01R\n" + + "gpsEnabled\x12.\n" + + "\x13gps_update_interval\x18\x05 \x01(\rR\x11gpsUpdateInterval\x12,\n" + + "\x10gps_attempt_time\x18\x06 \x01(\rB\x02\x18\x01R\x0egpsAttemptTime\x12%\n" + + "\x0eposition_flags\x18\a \x01(\rR\rpositionFlags\x12\x17\n" + + "\arx_gpio\x18\b \x01(\rR\x06rxGpio\x12\x17\n" + + "\atx_gpio\x18\t \x01(\rR\x06txGpio\x12G\n" + + " broadcast_smart_minimum_distance\x18\n" + + " \x01(\rR\x1dbroadcastSmartMinimumDistance\x12P\n" + + "%broadcast_smart_minimum_interval_secs\x18\v \x01(\rR!broadcastSmartMinimumIntervalSecs\x12\x1e\n" + + "\vgps_en_gpio\x18\f \x01(\rR\tgpsEnGpio\x12D\n" + + "\bgps_mode\x18\r \x01(\x0e2).meshtastic.Config.PositionConfig.GpsModeR\agpsMode\"\xab\x01\n" + + "\rPositionFlags\x12\t\n" + + "\x05UNSET\x10\x00\x12\f\n" + + "\bALTITUDE\x10\x01\x12\x10\n" + + "\fALTITUDE_MSL\x10\x02\x12\x16\n" + + "\x12GEOIDAL_SEPARATION\x10\x04\x12\a\n" + + "\x03DOP\x10\b\x12\t\n" + + "\x05HVDOP\x10\x10\x12\r\n" + + "\tSATINVIEW\x10 \x12\n" + + "\n" + + "\x06SEQ_NO\x10@\x12\x0e\n" + + "\tTIMESTAMP\x10\x80\x01\x12\f\n" + + "\aHEADING\x10\x80\x02\x12\n" + + "\n" + + "\x05SPEED\x10\x80\x04\"5\n" + + "\aGpsMode\x12\f\n" + + "\bDISABLED\x10\x00\x12\v\n" + + "\aENABLED\x10\x01\x12\x0f\n" + + "\vNOT_PRESENT\x10\x02\x1a\xa1\x03\n" + + "\vPowerConfig\x12&\n" + + "\x0fis_power_saving\x18\x01 \x01(\bR\risPowerSaving\x12B\n" + + "\x1eon_battery_shutdown_after_secs\x18\x02 \x01(\rR\x1aonBatteryShutdownAfterSecs\x126\n" + + "\x17adc_multiplier_override\x18\x03 \x01(\x02R\x15adcMultiplierOverride\x12.\n" + + "\x13wait_bluetooth_secs\x18\x04 \x01(\rR\x11waitBluetoothSecs\x12\x19\n" + + "\bsds_secs\x18\x06 \x01(\rR\asdsSecs\x12\x17\n" + + "\als_secs\x18\a \x01(\rR\x06lsSecs\x12\"\n" + + "\rmin_wake_secs\x18\b \x01(\rR\vminWakeSecs\x12;\n" + + "\x1adevice_battery_ina_address\x18\t \x01(\rR\x17deviceBatteryInaAddress\x12)\n" + + "\x10powermon_enables\x18 \x01(\x04R\x0fpowermonEnables\x1a\xfd\x04\n" + + "\rNetworkConfig\x12!\n" + + "\fwifi_enabled\x18\x01 \x01(\bR\vwifiEnabled\x12\x1b\n" + + "\twifi_ssid\x18\x03 \x01(\tR\bwifiSsid\x12\x19\n" + + "\bwifi_psk\x18\x04 \x01(\tR\awifiPsk\x12\x1d\n" + + "\n" + + "ntp_server\x18\x05 \x01(\tR\tntpServer\x12\x1f\n" + + "\veth_enabled\x18\x06 \x01(\bR\n" + + "ethEnabled\x12O\n" + + "\faddress_mode\x18\a \x01(\x0e2,.meshtastic.Config.NetworkConfig.AddressModeR\vaddressMode\x12L\n" + + "\vipv4_config\x18\b \x01(\v2+.meshtastic.Config.NetworkConfig.IpV4ConfigR\n" + + "ipv4Config\x12%\n" + + "\x0ersyslog_server\x18\t \x01(\tR\rrsyslogServer\x12+\n" + + "\x11enabled_protocols\x18\n" + + " \x01(\rR\x10enabledProtocols\x12!\n" + + "\fipv6_enabled\x18\v \x01(\bR\vipv6Enabled\x1a`\n" + + "\n" + + "IpV4Config\x12\x0e\n" + + "\x02ip\x18\x01 \x01(\aR\x02ip\x12\x18\n" + + "\agateway\x18\x02 \x01(\aR\agateway\x12\x16\n" + + "\x06subnet\x18\x03 \x01(\aR\x06subnet\x12\x10\n" + + "\x03dns\x18\x04 \x01(\aR\x03dns\"#\n" + + "\vAddressMode\x12\b\n" + + "\x04DHCP\x10\x00\x12\n" + + "\n" + + "\x06STATIC\x10\x01\"4\n" + + "\rProtocolFlags\x12\x10\n" + + "\fNO_BROADCAST\x10\x00\x12\x11\n" + + "\rUDP_BROADCAST\x10\x01\x1a\xa5\t\n" + + "\rDisplayConfig\x12$\n" + + "\x0escreen_on_secs\x18\x01 \x01(\rR\fscreenOnSecs\x12S\n" + + "\n" + + "gps_format\x18\x02 \x01(\x0e24.meshtastic.Config.DisplayConfig.GpsCoordinateFormatR\tgpsFormat\x129\n" + + "\x19auto_screen_carousel_secs\x18\x03 \x01(\rR\x16autoScreenCarouselSecs\x12*\n" + + "\x11compass_north_top\x18\x04 \x01(\bR\x0fcompassNorthTop\x12\x1f\n" + + "\vflip_screen\x18\x05 \x01(\bR\n" + + "flipScreen\x12C\n" + + "\x05units\x18\x06 \x01(\x0e2-.meshtastic.Config.DisplayConfig.DisplayUnitsR\x05units\x12=\n" + + "\x04oled\x18\a \x01(\x0e2).meshtastic.Config.DisplayConfig.OledTypeR\x04oled\x12N\n" + + "\vdisplaymode\x18\b \x01(\x0e2,.meshtastic.Config.DisplayConfig.DisplayModeR\vdisplaymode\x12!\n" + + "\fheading_bold\x18\t \x01(\bR\vheadingBold\x120\n" + + "\x15wake_on_tap_or_motion\x18\n" + + " \x01(\bR\x11wakeOnTapOrMotion\x12d\n" + + "\x13compass_orientation\x18\v \x01(\x0e23.meshtastic.Config.DisplayConfig.CompassOrientationR\x12compassOrientation\x12\"\n" + + "\ruse_12h_clock\x18\f \x01(\bR\vuse12hClock\"M\n" + + "\x13GpsCoordinateFormat\x12\a\n" + + "\x03DEC\x10\x00\x12\a\n" + + "\x03DMS\x10\x01\x12\a\n" + + "\x03UTM\x10\x02\x12\b\n" + + "\x04MGRS\x10\x03\x12\a\n" + + "\x03OLC\x10\x04\x12\b\n" + + "\x04OSGR\x10\x05\"(\n" + + "\fDisplayUnits\x12\n" + + "\n" + + "\x06METRIC\x10\x00\x12\f\n" + + "\bIMPERIAL\x10\x01\"e\n" + + "\bOledType\x12\r\n" + + "\tOLED_AUTO\x10\x00\x12\x10\n" + + "\fOLED_SSD1306\x10\x01\x12\x0f\n" + + "\vOLED_SH1106\x10\x02\x12\x0f\n" + + "\vOLED_SH1107\x10\x03\x12\x16\n" + + "\x12OLED_SH1107_128_64\x10\x04\"A\n" + + "\vDisplayMode\x12\v\n" + + "\aDEFAULT\x10\x00\x12\f\n" + + "\bTWOCOLOR\x10\x01\x12\f\n" + + "\bINVERTED\x10\x02\x12\t\n" + + "\x05COLOR\x10\x03\"\xba\x01\n" + + "\x12CompassOrientation\x12\r\n" + + "\tDEGREES_0\x10\x00\x12\x0e\n" + + "\n" + + "DEGREES_90\x10\x01\x12\x0f\n" + + "\vDEGREES_180\x10\x02\x12\x0f\n" + + "\vDEGREES_270\x10\x03\x12\x16\n" + + "\x12DEGREES_0_INVERTED\x10\x04\x12\x17\n" + + "\x13DEGREES_90_INVERTED\x10\x05\x12\x18\n" + + "\x14DEGREES_180_INVERTED\x10\x06\x12\x18\n" + + "\x14DEGREES_270_INVERTED\x10\a\x1a\x93\t\n" + + "\n" + + "LoRaConfig\x12\x1d\n" + + "\n" + + "use_preset\x18\x01 \x01(\bR\tusePreset\x12L\n" + + "\fmodem_preset\x18\x02 \x01(\x0e2).meshtastic.Config.LoRaConfig.ModemPresetR\vmodemPreset\x12\x1c\n" + + "\tbandwidth\x18\x03 \x01(\rR\tbandwidth\x12#\n" + + "\rspread_factor\x18\x04 \x01(\rR\fspreadFactor\x12\x1f\n" + + "\vcoding_rate\x18\x05 \x01(\rR\n" + + "codingRate\x12)\n" + + "\x10frequency_offset\x18\x06 \x01(\x02R\x0ffrequencyOffset\x12@\n" + + "\x06region\x18\a \x01(\x0e2(.meshtastic.Config.LoRaConfig.RegionCodeR\x06region\x12\x1b\n" + + "\thop_limit\x18\b \x01(\rR\bhopLimit\x12\x1d\n" + + "\n" + + "tx_enabled\x18\t \x01(\bR\ttxEnabled\x12\x19\n" + + "\btx_power\x18\n" + + " \x01(\x05R\atxPower\x12\x1f\n" + + "\vchannel_num\x18\v \x01(\rR\n" + + "channelNum\x12.\n" + + "\x13override_duty_cycle\x18\f \x01(\bR\x11overrideDutyCycle\x123\n" + + "\x16sx126x_rx_boosted_gain\x18\r \x01(\bR\x13sx126xRxBoostedGain\x12-\n" + + "\x12override_frequency\x18\x0e \x01(\x02R\x11overrideFrequency\x12&\n" + + "\x0fpa_fan_disabled\x18\x0f \x01(\bR\rpaFanDisabled\x12'\n" + + "\x0fignore_incoming\x18g \x03(\rR\x0eignoreIncoming\x12\x1f\n" + + "\vignore_mqtt\x18h \x01(\bR\n" + + "ignoreMqtt\x12)\n" + + "\x11config_ok_to_mqtt\x18i \x01(\bR\x0econfigOkToMqtt\"\xf1\x01\n" + + "\n" + + "RegionCode\x12\t\n" + + "\x05UNSET\x10\x00\x12\x06\n" + + "\x02US\x10\x01\x12\n" + + "\n" + + "\x06EU_433\x10\x02\x12\n" + + "\n" + + "\x06EU_868\x10\x03\x12\x06\n" + + "\x02CN\x10\x04\x12\x06\n" + + "\x02JP\x10\x05\x12\a\n" + + "\x03ANZ\x10\x06\x12\x06\n" + + "\x02KR\x10\a\x12\x06\n" + + "\x02TW\x10\b\x12\x06\n" + + "\x02RU\x10\t\x12\x06\n" + + "\x02IN\x10\n" + + "\x12\n" + + "\n" + + "\x06NZ_865\x10\v\x12\x06\n" + + "\x02TH\x10\f\x12\v\n" + + "\aLORA_24\x10\r\x12\n" + + "\n" + + "\x06UA_433\x10\x0e\x12\n" + + "\n" + + "\x06UA_868\x10\x0f\x12\n" + + "\n" + + "\x06MY_433\x10\x10\x12\n" + + "\n" + + "\x06MY_919\x10\x11\x12\n" + + "\n" + + "\x06SG_923\x10\x12\x12\n" + + "\n" + + "\x06PH_433\x10\x13\x12\n" + + "\n" + + "\x06PH_868\x10\x14\x12\n" + + "\n" + + "\x06PH_915\x10\x15\"\xa9\x01\n" + + "\vModemPreset\x12\r\n" + + "\tLONG_FAST\x10\x00\x12\r\n" + + "\tLONG_SLOW\x10\x01\x12\x16\n" + + "\x0eVERY_LONG_SLOW\x10\x02\x1a\x02\b\x01\x12\x0f\n" + + "\vMEDIUM_SLOW\x10\x03\x12\x0f\n" + + "\vMEDIUM_FAST\x10\x04\x12\x0e\n" + + "\n" + + "SHORT_SLOW\x10\x05\x12\x0e\n" + + "\n" + + "SHORT_FAST\x10\x06\x12\x11\n" + + "\rLONG_MODERATE\x10\a\x12\x0f\n" + + "\vSHORT_TURBO\x10\b\x1a\xc6\x01\n" + + "\x0fBluetoothConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12B\n" + + "\x04mode\x18\x02 \x01(\x0e2..meshtastic.Config.BluetoothConfig.PairingModeR\x04mode\x12\x1b\n" + + "\tfixed_pin\x18\x03 \x01(\rR\bfixedPin\"8\n" + + "\vPairingMode\x12\x0e\n" + + "\n" + + "RANDOM_PIN\x10\x00\x12\r\n" + + "\tFIXED_PIN\x10\x01\x12\n" + + "\n" + + "\x06NO_PIN\x10\x02\x1a\x9a\x02\n" + + "\x0eSecurityConfig\x12\x1d\n" + + "\n" + + "public_key\x18\x01 \x01(\fR\tpublicKey\x12\x1f\n" + + "\vprivate_key\x18\x02 \x01(\fR\n" + + "privateKey\x12\x1b\n" + + "\tadmin_key\x18\x03 \x03(\fR\badminKey\x12\x1d\n" + + "\n" + + "is_managed\x18\x04 \x01(\bR\tisManaged\x12%\n" + + "\x0eserial_enabled\x18\x05 \x01(\bR\rserialEnabled\x121\n" + + "\x15debug_log_api_enabled\x18\x06 \x01(\bR\x12debugLogApiEnabled\x122\n" + + "\x15admin_channel_enabled\x18\b \x01(\bR\x13adminChannelEnabled\x1a\x12\n" + + "\x10SessionkeyConfigB\x11\n" + + "\x0fpayload_variantBa\n" + + "\x13com.geeksville.meshB\fConfigProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_config_proto_rawDescOnce sync.Once - file_meshtastic_config_proto_rawDescData = file_meshtastic_config_proto_rawDesc + file_meshtastic_config_proto_rawDescData []byte ) func file_meshtastic_config_proto_rawDescGZIP() []byte { file_meshtastic_config_proto_rawDescOnce.Do(func() { - file_meshtastic_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_config_proto_rawDescData) + file_meshtastic_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_config_proto_rawDesc), len(file_meshtastic_config_proto_rawDesc))) }) return file_meshtastic_config_proto_rawDescData } -var file_meshtastic_config_proto_enumTypes = make([]protoimpl.EnumInfo, 12) -var file_meshtastic_config_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_meshtastic_config_proto_goTypes = []interface{}{ +var file_meshtastic_config_proto_enumTypes = make([]protoimpl.EnumInfo, 14) +var file_meshtastic_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_meshtastic_config_proto_goTypes = []any{ (Config_DeviceConfig_Role)(0), // 0: meshtastic.Config.DeviceConfig.Role (Config_DeviceConfig_RebroadcastMode)(0), // 1: meshtastic.Config.DeviceConfig.RebroadcastMode (Config_PositionConfig_PositionFlags)(0), // 2: meshtastic.Config.PositionConfig.PositionFlags (Config_PositionConfig_GpsMode)(0), // 3: meshtastic.Config.PositionConfig.GpsMode (Config_NetworkConfig_AddressMode)(0), // 4: meshtastic.Config.NetworkConfig.AddressMode - (Config_DisplayConfig_GpsCoordinateFormat)(0), // 5: meshtastic.Config.DisplayConfig.GpsCoordinateFormat - (Config_DisplayConfig_DisplayUnits)(0), // 6: meshtastic.Config.DisplayConfig.DisplayUnits - (Config_DisplayConfig_OledType)(0), // 7: meshtastic.Config.DisplayConfig.OledType - (Config_DisplayConfig_DisplayMode)(0), // 8: meshtastic.Config.DisplayConfig.DisplayMode - (Config_LoRaConfig_RegionCode)(0), // 9: meshtastic.Config.LoRaConfig.RegionCode - (Config_LoRaConfig_ModemPreset)(0), // 10: meshtastic.Config.LoRaConfig.ModemPreset - (Config_BluetoothConfig_PairingMode)(0), // 11: meshtastic.Config.BluetoothConfig.PairingMode - (*Config)(nil), // 12: meshtastic.Config - (*Config_DeviceConfig)(nil), // 13: meshtastic.Config.DeviceConfig - (*Config_PositionConfig)(nil), // 14: meshtastic.Config.PositionConfig - (*Config_PowerConfig)(nil), // 15: meshtastic.Config.PowerConfig - (*Config_NetworkConfig)(nil), // 16: meshtastic.Config.NetworkConfig - (*Config_DisplayConfig)(nil), // 17: meshtastic.Config.DisplayConfig - (*Config_LoRaConfig)(nil), // 18: meshtastic.Config.LoRaConfig - (*Config_BluetoothConfig)(nil), // 19: meshtastic.Config.BluetoothConfig - (*Config_NetworkConfig_IpV4Config)(nil), // 20: meshtastic.Config.NetworkConfig.IpV4Config + (Config_NetworkConfig_ProtocolFlags)(0), // 5: meshtastic.Config.NetworkConfig.ProtocolFlags + (Config_DisplayConfig_GpsCoordinateFormat)(0), // 6: meshtastic.Config.DisplayConfig.GpsCoordinateFormat + (Config_DisplayConfig_DisplayUnits)(0), // 7: meshtastic.Config.DisplayConfig.DisplayUnits + (Config_DisplayConfig_OledType)(0), // 8: meshtastic.Config.DisplayConfig.OledType + (Config_DisplayConfig_DisplayMode)(0), // 9: meshtastic.Config.DisplayConfig.DisplayMode + (Config_DisplayConfig_CompassOrientation)(0), // 10: meshtastic.Config.DisplayConfig.CompassOrientation + (Config_LoRaConfig_RegionCode)(0), // 11: meshtastic.Config.LoRaConfig.RegionCode + (Config_LoRaConfig_ModemPreset)(0), // 12: meshtastic.Config.LoRaConfig.ModemPreset + (Config_BluetoothConfig_PairingMode)(0), // 13: meshtastic.Config.BluetoothConfig.PairingMode + (*Config)(nil), // 14: meshtastic.Config + (*Config_DeviceConfig)(nil), // 15: meshtastic.Config.DeviceConfig + (*Config_PositionConfig)(nil), // 16: meshtastic.Config.PositionConfig + (*Config_PowerConfig)(nil), // 17: meshtastic.Config.PowerConfig + (*Config_NetworkConfig)(nil), // 18: meshtastic.Config.NetworkConfig + (*Config_DisplayConfig)(nil), // 19: meshtastic.Config.DisplayConfig + (*Config_LoRaConfig)(nil), // 20: meshtastic.Config.LoRaConfig + (*Config_BluetoothConfig)(nil), // 21: meshtastic.Config.BluetoothConfig + (*Config_SecurityConfig)(nil), // 22: meshtastic.Config.SecurityConfig + (*Config_SessionkeyConfig)(nil), // 23: meshtastic.Config.SessionkeyConfig + (*Config_NetworkConfig_IpV4Config)(nil), // 24: meshtastic.Config.NetworkConfig.IpV4Config + (*DeviceUIConfig)(nil), // 25: meshtastic.DeviceUIConfig } var file_meshtastic_config_proto_depIdxs = []int32{ - 13, // 0: meshtastic.Config.device:type_name -> meshtastic.Config.DeviceConfig - 14, // 1: meshtastic.Config.position:type_name -> meshtastic.Config.PositionConfig - 15, // 2: meshtastic.Config.power:type_name -> meshtastic.Config.PowerConfig - 16, // 3: meshtastic.Config.network:type_name -> meshtastic.Config.NetworkConfig - 17, // 4: meshtastic.Config.display:type_name -> meshtastic.Config.DisplayConfig - 18, // 5: meshtastic.Config.lora:type_name -> meshtastic.Config.LoRaConfig - 19, // 6: meshtastic.Config.bluetooth:type_name -> meshtastic.Config.BluetoothConfig - 0, // 7: meshtastic.Config.DeviceConfig.role:type_name -> meshtastic.Config.DeviceConfig.Role - 1, // 8: meshtastic.Config.DeviceConfig.rebroadcast_mode:type_name -> meshtastic.Config.DeviceConfig.RebroadcastMode - 3, // 9: meshtastic.Config.PositionConfig.gps_mode:type_name -> meshtastic.Config.PositionConfig.GpsMode - 4, // 10: meshtastic.Config.NetworkConfig.address_mode:type_name -> meshtastic.Config.NetworkConfig.AddressMode - 20, // 11: meshtastic.Config.NetworkConfig.ipv4_config:type_name -> meshtastic.Config.NetworkConfig.IpV4Config - 5, // 12: meshtastic.Config.DisplayConfig.gps_format:type_name -> meshtastic.Config.DisplayConfig.GpsCoordinateFormat - 6, // 13: meshtastic.Config.DisplayConfig.units:type_name -> meshtastic.Config.DisplayConfig.DisplayUnits - 7, // 14: meshtastic.Config.DisplayConfig.oled:type_name -> meshtastic.Config.DisplayConfig.OledType - 8, // 15: meshtastic.Config.DisplayConfig.displaymode:type_name -> meshtastic.Config.DisplayConfig.DisplayMode - 10, // 16: meshtastic.Config.LoRaConfig.modem_preset:type_name -> meshtastic.Config.LoRaConfig.ModemPreset - 9, // 17: meshtastic.Config.LoRaConfig.region:type_name -> meshtastic.Config.LoRaConfig.RegionCode - 11, // 18: meshtastic.Config.BluetoothConfig.mode:type_name -> meshtastic.Config.BluetoothConfig.PairingMode - 19, // [19:19] is the sub-list for method output_type - 19, // [19:19] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name + 15, // 0: meshtastic.Config.device:type_name -> meshtastic.Config.DeviceConfig + 16, // 1: meshtastic.Config.position:type_name -> meshtastic.Config.PositionConfig + 17, // 2: meshtastic.Config.power:type_name -> meshtastic.Config.PowerConfig + 18, // 3: meshtastic.Config.network:type_name -> meshtastic.Config.NetworkConfig + 19, // 4: meshtastic.Config.display:type_name -> meshtastic.Config.DisplayConfig + 20, // 5: meshtastic.Config.lora:type_name -> meshtastic.Config.LoRaConfig + 21, // 6: meshtastic.Config.bluetooth:type_name -> meshtastic.Config.BluetoothConfig + 22, // 7: meshtastic.Config.security:type_name -> meshtastic.Config.SecurityConfig + 23, // 8: meshtastic.Config.sessionkey:type_name -> meshtastic.Config.SessionkeyConfig + 25, // 9: meshtastic.Config.device_ui:type_name -> meshtastic.DeviceUIConfig + 0, // 10: meshtastic.Config.DeviceConfig.role:type_name -> meshtastic.Config.DeviceConfig.Role + 1, // 11: meshtastic.Config.DeviceConfig.rebroadcast_mode:type_name -> meshtastic.Config.DeviceConfig.RebroadcastMode + 3, // 12: meshtastic.Config.PositionConfig.gps_mode:type_name -> meshtastic.Config.PositionConfig.GpsMode + 4, // 13: meshtastic.Config.NetworkConfig.address_mode:type_name -> meshtastic.Config.NetworkConfig.AddressMode + 24, // 14: meshtastic.Config.NetworkConfig.ipv4_config:type_name -> meshtastic.Config.NetworkConfig.IpV4Config + 6, // 15: meshtastic.Config.DisplayConfig.gps_format:type_name -> meshtastic.Config.DisplayConfig.GpsCoordinateFormat + 7, // 16: meshtastic.Config.DisplayConfig.units:type_name -> meshtastic.Config.DisplayConfig.DisplayUnits + 8, // 17: meshtastic.Config.DisplayConfig.oled:type_name -> meshtastic.Config.DisplayConfig.OledType + 9, // 18: meshtastic.Config.DisplayConfig.displaymode:type_name -> meshtastic.Config.DisplayConfig.DisplayMode + 10, // 19: meshtastic.Config.DisplayConfig.compass_orientation:type_name -> meshtastic.Config.DisplayConfig.CompassOrientation + 12, // 20: meshtastic.Config.LoRaConfig.modem_preset:type_name -> meshtastic.Config.LoRaConfig.ModemPreset + 11, // 21: meshtastic.Config.LoRaConfig.region:type_name -> meshtastic.Config.LoRaConfig.RegionCode + 13, // 22: meshtastic.Config.BluetoothConfig.mode:type_name -> meshtastic.Config.BluetoothConfig.PairingMode + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name } func init() { file_meshtastic_config_proto_init() } @@ -2459,117 +2833,8 @@ func file_meshtastic_config_proto_init() { if File_meshtastic_config_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_DeviceConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_PositionConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_PowerConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_NetworkConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_DisplayConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_LoRaConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_BluetoothConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config_NetworkConfig_IpV4Config); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_meshtastic_device_ui_proto_init() + file_meshtastic_config_proto_msgTypes[0].OneofWrappers = []any{ (*Config_Device)(nil), (*Config_Position)(nil), (*Config_Power)(nil), @@ -2577,14 +2842,17 @@ func file_meshtastic_config_proto_init() { (*Config_Display)(nil), (*Config_Lora)(nil), (*Config_Bluetooth)(nil), + (*Config_Security)(nil), + (*Config_Sessionkey)(nil), + (*Config_DeviceUi)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_config_proto_rawDesc, - NumEnums: 12, - NumMessages: 9, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_config_proto_rawDesc), len(file_meshtastic_config_proto_rawDesc)), + NumEnums: 14, + NumMessages: 11, NumExtensions: 0, NumServices: 0, }, @@ -2594,7 +2862,6 @@ func file_meshtastic_config_proto_init() { MessageInfos: file_meshtastic_config_proto_msgTypes, }.Build() File_meshtastic_config_proto = out.File - file_meshtastic_config_proto_rawDesc = nil file_meshtastic_config_proto_goTypes = nil file_meshtastic_config_proto_depIdxs = nil } diff --git a/meshtastic/config_vtproto.pb.go b/meshtastic/config_vtproto.pb.go index 2069eec..40c0329 100644 --- a/meshtastic/config_vtproto.pb.go +++ b/meshtastic/config_vtproto.pb.go @@ -50,6 +50,23 @@ func (m *Config_DeviceConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.LedHeartbeatDisabled { + i-- + if m.LedHeartbeatDisabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if len(m.Tzdef) > 0 { + i -= len(m.Tzdef) + copy(dAtA[i:], m.Tzdef) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Tzdef))) + i-- + dAtA[i] = 0x5a + } if m.DisableTripleClick { i-- if m.DisableTripleClick { @@ -100,16 +117,6 @@ func (m *Config_DeviceConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x20 } - if m.DebugLogEnabled { - i-- - if m.DebugLogEnabled { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - } if m.SerialEnabled { i-- if m.SerialEnabled { @@ -271,6 +278,13 @@ func (m *Config_PowerConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.PowermonEnables != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PowermonEnables)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x80 + } if m.DeviceBatteryInaAddress != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DeviceBatteryInaAddress)) i-- @@ -407,6 +421,21 @@ func (m *Config_NetworkConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Ipv6Enabled { + i-- + if m.Ipv6Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.EnabledProtocols != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.EnabledProtocols)) + i-- + dAtA[i] = 0x50 + } if len(m.RsyslogServer) > 0 { i -= len(m.RsyslogServer) copy(dAtA[i:], m.RsyslogServer) @@ -503,6 +532,21 @@ func (m *Config_DisplayConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Use_12HClock { + i-- + if m.Use_12HClock { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if m.CompassOrientation != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.CompassOrientation)) + i-- + dAtA[i] = 0x58 + } if m.WakeOnTapOrMotion { i-- if m.WakeOnTapOrMotion { @@ -606,6 +650,18 @@ func (m *Config_LoRaConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.ConfigOkToMqtt { + i-- + if m.ConfigOkToMqtt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xc8 + } if m.IgnoreMqtt { i-- if m.IgnoreMqtt { @@ -640,6 +696,16 @@ func (m *Config_LoRaConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0xba } + if m.PaFanDisabled { + i-- + if m.PaFanDisabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } if m.OverrideFrequency != 0 { i -= 4 binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.OverrideFrequency)))) @@ -788,6 +854,135 @@ func (m *Config_BluetoothConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error return len(dAtA) - i, nil } +func (m *Config_SecurityConfig) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_SecurityConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_SecurityConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.AdminChannelEnabled { + i-- + if m.AdminChannelEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.DebugLogApiEnabled { + i-- + if m.DebugLogApiEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.SerialEnabled { + i-- + if m.SerialEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.IsManaged { + i-- + if m.IsManaged { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(m.AdminKey) > 0 { + for iNdEx := len(m.AdminKey) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.AdminKey[iNdEx]) + copy(dAtA[i:], m.AdminKey[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AdminKey[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.PrivateKey) > 0 { + i -= len(m.PrivateKey) + copy(dAtA[i:], m.PrivateKey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PrivateKey))) + i-- + dAtA[i] = 0x12 + } + if len(m.PublicKey) > 0 { + i -= len(m.PublicKey) + copy(dAtA[i:], m.PublicKey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PublicKey))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Config_SessionkeyConfig) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_SessionkeyConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_SessionkeyConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + func (m *Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -963,6 +1158,63 @@ func (m *Config_Bluetooth) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } return len(dAtA) - i, nil } +func (m *Config_Security) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Security) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Security != nil { + size, err := m.Security.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + return len(dAtA) - i, nil +} +func (m *Config_Sessionkey) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Sessionkey) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Sessionkey != nil { + size, err := m.Sessionkey.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + return len(dAtA) - i, nil +} +func (m *Config_DeviceUi) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_DeviceUi) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DeviceUi != nil { + size, err := m.DeviceUi.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + return len(dAtA) - i, nil +} func (m *Config_DeviceConfig) SizeVT() (n int) { if m == nil { return 0 @@ -975,9 +1227,6 @@ func (m *Config_DeviceConfig) SizeVT() (n int) { if m.SerialEnabled { n += 2 } - if m.DebugLogEnabled { - n += 2 - } if m.ButtonGpio != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.ButtonGpio)) } @@ -999,6 +1248,13 @@ func (m *Config_DeviceConfig) SizeVT() (n int) { if m.DisableTripleClick { n += 2 } + l = len(m.Tzdef) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.LedHeartbeatDisabled { + n += 2 + } n += len(m.unknownFields) return n } @@ -1082,6 +1338,9 @@ func (m *Config_PowerConfig) SizeVT() (n int) { if m.DeviceBatteryInaAddress != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.DeviceBatteryInaAddress)) } + if m.PowermonEnables != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.PowermonEnables)) + } n += len(m.unknownFields) return n } @@ -1143,6 +1402,12 @@ func (m *Config_NetworkConfig) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.EnabledProtocols != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.EnabledProtocols)) + } + if m.Ipv6Enabled { + n += 2 + } n += len(m.unknownFields) return n } @@ -1183,6 +1448,12 @@ func (m *Config_DisplayConfig) SizeVT() (n int) { if m.WakeOnTapOrMotion { n += 2 } + if m.CompassOrientation != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.CompassOrientation)) + } + if m.Use_12HClock { + n += 2 + } n += len(m.unknownFields) return n } @@ -1235,6 +1506,9 @@ func (m *Config_LoRaConfig) SizeVT() (n int) { if m.OverrideFrequency != 0 { n += 5 } + if m.PaFanDisabled { + n += 2 + } if len(m.IgnoreIncoming) > 0 { l = 0 for _, e := range m.IgnoreIncoming { @@ -1245,6 +1519,9 @@ func (m *Config_LoRaConfig) SizeVT() (n int) { if m.IgnoreMqtt { n += 3 } + if m.ConfigOkToMqtt { + n += 3 + } n += len(m.unknownFields) return n } @@ -1268,39 +1545,85 @@ func (m *Config_BluetoothConfig) SizeVT() (n int) { return n } -func (m *Config) SizeVT() (n int) { +func (m *Config_SecurityConfig) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() + l = len(m.PublicKey) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.PrivateKey) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.AdminKey) > 0 { + for _, b := range m.AdminKey { + l = len(b) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.IsManaged { + n += 2 + } + if m.SerialEnabled { + n += 2 + } + if m.DebugLogApiEnabled { + n += 2 + } + if m.AdminChannelEnabled { + n += 2 } n += len(m.unknownFields) return n } -func (m *Config_Device) SizeVT() (n int) { +func (m *Config_SessionkeyConfig) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Device != nil { - l = m.Device.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } + n += len(m.unknownFields) return n } -func (m *Config_Position) SizeVT() (n int) { + +func (m *Config) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Position != nil { - l = m.Position.SizeVT() + if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *Config_Device) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Device != nil { + l = m.Device.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_Position) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Position != nil { + l = m.Position.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n @@ -1365,6 +1688,42 @@ func (m *Config_Bluetooth) SizeVT() (n int) { } return n } +func (m *Config_Security) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Security != nil { + l = m.Security.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_Sessionkey) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Sessionkey != nil { + l = m.Sessionkey.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_DeviceUi) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DeviceUi != nil { + l = m.DeviceUi.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} func (m *Config_DeviceConfig) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -1433,26 +1792,6 @@ func (m *Config_DeviceConfig) UnmarshalVT(dAtA []byte) error { } } m.SerialEnabled = bool(v != 0) - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DebugLogEnabled", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.DebugLogEnabled = bool(v != 0) case 4: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field ButtonGpio", wireType) @@ -1589,6 +1928,58 @@ func (m *Config_DeviceConfig) UnmarshalVT(dAtA []byte) error { } } m.DisableTripleClick = bool(v != 0) + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Tzdef", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Tzdef = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LedHeartbeatDisabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.LedHeartbeatDisabled = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -2086,6 +2477,25 @@ func (m *Config_PowerConfig) UnmarshalVT(dAtA []byte) error { break } } + case 32: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PowermonEnables", wireType) + } + m.PowermonEnables = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PowermonEnables |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -2451,6 +2861,45 @@ func (m *Config_NetworkConfig) UnmarshalVT(dAtA []byte) error { } m.RsyslogServer = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnabledProtocols", wireType) + } + m.EnabledProtocols = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.EnabledProtocols |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Ipv6Enabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Ipv6Enabled = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -2696,6 +3145,45 @@ func (m *Config_DisplayConfig) UnmarshalVT(dAtA []byte) error { } } m.WakeOnTapOrMotion = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CompassOrientation", wireType) + } + m.CompassOrientation = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CompassOrientation |= Config_DisplayConfig_CompassOrientation(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Use_12HClock", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Use_12HClock = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3001,6 +3489,26 @@ func (m *Config_LoRaConfig) UnmarshalVT(dAtA []byte) error { v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 m.OverrideFrequency = float32(math.Float32frombits(v)) + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PaFanDisabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PaFanDisabled = bool(v != 0) case 103: if wireType == 0 { var v uint32 @@ -3097,6 +3605,26 @@ func (m *Config_LoRaConfig) UnmarshalVT(dAtA []byte) error { } } m.IgnoreMqtt = bool(v != 0) + case 105: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigOkToMqtt", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ConfigOkToMqtt = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3228,7 +3756,7 @@ func (m *Config_BluetoothConfig) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Config) UnmarshalVT(dAtA []byte) error { +func (m *Config_SecurityConfig) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3251,17 +3779,17 @@ func (m *Config) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Config: wiretype end group for non-group") + return fmt.Errorf("proto: Config_SecurityConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Config: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Config_SecurityConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3271,36 +3799,318 @@ func (m *Config) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*Config_Device); ok { - if err := oneof.Device.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &Config_DeviceConfig{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.PayloadVariant = &Config_Device{Device: v} + m.PublicKey = append(m.PublicKey[:0], dAtA[iNdEx:postIndex]...) + if m.PublicKey == nil { + m.PublicKey = []byte{} } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PrivateKey", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PrivateKey = append(m.PrivateKey[:0], dAtA[iNdEx:postIndex]...) + if m.PrivateKey == nil { + m.PrivateKey = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminKey", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AdminKey = append(m.AdminKey, make([]byte, postIndex-iNdEx)) + copy(m.AdminKey[len(m.AdminKey)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsManaged", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsManaged = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SerialEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SerialEnabled = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DebugLogApiEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.DebugLogApiEnabled = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AdminChannelEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.AdminChannelEnabled = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Config_SessionkeyConfig) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Config_SessionkeyConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_SessionkeyConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Config) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Config: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*Config_Device); ok { + if err := oneof.Device.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_DeviceConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Device{Device: v} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3544,6 +4354,129 @@ func (m *Config) UnmarshalVT(dAtA []byte) error { m.PayloadVariant = &Config_Bluetooth{Bluetooth: v} } iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Security", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*Config_Security); ok { + if err := oneof.Security.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_SecurityConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Security{Security: v} + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sessionkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*Config_Sessionkey); ok { + if err := oneof.Sessionkey.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_SessionkeyConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Sessionkey{Sessionkey: v} + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceUi", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*Config_DeviceUi); ok { + if err := oneof.DeviceUi.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceUIConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_DeviceUi{DeviceUi: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/connection_status.pb.go b/meshtastic/connection_status.pb.go index a5b49bd..a8b9e3f 100644 --- a/meshtastic/connection_status.pb.go +++ b/meshtastic/connection_status.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/connection_status.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -21,10 +22,7 @@ const ( ) type DeviceConnectionStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // WiFi Status Wifi *WifiConnectionStatus `protobuf:"bytes,1,opt,name=wifi,proto3,oneof" json:"wifi,omitempty"` // WiFi Status @@ -32,16 +30,16 @@ type DeviceConnectionStatus struct { // Bluetooth Status Bluetooth *BluetoothConnectionStatus `protobuf:"bytes,3,opt,name=bluetooth,proto3,oneof" json:"bluetooth,omitempty"` // Serial Status - Serial *SerialConnectionStatus `protobuf:"bytes,4,opt,name=serial,proto3,oneof" json:"serial,omitempty"` + Serial *SerialConnectionStatus `protobuf:"bytes,4,opt,name=serial,proto3,oneof" json:"serial,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DeviceConnectionStatus) Reset() { *x = DeviceConnectionStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_connection_status_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_connection_status_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeviceConnectionStatus) String() string { @@ -52,7 +50,7 @@ func (*DeviceConnectionStatus) ProtoMessage() {} func (x *DeviceConnectionStatus) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_connection_status_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -97,25 +95,22 @@ func (x *DeviceConnectionStatus) GetSerial() *SerialConnectionStatus { // WiFi connection status type WifiConnectionStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Connection status Status *NetworkConnectionStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` // WiFi access point SSID Ssid string `protobuf:"bytes,2,opt,name=ssid,proto3" json:"ssid,omitempty"` // RSSI of wireless connection - Rssi int32 `protobuf:"varint,3,opt,name=rssi,proto3" json:"rssi,omitempty"` + Rssi int32 `protobuf:"varint,3,opt,name=rssi,proto3" json:"rssi,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *WifiConnectionStatus) Reset() { *x = WifiConnectionStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_connection_status_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_connection_status_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WifiConnectionStatus) String() string { @@ -126,7 +121,7 @@ func (*WifiConnectionStatus) ProtoMessage() {} func (x *WifiConnectionStatus) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_connection_status_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -164,21 +159,18 @@ func (x *WifiConnectionStatus) GetRssi() int32 { // Ethernet connection status type EthernetConnectionStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Connection status - Status *NetworkConnectionStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + Status *NetworkConnectionStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EthernetConnectionStatus) Reset() { *x = EthernetConnectionStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_connection_status_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_connection_status_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EthernetConnectionStatus) String() string { @@ -189,7 +181,7 @@ func (*EthernetConnectionStatus) ProtoMessage() {} func (x *EthernetConnectionStatus) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_connection_status_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -213,10 +205,7 @@ func (x *EthernetConnectionStatus) GetStatus() *NetworkConnectionStatus { // Ethernet or WiFi connection status type NetworkConnectionStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // IP address of device IpAddress uint32 `protobuf:"fixed32,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` // Whether the device has an active connection or not @@ -225,15 +214,15 @@ type NetworkConnectionStatus struct { IsMqttConnected bool `protobuf:"varint,3,opt,name=is_mqtt_connected,json=isMqttConnected,proto3" json:"is_mqtt_connected,omitempty"` // Whether the device is actively remote syslogging or not IsSyslogConnected bool `protobuf:"varint,4,opt,name=is_syslog_connected,json=isSyslogConnected,proto3" json:"is_syslog_connected,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NetworkConnectionStatus) Reset() { *x = NetworkConnectionStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_connection_status_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_connection_status_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NetworkConnectionStatus) String() string { @@ -244,7 +233,7 @@ func (*NetworkConnectionStatus) ProtoMessage() {} func (x *NetworkConnectionStatus) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_connection_status_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -289,25 +278,22 @@ func (x *NetworkConnectionStatus) GetIsSyslogConnected() bool { // Bluetooth connection status type BluetoothConnectionStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The pairing PIN for bluetooth Pin uint32 `protobuf:"varint,1,opt,name=pin,proto3" json:"pin,omitempty"` // RSSI of bluetooth connection Rssi int32 `protobuf:"varint,2,opt,name=rssi,proto3" json:"rssi,omitempty"` // Whether the device has an active connection or not - IsConnected bool `protobuf:"varint,3,opt,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty"` + IsConnected bool `protobuf:"varint,3,opt,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BluetoothConnectionStatus) Reset() { *x = BluetoothConnectionStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_connection_status_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_connection_status_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *BluetoothConnectionStatus) String() string { @@ -318,7 +304,7 @@ func (*BluetoothConnectionStatus) ProtoMessage() {} func (x *BluetoothConnectionStatus) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_connection_status_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -356,23 +342,20 @@ func (x *BluetoothConnectionStatus) GetIsConnected() bool { // Serial connection status type SerialConnectionStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Serial baud rate Baud uint32 `protobuf:"varint,1,opt,name=baud,proto3" json:"baud,omitempty"` // Whether the device has an active connection or not - IsConnected bool `protobuf:"varint,2,opt,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty"` + IsConnected bool `protobuf:"varint,2,opt,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SerialConnectionStatus) Reset() { *x = SerialConnectionStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_connection_status_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_connection_status_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SerialConnectionStatus) String() string { @@ -383,7 +366,7 @@ func (*SerialConnectionStatus) ProtoMessage() {} func (x *SerialConnectionStatus) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_connection_status_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -414,91 +397,55 @@ func (x *SerialConnectionStatus) GetIsConnected() bool { var File_meshtastic_connection_status_proto protoreflect.FileDescriptor -var file_meshtastic_connection_status_proto_rawDesc = []byte{ - 0x0a, 0x22, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x22, 0xd4, 0x02, 0x0a, 0x16, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x77, - 0x69, 0x66, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x04, 0x77, - 0x69, 0x66, 0x69, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x01, - 0x52, 0x08, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, - 0x09, 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x42, 0x6c, - 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x74, - 0x6f, 0x6f, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x03, 0x52, 0x06, 0x73, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x77, 0x69, 0x66, - 0x69, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x22, 0x7b, 0x0a, 0x14, 0x57, 0x69, 0x66, 0x69, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x73, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x73, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, 0x73, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x72, 0x73, 0x73, 0x69, 0x22, 0x57, 0x0a, 0x18, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x3b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xb7, 0x01, - 0x0a, 0x17, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x69, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, - 0x73, 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x4d, 0x71, 0x74, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x73, 0x5f, 0x73, 0x79, - 0x73, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x73, 0x53, 0x79, 0x73, 0x6c, 0x6f, 0x67, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x64, 0x0a, 0x19, 0x42, 0x6c, 0x75, 0x65, 0x74, - 0x6f, 0x6f, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, 0x73, 0x69, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x73, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x4f, 0x0a, - 0x16, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x61, 0x75, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x61, 0x75, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x69, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x65, - 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, - 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_connection_status_proto_rawDesc = "" + + "\n" + + "\"meshtastic/connection_status.proto\x12\n" + + "meshtastic\"\xd4\x02\n" + + "\x16DeviceConnectionStatus\x129\n" + + "\x04wifi\x18\x01 \x01(\v2 .meshtastic.WifiConnectionStatusH\x00R\x04wifi\x88\x01\x01\x12E\n" + + "\bethernet\x18\x02 \x01(\v2$.meshtastic.EthernetConnectionStatusH\x01R\bethernet\x88\x01\x01\x12H\n" + + "\tbluetooth\x18\x03 \x01(\v2%.meshtastic.BluetoothConnectionStatusH\x02R\tbluetooth\x88\x01\x01\x12?\n" + + "\x06serial\x18\x04 \x01(\v2\".meshtastic.SerialConnectionStatusH\x03R\x06serial\x88\x01\x01B\a\n" + + "\x05_wifiB\v\n" + + "\t_ethernetB\f\n" + + "\n" + + "_bluetoothB\t\n" + + "\a_serial\"{\n" + + "\x14WifiConnectionStatus\x12;\n" + + "\x06status\x18\x01 \x01(\v2#.meshtastic.NetworkConnectionStatusR\x06status\x12\x12\n" + + "\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x12\n" + + "\x04rssi\x18\x03 \x01(\x05R\x04rssi\"W\n" + + "\x18EthernetConnectionStatus\x12;\n" + + "\x06status\x18\x01 \x01(\v2#.meshtastic.NetworkConnectionStatusR\x06status\"\xb7\x01\n" + + "\x17NetworkConnectionStatus\x12\x1d\n" + + "\n" + + "ip_address\x18\x01 \x01(\aR\tipAddress\x12!\n" + + "\fis_connected\x18\x02 \x01(\bR\visConnected\x12*\n" + + "\x11is_mqtt_connected\x18\x03 \x01(\bR\x0fisMqttConnected\x12.\n" + + "\x13is_syslog_connected\x18\x04 \x01(\bR\x11isSyslogConnected\"d\n" + + "\x19BluetoothConnectionStatus\x12\x10\n" + + "\x03pin\x18\x01 \x01(\rR\x03pin\x12\x12\n" + + "\x04rssi\x18\x02 \x01(\x05R\x04rssi\x12!\n" + + "\fis_connected\x18\x03 \x01(\bR\visConnected\"O\n" + + "\x16SerialConnectionStatus\x12\x12\n" + + "\x04baud\x18\x01 \x01(\rR\x04baud\x12!\n" + + "\fis_connected\x18\x02 \x01(\bR\visConnectedBe\n" + + "\x13com.geeksville.meshB\x10ConnStatusProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_connection_status_proto_rawDescOnce sync.Once - file_meshtastic_connection_status_proto_rawDescData = file_meshtastic_connection_status_proto_rawDesc + file_meshtastic_connection_status_proto_rawDescData []byte ) func file_meshtastic_connection_status_proto_rawDescGZIP() []byte { file_meshtastic_connection_status_proto_rawDescOnce.Do(func() { - file_meshtastic_connection_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_connection_status_proto_rawDescData) + file_meshtastic_connection_status_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_connection_status_proto_rawDesc), len(file_meshtastic_connection_status_proto_rawDesc))) }) return file_meshtastic_connection_status_proto_rawDescData } var file_meshtastic_connection_status_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_meshtastic_connection_status_proto_goTypes = []interface{}{ +var file_meshtastic_connection_status_proto_goTypes = []any{ (*DeviceConnectionStatus)(nil), // 0: meshtastic.DeviceConnectionStatus (*WifiConnectionStatus)(nil), // 1: meshtastic.WifiConnectionStatus (*EthernetConnectionStatus)(nil), // 2: meshtastic.EthernetConnectionStatus @@ -525,86 +472,12 @@ func file_meshtastic_connection_status_proto_init() { if File_meshtastic_connection_status_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_connection_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceConnectionStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_connection_status_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WifiConnectionStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_connection_status_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EthernetConnectionStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_connection_status_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkConnectionStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_connection_status_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BluetoothConnectionStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_connection_status_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SerialConnectionStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_connection_status_proto_msgTypes[0].OneofWrappers = []interface{}{} + file_meshtastic_connection_status_proto_msgTypes[0].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_connection_status_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_connection_status_proto_rawDesc), len(file_meshtastic_connection_status_proto_rawDesc)), NumEnums: 0, NumMessages: 6, NumExtensions: 0, @@ -615,7 +488,6 @@ func file_meshtastic_connection_status_proto_init() { MessageInfos: file_meshtastic_connection_status_proto_msgTypes, }.Build() File_meshtastic_connection_status_proto = out.File - file_meshtastic_connection_status_proto_rawDesc = nil file_meshtastic_connection_status_proto_goTypes = nil file_meshtastic_connection_status_proto_depIdxs = nil } diff --git a/meshtastic/device_ui.pb.go b/meshtastic/device_ui.pb.go new file mode 100644 index 0000000..bd40715 --- /dev/null +++ b/meshtastic/device_ui.pb.go @@ -0,0 +1,809 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.6 +// protoc v3.21.12 +// source: meshtastic/device_ui.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Theme int32 + +const ( + // Dark + Theme_DARK Theme = 0 + // Light + Theme_LIGHT Theme = 1 + // Red + Theme_RED Theme = 2 +) + +// Enum value maps for Theme. +var ( + Theme_name = map[int32]string{ + 0: "DARK", + 1: "LIGHT", + 2: "RED", + } + Theme_value = map[string]int32{ + "DARK": 0, + "LIGHT": 1, + "RED": 2, + } +) + +func (x Theme) Enum() *Theme { + p := new(Theme) + *p = x + return p +} + +func (x Theme) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Theme) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_device_ui_proto_enumTypes[0].Descriptor() +} + +func (Theme) Type() protoreflect.EnumType { + return &file_meshtastic_device_ui_proto_enumTypes[0] +} + +func (x Theme) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Theme.Descriptor instead. +func (Theme) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_device_ui_proto_rawDescGZIP(), []int{0} +} + +// Localization +type Language int32 + +const ( + // English + Language_ENGLISH Language = 0 + // French + Language_FRENCH Language = 1 + // German + Language_GERMAN Language = 2 + // Italian + Language_ITALIAN Language = 3 + // Portuguese + Language_PORTUGUESE Language = 4 + // Spanish + Language_SPANISH Language = 5 + // Swedish + Language_SWEDISH Language = 6 + // Finnish + Language_FINNISH Language = 7 + // Polish + Language_POLISH Language = 8 + // Turkish + Language_TURKISH Language = 9 + // Serbian + Language_SERBIAN Language = 10 + // Russian + Language_RUSSIAN Language = 11 + // Dutch + Language_DUTCH Language = 12 + // Greek + Language_GREEK Language = 13 + // Norwegian + Language_NORWEGIAN Language = 14 + // Slovenian + Language_SLOVENIAN Language = 15 + // Ukrainian + Language_UKRAINIAN Language = 16 + // Simplified Chinese (experimental) + Language_SIMPLIFIED_CHINESE Language = 30 + // Traditional Chinese (experimental) + Language_TRADITIONAL_CHINESE Language = 31 +) + +// Enum value maps for Language. +var ( + Language_name = map[int32]string{ + 0: "ENGLISH", + 1: "FRENCH", + 2: "GERMAN", + 3: "ITALIAN", + 4: "PORTUGUESE", + 5: "SPANISH", + 6: "SWEDISH", + 7: "FINNISH", + 8: "POLISH", + 9: "TURKISH", + 10: "SERBIAN", + 11: "RUSSIAN", + 12: "DUTCH", + 13: "GREEK", + 14: "NORWEGIAN", + 15: "SLOVENIAN", + 16: "UKRAINIAN", + 30: "SIMPLIFIED_CHINESE", + 31: "TRADITIONAL_CHINESE", + } + Language_value = map[string]int32{ + "ENGLISH": 0, + "FRENCH": 1, + "GERMAN": 2, + "ITALIAN": 3, + "PORTUGUESE": 4, + "SPANISH": 5, + "SWEDISH": 6, + "FINNISH": 7, + "POLISH": 8, + "TURKISH": 9, + "SERBIAN": 10, + "RUSSIAN": 11, + "DUTCH": 12, + "GREEK": 13, + "NORWEGIAN": 14, + "SLOVENIAN": 15, + "UKRAINIAN": 16, + "SIMPLIFIED_CHINESE": 30, + "TRADITIONAL_CHINESE": 31, + } +) + +func (x Language) Enum() *Language { + p := new(Language) + *p = x + return p +} + +func (x Language) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Language) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_device_ui_proto_enumTypes[1].Descriptor() +} + +func (Language) Type() protoreflect.EnumType { + return &file_meshtastic_device_ui_proto_enumTypes[1] +} + +func (x Language) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Language.Descriptor instead. +func (Language) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_device_ui_proto_rawDescGZIP(), []int{1} +} + +type DeviceUIConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A version integer used to invalidate saved files when we make incompatible changes. + Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + // TFT display brightness 1..255 + ScreenBrightness uint32 `protobuf:"varint,2,opt,name=screen_brightness,json=screenBrightness,proto3" json:"screen_brightness,omitempty"` + // Screen timeout 0..900 + ScreenTimeout uint32 `protobuf:"varint,3,opt,name=screen_timeout,json=screenTimeout,proto3" json:"screen_timeout,omitempty"` + // Screen/Settings lock enabled + ScreenLock bool `protobuf:"varint,4,opt,name=screen_lock,json=screenLock,proto3" json:"screen_lock,omitempty"` + SettingsLock bool `protobuf:"varint,5,opt,name=settings_lock,json=settingsLock,proto3" json:"settings_lock,omitempty"` + PinCode uint32 `protobuf:"varint,6,opt,name=pin_code,json=pinCode,proto3" json:"pin_code,omitempty"` + // Color theme + Theme Theme `protobuf:"varint,7,opt,name=theme,proto3,enum=meshtastic.Theme" json:"theme,omitempty"` + // Audible message, banner and ring tone + AlertEnabled bool `protobuf:"varint,8,opt,name=alert_enabled,json=alertEnabled,proto3" json:"alert_enabled,omitempty"` + BannerEnabled bool `protobuf:"varint,9,opt,name=banner_enabled,json=bannerEnabled,proto3" json:"banner_enabled,omitempty"` + RingToneId uint32 `protobuf:"varint,10,opt,name=ring_tone_id,json=ringToneId,proto3" json:"ring_tone_id,omitempty"` + // Localization + Language Language `protobuf:"varint,11,opt,name=language,proto3,enum=meshtastic.Language" json:"language,omitempty"` + // Node list filter + NodeFilter *NodeFilter `protobuf:"bytes,12,opt,name=node_filter,json=nodeFilter,proto3" json:"node_filter,omitempty"` + // Node list highlightening + NodeHighlight *NodeHighlight `protobuf:"bytes,13,opt,name=node_highlight,json=nodeHighlight,proto3" json:"node_highlight,omitempty"` + // 8 integers for screen calibration data + CalibrationData []byte `protobuf:"bytes,14,opt,name=calibration_data,json=calibrationData,proto3" json:"calibration_data,omitempty"` + // Map related data + MapData *Map `protobuf:"bytes,15,opt,name=map_data,json=mapData,proto3" json:"map_data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceUIConfig) Reset() { + *x = DeviceUIConfig{} + mi := &file_meshtastic_device_ui_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceUIConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceUIConfig) ProtoMessage() {} + +func (x *DeviceUIConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_device_ui_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeviceUIConfig.ProtoReflect.Descriptor instead. +func (*DeviceUIConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_device_ui_proto_rawDescGZIP(), []int{0} +} + +func (x *DeviceUIConfig) GetVersion() uint32 { + if x != nil { + return x.Version + } + return 0 +} + +func (x *DeviceUIConfig) GetScreenBrightness() uint32 { + if x != nil { + return x.ScreenBrightness + } + return 0 +} + +func (x *DeviceUIConfig) GetScreenTimeout() uint32 { + if x != nil { + return x.ScreenTimeout + } + return 0 +} + +func (x *DeviceUIConfig) GetScreenLock() bool { + if x != nil { + return x.ScreenLock + } + return false +} + +func (x *DeviceUIConfig) GetSettingsLock() bool { + if x != nil { + return x.SettingsLock + } + return false +} + +func (x *DeviceUIConfig) GetPinCode() uint32 { + if x != nil { + return x.PinCode + } + return 0 +} + +func (x *DeviceUIConfig) GetTheme() Theme { + if x != nil { + return x.Theme + } + return Theme_DARK +} + +func (x *DeviceUIConfig) GetAlertEnabled() bool { + if x != nil { + return x.AlertEnabled + } + return false +} + +func (x *DeviceUIConfig) GetBannerEnabled() bool { + if x != nil { + return x.BannerEnabled + } + return false +} + +func (x *DeviceUIConfig) GetRingToneId() uint32 { + if x != nil { + return x.RingToneId + } + return 0 +} + +func (x *DeviceUIConfig) GetLanguage() Language { + if x != nil { + return x.Language + } + return Language_ENGLISH +} + +func (x *DeviceUIConfig) GetNodeFilter() *NodeFilter { + if x != nil { + return x.NodeFilter + } + return nil +} + +func (x *DeviceUIConfig) GetNodeHighlight() *NodeHighlight { + if x != nil { + return x.NodeHighlight + } + return nil +} + +func (x *DeviceUIConfig) GetCalibrationData() []byte { + if x != nil { + return x.CalibrationData + } + return nil +} + +func (x *DeviceUIConfig) GetMapData() *Map { + if x != nil { + return x.MapData + } + return nil +} + +type NodeFilter struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Filter unknown nodes + UnknownSwitch bool `protobuf:"varint,1,opt,name=unknown_switch,json=unknownSwitch,proto3" json:"unknown_switch,omitempty"` + // Filter offline nodes + OfflineSwitch bool `protobuf:"varint,2,opt,name=offline_switch,json=offlineSwitch,proto3" json:"offline_switch,omitempty"` + // Filter nodes w/o public key + PublicKeySwitch bool `protobuf:"varint,3,opt,name=public_key_switch,json=publicKeySwitch,proto3" json:"public_key_switch,omitempty"` + // Filter based on hops away + HopsAway int32 `protobuf:"varint,4,opt,name=hops_away,json=hopsAway,proto3" json:"hops_away,omitempty"` + // Filter nodes w/o position + PositionSwitch bool `protobuf:"varint,5,opt,name=position_switch,json=positionSwitch,proto3" json:"position_switch,omitempty"` + // Filter nodes by matching name string + NodeName string `protobuf:"bytes,6,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + // Filter based on channel + Channel int32 `protobuf:"varint,7,opt,name=channel,proto3" json:"channel,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeFilter) Reset() { + *x = NodeFilter{} + mi := &file_meshtastic_device_ui_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeFilter) ProtoMessage() {} + +func (x *NodeFilter) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_device_ui_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeFilter.ProtoReflect.Descriptor instead. +func (*NodeFilter) Descriptor() ([]byte, []int) { + return file_meshtastic_device_ui_proto_rawDescGZIP(), []int{1} +} + +func (x *NodeFilter) GetUnknownSwitch() bool { + if x != nil { + return x.UnknownSwitch + } + return false +} + +func (x *NodeFilter) GetOfflineSwitch() bool { + if x != nil { + return x.OfflineSwitch + } + return false +} + +func (x *NodeFilter) GetPublicKeySwitch() bool { + if x != nil { + return x.PublicKeySwitch + } + return false +} + +func (x *NodeFilter) GetHopsAway() int32 { + if x != nil { + return x.HopsAway + } + return 0 +} + +func (x *NodeFilter) GetPositionSwitch() bool { + if x != nil { + return x.PositionSwitch + } + return false +} + +func (x *NodeFilter) GetNodeName() string { + if x != nil { + return x.NodeName + } + return "" +} + +func (x *NodeFilter) GetChannel() int32 { + if x != nil { + return x.Channel + } + return 0 +} + +type NodeHighlight struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Hightlight nodes w/ active chat + ChatSwitch bool `protobuf:"varint,1,opt,name=chat_switch,json=chatSwitch,proto3" json:"chat_switch,omitempty"` + // Highlight nodes w/ position + PositionSwitch bool `protobuf:"varint,2,opt,name=position_switch,json=positionSwitch,proto3" json:"position_switch,omitempty"` + // Highlight nodes w/ telemetry data + TelemetrySwitch bool `protobuf:"varint,3,opt,name=telemetry_switch,json=telemetrySwitch,proto3" json:"telemetry_switch,omitempty"` + // Highlight nodes w/ iaq data + IaqSwitch bool `protobuf:"varint,4,opt,name=iaq_switch,json=iaqSwitch,proto3" json:"iaq_switch,omitempty"` + // Highlight nodes by matching name string + NodeName string `protobuf:"bytes,5,opt,name=node_name,json=nodeName,proto3" json:"node_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeHighlight) Reset() { + *x = NodeHighlight{} + mi := &file_meshtastic_device_ui_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeHighlight) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeHighlight) ProtoMessage() {} + +func (x *NodeHighlight) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_device_ui_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeHighlight.ProtoReflect.Descriptor instead. +func (*NodeHighlight) Descriptor() ([]byte, []int) { + return file_meshtastic_device_ui_proto_rawDescGZIP(), []int{2} +} + +func (x *NodeHighlight) GetChatSwitch() bool { + if x != nil { + return x.ChatSwitch + } + return false +} + +func (x *NodeHighlight) GetPositionSwitch() bool { + if x != nil { + return x.PositionSwitch + } + return false +} + +func (x *NodeHighlight) GetTelemetrySwitch() bool { + if x != nil { + return x.TelemetrySwitch + } + return false +} + +func (x *NodeHighlight) GetIaqSwitch() bool { + if x != nil { + return x.IaqSwitch + } + return false +} + +func (x *NodeHighlight) GetNodeName() string { + if x != nil { + return x.NodeName + } + return "" +} + +type GeoPoint struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Zoom level + Zoom int32 `protobuf:"varint,1,opt,name=zoom,proto3" json:"zoom,omitempty"` + // Coordinate: latitude + Latitude int32 `protobuf:"varint,2,opt,name=latitude,proto3" json:"latitude,omitempty"` + // Coordinate: longitude + Longitude int32 `protobuf:"varint,3,opt,name=longitude,proto3" json:"longitude,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GeoPoint) Reset() { + *x = GeoPoint{} + mi := &file_meshtastic_device_ui_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GeoPoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GeoPoint) ProtoMessage() {} + +func (x *GeoPoint) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_device_ui_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GeoPoint.ProtoReflect.Descriptor instead. +func (*GeoPoint) Descriptor() ([]byte, []int) { + return file_meshtastic_device_ui_proto_rawDescGZIP(), []int{3} +} + +func (x *GeoPoint) GetZoom() int32 { + if x != nil { + return x.Zoom + } + return 0 +} + +func (x *GeoPoint) GetLatitude() int32 { + if x != nil { + return x.Latitude + } + return 0 +} + +func (x *GeoPoint) GetLongitude() int32 { + if x != nil { + return x.Longitude + } + return 0 +} + +type Map struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Home coordinates + Home *GeoPoint `protobuf:"bytes,1,opt,name=home,proto3" json:"home,omitempty"` + // Map tile style + Style string `protobuf:"bytes,2,opt,name=style,proto3" json:"style,omitempty"` + // Map scroll follows GPS + FollowGps bool `protobuf:"varint,3,opt,name=follow_gps,json=followGps,proto3" json:"follow_gps,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Map) Reset() { + *x = Map{} + mi := &file_meshtastic_device_ui_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Map) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Map) ProtoMessage() {} + +func (x *Map) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_device_ui_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Map.ProtoReflect.Descriptor instead. +func (*Map) Descriptor() ([]byte, []int) { + return file_meshtastic_device_ui_proto_rawDescGZIP(), []int{4} +} + +func (x *Map) GetHome() *GeoPoint { + if x != nil { + return x.Home + } + return nil +} + +func (x *Map) GetStyle() string { + if x != nil { + return x.Style + } + return "" +} + +func (x *Map) GetFollowGps() bool { + if x != nil { + return x.FollowGps + } + return false +} + +var File_meshtastic_device_ui_proto protoreflect.FileDescriptor + +const file_meshtastic_device_ui_proto_rawDesc = "" + + "\n" + + "\x1ameshtastic/device_ui.proto\x12\n" + + "meshtastic\"\xfa\x04\n" + + "\x0eDeviceUIConfig\x12\x18\n" + + "\aversion\x18\x01 \x01(\rR\aversion\x12+\n" + + "\x11screen_brightness\x18\x02 \x01(\rR\x10screenBrightness\x12%\n" + + "\x0escreen_timeout\x18\x03 \x01(\rR\rscreenTimeout\x12\x1f\n" + + "\vscreen_lock\x18\x04 \x01(\bR\n" + + "screenLock\x12#\n" + + "\rsettings_lock\x18\x05 \x01(\bR\fsettingsLock\x12\x19\n" + + "\bpin_code\x18\x06 \x01(\rR\apinCode\x12'\n" + + "\x05theme\x18\a \x01(\x0e2\x11.meshtastic.ThemeR\x05theme\x12#\n" + + "\ralert_enabled\x18\b \x01(\bR\falertEnabled\x12%\n" + + "\x0ebanner_enabled\x18\t \x01(\bR\rbannerEnabled\x12 \n" + + "\fring_tone_id\x18\n" + + " \x01(\rR\n" + + "ringToneId\x120\n" + + "\blanguage\x18\v \x01(\x0e2\x14.meshtastic.LanguageR\blanguage\x127\n" + + "\vnode_filter\x18\f \x01(\v2\x16.meshtastic.NodeFilterR\n" + + "nodeFilter\x12@\n" + + "\x0enode_highlight\x18\r \x01(\v2\x19.meshtastic.NodeHighlightR\rnodeHighlight\x12)\n" + + "\x10calibration_data\x18\x0e \x01(\fR\x0fcalibrationData\x12*\n" + + "\bmap_data\x18\x0f \x01(\v2\x0f.meshtastic.MapR\amapData\"\x83\x02\n" + + "\n" + + "NodeFilter\x12%\n" + + "\x0eunknown_switch\x18\x01 \x01(\bR\runknownSwitch\x12%\n" + + "\x0eoffline_switch\x18\x02 \x01(\bR\rofflineSwitch\x12*\n" + + "\x11public_key_switch\x18\x03 \x01(\bR\x0fpublicKeySwitch\x12\x1b\n" + + "\thops_away\x18\x04 \x01(\x05R\bhopsAway\x12'\n" + + "\x0fposition_switch\x18\x05 \x01(\bR\x0epositionSwitch\x12\x1b\n" + + "\tnode_name\x18\x06 \x01(\tR\bnodeName\x12\x18\n" + + "\achannel\x18\a \x01(\x05R\achannel\"\xc0\x01\n" + + "\rNodeHighlight\x12\x1f\n" + + "\vchat_switch\x18\x01 \x01(\bR\n" + + "chatSwitch\x12'\n" + + "\x0fposition_switch\x18\x02 \x01(\bR\x0epositionSwitch\x12)\n" + + "\x10telemetry_switch\x18\x03 \x01(\bR\x0ftelemetrySwitch\x12\x1d\n" + + "\n" + + "iaq_switch\x18\x04 \x01(\bR\tiaqSwitch\x12\x1b\n" + + "\tnode_name\x18\x05 \x01(\tR\bnodeName\"X\n" + + "\bGeoPoint\x12\x12\n" + + "\x04zoom\x18\x01 \x01(\x05R\x04zoom\x12\x1a\n" + + "\blatitude\x18\x02 \x01(\x05R\blatitude\x12\x1c\n" + + "\tlongitude\x18\x03 \x01(\x05R\tlongitude\"d\n" + + "\x03Map\x12(\n" + + "\x04home\x18\x01 \x01(\v2\x14.meshtastic.GeoPointR\x04home\x12\x14\n" + + "\x05style\x18\x02 \x01(\tR\x05style\x12\x1d\n" + + "\n" + + "follow_gps\x18\x03 \x01(\bR\tfollowGps*%\n" + + "\x05Theme\x12\b\n" + + "\x04DARK\x10\x00\x12\t\n" + + "\x05LIGHT\x10\x01\x12\a\n" + + "\x03RED\x10\x02*\x9a\x02\n" + + "\bLanguage\x12\v\n" + + "\aENGLISH\x10\x00\x12\n" + + "\n" + + "\x06FRENCH\x10\x01\x12\n" + + "\n" + + "\x06GERMAN\x10\x02\x12\v\n" + + "\aITALIAN\x10\x03\x12\x0e\n" + + "\n" + + "PORTUGUESE\x10\x04\x12\v\n" + + "\aSPANISH\x10\x05\x12\v\n" + + "\aSWEDISH\x10\x06\x12\v\n" + + "\aFINNISH\x10\a\x12\n" + + "\n" + + "\x06POLISH\x10\b\x12\v\n" + + "\aTURKISH\x10\t\x12\v\n" + + "\aSERBIAN\x10\n" + + "\x12\v\n" + + "\aRUSSIAN\x10\v\x12\t\n" + + "\x05DUTCH\x10\f\x12\t\n" + + "\x05GREEK\x10\r\x12\r\n" + + "\tNORWEGIAN\x10\x0e\x12\r\n" + + "\tSLOVENIAN\x10\x0f\x12\r\n" + + "\tUKRAINIAN\x10\x10\x12\x16\n" + + "\x12SIMPLIFIED_CHINESE\x10\x1e\x12\x17\n" + + "\x13TRADITIONAL_CHINESE\x10\x1fBc\n" + + "\x13com.geeksville.meshB\x0eDeviceUIProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + +var ( + file_meshtastic_device_ui_proto_rawDescOnce sync.Once + file_meshtastic_device_ui_proto_rawDescData []byte +) + +func file_meshtastic_device_ui_proto_rawDescGZIP() []byte { + file_meshtastic_device_ui_proto_rawDescOnce.Do(func() { + file_meshtastic_device_ui_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_device_ui_proto_rawDesc), len(file_meshtastic_device_ui_proto_rawDesc))) + }) + return file_meshtastic_device_ui_proto_rawDescData +} + +var file_meshtastic_device_ui_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_meshtastic_device_ui_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_meshtastic_device_ui_proto_goTypes = []any{ + (Theme)(0), // 0: meshtastic.Theme + (Language)(0), // 1: meshtastic.Language + (*DeviceUIConfig)(nil), // 2: meshtastic.DeviceUIConfig + (*NodeFilter)(nil), // 3: meshtastic.NodeFilter + (*NodeHighlight)(nil), // 4: meshtastic.NodeHighlight + (*GeoPoint)(nil), // 5: meshtastic.GeoPoint + (*Map)(nil), // 6: meshtastic.Map +} +var file_meshtastic_device_ui_proto_depIdxs = []int32{ + 0, // 0: meshtastic.DeviceUIConfig.theme:type_name -> meshtastic.Theme + 1, // 1: meshtastic.DeviceUIConfig.language:type_name -> meshtastic.Language + 3, // 2: meshtastic.DeviceUIConfig.node_filter:type_name -> meshtastic.NodeFilter + 4, // 3: meshtastic.DeviceUIConfig.node_highlight:type_name -> meshtastic.NodeHighlight + 6, // 4: meshtastic.DeviceUIConfig.map_data:type_name -> meshtastic.Map + 5, // 5: meshtastic.Map.home:type_name -> meshtastic.GeoPoint + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_meshtastic_device_ui_proto_init() } +func file_meshtastic_device_ui_proto_init() { + if File_meshtastic_device_ui_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_device_ui_proto_rawDesc), len(file_meshtastic_device_ui_proto_rawDesc)), + NumEnums: 2, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_device_ui_proto_goTypes, + DependencyIndexes: file_meshtastic_device_ui_proto_depIdxs, + EnumInfos: file_meshtastic_device_ui_proto_enumTypes, + MessageInfos: file_meshtastic_device_ui_proto_msgTypes, + }.Build() + File_meshtastic_device_ui_proto = out.File + file_meshtastic_device_ui_proto_goTypes = nil + file_meshtastic_device_ui_proto_depIdxs = nil +} diff --git a/meshtastic/device_ui_vtproto.pb.go b/meshtastic/device_ui_vtproto.pb.go new file mode 100644 index 0000000..a997d14 --- /dev/null +++ b/meshtastic/device_ui_vtproto.pb.go @@ -0,0 +1,1617 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/device_ui.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *DeviceUIConfig) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeviceUIConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DeviceUIConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.MapData != nil { + size, err := m.MapData.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x7a + } + if len(m.CalibrationData) > 0 { + i -= len(m.CalibrationData) + copy(dAtA[i:], m.CalibrationData) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalibrationData))) + i-- + dAtA[i] = 0x72 + } + if m.NodeHighlight != nil { + size, err := m.NodeHighlight.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + if m.NodeFilter != nil { + size, err := m.NodeFilter.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + if m.Language != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Language)) + i-- + dAtA[i] = 0x58 + } + if m.RingToneId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RingToneId)) + i-- + dAtA[i] = 0x50 + } + if m.BannerEnabled { + i-- + if m.BannerEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.AlertEnabled { + i-- + if m.AlertEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.Theme != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Theme)) + i-- + dAtA[i] = 0x38 + } + if m.PinCode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PinCode)) + i-- + dAtA[i] = 0x30 + } + if m.SettingsLock { + i-- + if m.SettingsLock { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.ScreenLock { + i-- + if m.ScreenLock { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.ScreenTimeout != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ScreenTimeout)) + i-- + dAtA[i] = 0x18 + } + if m.ScreenBrightness != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ScreenBrightness)) + i-- + dAtA[i] = 0x10 + } + if m.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *NodeFilter) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NodeFilter) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NodeFilter) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Channel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Channel)) + i-- + dAtA[i] = 0x38 + } + if len(m.NodeName) > 0 { + i -= len(m.NodeName) + copy(dAtA[i:], m.NodeName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NodeName))) + i-- + dAtA[i] = 0x32 + } + if m.PositionSwitch { + i-- + if m.PositionSwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.HopsAway != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HopsAway)) + i-- + dAtA[i] = 0x20 + } + if m.PublicKeySwitch { + i-- + if m.PublicKeySwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.OfflineSwitch { + i-- + if m.OfflineSwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.UnknownSwitch { + i-- + if m.UnknownSwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *NodeHighlight) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NodeHighlight) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NodeHighlight) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.NodeName) > 0 { + i -= len(m.NodeName) + copy(dAtA[i:], m.NodeName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NodeName))) + i-- + dAtA[i] = 0x2a + } + if m.IaqSwitch { + i-- + if m.IaqSwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.TelemetrySwitch { + i-- + if m.TelemetrySwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.PositionSwitch { + i-- + if m.PositionSwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.ChatSwitch { + i-- + if m.ChatSwitch { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *GeoPoint) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GeoPoint) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *GeoPoint) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Longitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Longitude)) + i-- + dAtA[i] = 0x18 + } + if m.Latitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Latitude)) + i-- + dAtA[i] = 0x10 + } + if m.Zoom != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Zoom)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Map) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Map) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Map) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.FollowGps { + i-- + if m.FollowGps { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.Style) > 0 { + i -= len(m.Style) + copy(dAtA[i:], m.Style) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Style))) + i-- + dAtA[i] = 0x12 + } + if m.Home != nil { + size, err := m.Home.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *DeviceUIConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Version != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) + } + if m.ScreenBrightness != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ScreenBrightness)) + } + if m.ScreenTimeout != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ScreenTimeout)) + } + if m.ScreenLock { + n += 2 + } + if m.SettingsLock { + n += 2 + } + if m.PinCode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PinCode)) + } + if m.Theme != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Theme)) + } + if m.AlertEnabled { + n += 2 + } + if m.BannerEnabled { + n += 2 + } + if m.RingToneId != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RingToneId)) + } + if m.Language != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Language)) + } + if m.NodeFilter != nil { + l = m.NodeFilter.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.NodeHighlight != nil { + l = m.NodeHighlight.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.CalibrationData) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MapData != nil { + l = m.MapData.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *NodeFilter) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.UnknownSwitch { + n += 2 + } + if m.OfflineSwitch { + n += 2 + } + if m.PublicKeySwitch { + n += 2 + } + if m.HopsAway != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HopsAway)) + } + if m.PositionSwitch { + n += 2 + } + l = len(m.NodeName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Channel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Channel)) + } + n += len(m.unknownFields) + return n +} + +func (m *NodeHighlight) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ChatSwitch { + n += 2 + } + if m.PositionSwitch { + n += 2 + } + if m.TelemetrySwitch { + n += 2 + } + if m.IaqSwitch { + n += 2 + } + l = len(m.NodeName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *GeoPoint) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Zoom != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Zoom)) + } + if m.Latitude != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Latitude)) + } + if m.Longitude != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Longitude)) + } + n += len(m.unknownFields) + return n +} + +func (m *Map) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Home != nil { + l = m.Home.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Style) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.FollowGps { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *DeviceUIConfig) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DeviceUIConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceUIConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + m.Version = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Version |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScreenBrightness", wireType) + } + m.ScreenBrightness = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ScreenBrightness |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScreenTimeout", wireType) + } + m.ScreenTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ScreenTimeout |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScreenLock", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ScreenLock = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SettingsLock", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SettingsLock = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PinCode", wireType) + } + m.PinCode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PinCode |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Theme", wireType) + } + m.Theme = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Theme |= Theme(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.AlertEnabled = bool(v != 0) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BannerEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.BannerEnabled = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RingToneId", wireType) + } + m.RingToneId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RingToneId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Language", wireType) + } + m.Language = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Language |= Language(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeFilter", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NodeFilter == nil { + m.NodeFilter = &NodeFilter{} + } + if err := m.NodeFilter.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeHighlight", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NodeHighlight == nil { + m.NodeHighlight = &NodeHighlight{} + } + if err := m.NodeHighlight.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalibrationData", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalibrationData = append(m.CalibrationData[:0], dAtA[iNdEx:postIndex]...) + if m.CalibrationData == nil { + m.CalibrationData = []byte{} + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MapData", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MapData == nil { + m.MapData = &Map{} + } + if err := m.MapData.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NodeFilter) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NodeFilter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NodeFilter: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UnknownSwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.UnknownSwitch = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OfflineSwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.OfflineSwitch = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicKeySwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PublicKeySwitch = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HopsAway", wireType) + } + m.HopsAway = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HopsAway |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionSwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PositionSwitch = bool(v != 0) + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NodeName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) + } + m.Channel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Channel |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NodeHighlight) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NodeHighlight: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NodeHighlight: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ChatSwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ChatSwitch = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionSwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PositionSwitch = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TelemetrySwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TelemetrySwitch = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IaqSwitch", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IaqSwitch = bool(v != 0) + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NodeName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GeoPoint) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GeoPoint: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GeoPoint: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Zoom", wireType) + } + m.Zoom = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Zoom |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Latitude", wireType) + } + m.Latitude = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Latitude |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Longitude", wireType) + } + m.Longitude = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Longitude |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Map) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Map: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Map: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Home", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Home == nil { + m.Home = &GeoPoint{} + } + if err := m.Home.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Style", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Style = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FollowGps", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.FollowGps = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/meshtastic/deviceonly.pb.go b/meshtastic/deviceonly.pb.go index dfe32c8..66f389b 100644 --- a/meshtastic/deviceonly.pb.go +++ b/meshtastic/deviceonly.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/deviceonly.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -20,116 +21,140 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// TODO: REPLACE -type ScreenFonts int32 - -const ( - // TODO: REPLACE - ScreenFonts_FONT_SMALL ScreenFonts = 0 +// Position with static location information only for NodeDBLite +type PositionLite struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The new preferred location encoding, multiply by 1e-7 to get degrees + // in floating point + LatitudeI int32 `protobuf:"fixed32,1,opt,name=latitude_i,json=latitudeI,proto3" json:"latitude_i,omitempty"` // TODO: REPLACE - ScreenFonts_FONT_MEDIUM ScreenFonts = 1 + LongitudeI int32 `protobuf:"fixed32,2,opt,name=longitude_i,json=longitudeI,proto3" json:"longitude_i,omitempty"` + // In meters above MSL (but see issue #359) + Altitude int32 `protobuf:"varint,3,opt,name=altitude,proto3" json:"altitude,omitempty"` + // This is usually not sent over the mesh (to save space), but it is sent + // from the phone so that the local device can set its RTC If it is sent over + // the mesh (because there are devices on the mesh without GPS), it will only + // be sent by devices which has a hardware GPS clock. + // seconds since 1970 + Time uint32 `protobuf:"fixed32,4,opt,name=time,proto3" json:"time,omitempty"` // TODO: REPLACE - ScreenFonts_FONT_LARGE ScreenFonts = 2 -) - -// Enum value maps for ScreenFonts. -var ( - ScreenFonts_name = map[int32]string{ - 0: "FONT_SMALL", - 1: "FONT_MEDIUM", - 2: "FONT_LARGE", - } - ScreenFonts_value = map[string]int32{ - "FONT_SMALL": 0, - "FONT_MEDIUM": 1, - "FONT_LARGE": 2, - } -) + LocationSource Position_LocSource `protobuf:"varint,5,opt,name=location_source,json=locationSource,proto3,enum=meshtastic.Position_LocSource" json:"location_source,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} -func (x ScreenFonts) Enum() *ScreenFonts { - p := new(ScreenFonts) - *p = x - return p +func (x *PositionLite) Reset() { + *x = PositionLite{} + mi := &file_meshtastic_deviceonly_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x ScreenFonts) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +func (x *PositionLite) String() string { + return protoimpl.X.MessageStringOf(x) } -func (ScreenFonts) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_deviceonly_proto_enumTypes[0].Descriptor() +func (*PositionLite) ProtoMessage() {} + +func (x *PositionLite) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (ScreenFonts) Type() protoreflect.EnumType { - return &file_meshtastic_deviceonly_proto_enumTypes[0] +// Deprecated: Use PositionLite.ProtoReflect.Descriptor instead. +func (*PositionLite) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{0} } -func (x ScreenFonts) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) +func (x *PositionLite) GetLatitudeI() int32 { + if x != nil { + return x.LatitudeI + } + return 0 } -// Deprecated: Use ScreenFonts.Descriptor instead. -func (ScreenFonts) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{0} +func (x *PositionLite) GetLongitudeI() int32 { + if x != nil { + return x.LongitudeI + } + return 0 } -// This message is never sent over the wire, but it is used for serializing DB -// state to flash in the device code -// FIXME, since we write this each time we enter deep sleep (and have infinite -// flash) it would be better to use some sort of append only data structure for -// the receive queue and use the preferences store for the other stuff -type DeviceState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *PositionLite) GetAltitude() int32 { + if x != nil { + return x.Altitude + } + return 0 +} - // Read only settings/info about this node - MyNode *MyNodeInfo `protobuf:"bytes,2,opt,name=my_node,json=myNode,proto3" json:"my_node,omitempty"` - // My owner info - Owner *User `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` - // Received packets saved for delivery to the phone - ReceiveQueue []*MeshPacket `protobuf:"bytes,5,rep,name=receive_queue,json=receiveQueue,proto3" json:"receive_queue,omitempty"` - // 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 - // NodeDB.cpp in the device code. - Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` - // We keep the last received text message (only) stored in the device flash, - // so we can show it on the screen. - // Might be null - RxTextMessage *MeshPacket `protobuf:"bytes,7,opt,name=rx_text_message,json=rxTextMessage,proto3" json:"rx_text_message,omitempty"` - // Used only during development. - // Indicates developer is testing and changes should never be saved to flash. - NoSave bool `protobuf:"varint,9,opt,name=no_save,json=noSave,proto3" json:"no_save,omitempty"` - // Some GPS receivers seem to have bogus settings from the factory, so we always do one factory reset. - DidGpsReset bool `protobuf:"varint,11,opt,name=did_gps_reset,json=didGpsReset,proto3" json:"did_gps_reset,omitempty"` - // We keep the last received waypoint stored in the device flash, - // so we can show it on the screen. - // Might be null - RxWaypoint *MeshPacket `protobuf:"bytes,12,opt,name=rx_waypoint,json=rxWaypoint,proto3" json:"rx_waypoint,omitempty"` - // The mesh's nodes with their available gpio pins for RemoteHardware module - NodeRemoteHardwarePins []*NodeRemoteHardwarePin `protobuf:"bytes,13,rep,name=node_remote_hardware_pins,json=nodeRemoteHardwarePins,proto3" json:"node_remote_hardware_pins,omitempty"` - // New lite version of NodeDB to decrease memory footprint - NodeDbLite []*NodeInfoLite `protobuf:"bytes,14,rep,name=node_db_lite,json=nodeDbLite,proto3" json:"node_db_lite,omitempty"` +func (x *PositionLite) GetTime() uint32 { + if x != nil { + return x.Time + } + return 0 } -func (x *DeviceState) Reset() { - *x = DeviceState{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_deviceonly_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *PositionLite) GetLocationSource() Position_LocSource { + if x != nil { + return x.LocationSource } + return Position_LOC_UNSET } -func (x *DeviceState) String() string { +type UserLite struct { + state protoimpl.MessageState `protogen:"open.v1"` + // This is the addr of the radio. + // + // Deprecated: Marked as deprecated in meshtastic/deviceonly.proto. + Macaddr []byte `protobuf:"bytes,1,opt,name=macaddr,proto3" json:"macaddr,omitempty"` + // A full name for this user, i.e. "Kevin Hester" + LongName string `protobuf:"bytes,2,opt,name=long_name,json=longName,proto3" json:"long_name,omitempty"` + // A VERY short name, ideally two characters. + // Suitable for a tiny OLED screen + ShortName string `protobuf:"bytes,3,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"` + // TBEAM, HELTEC, etc... + // Starting in 1.2.11 moved to hw_model enum in the NodeInfo object. + // Apps will still need the string here for older builds + // (so OTA update can find the right image), but if the enum is available it will be used instead. + HwModel HardwareModel `protobuf:"varint,4,opt,name=hw_model,json=hwModel,proto3,enum=meshtastic.HardwareModel" json:"hw_model,omitempty"` + // In some regions Ham radio operators have different bandwidth limitations than others. + // If this user is a licensed operator, set this flag. + // Also, "long_name" should be their licence number. + IsLicensed bool `protobuf:"varint,5,opt,name=is_licensed,json=isLicensed,proto3" json:"is_licensed,omitempty"` + // Indicates that the user's role in the mesh + Role Config_DeviceConfig_Role `protobuf:"varint,6,opt,name=role,proto3,enum=meshtastic.Config_DeviceConfig_Role" json:"role,omitempty"` + // The public key of the user's device. + // This is sent out to other nodes on the mesh to allow them to compute a shared secret key. + PublicKey []byte `protobuf:"bytes,7,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + // Whether or not the node can be messaged + IsUnmessagable *bool `protobuf:"varint,9,opt,name=is_unmessagable,json=isUnmessagable,proto3,oneof" json:"is_unmessagable,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserLite) Reset() { + *x = UserLite{} + mi := &file_meshtastic_deviceonly_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserLite) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeviceState) ProtoMessage() {} +func (*UserLite) ProtoMessage() {} -func (x *DeviceState) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_deviceonly_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { +func (x *UserLite) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[1] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -139,90 +164,74 @@ func (x *DeviceState) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeviceState.ProtoReflect.Descriptor instead. -func (*DeviceState) Descriptor() ([]byte, []int) { - return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{0} -} - -func (x *DeviceState) GetMyNode() *MyNodeInfo { - if x != nil { - return x.MyNode - } - return nil -} - -func (x *DeviceState) GetOwner() *User { - if x != nil { - return x.Owner - } - return nil +// Deprecated: Use UserLite.ProtoReflect.Descriptor instead. +func (*UserLite) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{1} } -func (x *DeviceState) GetReceiveQueue() []*MeshPacket { +// Deprecated: Marked as deprecated in meshtastic/deviceonly.proto. +func (x *UserLite) GetMacaddr() []byte { if x != nil { - return x.ReceiveQueue + return x.Macaddr } return nil } -func (x *DeviceState) GetVersion() uint32 { +func (x *UserLite) GetLongName() string { if x != nil { - return x.Version + return x.LongName } - return 0 + return "" } -func (x *DeviceState) GetRxTextMessage() *MeshPacket { +func (x *UserLite) GetShortName() string { if x != nil { - return x.RxTextMessage + return x.ShortName } - return nil + return "" } -func (x *DeviceState) GetNoSave() bool { +func (x *UserLite) GetHwModel() HardwareModel { if x != nil { - return x.NoSave + return x.HwModel } - return false + return HardwareModel_UNSET } -func (x *DeviceState) GetDidGpsReset() bool { +func (x *UserLite) GetIsLicensed() bool { if x != nil { - return x.DidGpsReset + return x.IsLicensed } return false } -func (x *DeviceState) GetRxWaypoint() *MeshPacket { +func (x *UserLite) GetRole() Config_DeviceConfig_Role { if x != nil { - return x.RxWaypoint + return x.Role } - return nil + return Config_DeviceConfig_CLIENT } -func (x *DeviceState) GetNodeRemoteHardwarePins() []*NodeRemoteHardwarePin { +func (x *UserLite) GetPublicKey() []byte { if x != nil { - return x.NodeRemoteHardwarePins + return x.PublicKey } return nil } -func (x *DeviceState) GetNodeDbLite() []*NodeInfoLite { - if x != nil { - return x.NodeDbLite +func (x *UserLite) GetIsUnmessagable() bool { + if x != nil && x.IsUnmessagable != nil { + return *x.IsUnmessagable } - return nil + return false } type NodeInfoLite struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The node number Num uint32 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` // The user info for this node - User *User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + User *UserLite `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` // This position data. Note: before 1.2.14 we would also store the last time we've heard from this node in position.time, that is no longer true. // Position.time now indicates the last time we received a POSITION from that node. Position *PositionLite `protobuf:"bytes,3,opt,name=position,proto3" json:"position,omitempty"` @@ -235,15 +244,30 @@ type NodeInfoLite struct { DeviceMetrics *DeviceMetrics `protobuf:"bytes,6,opt,name=device_metrics,json=deviceMetrics,proto3" json:"device_metrics,omitempty"` // local channel index we heard that node on. Only populated if its not the default channel. Channel uint32 `protobuf:"varint,7,opt,name=channel,proto3" json:"channel,omitempty"` + // True if we witnessed the node over MQTT instead of LoRA transport + ViaMqtt bool `protobuf:"varint,8,opt,name=via_mqtt,json=viaMqtt,proto3" json:"via_mqtt,omitempty"` + // Number of hops away from us this node is (0 if direct neighbor) + HopsAway *uint32 `protobuf:"varint,9,opt,name=hops_away,json=hopsAway,proto3,oneof" json:"hops_away,omitempty"` + // True if node is in our favorites list + // Persists between NodeDB internal clean ups + IsFavorite bool `protobuf:"varint,10,opt,name=is_favorite,json=isFavorite,proto3" json:"is_favorite,omitempty"` + // True if node is in our ignored list + // Persists between NodeDB internal clean ups + IsIgnored bool `protobuf:"varint,11,opt,name=is_ignored,json=isIgnored,proto3" json:"is_ignored,omitempty"` + // Last byte of the node number of the node that should be used as the next hop to reach this node. + NextHop uint32 `protobuf:"varint,12,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` + // Bitfield for storing booleans. + // LSB 0 is_key_manually_verified + Bitfield uint32 `protobuf:"varint,13,opt,name=bitfield,proto3" json:"bitfield,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NodeInfoLite) Reset() { *x = NodeInfoLite{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_deviceonly_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_deviceonly_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NodeInfoLite) String() string { @@ -253,8 +277,8 @@ func (x *NodeInfoLite) String() string { func (*NodeInfoLite) ProtoMessage() {} func (x *NodeInfoLite) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_deviceonly_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_deviceonly_proto_msgTypes[2] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -266,7 +290,7 @@ func (x *NodeInfoLite) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeInfoLite.ProtoReflect.Descriptor instead. func (*NodeInfoLite) Descriptor() ([]byte, []int) { - return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{1} + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{2} } func (x *NodeInfoLite) GetNum() uint32 { @@ -276,7 +300,7 @@ func (x *NodeInfoLite) GetNum() uint32 { return 0 } -func (x *NodeInfoLite) GetUser() *User { +func (x *NodeInfoLite) GetUser() *UserLite { if x != nil { return x.User } @@ -318,47 +342,106 @@ func (x *NodeInfoLite) GetChannel() uint32 { return 0 } -// Position with static location information only for NodeDBLite -type PositionLite struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *NodeInfoLite) GetViaMqtt() bool { + if x != nil { + return x.ViaMqtt + } + return false +} - // The new preferred location encoding, multiply by 1e-7 to get degrees - // in floating point - LatitudeI int32 `protobuf:"fixed32,1,opt,name=latitude_i,json=latitudeI,proto3" json:"latitude_i,omitempty"` - // TODO: REPLACE - LongitudeI int32 `protobuf:"fixed32,2,opt,name=longitude_i,json=longitudeI,proto3" json:"longitude_i,omitempty"` - // In meters above MSL (but see issue #359) - Altitude int32 `protobuf:"varint,3,opt,name=altitude,proto3" json:"altitude,omitempty"` - // This is usually not sent over the mesh (to save space), but it is sent - // from the phone so that the local device can set its RTC If it is sent over - // the mesh (because there are devices on the mesh without GPS), it will only - // be sent by devices which has a hardware GPS clock. - // seconds since 1970 - Time uint32 `protobuf:"fixed32,4,opt,name=time,proto3" json:"time,omitempty"` - // TODO: REPLACE - LocationSource Position_LocSource `protobuf:"varint,5,opt,name=location_source,json=locationSource,proto3,enum=meshtastic.Position_LocSource" json:"location_source,omitempty"` +func (x *NodeInfoLite) GetHopsAway() uint32 { + if x != nil && x.HopsAway != nil { + return *x.HopsAway + } + return 0 } -func (x *PositionLite) Reset() { - *x = PositionLite{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_deviceonly_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *NodeInfoLite) GetIsFavorite() bool { + if x != nil { + return x.IsFavorite + } + return false +} + +func (x *NodeInfoLite) GetIsIgnored() bool { + if x != nil { + return x.IsIgnored } + return false } -func (x *PositionLite) String() string { +func (x *NodeInfoLite) GetNextHop() uint32 { + if x != nil { + return x.NextHop + } + return 0 +} + +func (x *NodeInfoLite) GetBitfield() uint32 { + if x != nil { + return x.Bitfield + } + return 0 +} + +// This message is never sent over the wire, but it is used for serializing DB +// state to flash in the device code +// FIXME, since we write this each time we enter deep sleep (and have infinite +// flash) it would be better to use some sort of append only data structure for +// the receive queue and use the preferences store for the other stuff +type DeviceState struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Read only settings/info about this node + MyNode *MyNodeInfo `protobuf:"bytes,2,opt,name=my_node,json=myNode,proto3" json:"my_node,omitempty"` + // My owner info + Owner *User `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` + // Received packets saved for delivery to the phone + ReceiveQueue []*MeshPacket `protobuf:"bytes,5,rep,name=receive_queue,json=receiveQueue,proto3" json:"receive_queue,omitempty"` + // 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 + // NodeDB.cpp in the device code. + Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` + // We keep the last received text message (only) stored in the device flash, + // so we can show it on the screen. + // Might be null + RxTextMessage *MeshPacket `protobuf:"bytes,7,opt,name=rx_text_message,json=rxTextMessage,proto3" json:"rx_text_message,omitempty"` + // Used only during development. + // Indicates developer is testing and changes should never be saved to flash. + // Deprecated in 2.3.1 + // + // Deprecated: Marked as deprecated in meshtastic/deviceonly.proto. + NoSave bool `protobuf:"varint,9,opt,name=no_save,json=noSave,proto3" json:"no_save,omitempty"` + // Previously used to manage GPS factory resets. + // Deprecated in 2.5.23 + // + // Deprecated: Marked as deprecated in meshtastic/deviceonly.proto. + DidGpsReset bool `protobuf:"varint,11,opt,name=did_gps_reset,json=didGpsReset,proto3" json:"did_gps_reset,omitempty"` + // We keep the last received waypoint stored in the device flash, + // so we can show it on the screen. + // Might be null + RxWaypoint *MeshPacket `protobuf:"bytes,12,opt,name=rx_waypoint,json=rxWaypoint,proto3" json:"rx_waypoint,omitempty"` + // The mesh's nodes with their available gpio pins for RemoteHardware module + NodeRemoteHardwarePins []*NodeRemoteHardwarePin `protobuf:"bytes,13,rep,name=node_remote_hardware_pins,json=nodeRemoteHardwarePins,proto3" json:"node_remote_hardware_pins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeviceState) Reset() { + *x = DeviceState{} + mi := &file_meshtastic_deviceonly_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeviceState) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PositionLite) ProtoMessage() {} +func (*DeviceState) ProtoMessage() {} -func (x *PositionLite) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_deviceonly_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { +func (x *DeviceState) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[3] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -368,67 +451,150 @@ func (x *PositionLite) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PositionLite.ProtoReflect.Descriptor instead. -func (*PositionLite) Descriptor() ([]byte, []int) { - return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{2} +// Deprecated: Use DeviceState.ProtoReflect.Descriptor instead. +func (*DeviceState) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{3} } -func (x *PositionLite) GetLatitudeI() int32 { +func (x *DeviceState) GetMyNode() *MyNodeInfo { if x != nil { - return x.LatitudeI + return x.MyNode } - return 0 + return nil } -func (x *PositionLite) GetLongitudeI() int32 { +func (x *DeviceState) GetOwner() *User { if x != nil { - return x.LongitudeI + return x.Owner } - return 0 + return nil } -func (x *PositionLite) GetAltitude() int32 { +func (x *DeviceState) GetReceiveQueue() []*MeshPacket { if x != nil { - return x.Altitude + return x.ReceiveQueue + } + return nil +} + +func (x *DeviceState) GetVersion() uint32 { + if x != nil { + return x.Version } return 0 } -func (x *PositionLite) GetTime() uint32 { +func (x *DeviceState) GetRxTextMessage() *MeshPacket { if x != nil { - return x.Time + return x.RxTextMessage + } + return nil +} + +// Deprecated: Marked as deprecated in meshtastic/deviceonly.proto. +func (x *DeviceState) GetNoSave() bool { + if x != nil { + return x.NoSave + } + return false +} + +// Deprecated: Marked as deprecated in meshtastic/deviceonly.proto. +func (x *DeviceState) GetDidGpsReset() bool { + if x != nil { + return x.DidGpsReset + } + return false +} + +func (x *DeviceState) GetRxWaypoint() *MeshPacket { + if x != nil { + return x.RxWaypoint + } + return nil +} + +func (x *DeviceState) GetNodeRemoteHardwarePins() []*NodeRemoteHardwarePin { + if x != nil { + return x.NodeRemoteHardwarePins + } + return nil +} + +type NodeDatabase struct { + state protoimpl.MessageState `protogen:"open.v1"` + // 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 + // NodeDB.cpp in the device code. + Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + // New lite version of NodeDB to decrease memory footprint + Nodes []*NodeInfoLite `protobuf:"bytes,2,rep,name=nodes,proto3" json:"nodes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeDatabase) Reset() { + *x = NodeDatabase{} + mi := &file_meshtastic_deviceonly_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeDatabase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeDatabase) ProtoMessage() {} + +func (x *NodeDatabase) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeDatabase.ProtoReflect.Descriptor instead. +func (*NodeDatabase) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{4} +} + +func (x *NodeDatabase) GetVersion() uint32 { + if x != nil { + return x.Version } return 0 } -func (x *PositionLite) GetLocationSource() Position_LocSource { +func (x *NodeDatabase) GetNodes() []*NodeInfoLite { if x != nil { - return x.LocationSource + return x.Nodes } - return Position_LOC_UNSET + return nil } // The on-disk saved channels type ChannelFile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The channels our node knows about Channels []*Channel `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` // 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 // NodeDB.cpp in the device code. - Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChannelFile) Reset() { *x = ChannelFile{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_deviceonly_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_deviceonly_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChannelFile) String() string { @@ -438,8 +604,8 @@ func (x *ChannelFile) String() string { func (*ChannelFile) ProtoMessage() {} func (x *ChannelFile) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_deviceonly_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_deviceonly_proto_msgTypes[5] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -451,7 +617,7 @@ func (x *ChannelFile) ProtoReflect() protoreflect.Message { // Deprecated: Use ChannelFile.ProtoReflect.Descriptor instead. func (*ChannelFile) Descriptor() ([]byte, []int) { - return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{3} + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{5} } func (x *ChannelFile) GetChannels() []*Channel { @@ -468,49 +634,41 @@ func (x *ChannelFile) GetVersion() uint32 { return 0 } -// This can be used for customizing the firmware distribution. If populated, -// show a secondary bootup screen with custom logo and text for 2.5 seconds. -type OEMStore struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +// The on-disk backup of the node's preferences +type BackupPreferences struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The version of the backup + Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + // The timestamp of the backup (if node has time) + Timestamp uint32 `protobuf:"fixed32,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // The node's configuration + Config *LocalConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` + // The node's module configuration + ModuleConfig *LocalModuleConfig `protobuf:"bytes,4,opt,name=module_config,json=moduleConfig,proto3" json:"module_config,omitempty"` + // The node's channels + Channels *ChannelFile `protobuf:"bytes,5,opt,name=channels,proto3" json:"channels,omitempty"` + // The node's user (owner) information + Owner *User `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} - // The Logo width in Px - OemIconWidth uint32 `protobuf:"varint,1,opt,name=oem_icon_width,json=oemIconWidth,proto3" json:"oem_icon_width,omitempty"` - // The Logo height in Px - OemIconHeight uint32 `protobuf:"varint,2,opt,name=oem_icon_height,json=oemIconHeight,proto3" json:"oem_icon_height,omitempty"` - // The Logo in XBM bytechar format - OemIconBits []byte `protobuf:"bytes,3,opt,name=oem_icon_bits,json=oemIconBits,proto3" json:"oem_icon_bits,omitempty"` - // Use this font for the OEM text. - OemFont ScreenFonts `protobuf:"varint,4,opt,name=oem_font,json=oemFont,proto3,enum=meshtastic.ScreenFonts" json:"oem_font,omitempty"` - // Use this font for the OEM text. - OemText string `protobuf:"bytes,5,opt,name=oem_text,json=oemText,proto3" json:"oem_text,omitempty"` - // The default device encryption key, 16 or 32 byte - OemAesKey []byte `protobuf:"bytes,6,opt,name=oem_aes_key,json=oemAesKey,proto3" json:"oem_aes_key,omitempty"` - // A Preset LocalConfig to apply during factory reset - OemLocalConfig *LocalConfig `protobuf:"bytes,7,opt,name=oem_local_config,json=oemLocalConfig,proto3" json:"oem_local_config,omitempty"` - // A Preset LocalModuleConfig to apply during factory reset - OemLocalModuleConfig *LocalModuleConfig `protobuf:"bytes,8,opt,name=oem_local_module_config,json=oemLocalModuleConfig,proto3" json:"oem_local_module_config,omitempty"` -} - -func (x *OEMStore) Reset() { - *x = OEMStore{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_deviceonly_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *BackupPreferences) Reset() { + *x = BackupPreferences{} + mi := &file_meshtastic_deviceonly_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *OEMStore) String() string { +func (x *BackupPreferences) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OEMStore) ProtoMessage() {} +func (*BackupPreferences) ProtoMessage() {} -func (x *OEMStore) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_deviceonly_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { +func (x *BackupPreferences) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[6] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -520,305 +678,184 @@ func (x *OEMStore) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OEMStore.ProtoReflect.Descriptor instead. -func (*OEMStore) Descriptor() ([]byte, []int) { - return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{4} +// Deprecated: Use BackupPreferences.ProtoReflect.Descriptor instead. +func (*BackupPreferences) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{6} } -func (x *OEMStore) GetOemIconWidth() uint32 { +func (x *BackupPreferences) GetVersion() uint32 { if x != nil { - return x.OemIconWidth + return x.Version } return 0 } -func (x *OEMStore) GetOemIconHeight() uint32 { +func (x *BackupPreferences) GetTimestamp() uint32 { if x != nil { - return x.OemIconHeight + return x.Timestamp } return 0 } -func (x *OEMStore) GetOemIconBits() []byte { - if x != nil { - return x.OemIconBits - } - return nil -} - -func (x *OEMStore) GetOemFont() ScreenFonts { - if x != nil { - return x.OemFont - } - return ScreenFonts_FONT_SMALL -} - -func (x *OEMStore) GetOemText() string { +func (x *BackupPreferences) GetConfig() *LocalConfig { if x != nil { - return x.OemText - } - return "" -} - -func (x *OEMStore) GetOemAesKey() []byte { - if x != nil { - return x.OemAesKey + return x.Config } return nil } -func (x *OEMStore) GetOemLocalConfig() *LocalConfig { +func (x *BackupPreferences) GetModuleConfig() *LocalModuleConfig { if x != nil { - return x.OemLocalConfig + return x.ModuleConfig } return nil } -func (x *OEMStore) GetOemLocalModuleConfig() *LocalModuleConfig { +func (x *BackupPreferences) GetChannels() *ChannelFile { if x != nil { - return x.OemLocalModuleConfig + return x.Channels } return nil } -// RemoteHardwarePins associated with a node -type NodeRemoteHardwarePin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The node_num exposing the available gpio pin - NodeNum uint32 `protobuf:"varint,1,opt,name=node_num,json=nodeNum,proto3" json:"node_num,omitempty"` - // The the available gpio pin for usage with RemoteHardware module - Pin *RemoteHardwarePin `protobuf:"bytes,2,opt,name=pin,proto3" json:"pin,omitempty"` -} - -func (x *NodeRemoteHardwarePin) Reset() { - *x = NodeRemoteHardwarePin{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_deviceonly_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodeRemoteHardwarePin) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodeRemoteHardwarePin) ProtoMessage() {} - -func (x *NodeRemoteHardwarePin) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_deviceonly_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodeRemoteHardwarePin.ProtoReflect.Descriptor instead. -func (*NodeRemoteHardwarePin) Descriptor() ([]byte, []int) { - return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{5} -} - -func (x *NodeRemoteHardwarePin) GetNodeNum() uint32 { +func (x *BackupPreferences) GetOwner() *User { if x != nil { - return x.NodeNum - } - return 0 -} - -func (x *NodeRemoteHardwarePin) GetPin() *RemoteHardwarePin { - if x != nil { - return x.Pin + return x.Owner } return nil } var File_meshtastic_deviceonly_proto protoreflect.FileDescriptor -var file_meshtastic_deviceonly_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x1a, 0x18, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x15, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x8d, 0x04, 0x0a, 0x0b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x6d, 0x79, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x4d, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x6d, 0x79, 0x4e, - 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x0d, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, - 0x4d, 0x65, 0x73, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0f, 0x72, 0x78, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x52, 0x0d, 0x72, 0x78, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x53, 0x61, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x64, - 0x69, 0x64, 0x5f, 0x67, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x64, 0x69, 0x64, 0x47, 0x70, 0x73, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, - 0x37, 0x0a, 0x0b, 0x72, 0x78, 0x5f, 0x77, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x0a, 0x72, 0x78, - 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x19, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, - 0x5f, 0x70, 0x69, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x52, 0x16, - 0x6e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, - 0x72, 0x65, 0x50, 0x69, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x64, - 0x62, 0x5f, 0x6c, 0x69, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x44, 0x62, 0x4c, 0x69, - 0x74, 0x65, 0x22, 0x89, 0x02, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, - 0x69, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x08, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x74, 0x65, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, - 0x73, 0x6e, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x72, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x65, 0x61, - 0x72, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xc7, - 0x01, 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x74, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0f, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x49, 0x12, 0x1f, - 0x0a, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0f, 0x52, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x49, 0x12, - 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x47, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, - 0x6f, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x84, 0x03, 0x0a, 0x08, 0x4f, 0x45, 0x4d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, - 0x24, 0x0a, 0x0e, 0x6f, 0x65, 0x6d, 0x5f, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x65, 0x6d, 0x49, 0x63, 0x6f, 0x6e, - 0x57, 0x69, 0x64, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x65, 0x6d, 0x5f, 0x69, 0x63, 0x6f, - 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, - 0x6f, 0x65, 0x6d, 0x49, 0x63, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x22, 0x0a, - 0x0d, 0x6f, 0x65, 0x6d, 0x5f, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x65, 0x6d, 0x49, 0x63, 0x6f, 0x6e, 0x42, 0x69, 0x74, - 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x65, 0x6d, 0x5f, 0x66, 0x6f, 0x6e, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x65, - 0x6d, 0x46, 0x6f, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x65, 0x6d, 0x5f, 0x74, 0x65, 0x78, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x65, 0x6d, 0x54, 0x65, 0x78, 0x74, - 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x65, 0x6d, 0x5f, 0x61, 0x65, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x65, 0x6d, 0x41, 0x65, 0x73, 0x4b, 0x65, 0x79, - 0x12, 0x41, 0x0a, 0x10, 0x6f, 0x65, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0e, 0x6f, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x54, 0x0a, 0x17, 0x6f, 0x65, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x14, 0x6f, 0x65, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x63, 0x0a, 0x15, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, - 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x2f, 0x0a, - 0x03, 0x70, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, - 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x2a, 0x3e, - 0x0a, 0x0b, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x46, 0x6f, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, - 0x0a, 0x46, 0x4f, 0x4e, 0x54, 0x5f, 0x53, 0x4d, 0x41, 0x4c, 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, - 0x0b, 0x46, 0x4f, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x0e, - 0x0a, 0x0a, 0x46, 0x4f, 0x4e, 0x54, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x10, 0x02, 0x42, 0x5f, - 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x6e, 0x6c, - 0x79, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_deviceonly_proto_rawDesc = "" + + "\n" + + "\x1bmeshtastic/deviceonly.proto\x12\n" + + "meshtastic\x1a\x18meshtastic/channel.proto\x1a\x15meshtastic/mesh.proto\x1a\x1ameshtastic/telemetry.proto\x1a\x17meshtastic/config.proto\x1a\x1ameshtastic/localonly.proto\x1a\fnanopb.proto\"\xc7\x01\n" + + "\fPositionLite\x12\x1d\n" + + "\n" + + "latitude_i\x18\x01 \x01(\x0fR\tlatitudeI\x12\x1f\n" + + "\vlongitude_i\x18\x02 \x01(\x0fR\n" + + "longitudeI\x12\x1a\n" + + "\baltitude\x18\x03 \x01(\x05R\baltitude\x12\x12\n" + + "\x04time\x18\x04 \x01(\aR\x04time\x12G\n" + + "\x0flocation_source\x18\x05 \x01(\x0e2\x1e.meshtastic.Position.LocSourceR\x0elocationSource\"\xd6\x02\n" + + "\bUserLite\x12\x1c\n" + + "\amacaddr\x18\x01 \x01(\fB\x02\x18\x01R\amacaddr\x12\x1b\n" + + "\tlong_name\x18\x02 \x01(\tR\blongName\x12\x1d\n" + + "\n" + + "short_name\x18\x03 \x01(\tR\tshortName\x124\n" + + "\bhw_model\x18\x04 \x01(\x0e2\x19.meshtastic.HardwareModelR\ahwModel\x12\x1f\n" + + "\vis_licensed\x18\x05 \x01(\bR\n" + + "isLicensed\x128\n" + + "\x04role\x18\x06 \x01(\x0e2$.meshtastic.Config.DeviceConfig.RoleR\x04role\x12\x1d\n" + + "\n" + + "public_key\x18\a \x01(\fR\tpublicKey\x12,\n" + + "\x0fis_unmessagable\x18\t \x01(\bH\x00R\x0eisUnmessagable\x88\x01\x01B\x12\n" + + "\x10_is_unmessagable\"\xcf\x03\n" + + "\fNodeInfoLite\x12\x10\n" + + "\x03num\x18\x01 \x01(\rR\x03num\x12(\n" + + "\x04user\x18\x02 \x01(\v2\x14.meshtastic.UserLiteR\x04user\x124\n" + + "\bposition\x18\x03 \x01(\v2\x18.meshtastic.PositionLiteR\bposition\x12\x10\n" + + "\x03snr\x18\x04 \x01(\x02R\x03snr\x12\x1d\n" + + "\n" + + "last_heard\x18\x05 \x01(\aR\tlastHeard\x12@\n" + + "\x0edevice_metrics\x18\x06 \x01(\v2\x19.meshtastic.DeviceMetricsR\rdeviceMetrics\x12\x18\n" + + "\achannel\x18\a \x01(\rR\achannel\x12\x19\n" + + "\bvia_mqtt\x18\b \x01(\bR\aviaMqtt\x12 \n" + + "\thops_away\x18\t \x01(\rH\x00R\bhopsAway\x88\x01\x01\x12\x1f\n" + + "\vis_favorite\x18\n" + + " \x01(\bR\n" + + "isFavorite\x12\x1d\n" + + "\n" + + "is_ignored\x18\v \x01(\bR\tisIgnored\x12\x19\n" + + "\bnext_hop\x18\f \x01(\rR\anextHop\x12\x1a\n" + + "\bbitfield\x18\r \x01(\rR\bbitfieldB\f\n" + + "\n" + + "_hops_away\"\xd9\x03\n" + + "\vDeviceState\x12/\n" + + "\amy_node\x18\x02 \x01(\v2\x16.meshtastic.MyNodeInfoR\x06myNode\x12&\n" + + "\x05owner\x18\x03 \x01(\v2\x10.meshtastic.UserR\x05owner\x12;\n" + + "\rreceive_queue\x18\x05 \x03(\v2\x16.meshtastic.MeshPacketR\freceiveQueue\x12\x18\n" + + "\aversion\x18\b \x01(\rR\aversion\x12>\n" + + "\x0frx_text_message\x18\a \x01(\v2\x16.meshtastic.MeshPacketR\rrxTextMessage\x12\x1b\n" + + "\ano_save\x18\t \x01(\bB\x02\x18\x01R\x06noSave\x12&\n" + + "\rdid_gps_reset\x18\v \x01(\bB\x02\x18\x01R\vdidGpsReset\x127\n" + + "\vrx_waypoint\x18\f \x01(\v2\x16.meshtastic.MeshPacketR\n" + + "rxWaypoint\x12\\\n" + + "\x19node_remote_hardware_pins\x18\r \x03(\v2!.meshtastic.NodeRemoteHardwarePinR\x16nodeRemoteHardwarePins\"\x84\x01\n" + + "\fNodeDatabase\x12\x18\n" + + "\aversion\x18\x01 \x01(\rR\aversion\x12Z\n" + + "\x05nodes\x18\x02 \x03(\v2\x18.meshtastic.NodeInfoLiteB*\x92?'\x92\x01$std::vectorR\x05nodes\"X\n" + + "\vChannelFile\x12/\n" + + "\bchannels\x18\x01 \x03(\v2\x13.meshtastic.ChannelR\bchannels\x12\x18\n" + + "\aversion\x18\x02 \x01(\rR\aversion\"\x9d\x02\n" + + "\x11BackupPreferences\x12\x18\n" + + "\aversion\x18\x01 \x01(\rR\aversion\x12\x1c\n" + + "\ttimestamp\x18\x02 \x01(\aR\ttimestamp\x12/\n" + + "\x06config\x18\x03 \x01(\v2\x17.meshtastic.LocalConfigR\x06config\x12B\n" + + "\rmodule_config\x18\x04 \x01(\v2\x1d.meshtastic.LocalModuleConfigR\fmoduleConfig\x123\n" + + "\bchannels\x18\x05 \x01(\v2\x17.meshtastic.ChannelFileR\bchannels\x12&\n" + + "\x05owner\x18\x06 \x01(\v2\x10.meshtastic.UserR\x05ownerBm\x92?\v\xc2\x01\b\n" + + "\x13com.geeksville.meshB\n" + + "DeviceOnlyZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_deviceonly_proto_rawDescOnce sync.Once - file_meshtastic_deviceonly_proto_rawDescData = file_meshtastic_deviceonly_proto_rawDesc + file_meshtastic_deviceonly_proto_rawDescData []byte ) func file_meshtastic_deviceonly_proto_rawDescGZIP() []byte { file_meshtastic_deviceonly_proto_rawDescOnce.Do(func() { - file_meshtastic_deviceonly_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_deviceonly_proto_rawDescData) + file_meshtastic_deviceonly_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_deviceonly_proto_rawDesc), len(file_meshtastic_deviceonly_proto_rawDesc))) }) return file_meshtastic_deviceonly_proto_rawDescData } -var file_meshtastic_deviceonly_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_meshtastic_deviceonly_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_meshtastic_deviceonly_proto_goTypes = []interface{}{ - (ScreenFonts)(0), // 0: meshtastic.ScreenFonts - (*DeviceState)(nil), // 1: meshtastic.DeviceState +var file_meshtastic_deviceonly_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_meshtastic_deviceonly_proto_goTypes = []any{ + (*PositionLite)(nil), // 0: meshtastic.PositionLite + (*UserLite)(nil), // 1: meshtastic.UserLite (*NodeInfoLite)(nil), // 2: meshtastic.NodeInfoLite - (*PositionLite)(nil), // 3: meshtastic.PositionLite - (*ChannelFile)(nil), // 4: meshtastic.ChannelFile - (*OEMStore)(nil), // 5: meshtastic.OEMStore - (*NodeRemoteHardwarePin)(nil), // 6: meshtastic.NodeRemoteHardwarePin - (*MyNodeInfo)(nil), // 7: meshtastic.MyNodeInfo - (*User)(nil), // 8: meshtastic.User - (*MeshPacket)(nil), // 9: meshtastic.MeshPacket + (*DeviceState)(nil), // 3: meshtastic.DeviceState + (*NodeDatabase)(nil), // 4: meshtastic.NodeDatabase + (*ChannelFile)(nil), // 5: meshtastic.ChannelFile + (*BackupPreferences)(nil), // 6: meshtastic.BackupPreferences + (Position_LocSource)(0), // 7: meshtastic.Position.LocSource + (HardwareModel)(0), // 8: meshtastic.HardwareModel + (Config_DeviceConfig_Role)(0), // 9: meshtastic.Config.DeviceConfig.Role (*DeviceMetrics)(nil), // 10: meshtastic.DeviceMetrics - (Position_LocSource)(0), // 11: meshtastic.Position.LocSource - (*Channel)(nil), // 12: meshtastic.Channel - (*LocalConfig)(nil), // 13: meshtastic.LocalConfig - (*LocalModuleConfig)(nil), // 14: meshtastic.LocalModuleConfig - (*RemoteHardwarePin)(nil), // 15: meshtastic.RemoteHardwarePin + (*MyNodeInfo)(nil), // 11: meshtastic.MyNodeInfo + (*User)(nil), // 12: meshtastic.User + (*MeshPacket)(nil), // 13: meshtastic.MeshPacket + (*NodeRemoteHardwarePin)(nil), // 14: meshtastic.NodeRemoteHardwarePin + (*Channel)(nil), // 15: meshtastic.Channel + (*LocalConfig)(nil), // 16: meshtastic.LocalConfig + (*LocalModuleConfig)(nil), // 17: meshtastic.LocalModuleConfig } var file_meshtastic_deviceonly_proto_depIdxs = []int32{ - 7, // 0: meshtastic.DeviceState.my_node:type_name -> meshtastic.MyNodeInfo - 8, // 1: meshtastic.DeviceState.owner:type_name -> meshtastic.User - 9, // 2: meshtastic.DeviceState.receive_queue:type_name -> meshtastic.MeshPacket - 9, // 3: meshtastic.DeviceState.rx_text_message:type_name -> meshtastic.MeshPacket - 9, // 4: meshtastic.DeviceState.rx_waypoint:type_name -> meshtastic.MeshPacket - 6, // 5: meshtastic.DeviceState.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin - 2, // 6: meshtastic.DeviceState.node_db_lite:type_name -> meshtastic.NodeInfoLite - 8, // 7: meshtastic.NodeInfoLite.user:type_name -> meshtastic.User - 3, // 8: meshtastic.NodeInfoLite.position:type_name -> meshtastic.PositionLite - 10, // 9: meshtastic.NodeInfoLite.device_metrics:type_name -> meshtastic.DeviceMetrics - 11, // 10: meshtastic.PositionLite.location_source:type_name -> meshtastic.Position.LocSource - 12, // 11: meshtastic.ChannelFile.channels:type_name -> meshtastic.Channel - 0, // 12: meshtastic.OEMStore.oem_font:type_name -> meshtastic.ScreenFonts - 13, // 13: meshtastic.OEMStore.oem_local_config:type_name -> meshtastic.LocalConfig - 14, // 14: meshtastic.OEMStore.oem_local_module_config:type_name -> meshtastic.LocalModuleConfig - 15, // 15: meshtastic.NodeRemoteHardwarePin.pin:type_name -> meshtastic.RemoteHardwarePin - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 7, // 0: meshtastic.PositionLite.location_source:type_name -> meshtastic.Position.LocSource + 8, // 1: meshtastic.UserLite.hw_model:type_name -> meshtastic.HardwareModel + 9, // 2: meshtastic.UserLite.role:type_name -> meshtastic.Config.DeviceConfig.Role + 1, // 3: meshtastic.NodeInfoLite.user:type_name -> meshtastic.UserLite + 0, // 4: meshtastic.NodeInfoLite.position:type_name -> meshtastic.PositionLite + 10, // 5: meshtastic.NodeInfoLite.device_metrics:type_name -> meshtastic.DeviceMetrics + 11, // 6: meshtastic.DeviceState.my_node:type_name -> meshtastic.MyNodeInfo + 12, // 7: meshtastic.DeviceState.owner:type_name -> meshtastic.User + 13, // 8: meshtastic.DeviceState.receive_queue:type_name -> meshtastic.MeshPacket + 13, // 9: meshtastic.DeviceState.rx_text_message:type_name -> meshtastic.MeshPacket + 13, // 10: meshtastic.DeviceState.rx_waypoint:type_name -> meshtastic.MeshPacket + 14, // 11: meshtastic.DeviceState.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin + 2, // 12: meshtastic.NodeDatabase.nodes:type_name -> meshtastic.NodeInfoLite + 15, // 13: meshtastic.ChannelFile.channels:type_name -> meshtastic.Channel + 16, // 14: meshtastic.BackupPreferences.config:type_name -> meshtastic.LocalConfig + 17, // 15: meshtastic.BackupPreferences.module_config:type_name -> meshtastic.LocalModuleConfig + 5, // 16: meshtastic.BackupPreferences.channels:type_name -> meshtastic.ChannelFile + 12, // 17: meshtastic.BackupPreferences.owner:type_name -> meshtastic.User + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_meshtastic_deviceonly_proto_init() } @@ -827,101 +864,28 @@ func file_meshtastic_deviceonly_proto_init() { return } file_meshtastic_channel_proto_init() - file_meshtastic_localonly_proto_init() file_meshtastic_mesh_proto_init() file_meshtastic_telemetry_proto_init() - file_meshtastic_module_config_proto_init() - if !protoimpl.UnsafeEnabled { - file_meshtastic_deviceonly_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_deviceonly_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeInfoLite); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_deviceonly_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PositionLite); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_deviceonly_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelFile); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_deviceonly_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OEMStore); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_deviceonly_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeRemoteHardwarePin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } + file_meshtastic_config_proto_init() + file_meshtastic_localonly_proto_init() + file_nanopb_proto_init() + file_meshtastic_deviceonly_proto_msgTypes[1].OneofWrappers = []any{} + file_meshtastic_deviceonly_proto_msgTypes[2].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_deviceonly_proto_rawDesc, - NumEnums: 1, - NumMessages: 6, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_deviceonly_proto_rawDesc), len(file_meshtastic_deviceonly_proto_rawDesc)), + NumEnums: 0, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, GoTypes: file_meshtastic_deviceonly_proto_goTypes, DependencyIndexes: file_meshtastic_deviceonly_proto_depIdxs, - EnumInfos: file_meshtastic_deviceonly_proto_enumTypes, MessageInfos: file_meshtastic_deviceonly_proto_msgTypes, }.Build() File_meshtastic_deviceonly_proto = out.File - file_meshtastic_deviceonly_proto_rawDesc = nil file_meshtastic_deviceonly_proto_goTypes = nil file_meshtastic_deviceonly_proto_depIdxs = nil } diff --git a/meshtastic/deviceonly_vtproto.pb.go b/meshtastic/deviceonly_vtproto.pb.go index 95918ce..7aac949 100644 --- a/meshtastic/deviceonly_vtproto.pb.go +++ b/meshtastic/deviceonly_vtproto.pb.go @@ -20,7 +20,7 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -func (m *DeviceState) MarshalVT() (dAtA []byte, err error) { +func (m *PositionLite) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -33,12 +33,12 @@ func (m *DeviceState) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *DeviceState) MarshalToVT(dAtA []byte) (int, error) { +func (m *PositionLite) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *DeviceState) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PositionLite) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -50,53 +50,70 @@ func (m *DeviceState) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.NodeDbLite) > 0 { - for iNdEx := len(m.NodeDbLite) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.NodeDbLite[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x72 - } + if m.LocationSource != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LocationSource)) + i-- + dAtA[i] = 0x28 } - if len(m.NodeRemoteHardwarePins) > 0 { - for iNdEx := len(m.NodeRemoteHardwarePins) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.NodeRemoteHardwarePins[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x6a - } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x25 } - if m.RxWaypoint != nil { - size, err := m.RxWaypoint.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) i-- - dAtA[i] = 0x62 + dAtA[i] = 0x18 } - if m.DidGpsReset { + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) i-- - if m.DidGpsReset { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } + dAtA[i] = 0x15 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) i-- - dAtA[i] = 0x58 + dAtA[i] = 0xd } - if m.NoSave { + return len(dAtA) - i, nil +} + +func (m *UserLite) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UserLite) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *UserLite) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.IsUnmessagable != nil { i-- - if m.NoSave { + if *m.IsUnmessagable { dAtA[i] = 1 } else { dAtA[i] = 0 @@ -104,53 +121,54 @@ func (m *DeviceState) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x48 } - if m.Version != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + if len(m.PublicKey) > 0 { + i -= len(m.PublicKey) + copy(dAtA[i:], m.PublicKey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PublicKey))) i-- - dAtA[i] = 0x40 + dAtA[i] = 0x3a } - if m.RxTextMessage != nil { - size, err := m.RxTextMessage.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if m.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x30 } - if len(m.ReceiveQueue) > 0 { - for iNdEx := len(m.ReceiveQueue) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ReceiveQueue[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a + if m.IsLicensed { + i-- + if m.IsLicensed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } + i-- + dAtA[i] = 0x28 } - if m.Owner != nil { - size, err := m.Owner.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if m.HwModel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HwModel)) + i-- + dAtA[i] = 0x20 + } + if len(m.ShortName) > 0 { + i -= len(m.ShortName) + copy(dAtA[i:], m.ShortName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ShortName))) i-- dAtA[i] = 0x1a } - if m.MyNode != nil { - size, err := m.MyNode.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if len(m.LongName) > 0 { + i -= len(m.LongName) + copy(dAtA[i:], m.LongName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LongName))) i-- dAtA[i] = 0x12 } + if len(m.Macaddr) > 0 { + i -= len(m.Macaddr) + copy(dAtA[i:], m.Macaddr) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Macaddr))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } @@ -184,6 +202,51 @@ func (m *NodeInfoLite) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Bitfield != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Bitfield)) + i-- + dAtA[i] = 0x68 + } + if m.NextHop != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NextHop)) + i-- + dAtA[i] = 0x60 + } + if m.IsIgnored { + i-- + if m.IsIgnored { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.IsFavorite { + i-- + if m.IsFavorite { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.HopsAway != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.HopsAway)) + i-- + dAtA[i] = 0x48 + } + if m.ViaMqtt { + i-- + if m.ViaMqtt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } if m.Channel != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Channel)) i-- @@ -239,7 +302,7 @@ func (m *NodeInfoLite) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *PositionLite) MarshalVT() (dAtA []byte, err error) { +func (m *DeviceState) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -252,12 +315,12 @@ func (m *PositionLite) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PositionLite) MarshalToVT(dAtA []byte) (int, error) { +func (m *DeviceState) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *PositionLite) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *DeviceState) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -269,50 +332,161 @@ func (m *PositionLite) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.LocationSource != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LocationSource)) - i-- - dAtA[i] = 0x28 + if len(m.NodeRemoteHardwarePins) > 0 { + for iNdEx := len(m.NodeRemoteHardwarePins) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.NodeRemoteHardwarePins[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } } - if m.Time != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + if m.RxWaypoint != nil { + size, err := m.RxWaypoint.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x25 + dAtA[i] = 0x62 } - if m.Altitude != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + if m.DidGpsReset { i-- - dAtA[i] = 0x18 - } - if m.LongitudeI != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + if m.DidGpsReset { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } i-- - dAtA[i] = 0x15 + dAtA[i] = 0x58 } - if m.LatitudeI != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + if m.NoSave { i-- - dAtA[i] = 0xd + if m.NoSave { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 } - return len(dAtA) - i, nil -} - -func (m *ChannelFile) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if m.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x40 } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if m.RxTextMessage != nil { + size, err := m.RxTextMessage.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a } - return dAtA[:n], nil -} - + if len(m.ReceiveQueue) > 0 { + for iNdEx := len(m.ReceiveQueue) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.ReceiveQueue[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + } + if m.Owner != nil { + size, err := m.Owner.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.MyNode != nil { + size, err := m.MyNode.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} + +func (m *NodeDatabase) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NodeDatabase) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NodeDatabase) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Nodes) > 0 { + for iNdEx := len(m.Nodes) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Nodes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if m.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ChannelFile) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + func (m *ChannelFile) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) @@ -350,7 +524,7 @@ func (m *ChannelFile) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *OEMStore) MarshalVT() (dAtA []byte, err error) { +func (m *BackupPreferences) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -363,12 +537,12 @@ func (m *OEMStore) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OEMStore) MarshalToVT(dAtA []byte) (int, error) { +func (m *BackupPreferences) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OEMStore) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *BackupPreferences) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -380,161 +554,118 @@ func (m *OEMStore) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.OemLocalModuleConfig != nil { - size, err := m.OemLocalModuleConfig.MarshalToSizedBufferVT(dAtA[:i]) + if m.Owner != nil { + size, err := m.Owner.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x42 + dAtA[i] = 0x32 } - if m.OemLocalConfig != nil { - size, err := m.OemLocalConfig.MarshalToSizedBufferVT(dAtA[:i]) + if m.Channels != nil { + size, err := m.Channels.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x3a - } - if len(m.OemAesKey) > 0 { - i -= len(m.OemAesKey) - copy(dAtA[i:], m.OemAesKey) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OemAesKey))) - i-- - dAtA[i] = 0x32 - } - if len(m.OemText) > 0 { - i -= len(m.OemText) - copy(dAtA[i:], m.OemText) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OemText))) - i-- dAtA[i] = 0x2a } - if m.OemFont != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OemFont)) + if m.ModuleConfig != nil { + size, err := m.ModuleConfig.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x22 } - if len(m.OemIconBits) > 0 { - i -= len(m.OemIconBits) - copy(dAtA[i:], m.OemIconBits) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OemIconBits))) + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x1a } - if m.OemIconHeight != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OemIconHeight)) + if m.Timestamp != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Timestamp)) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x15 } - if m.OemIconWidth != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OemIconWidth)) + if m.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *NodeRemoteHardwarePin) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *NodeRemoteHardwarePin) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *NodeRemoteHardwarePin) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PositionLite) SizeVT() (n int) { if m == nil { - return 0, nil + return 0 } - i := len(dAtA) - _ = i var l int _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if m.LatitudeI != 0 { + n += 5 } - if m.Pin != nil { - size, err := m.Pin.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + if m.LongitudeI != 0 { + n += 5 } - if m.NodeNum != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeNum)) - i-- - dAtA[i] = 0x8 + if m.Altitude != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Altitude)) } - return len(dAtA) - i, nil + if m.Time != 0 { + n += 5 + } + if m.LocationSource != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.LocationSource)) + } + n += len(m.unknownFields) + return n } -func (m *DeviceState) SizeVT() (n int) { +func (m *UserLite) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MyNode != nil { - l = m.MyNode.SizeVT() + l = len(m.Macaddr) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Owner != nil { - l = m.Owner.SizeVT() + l = len(m.LongName) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if len(m.ReceiveQueue) > 0 { - for _, e := range m.ReceiveQueue { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - if m.RxTextMessage != nil { - l = m.RxTextMessage.SizeVT() + l = len(m.ShortName) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Version != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) + if m.HwModel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HwModel)) } - if m.NoSave { + if m.IsLicensed { n += 2 } - if m.DidGpsReset { - n += 2 + if m.Role != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) } - if m.RxWaypoint != nil { - l = m.RxWaypoint.SizeVT() + l = len(m.PublicKey) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if len(m.NodeRemoteHardwarePins) > 0 { - for _, e := range m.NodeRemoteHardwarePins { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - if len(m.NodeDbLite) > 0 { - for _, e := range m.NodeDbLite { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } + if m.IsUnmessagable != nil { + n += 2 } n += len(m.unknownFields) return n @@ -570,111 +701,146 @@ func (m *NodeInfoLite) SizeVT() (n int) { if m.Channel != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.Channel)) } - n += len(m.unknownFields) - return n -} - -func (m *PositionLite) SizeVT() (n int) { - if m == nil { - return 0 + if m.ViaMqtt { + n += 2 } - var l int - _ = l - if m.LatitudeI != 0 { - n += 5 + if m.HopsAway != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.HopsAway)) } - if m.LongitudeI != 0 { - n += 5 + if m.IsFavorite { + n += 2 } - if m.Altitude != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Altitude)) + if m.IsIgnored { + n += 2 } - if m.Time != 0 { - n += 5 + if m.NextHop != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NextHop)) } - if m.LocationSource != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.LocationSource)) + if m.Bitfield != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Bitfield)) } n += len(m.unknownFields) return n } -func (m *ChannelFile) SizeVT() (n int) { +func (m *DeviceState) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Channels) > 0 { - for _, e := range m.Channels { + if m.MyNode != nil { + l = m.MyNode.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Owner != nil { + l = m.Owner.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.ReceiveQueue) > 0 { + for _, e := range m.ReceiveQueue { l = e.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if m.RxTextMessage != nil { + l = m.RxTextMessage.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } if m.Version != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) } + if m.NoSave { + n += 2 + } + if m.DidGpsReset { + n += 2 + } + if m.RxWaypoint != nil { + l = m.RxWaypoint.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.NodeRemoteHardwarePins) > 0 { + for _, e := range m.NodeRemoteHardwarePins { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } n += len(m.unknownFields) return n } -func (m *OEMStore) SizeVT() (n int) { +func (m *NodeDatabase) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.OemIconWidth != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.OemIconWidth)) + if m.Version != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) } - if m.OemIconHeight != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.OemIconHeight)) - } - l = len(m.OemIconBits) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.OemFont != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.OemFont)) - } - l = len(m.OemText) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if len(m.Nodes) > 0 { + for _, e := range m.Nodes { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } } - l = len(m.OemAesKey) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + n += len(m.unknownFields) + return n +} + +func (m *ChannelFile) SizeVT() (n int) { + if m == nil { + return 0 } - if m.OemLocalConfig != nil { - l = m.OemLocalConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + var l int + _ = l + if len(m.Channels) > 0 { + for _, e := range m.Channels { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } } - if m.OemLocalModuleConfig != nil { - l = m.OemLocalModuleConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Version != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) } n += len(m.unknownFields) return n } -func (m *NodeRemoteHardwarePin) SizeVT() (n int) { +func (m *BackupPreferences) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NodeNum != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeNum)) + if m.Version != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) + } + if m.Timestamp != 0 { + n += 5 + } + if m.Config != nil { + l = m.Config.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ModuleConfig != nil { + l = m.ModuleConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Pin != nil { - l = m.Pin.SizeVT() + if m.Channels != nil { + l = m.Channels.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Owner != nil { + l = m.Owner.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *DeviceState) UnmarshalVT(dAtA []byte) error { +func (m *PositionLite) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -697,17 +863,136 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DeviceState: wiretype end group for non-group") + return fmt.Errorf("proto: PositionLite: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DeviceState: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PositionLite: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LatitudeI", wireType) + } + m.LatitudeI = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.LatitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LongitudeI", wireType) + } + m.LongitudeI = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.LongitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Altitude", wireType) + } + m.Altitude = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Altitude |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + } + m.Time = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Time = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LocationSource", wireType) + } + m.LocationSource = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LocationSource |= Position_LocSource(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UserLite) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UserLite: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UserLite: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MyNode", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Macaddr", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -717,31 +1002,276 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.MyNode == nil { - m.MyNode = &MyNodeInfo{} + m.Macaddr = append(m.Macaddr[:0], dAtA[iNdEx:postIndex]...) + if m.Macaddr == nil { + m.Macaddr = []byte{} } - if err := m.MyNode.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LongName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LongName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ShortName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ShortName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HwModel", wireType) + } + m.HwModel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HwModel |= HardwareModel(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsLicensed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsLicensed = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) + } + m.Role = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Role |= Config_DeviceConfig_Role(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublicKey = append(m.PublicKey[:0], dAtA[iNdEx:postIndex]...) + if m.PublicKey == nil { + m.PublicKey = []byte{} + } + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsUnmessagable", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.IsUnmessagable = &b + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NodeInfoLite: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NodeInfoLite: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) + } + m.Num = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Num |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -768,16 +1298,16 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Owner == nil { - m.Owner = &User{} + if m.User == nil { + m.User = &UserLite{} } - if err := m.Owner.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.User.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReceiveQueue", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -804,14 +1334,37 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.ReceiveQueue = append(m.ReceiveQueue, &MeshPacket{}) - if err := m.ReceiveQueue[len(m.ReceiveQueue)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if m.Position == nil { + m.Position = &PositionLite{} + } + if err := m.Position.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Snr", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Snr = float32(math.Float32frombits(v)) + case 5: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LastHeard", wireType) + } + m.LastHeard = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.LastHeard = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RxTextMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DeviceMetrics", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -838,18 +1391,37 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RxTextMessage == nil { - m.RxTextMessage = &MeshPacket{} + if m.DeviceMetrics == nil { + m.DeviceMetrics = &DeviceMetrics{} } - if err := m.RxTextMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.DeviceMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) + } + m.Channel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Channel |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } case 8: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ViaMqtt", wireType) } - m.Version = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -859,16 +1431,17 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Version |= uint32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } + m.ViaMqtt = bool(v != 0) case 9: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NoSave", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HopsAway", wireType) } - var v int + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -878,15 +1451,15 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } - m.NoSave = bool(v != 0) - case 11: + m.HopsAway = &v + case 10: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DidGpsReset", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsFavorite", wireType) } var v int for shift := uint(0); ; shift += 7 { @@ -903,12 +1476,12 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { break } } - m.DidGpsReset = bool(v != 0) - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RxWaypoint", wireType) + m.IsFavorite = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsIgnored", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -918,33 +1491,17 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.RxWaypoint == nil { - m.RxWaypoint = &MeshPacket{} - } - if err := m.RxWaypoint.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeRemoteHardwarePins", wireType) + m.IsIgnored = bool(v != 0) + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NextHop", wireType) } - var msglen int + m.NextHop = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -954,31 +1511,16 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.NextHop |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NodeRemoteHardwarePins = append(m.NodeRemoteHardwarePins, &NodeRemoteHardwarePin{}) - if err := m.NodeRemoteHardwarePins[len(m.NodeRemoteHardwarePins)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeDbLite", wireType) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Bitfield", wireType) } - var msglen int + m.Bitfield = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -988,26 +1530,11 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Bitfield |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NodeDbLite = append(m.NodeDbLite, &NodeInfoLite{}) - if err := m.NodeDbLite[len(m.NodeDbLite)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -1030,7 +1557,7 @@ func (m *DeviceState) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { +func (m *DeviceState) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1053,17 +1580,17 @@ func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: NodeInfoLite: wiretype end group for non-group") + return fmt.Errorf("proto: DeviceState: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: NodeInfoLite: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DeviceState: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MyNode", wireType) } - m.Num = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1073,14 +1600,31 @@ func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Num |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 2: + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MyNode == nil { + m.MyNode = &MyNodeInfo{} + } + if err := m.MyNode.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1107,16 +1651,16 @@ func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.User == nil { - m.User = &User{} + if m.Owner == nil { + m.Owner = &User{} } - if err := m.User.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Owner.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReceiveQueue", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1143,37 +1687,109 @@ func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Position == nil { - m.Position = &PositionLite{} - } - if err := m.Position.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + m.ReceiveQueue = append(m.ReceiveQueue, &MeshPacket{}) + if err := m.ReceiveQueue[len(m.ReceiveQueue)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Snr", wireType) + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RxTextMessage", wireType) } - var v uint32 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - m.Snr = float32(math.Float32frombits(v)) - case 5: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LastHeard", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.LastHeard = 0 - if (iNdEx + 4) > l { + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - m.LastHeard = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 6: + if m.RxTextMessage == nil { + m.RxTextMessage = &MeshPacket{} + } + if err := m.RxTextMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) + } + m.Version = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Version |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NoSave", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.NoSave = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DidGpsReset", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.DidGpsReset = bool(v != 0) + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DeviceMetrics", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RxWaypoint", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1200,18 +1816,18 @@ func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DeviceMetrics == nil { - m.DeviceMetrics = &DeviceMetrics{} + if m.RxWaypoint == nil { + m.RxWaypoint = &MeshPacket{} } - if err := m.DeviceMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.RxWaypoint.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeRemoteHardwarePins", wireType) } - m.Channel = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1221,11 +1837,26 @@ func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Channel |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.NodeRemoteHardwarePins = append(m.NodeRemoteHardwarePins, &NodeRemoteHardwarePin{}) + if err := m.NodeRemoteHardwarePins[len(m.NodeRemoteHardwarePins)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -1248,7 +1879,7 @@ func (m *NodeInfoLite) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *PositionLite) UnmarshalVT(dAtA []byte) error { +func (m *NodeDatabase) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1271,37 +1902,17 @@ func (m *PositionLite) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: PositionLite: wiretype end group for non-group") + return fmt.Errorf("proto: NodeDatabase: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: PositionLite: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: NodeDatabase: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LatitudeI", wireType) - } - m.LatitudeI = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.LatitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 2: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LongitudeI", wireType) - } - m.LongitudeI = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.LongitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Altitude", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.Altitude = 0 + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1311,26 +1922,16 @@ func (m *PositionLite) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Altitude |= int32(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 4: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) - } - m.Time = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.Time = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LocationSource", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Nodes", wireType) } - m.LocationSource = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1340,11 +1941,26 @@ func (m *PositionLite) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.LocationSource |= Position_LocSource(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Nodes = append(m.Nodes, &NodeInfoLite{}) + if err := m.Nodes[len(m.Nodes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -1471,7 +2087,7 @@ func (m *ChannelFile) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *OEMStore) UnmarshalVT(dAtA []byte) error { +func (m *BackupPreferences) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1494,17 +2110,17 @@ func (m *OEMStore) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: OEMStore: wiretype end group for non-group") + return fmt.Errorf("proto: BackupPreferences: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: OEMStore: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BackupPreferences: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OemIconWidth", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - m.OemIconWidth = 0 + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1514,88 +2130,26 @@ func (m *OEMStore) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.OemIconWidth |= uint32(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OemIconHeight", wireType) - } - m.OemIconHeight = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OemIconHeight |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OemIconBits", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) } - if postIndex > l { + m.Timestamp = 0 + if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - m.OemIconBits = append(m.OemIconBits[:0], dAtA[iNdEx:postIndex]...) - if m.OemIconBits == nil { - m.OemIconBits = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OemFont", wireType) - } - m.OemFont = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OemFont |= ScreenFonts(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: + m.Timestamp = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OemText", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1605,61 +2159,31 @@ func (m *OEMStore) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.OemText = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OemAesKey", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF + if m.Config == nil { + m.Config = &LocalConfig{} } - m.OemAesKey = append(m.OemAesKey[:0], dAtA[iNdEx:postIndex]...) - if m.OemAesKey == nil { - m.OemAesKey = []byte{} + if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 7: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OemLocalConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ModuleConfig", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1686,16 +2210,16 @@ func (m *OEMStore) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.OemLocalConfig == nil { - m.OemLocalConfig = &LocalConfig{} + if m.ModuleConfig == nil { + m.ModuleConfig = &LocalModuleConfig{} } - if err := m.OemLocalConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ModuleConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 8: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OemLocalModuleConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Channels", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1722,86 +2246,16 @@ func (m *OEMStore) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.OemLocalModuleConfig == nil { - m.OemLocalModuleConfig = &LocalModuleConfig{} + if m.Channels == nil { + m.Channels = &ChannelFile{} } - if err := m.OemLocalModuleConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Channels.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *NodeRemoteHardwarePin) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: NodeRemoteHardwarePin: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: NodeRemoteHardwarePin: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeNum", wireType) - } - m.NodeNum = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.NodeNum |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pin", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -1828,10 +2282,10 @@ func (m *NodeRemoteHardwarePin) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Pin == nil { - m.Pin = &RemoteHardwarePin{} + if m.Owner == nil { + m.Owner = &User{} } - if err := m.Pin.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Owner.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex diff --git a/meshtastic/interdevice.pb.go b/meshtastic/interdevice.pb.go new file mode 100644 index 0000000..6728730 --- /dev/null +++ b/meshtastic/interdevice.pb.go @@ -0,0 +1,372 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.6 +// protoc v3.21.12 +// source: meshtastic/interdevice.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type MessageType int32 + +const ( + MessageType_ACK MessageType = 0 + MessageType_COLLECT_INTERVAL MessageType = 160 // in ms + MessageType_BEEP_ON MessageType = 161 // duration ms + MessageType_BEEP_OFF MessageType = 162 // cancel prematurely + MessageType_SHUTDOWN MessageType = 163 + MessageType_POWER_ON MessageType = 164 + MessageType_SCD41_TEMP MessageType = 176 + MessageType_SCD41_HUMIDITY MessageType = 177 + MessageType_SCD41_CO2 MessageType = 178 + MessageType_AHT20_TEMP MessageType = 179 + MessageType_AHT20_HUMIDITY MessageType = 180 + MessageType_TVOC_INDEX MessageType = 181 +) + +// Enum value maps for MessageType. +var ( + MessageType_name = map[int32]string{ + 0: "ACK", + 160: "COLLECT_INTERVAL", + 161: "BEEP_ON", + 162: "BEEP_OFF", + 163: "SHUTDOWN", + 164: "POWER_ON", + 176: "SCD41_TEMP", + 177: "SCD41_HUMIDITY", + 178: "SCD41_CO2", + 179: "AHT20_TEMP", + 180: "AHT20_HUMIDITY", + 181: "TVOC_INDEX", + } + MessageType_value = map[string]int32{ + "ACK": 0, + "COLLECT_INTERVAL": 160, + "BEEP_ON": 161, + "BEEP_OFF": 162, + "SHUTDOWN": 163, + "POWER_ON": 164, + "SCD41_TEMP": 176, + "SCD41_HUMIDITY": 177, + "SCD41_CO2": 178, + "AHT20_TEMP": 179, + "AHT20_HUMIDITY": 180, + "TVOC_INDEX": 181, + } +) + +func (x MessageType) Enum() *MessageType { + p := new(MessageType) + *p = x + return p +} + +func (x MessageType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MessageType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_interdevice_proto_enumTypes[0].Descriptor() +} + +func (MessageType) Type() protoreflect.EnumType { + return &file_meshtastic_interdevice_proto_enumTypes[0] +} + +func (x MessageType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MessageType.Descriptor instead. +func (MessageType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_interdevice_proto_rawDescGZIP(), []int{0} +} + +type SensorData struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The message type + Type MessageType `protobuf:"varint,1,opt,name=type,proto3,enum=meshtastic.MessageType" json:"type,omitempty"` + // The sensor data, either as a float or an uint32 + // + // Types that are valid to be assigned to Data: + // + // *SensorData_FloatValue + // *SensorData_Uint32Value + Data isSensorData_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SensorData) Reset() { + *x = SensorData{} + mi := &file_meshtastic_interdevice_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SensorData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SensorData) ProtoMessage() {} + +func (x *SensorData) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_interdevice_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SensorData.ProtoReflect.Descriptor instead. +func (*SensorData) Descriptor() ([]byte, []int) { + return file_meshtastic_interdevice_proto_rawDescGZIP(), []int{0} +} + +func (x *SensorData) GetType() MessageType { + if x != nil { + return x.Type + } + return MessageType_ACK +} + +func (x *SensorData) GetData() isSensorData_Data { + if x != nil { + return x.Data + } + return nil +} + +func (x *SensorData) GetFloatValue() float32 { + if x != nil { + if x, ok := x.Data.(*SensorData_FloatValue); ok { + return x.FloatValue + } + } + return 0 +} + +func (x *SensorData) GetUint32Value() uint32 { + if x != nil { + if x, ok := x.Data.(*SensorData_Uint32Value); ok { + return x.Uint32Value + } + } + return 0 +} + +type isSensorData_Data interface { + isSensorData_Data() +} + +type SensorData_FloatValue struct { + FloatValue float32 `protobuf:"fixed32,2,opt,name=float_value,json=floatValue,proto3,oneof"` +} + +type SensorData_Uint32Value struct { + Uint32Value uint32 `protobuf:"varint,3,opt,name=uint32_value,json=uint32Value,proto3,oneof"` +} + +func (*SensorData_FloatValue) isSensorData_Data() {} + +func (*SensorData_Uint32Value) isSensorData_Data() {} + +type InterdeviceMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The message data + // + // Types that are valid to be assigned to Data: + // + // *InterdeviceMessage_Nmea + // *InterdeviceMessage_Sensor + Data isInterdeviceMessage_Data `protobuf_oneof:"data"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InterdeviceMessage) Reset() { + *x = InterdeviceMessage{} + mi := &file_meshtastic_interdevice_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InterdeviceMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterdeviceMessage) ProtoMessage() {} + +func (x *InterdeviceMessage) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_interdevice_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InterdeviceMessage.ProtoReflect.Descriptor instead. +func (*InterdeviceMessage) Descriptor() ([]byte, []int) { + return file_meshtastic_interdevice_proto_rawDescGZIP(), []int{1} +} + +func (x *InterdeviceMessage) GetData() isInterdeviceMessage_Data { + if x != nil { + return x.Data + } + return nil +} + +func (x *InterdeviceMessage) GetNmea() string { + if x != nil { + if x, ok := x.Data.(*InterdeviceMessage_Nmea); ok { + return x.Nmea + } + } + return "" +} + +func (x *InterdeviceMessage) GetSensor() *SensorData { + if x != nil { + if x, ok := x.Data.(*InterdeviceMessage_Sensor); ok { + return x.Sensor + } + } + return nil +} + +type isInterdeviceMessage_Data interface { + isInterdeviceMessage_Data() +} + +type InterdeviceMessage_Nmea struct { + Nmea string `protobuf:"bytes,1,opt,name=nmea,proto3,oneof"` +} + +type InterdeviceMessage_Sensor struct { + Sensor *SensorData `protobuf:"bytes,2,opt,name=sensor,proto3,oneof"` +} + +func (*InterdeviceMessage_Nmea) isInterdeviceMessage_Data() {} + +func (*InterdeviceMessage_Sensor) isInterdeviceMessage_Data() {} + +var File_meshtastic_interdevice_proto protoreflect.FileDescriptor + +const file_meshtastic_interdevice_proto_rawDesc = "" + + "\n" + + "\x1cmeshtastic/interdevice.proto\x12\n" + + "meshtastic\"\x89\x01\n" + + "\n" + + "SensorData\x12+\n" + + "\x04type\x18\x01 \x01(\x0e2\x17.meshtastic.MessageTypeR\x04type\x12!\n" + + "\vfloat_value\x18\x02 \x01(\x02H\x00R\n" + + "floatValue\x12#\n" + + "\fuint32_value\x18\x03 \x01(\rH\x00R\vuint32ValueB\x06\n" + + "\x04data\"d\n" + + "\x12InterdeviceMessage\x12\x14\n" + + "\x04nmea\x18\x01 \x01(\tH\x00R\x04nmea\x120\n" + + "\x06sensor\x18\x02 \x01(\v2\x16.meshtastic.SensorDataH\x00R\x06sensorB\x06\n" + + "\x04data*\xd5\x01\n" + + "\vMessageType\x12\a\n" + + "\x03ACK\x10\x00\x12\x15\n" + + "\x10COLLECT_INTERVAL\x10\xa0\x01\x12\f\n" + + "\aBEEP_ON\x10\xa1\x01\x12\r\n" + + "\bBEEP_OFF\x10\xa2\x01\x12\r\n" + + "\bSHUTDOWN\x10\xa3\x01\x12\r\n" + + "\bPOWER_ON\x10\xa4\x01\x12\x0f\n" + + "\n" + + "SCD41_TEMP\x10\xb0\x01\x12\x13\n" + + "\x0eSCD41_HUMIDITY\x10\xb1\x01\x12\x0e\n" + + "\tSCD41_CO2\x10\xb2\x01\x12\x0f\n" + + "\n" + + "AHT20_TEMP\x10\xb3\x01\x12\x13\n" + + "\x0eAHT20_HUMIDITY\x10\xb4\x01\x12\x0f\n" + + "\n" + + "TVOC_INDEX\x10\xb5\x01Bf\n" + + "\x13com.geeksville.meshB\x11InterdeviceProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + +var ( + file_meshtastic_interdevice_proto_rawDescOnce sync.Once + file_meshtastic_interdevice_proto_rawDescData []byte +) + +func file_meshtastic_interdevice_proto_rawDescGZIP() []byte { + file_meshtastic_interdevice_proto_rawDescOnce.Do(func() { + file_meshtastic_interdevice_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_interdevice_proto_rawDesc), len(file_meshtastic_interdevice_proto_rawDesc))) + }) + return file_meshtastic_interdevice_proto_rawDescData +} + +var file_meshtastic_interdevice_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_meshtastic_interdevice_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_meshtastic_interdevice_proto_goTypes = []any{ + (MessageType)(0), // 0: meshtastic.MessageType + (*SensorData)(nil), // 1: meshtastic.SensorData + (*InterdeviceMessage)(nil), // 2: meshtastic.InterdeviceMessage +} +var file_meshtastic_interdevice_proto_depIdxs = []int32{ + 0, // 0: meshtastic.SensorData.type:type_name -> meshtastic.MessageType + 1, // 1: meshtastic.InterdeviceMessage.sensor:type_name -> meshtastic.SensorData + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_meshtastic_interdevice_proto_init() } +func file_meshtastic_interdevice_proto_init() { + if File_meshtastic_interdevice_proto != nil { + return + } + file_meshtastic_interdevice_proto_msgTypes[0].OneofWrappers = []any{ + (*SensorData_FloatValue)(nil), + (*SensorData_Uint32Value)(nil), + } + file_meshtastic_interdevice_proto_msgTypes[1].OneofWrappers = []any{ + (*InterdeviceMessage_Nmea)(nil), + (*InterdeviceMessage_Sensor)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_interdevice_proto_rawDesc), len(file_meshtastic_interdevice_proto_rawDesc)), + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_interdevice_proto_goTypes, + DependencyIndexes: file_meshtastic_interdevice_proto_depIdxs, + EnumInfos: file_meshtastic_interdevice_proto_enumTypes, + MessageInfos: file_meshtastic_interdevice_proto_msgTypes, + }.Build() + File_meshtastic_interdevice_proto = out.File + file_meshtastic_interdevice_proto_goTypes = nil + file_meshtastic_interdevice_proto_depIdxs = nil +} diff --git a/meshtastic/interdevice_vtproto.pb.go b/meshtastic/interdevice_vtproto.pb.go new file mode 100644 index 0000000..8f923c6 --- /dev/null +++ b/meshtastic/interdevice_vtproto.pb.go @@ -0,0 +1,463 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/interdevice.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *SensorData) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SensorData) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SensorData) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if vtmsg, ok := m.Data.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Type != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *SensorData_FloatValue) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SensorData_FloatValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FloatValue)))) + i-- + dAtA[i] = 0x15 + return len(dAtA) - i, nil +} +func (m *SensorData_Uint32Value) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SensorData_Uint32Value) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Uint32Value)) + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *InterdeviceMessage) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *InterdeviceMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InterdeviceMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if vtmsg, ok := m.Data.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *InterdeviceMessage_Nmea) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InterdeviceMessage_Nmea) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Nmea) + copy(dAtA[i:], m.Nmea) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Nmea))) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} +func (m *InterdeviceMessage_Sensor) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *InterdeviceMessage_Sensor) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Sensor != nil { + size, err := m.Sensor.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} +func (m *SensorData) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Type != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) + } + if vtmsg, ok := m.Data.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *SensorData_FloatValue) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 5 + return n +} +func (m *SensorData_Uint32Value) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 1 + protohelpers.SizeOfVarint(uint64(m.Uint32Value)) + return n +} +func (m *InterdeviceMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if vtmsg, ok := m.Data.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *InterdeviceMessage_Nmea) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Nmea) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *InterdeviceMessage_Sensor) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Sensor != nil { + l = m.Sensor.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *SensorData) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SensorData: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SensorData: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + m.Type = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Type |= MessageType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field FloatValue", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Data = &SensorData_FloatValue{FloatValue: float32(math.Float32frombits(v))} + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Uint32Value", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Data = &SensorData_Uint32Value{Uint32Value: v} + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *InterdeviceMessage) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: InterdeviceMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: InterdeviceMessage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Nmea", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = &InterdeviceMessage_Nmea{Nmea: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sensor", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Data.(*InterdeviceMessage_Sensor); ok { + if err := oneof.Sensor.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &SensorData{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Data = &InterdeviceMessage_Sensor{Sensor: v} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/meshtastic/localonly.pb.go b/meshtastic/localonly.pb.go index 2918abd..1089e70 100644 --- a/meshtastic/localonly.pb.go +++ b/meshtastic/localonly.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/localonly.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -21,10 +22,7 @@ const ( ) type LocalConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The part of the config that is specific to the Device Device *Config_DeviceConfig `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"` // The part of the config that is specific to the GPS Position @@ -43,15 +41,17 @@ type LocalConfig struct { // incompatible changes This integer is set at build time and is private to // NodeDB.cpp in the device code. Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` + // The part of the config that is specific to Security settings + Security *Config_SecurityConfig `protobuf:"bytes,9,opt,name=security,proto3" json:"security,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LocalConfig) Reset() { *x = LocalConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_localonly_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_localonly_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LocalConfig) String() string { @@ -62,7 +62,7 @@ func (*LocalConfig) ProtoMessage() {} func (x *LocalConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_localonly_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -133,11 +133,15 @@ func (x *LocalConfig) GetVersion() uint32 { return 0 } -type LocalModuleConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *LocalConfig) GetSecurity() *Config_SecurityConfig { + if x != nil { + return x.Security + } + return nil +} +type LocalModuleConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` // The part of the config that is specific to the MQTT module Mqtt *ModuleConfig_MQTTConfig `protobuf:"bytes,1,opt,name=mqtt,proto3" json:"mqtt,omitempty"` // The part of the config that is specific to the Serial module @@ -167,16 +171,16 @@ type LocalModuleConfig struct { // 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 // NodeDB.cpp in the device code. - Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` + Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LocalModuleConfig) Reset() { *x = LocalModuleConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_localonly_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_localonly_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LocalModuleConfig) String() string { @@ -187,7 +191,7 @@ func (*LocalModuleConfig) ProtoMessage() {} func (x *LocalModuleConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_localonly_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -302,132 +306,55 @@ func (x *LocalModuleConfig) GetVersion() uint32 { var File_meshtastic_localonly_proto protoreflect.FileDescriptor -var file_meshtastic_localonly_proto_rawDesc = []byte{ - 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x1a, 0x17, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0xc2, 0x03, 0x0a, 0x0b, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x37, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x08, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x05, 0x70, 0x6f, 0x77, - 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x77, - 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, - 0x3a, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3a, 0x0a, 0x07, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x6f, 0x72, 0x61, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x6f, 0x52, 0x61, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x6c, 0x6f, 0x72, 0x61, 0x12, 0x40, 0x0a, 0x09, 0x62, 0x6c, - 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x08, 0x0a, 0x11, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x04, - 0x6d, 0x71, 0x74, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x51, 0x54, 0x54, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x04, 0x6d, 0x71, 0x74, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x73, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x12, 0x68, 0x0a, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, - 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x12, 0x47, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x74, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, - 0x79, 0x12, 0x53, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x61, 0x75, 0x64, - 0x69, 0x6f, 0x12, 0x56, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x72, - 0x64, 0x77, 0x61, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, - 0x77, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x6e, 0x65, - 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x69, 0x67, - 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, - 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x10, - 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4c, - 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x59, 0x0a, 0x10, 0x64, 0x65, 0x74, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, - 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x74, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x73, - 0x6f, 0x72, 0x12, 0x49, 0x0a, 0x0a, 0x70, 0x61, 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x50, 0x61, 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0a, 0x70, 0x61, 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x64, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, - 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0f, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, - 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_localonly_proto_rawDesc = "" + + "\n" + + "\x1ameshtastic/localonly.proto\x12\n" + + "meshtastic\x1a\x17meshtastic/config.proto\x1a\x1emeshtastic/module_config.proto\"\x81\x04\n" + + "\vLocalConfig\x127\n" + + "\x06device\x18\x01 \x01(\v2\x1f.meshtastic.Config.DeviceConfigR\x06device\x12=\n" + + "\bposition\x18\x02 \x01(\v2!.meshtastic.Config.PositionConfigR\bposition\x124\n" + + "\x05power\x18\x03 \x01(\v2\x1e.meshtastic.Config.PowerConfigR\x05power\x12:\n" + + "\anetwork\x18\x04 \x01(\v2 .meshtastic.Config.NetworkConfigR\anetwork\x12:\n" + + "\adisplay\x18\x05 \x01(\v2 .meshtastic.Config.DisplayConfigR\adisplay\x121\n" + + "\x04lora\x18\x06 \x01(\v2\x1d.meshtastic.Config.LoRaConfigR\x04lora\x12@\n" + + "\tbluetooth\x18\a \x01(\v2\".meshtastic.Config.BluetoothConfigR\tbluetooth\x12\x18\n" + + "\aversion\x18\b \x01(\rR\aversion\x12=\n" + + "\bsecurity\x18\t \x01(\v2!.meshtastic.Config.SecurityConfigR\bsecurity\"\xae\b\n" + + "\x11LocalModuleConfig\x127\n" + + "\x04mqtt\x18\x01 \x01(\v2#.meshtastic.ModuleConfig.MQTTConfigR\x04mqtt\x12=\n" + + "\x06serial\x18\x02 \x01(\v2%.meshtastic.ModuleConfig.SerialConfigR\x06serial\x12h\n" + + "\x15external_notification\x18\x03 \x01(\v23.meshtastic.ModuleConfig.ExternalNotificationConfigR\x14externalNotification\x12P\n" + + "\rstore_forward\x18\x04 \x01(\v2+.meshtastic.ModuleConfig.StoreForwardConfigR\fstoreForward\x12G\n" + + "\n" + + "range_test\x18\x05 \x01(\v2(.meshtastic.ModuleConfig.RangeTestConfigR\trangeTest\x12F\n" + + "\ttelemetry\x18\x06 \x01(\v2(.meshtastic.ModuleConfig.TelemetryConfigR\ttelemetry\x12S\n" + + "\x0ecanned_message\x18\a \x01(\v2,.meshtastic.ModuleConfig.CannedMessageConfigR\rcannedMessage\x12:\n" + + "\x05audio\x18\t \x01(\v2$.meshtastic.ModuleConfig.AudioConfigR\x05audio\x12V\n" + + "\x0fremote_hardware\x18\n" + + " \x01(\v2-.meshtastic.ModuleConfig.RemoteHardwareConfigR\x0eremoteHardware\x12P\n" + + "\rneighbor_info\x18\v \x01(\v2+.meshtastic.ModuleConfig.NeighborInfoConfigR\fneighborInfo\x12Y\n" + + "\x10ambient_lighting\x18\f \x01(\v2..meshtastic.ModuleConfig.AmbientLightingConfigR\x0fambientLighting\x12Y\n" + + "\x10detection_sensor\x18\r \x01(\v2..meshtastic.ModuleConfig.DetectionSensorConfigR\x0fdetectionSensor\x12I\n" + + "\n" + + "paxcounter\x18\x0e \x01(\v2).meshtastic.ModuleConfig.PaxcounterConfigR\n" + + "paxcounter\x12\x18\n" + + "\aversion\x18\b \x01(\rR\aversionBd\n" + + "\x13com.geeksville.meshB\x0fLocalOnlyProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_localonly_proto_rawDescOnce sync.Once - file_meshtastic_localonly_proto_rawDescData = file_meshtastic_localonly_proto_rawDesc + file_meshtastic_localonly_proto_rawDescData []byte ) func file_meshtastic_localonly_proto_rawDescGZIP() []byte { file_meshtastic_localonly_proto_rawDescOnce.Do(func() { - file_meshtastic_localonly_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_localonly_proto_rawDescData) + file_meshtastic_localonly_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_localonly_proto_rawDesc), len(file_meshtastic_localonly_proto_rawDesc))) }) return file_meshtastic_localonly_proto_rawDescData } var file_meshtastic_localonly_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_meshtastic_localonly_proto_goTypes = []interface{}{ +var file_meshtastic_localonly_proto_goTypes = []any{ (*LocalConfig)(nil), // 0: meshtastic.LocalConfig (*LocalModuleConfig)(nil), // 1: meshtastic.LocalModuleConfig (*Config_DeviceConfig)(nil), // 2: meshtastic.Config.DeviceConfig @@ -437,19 +364,20 @@ var file_meshtastic_localonly_proto_goTypes = []interface{}{ (*Config_DisplayConfig)(nil), // 6: meshtastic.Config.DisplayConfig (*Config_LoRaConfig)(nil), // 7: meshtastic.Config.LoRaConfig (*Config_BluetoothConfig)(nil), // 8: meshtastic.Config.BluetoothConfig - (*ModuleConfig_MQTTConfig)(nil), // 9: meshtastic.ModuleConfig.MQTTConfig - (*ModuleConfig_SerialConfig)(nil), // 10: meshtastic.ModuleConfig.SerialConfig - (*ModuleConfig_ExternalNotificationConfig)(nil), // 11: meshtastic.ModuleConfig.ExternalNotificationConfig - (*ModuleConfig_StoreForwardConfig)(nil), // 12: meshtastic.ModuleConfig.StoreForwardConfig - (*ModuleConfig_RangeTestConfig)(nil), // 13: meshtastic.ModuleConfig.RangeTestConfig - (*ModuleConfig_TelemetryConfig)(nil), // 14: meshtastic.ModuleConfig.TelemetryConfig - (*ModuleConfig_CannedMessageConfig)(nil), // 15: meshtastic.ModuleConfig.CannedMessageConfig - (*ModuleConfig_AudioConfig)(nil), // 16: meshtastic.ModuleConfig.AudioConfig - (*ModuleConfig_RemoteHardwareConfig)(nil), // 17: meshtastic.ModuleConfig.RemoteHardwareConfig - (*ModuleConfig_NeighborInfoConfig)(nil), // 18: meshtastic.ModuleConfig.NeighborInfoConfig - (*ModuleConfig_AmbientLightingConfig)(nil), // 19: meshtastic.ModuleConfig.AmbientLightingConfig - (*ModuleConfig_DetectionSensorConfig)(nil), // 20: meshtastic.ModuleConfig.DetectionSensorConfig - (*ModuleConfig_PaxcounterConfig)(nil), // 21: meshtastic.ModuleConfig.PaxcounterConfig + (*Config_SecurityConfig)(nil), // 9: meshtastic.Config.SecurityConfig + (*ModuleConfig_MQTTConfig)(nil), // 10: meshtastic.ModuleConfig.MQTTConfig + (*ModuleConfig_SerialConfig)(nil), // 11: meshtastic.ModuleConfig.SerialConfig + (*ModuleConfig_ExternalNotificationConfig)(nil), // 12: meshtastic.ModuleConfig.ExternalNotificationConfig + (*ModuleConfig_StoreForwardConfig)(nil), // 13: meshtastic.ModuleConfig.StoreForwardConfig + (*ModuleConfig_RangeTestConfig)(nil), // 14: meshtastic.ModuleConfig.RangeTestConfig + (*ModuleConfig_TelemetryConfig)(nil), // 15: meshtastic.ModuleConfig.TelemetryConfig + (*ModuleConfig_CannedMessageConfig)(nil), // 16: meshtastic.ModuleConfig.CannedMessageConfig + (*ModuleConfig_AudioConfig)(nil), // 17: meshtastic.ModuleConfig.AudioConfig + (*ModuleConfig_RemoteHardwareConfig)(nil), // 18: meshtastic.ModuleConfig.RemoteHardwareConfig + (*ModuleConfig_NeighborInfoConfig)(nil), // 19: meshtastic.ModuleConfig.NeighborInfoConfig + (*ModuleConfig_AmbientLightingConfig)(nil), // 20: meshtastic.ModuleConfig.AmbientLightingConfig + (*ModuleConfig_DetectionSensorConfig)(nil), // 21: meshtastic.ModuleConfig.DetectionSensorConfig + (*ModuleConfig_PaxcounterConfig)(nil), // 22: meshtastic.ModuleConfig.PaxcounterConfig } var file_meshtastic_localonly_proto_depIdxs = []int32{ 2, // 0: meshtastic.LocalConfig.device:type_name -> meshtastic.Config.DeviceConfig @@ -459,24 +387,25 @@ var file_meshtastic_localonly_proto_depIdxs = []int32{ 6, // 4: meshtastic.LocalConfig.display:type_name -> meshtastic.Config.DisplayConfig 7, // 5: meshtastic.LocalConfig.lora:type_name -> meshtastic.Config.LoRaConfig 8, // 6: meshtastic.LocalConfig.bluetooth:type_name -> meshtastic.Config.BluetoothConfig - 9, // 7: meshtastic.LocalModuleConfig.mqtt:type_name -> meshtastic.ModuleConfig.MQTTConfig - 10, // 8: meshtastic.LocalModuleConfig.serial:type_name -> meshtastic.ModuleConfig.SerialConfig - 11, // 9: meshtastic.LocalModuleConfig.external_notification:type_name -> meshtastic.ModuleConfig.ExternalNotificationConfig - 12, // 10: meshtastic.LocalModuleConfig.store_forward:type_name -> meshtastic.ModuleConfig.StoreForwardConfig - 13, // 11: meshtastic.LocalModuleConfig.range_test:type_name -> meshtastic.ModuleConfig.RangeTestConfig - 14, // 12: meshtastic.LocalModuleConfig.telemetry:type_name -> meshtastic.ModuleConfig.TelemetryConfig - 15, // 13: meshtastic.LocalModuleConfig.canned_message:type_name -> meshtastic.ModuleConfig.CannedMessageConfig - 16, // 14: meshtastic.LocalModuleConfig.audio:type_name -> meshtastic.ModuleConfig.AudioConfig - 17, // 15: meshtastic.LocalModuleConfig.remote_hardware:type_name -> meshtastic.ModuleConfig.RemoteHardwareConfig - 18, // 16: meshtastic.LocalModuleConfig.neighbor_info:type_name -> meshtastic.ModuleConfig.NeighborInfoConfig - 19, // 17: meshtastic.LocalModuleConfig.ambient_lighting:type_name -> meshtastic.ModuleConfig.AmbientLightingConfig - 20, // 18: meshtastic.LocalModuleConfig.detection_sensor:type_name -> meshtastic.ModuleConfig.DetectionSensorConfig - 21, // 19: meshtastic.LocalModuleConfig.paxcounter:type_name -> meshtastic.ModuleConfig.PaxcounterConfig - 20, // [20:20] is the sub-list for method output_type - 20, // [20:20] is the sub-list for method input_type - 20, // [20:20] is the sub-list for extension type_name - 20, // [20:20] is the sub-list for extension extendee - 0, // [0:20] is the sub-list for field type_name + 9, // 7: meshtastic.LocalConfig.security:type_name -> meshtastic.Config.SecurityConfig + 10, // 8: meshtastic.LocalModuleConfig.mqtt:type_name -> meshtastic.ModuleConfig.MQTTConfig + 11, // 9: meshtastic.LocalModuleConfig.serial:type_name -> meshtastic.ModuleConfig.SerialConfig + 12, // 10: meshtastic.LocalModuleConfig.external_notification:type_name -> meshtastic.ModuleConfig.ExternalNotificationConfig + 13, // 11: meshtastic.LocalModuleConfig.store_forward:type_name -> meshtastic.ModuleConfig.StoreForwardConfig + 14, // 12: meshtastic.LocalModuleConfig.range_test:type_name -> meshtastic.ModuleConfig.RangeTestConfig + 15, // 13: meshtastic.LocalModuleConfig.telemetry:type_name -> meshtastic.ModuleConfig.TelemetryConfig + 16, // 14: meshtastic.LocalModuleConfig.canned_message:type_name -> meshtastic.ModuleConfig.CannedMessageConfig + 17, // 15: meshtastic.LocalModuleConfig.audio:type_name -> meshtastic.ModuleConfig.AudioConfig + 18, // 16: meshtastic.LocalModuleConfig.remote_hardware:type_name -> meshtastic.ModuleConfig.RemoteHardwareConfig + 19, // 17: meshtastic.LocalModuleConfig.neighbor_info:type_name -> meshtastic.ModuleConfig.NeighborInfoConfig + 20, // 18: meshtastic.LocalModuleConfig.ambient_lighting:type_name -> meshtastic.ModuleConfig.AmbientLightingConfig + 21, // 19: meshtastic.LocalModuleConfig.detection_sensor:type_name -> meshtastic.ModuleConfig.DetectionSensorConfig + 22, // 20: meshtastic.LocalModuleConfig.paxcounter:type_name -> meshtastic.ModuleConfig.PaxcounterConfig + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name } func init() { file_meshtastic_localonly_proto_init() } @@ -486,37 +415,11 @@ func file_meshtastic_localonly_proto_init() { } file_meshtastic_config_proto_init() file_meshtastic_module_config_proto_init() - if !protoimpl.UnsafeEnabled { - file_meshtastic_localonly_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LocalConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_localonly_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LocalModuleConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_localonly_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_localonly_proto_rawDesc), len(file_meshtastic_localonly_proto_rawDesc)), NumEnums: 0, NumMessages: 2, NumExtensions: 0, @@ -527,7 +430,6 @@ func file_meshtastic_localonly_proto_init() { MessageInfos: file_meshtastic_localonly_proto_msgTypes, }.Build() File_meshtastic_localonly_proto = out.File - file_meshtastic_localonly_proto_rawDesc = nil file_meshtastic_localonly_proto_goTypes = nil file_meshtastic_localonly_proto_depIdxs = nil } diff --git a/meshtastic/localonly_vtproto.pb.go b/meshtastic/localonly_vtproto.pb.go index 1d7d8c0..93af8e5 100644 --- a/meshtastic/localonly_vtproto.pb.go +++ b/meshtastic/localonly_vtproto.pb.go @@ -48,6 +48,16 @@ func (m *LocalConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Security != nil { + size, err := m.Security.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } if m.Version != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) i-- @@ -331,6 +341,10 @@ func (m *LocalConfig) SizeVT() (n int) { if m.Version != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) } + if m.Security != nil { + l = m.Security.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -700,6 +714,42 @@ func (m *LocalConfig) UnmarshalVT(dAtA []byte) error { break } } + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Security", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Security == nil { + m.Security = &Config_SecurityConfig{} + } + if err := m.Security.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/mesh.pb.go b/meshtastic/mesh.pb.go index b283416..afbc4b6 100644 --- a/meshtastic/mesh.pb.go +++ b/meshtastic/mesh.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/mesh.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -69,6 +70,16 @@ const ( HardwareModel_NANO_G2_ULTRA HardwareModel = 18 // LoRAType device: https://loratype.org/ HardwareModel_LORA_TYPE HardwareModel = 19 + // wiphone https://www.wiphone.io/ + HardwareModel_WIPHONE HardwareModel = 20 + // WIO Tracker WM1110 family from Seeed Studio. Includes wio-1110-tracker and wio-1110-sdk + HardwareModel_WIO_WM1110 HardwareModel = 21 + // RAK2560 Solar base station based on RAK4630 + HardwareModel_RAK2560 HardwareModel = 22 + // Heltec HRU-3601: https://heltec.org/project/hru-3601/ + HardwareModel_HELTEC_HRU_3601 HardwareModel = 23 + // Heltec Wireless Bridge + HardwareModel_HELTEC_WIRELESS_BRIDGE HardwareModel = 24 // B&Q Consulting Station Edition G1: https://uniteng.com/wiki/doku.php?id=meshtastic:station HardwareModel_STATION_G1 HardwareModel = 25 // RAK11310 (RP2040 + SX1262) @@ -105,7 +116,7 @@ const ( HardwareModel_NRF52840_PCA10059 HardwareModel = 40 // Custom Disaster Radio esp32 v3 device https://github.com/sudomesh/disaster-radio/tree/master/hardware/board_esp32_v3 HardwareModel_DR_DEV HardwareModel = 41 - // M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, Paper) https://m5stack.com/ + // M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, CoreS3, Paper) https://m5stack.com/ HardwareModel_M5STACK HardwareModel = 42 // New Heltec LoRA32 with ESP32-S3 CPU HardwareModel_HELTEC_V3 HardwareModel = 43 @@ -147,6 +158,113 @@ const ( // Heltec Wireless Tracker with ESP32-S3 CPU, built-in GPS, and TFT // Older "V1.0" Variant HardwareModel_HELTEC_WIRELESS_TRACKER_V1_0 HardwareModel = 58 + // unPhone with ESP32-S3, TFT touchscreen, LSM6DS3TR-C accelerometer and gyroscope + HardwareModel_UNPHONE HardwareModel = 59 + // Teledatics TD-LORAC NRF52840 based M.2 LoRA module + // Compatible with the TD-WRLS development board + HardwareModel_TD_LORAC HardwareModel = 60 + // CDEBYTE EoRa-S3 board using their own MM modules, clone of LILYGO T3S3 + HardwareModel_CDEBYTE_EORA_S3 HardwareModel = 61 + // TWC_MESH_V4 + // Adafruit NRF52840 feather express with SX1262, SSD1306 OLED and NEO6M GPS + HardwareModel_TWC_MESH_V4 HardwareModel = 62 + // NRF52_PROMICRO_DIY + // Promicro NRF52840 with SX1262/LLCC68, SSD1306 OLED and NEO6M GPS + HardwareModel_NRF52_PROMICRO_DIY HardwareModel = 63 + // RadioMaster 900 Bandit Nano, https://www.radiomasterrc.com/products/bandit-nano-expresslrs-rf-module + // ESP32-D0WDQ6 With SX1276/SKY66122, SSD1306 OLED and No GPS + HardwareModel_RADIOMASTER_900_BANDIT_NANO HardwareModel = 64 + // Heltec Capsule Sensor V3 with ESP32-S3 CPU, Portable LoRa device that can replace GNSS modules or sensors + HardwareModel_HELTEC_CAPSULE_SENSOR_V3 HardwareModel = 65 + // Heltec Vision Master T190 with ESP32-S3 CPU, and a 1.90 inch TFT display + HardwareModel_HELTEC_VISION_MASTER_T190 HardwareModel = 66 + // Heltec Vision Master E213 with ESP32-S3 CPU, and a 2.13 inch E-Ink display + HardwareModel_HELTEC_VISION_MASTER_E213 HardwareModel = 67 + // Heltec Vision Master E290 with ESP32-S3 CPU, and a 2.9 inch E-Ink display + HardwareModel_HELTEC_VISION_MASTER_E290 HardwareModel = 68 + // Heltec Mesh Node T114 board with nRF52840 CPU, and a 1.14 inch TFT display, Ultimate low-power design, + // specifically adapted for the Meshtatic project + HardwareModel_HELTEC_MESH_NODE_T114 HardwareModel = 69 + // Sensecap Indicator from Seeed Studio. ESP32-S3 device with TFT and RP2040 coprocessor + HardwareModel_SENSECAP_INDICATOR HardwareModel = 70 + // Seeed studio T1000-E tracker card. NRF52840 w/ LR1110 radio, GPS, button, buzzer, and sensors. + HardwareModel_TRACKER_T1000_E HardwareModel = 71 + // RAK3172 STM32WLE5 Module (https://store.rakwireless.com/products/wisduo-lpwan-module-rak3172) + HardwareModel_RAK3172 HardwareModel = 72 + // Seeed Studio Wio-E5 (either mini or Dev kit) using STM32WL chip. + HardwareModel_WIO_E5 HardwareModel = 73 + // RadioMaster 900 Bandit, https://www.radiomasterrc.com/products/bandit-expresslrs-rf-module + // SSD1306 OLED and No GPS + HardwareModel_RADIOMASTER_900_BANDIT HardwareModel = 74 + // Minewsemi ME25LS01 (ME25LE01_V1.0). NRF52840 w/ LR1110 radio, buttons and leds and pins. + HardwareModel_ME25LS01_4Y10TD HardwareModel = 75 + // RP2040_FEATHER_RFM95 + // Adafruit Feather RP2040 with RFM95 LoRa Radio RFM95 with SX1272, SSD1306 OLED + // https://www.adafruit.com/product/5714 + // https://www.adafruit.com/product/326 + // https://www.adafruit.com/product/938 + // + // ^^^ short A0 to switch to I2C address 0x3C + HardwareModel_RP2040_FEATHER_RFM95 HardwareModel = 76 + // M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, CoreS3, Paper) https://m5stack.com/ + HardwareModel_M5STACK_COREBASIC HardwareModel = 77 + HardwareModel_M5STACK_CORE2 HardwareModel = 78 + // Pico2 with Waveshare Hat, same as Pico + HardwareModel_RPI_PICO2 HardwareModel = 79 + // M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, CoreS3, Paper) https://m5stack.com/ + HardwareModel_M5STACK_CORES3 HardwareModel = 80 + // Seeed XIAO S3 DK + HardwareModel_SEEED_XIAO_S3 HardwareModel = 81 + // Nordic nRF52840+Semtech SX1262 LoRa BLE Combo Module. nRF52840+SX1262 MS24SF1 + HardwareModel_MS24SF1 HardwareModel = 82 + // Lilygo TLora-C6 with the new ESP32-C6 MCU + HardwareModel_TLORA_C6 HardwareModel = 83 + // WisMesh Tap + // RAK-4631 w/ TFT in injection modled case + HardwareModel_WISMESH_TAP HardwareModel = 84 + // Similar to PORTDUINO but used by Routastic devices, this is not any + // particular device and does not run Meshtastic's code but supports + // the same frame format. + // Runs on linux, see https://github.com/Jorropo/routastic + HardwareModel_ROUTASTIC HardwareModel = 85 + // Mesh-Tab, esp32 based + // https://github.com/valzzu/Mesh-Tab + HardwareModel_MESH_TAB HardwareModel = 86 + // MeshLink board developed by LoraItalia. NRF52840, eByte E22900M22S (Will also come with other frequencies), 25w MPPT solar charger (5v,12v,18v selectable), support for gps, buzzer, oled or e-ink display, 10 gpios, hardware watchdog + // https://www.loraitalia.it + HardwareModel_MESHLINK HardwareModel = 87 + // Seeed XIAO nRF52840 + Wio SX1262 kit + HardwareModel_XIAO_NRF52_KIT HardwareModel = 88 + // Elecrow ThinkNode M1 & M2 + // https://www.elecrow.com/wiki/ThinkNode-M1_Transceiver_Device(Meshtastic)_Power_By_nRF52840.html + // https://www.elecrow.com/wiki/ThinkNode-M2_Transceiver_Device(Meshtastic)_Power_By_NRF52840.html (this actually uses ESP32-S3) + HardwareModel_THINKNODE_M1 HardwareModel = 89 + HardwareModel_THINKNODE_M2 HardwareModel = 90 + // Lilygo T-ETH-Elite + HardwareModel_T_ETH_ELITE HardwareModel = 91 + // Heltec HRI-3621 industrial probe + HardwareModel_HELTEC_SENSOR_HUB HardwareModel = 92 + // Reserved Fried Chicken ID for future use + HardwareModel_RESERVED_FRIED_CHICKEN HardwareModel = 93 + // Heltec Magnetic Power Bank with Meshtastic compatible + HardwareModel_HELTEC_MESH_POCKET HardwareModel = 94 + // Seeed Solar Node + HardwareModel_SEEED_SOLAR_NODE HardwareModel = 95 + // NomadStar Meteor Pro https://nomadstar.ch/ + HardwareModel_NOMADSTAR_METEOR_PRO HardwareModel = 96 + // Elecrow CrowPanel Advance models, ESP32-S3 and TFT with SX1262 radio plugin + HardwareModel_CROWPANEL HardwareModel = 97 + // * + // Lilygo LINK32 board with sensors + HardwareModel_LINK_32 HardwareModel = 98 + // * + // Seeed Tracker L1 + HardwareModel_SEEED_WIO_TRACKER_L1 HardwareModel = 99 + // * + // Seeed Tracker L1 EINK driver + HardwareModel_SEEED_WIO_TRACKER_L1_EINK HardwareModel = 100 + // Reserved ID for future and past use + HardwareModel_QWANTZ_TINY_ARMS HardwareModel = 101 // ------------------------------------------------------------------------------------------------------------------------------------------ // 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. // ------------------------------------------------------------------------------------------------------------------------------------------ @@ -176,6 +294,11 @@ var ( 17: "NANO_G1_EXPLORER", 18: "NANO_G2_ULTRA", 19: "LORA_TYPE", + 20: "WIPHONE", + 21: "WIO_WM1110", + 22: "RAK2560", + 23: "HELTEC_HRU_3601", + 24: "HELTEC_WIRELESS_BRIDGE", 25: "STATION_G1", 26: "RAK11310", 27: "SENSELORA_RP2040", @@ -210,6 +333,49 @@ var ( 56: "CHATTER_2", 57: "HELTEC_WIRELESS_PAPER_V1_0", 58: "HELTEC_WIRELESS_TRACKER_V1_0", + 59: "UNPHONE", + 60: "TD_LORAC", + 61: "CDEBYTE_EORA_S3", + 62: "TWC_MESH_V4", + 63: "NRF52_PROMICRO_DIY", + 64: "RADIOMASTER_900_BANDIT_NANO", + 65: "HELTEC_CAPSULE_SENSOR_V3", + 66: "HELTEC_VISION_MASTER_T190", + 67: "HELTEC_VISION_MASTER_E213", + 68: "HELTEC_VISION_MASTER_E290", + 69: "HELTEC_MESH_NODE_T114", + 70: "SENSECAP_INDICATOR", + 71: "TRACKER_T1000_E", + 72: "RAK3172", + 73: "WIO_E5", + 74: "RADIOMASTER_900_BANDIT", + 75: "ME25LS01_4Y10TD", + 76: "RP2040_FEATHER_RFM95", + 77: "M5STACK_COREBASIC", + 78: "M5STACK_CORE2", + 79: "RPI_PICO2", + 80: "M5STACK_CORES3", + 81: "SEEED_XIAO_S3", + 82: "MS24SF1", + 83: "TLORA_C6", + 84: "WISMESH_TAP", + 85: "ROUTASTIC", + 86: "MESH_TAB", + 87: "MESHLINK", + 88: "XIAO_NRF52_KIT", + 89: "THINKNODE_M1", + 90: "THINKNODE_M2", + 91: "T_ETH_ELITE", + 92: "HELTEC_SENSOR_HUB", + 93: "RESERVED_FRIED_CHICKEN", + 94: "HELTEC_MESH_POCKET", + 95: "SEEED_SOLAR_NODE", + 96: "NOMADSTAR_METEOR_PRO", + 97: "CROWPANEL", + 98: "LINK_32", + 99: "SEEED_WIO_TRACKER_L1", + 100: "SEEED_WIO_TRACKER_L1_EINK", + 101: "QWANTZ_TINY_ARMS", 255: "PRIVATE_HW", } HardwareModel_value = map[string]int32{ @@ -233,6 +399,11 @@ var ( "NANO_G1_EXPLORER": 17, "NANO_G2_ULTRA": 18, "LORA_TYPE": 19, + "WIPHONE": 20, + "WIO_WM1110": 21, + "RAK2560": 22, + "HELTEC_HRU_3601": 23, + "HELTEC_WIRELESS_BRIDGE": 24, "STATION_G1": 25, "RAK11310": 26, "SENSELORA_RP2040": 27, @@ -267,6 +438,49 @@ var ( "CHATTER_2": 56, "HELTEC_WIRELESS_PAPER_V1_0": 57, "HELTEC_WIRELESS_TRACKER_V1_0": 58, + "UNPHONE": 59, + "TD_LORAC": 60, + "CDEBYTE_EORA_S3": 61, + "TWC_MESH_V4": 62, + "NRF52_PROMICRO_DIY": 63, + "RADIOMASTER_900_BANDIT_NANO": 64, + "HELTEC_CAPSULE_SENSOR_V3": 65, + "HELTEC_VISION_MASTER_T190": 66, + "HELTEC_VISION_MASTER_E213": 67, + "HELTEC_VISION_MASTER_E290": 68, + "HELTEC_MESH_NODE_T114": 69, + "SENSECAP_INDICATOR": 70, + "TRACKER_T1000_E": 71, + "RAK3172": 72, + "WIO_E5": 73, + "RADIOMASTER_900_BANDIT": 74, + "ME25LS01_4Y10TD": 75, + "RP2040_FEATHER_RFM95": 76, + "M5STACK_COREBASIC": 77, + "M5STACK_CORE2": 78, + "RPI_PICO2": 79, + "M5STACK_CORES3": 80, + "SEEED_XIAO_S3": 81, + "MS24SF1": 82, + "TLORA_C6": 83, + "WISMESH_TAP": 84, + "ROUTASTIC": 85, + "MESH_TAB": 86, + "MESHLINK": 87, + "XIAO_NRF52_KIT": 88, + "THINKNODE_M1": 89, + "THINKNODE_M2": 90, + "T_ETH_ELITE": 91, + "HELTEC_SENSOR_HUB": 92, + "RESERVED_FRIED_CHICKEN": 93, + "HELTEC_MESH_POCKET": 94, + "SEEED_SOLAR_NODE": 95, + "NOMADSTAR_METEOR_PRO": 96, + "CROWPANEL": 97, + "LINK_32": 98, + "SEEED_WIO_TRACKER_L1": 99, + "SEEED_WIO_TRACKER_L1_EINK": 100, + "QWANTZ_TINY_ARMS": 101, "PRIVATE_HW": 255, } ) @@ -308,18 +522,18 @@ const ( // From mesh.options // note: this payload length is ONLY the bytes that are sent inside of the Data protobuf (excluding protobuf overhead). The 16 byte header is // outside of this envelope - Constants_DATA_PAYLOAD_LEN Constants = 237 + Constants_DATA_PAYLOAD_LEN Constants = 233 ) // Enum value maps for Constants. var ( Constants_name = map[int32]string{ 0: "ZERO", - 237: "DATA_PAYLOAD_LEN", + 233: "DATA_PAYLOAD_LEN", } Constants_value = map[string]int32{ "ZERO": 0, - "DATA_PAYLOAD_LEN": 237, + "DATA_PAYLOAD_LEN": 233, } ) @@ -384,6 +598,13 @@ const ( // A (likely software but possibly hardware) failure was detected while trying to send packets. // If this occurs on your board, please post in the forum so that we can ask you to collect some information to allow fixing this bug CriticalErrorCode_RADIO_SPI_BUG CriticalErrorCode = 11 + // Corruption was detected on the flash filesystem but we were able to repair things. + // If you see this failure in the field please post in the forum because we are interested in seeing if this is occurring in the field. + CriticalErrorCode_FLASH_CORRUPTION_RECOVERABLE CriticalErrorCode = 12 + // Corruption was detected on the flash filesystem but we were unable to repair things. + // NOTE: Your node will probably need to be reconfigured the next time it reboots (it will lose the region code etc...) + // If you see this failure in the field please post in the forum because we are interested in seeing if this is occurring in the field. + CriticalErrorCode_FLASH_CORRUPTION_UNRECOVERABLE CriticalErrorCode = 13 ) // Enum value maps for CriticalErrorCode. @@ -401,20 +622,24 @@ var ( 9: "BROWNOUT", 10: "SX1262_FAILURE", 11: "RADIO_SPI_BUG", + 12: "FLASH_CORRUPTION_RECOVERABLE", + 13: "FLASH_CORRUPTION_UNRECOVERABLE", } CriticalErrorCode_value = map[string]int32{ - "NONE": 0, - "TX_WATCHDOG": 1, - "SLEEP_ENTER_WAIT": 2, - "NO_RADIO": 3, - "UNSPECIFIED": 4, - "UBLOX_UNIT_FAILED": 5, - "NO_AXP192": 6, - "INVALID_RADIO_SETTING": 7, - "TRANSMIT_FAILED": 8, - "BROWNOUT": 9, - "SX1262_FAILURE": 10, - "RADIO_SPI_BUG": 11, + "NONE": 0, + "TX_WATCHDOG": 1, + "SLEEP_ENTER_WAIT": 2, + "NO_RADIO": 3, + "UNSPECIFIED": 4, + "UBLOX_UNIT_FAILED": 5, + "NO_AXP192": 6, + "INVALID_RADIO_SETTING": 7, + "TRANSMIT_FAILED": 8, + "BROWNOUT": 9, + "SX1262_FAILURE": 10, + "RADIO_SPI_BUG": 11, + "FLASH_CORRUPTION_RECOVERABLE": 12, + "FLASH_CORRUPTION_UNRECOVERABLE": 13, } ) @@ -445,6 +670,113 @@ func (CriticalErrorCode) EnumDescriptor() ([]byte, []int) { return file_meshtastic_mesh_proto_rawDescGZIP(), []int{2} } +// Enum for modules excluded from a device's configuration. +// Each value represents a ModuleConfigType that can be toggled as excluded +// by setting its corresponding bit in the `excluded_modules` bitmask field. +type ExcludedModules int32 + +const ( + // Default value of 0 indicates no modules are excluded. + ExcludedModules_EXCLUDED_NONE ExcludedModules = 0 + // MQTT module + ExcludedModules_MQTT_CONFIG ExcludedModules = 1 + // Serial module + ExcludedModules_SERIAL_CONFIG ExcludedModules = 2 + // External Notification module + ExcludedModules_EXTNOTIF_CONFIG ExcludedModules = 4 + // Store and Forward module + ExcludedModules_STOREFORWARD_CONFIG ExcludedModules = 8 + // Range Test module + ExcludedModules_RANGETEST_CONFIG ExcludedModules = 16 + // Telemetry module + ExcludedModules_TELEMETRY_CONFIG ExcludedModules = 32 + // Canned Message module + ExcludedModules_CANNEDMSG_CONFIG ExcludedModules = 64 + // Audio module + ExcludedModules_AUDIO_CONFIG ExcludedModules = 128 + // Remote Hardware module + ExcludedModules_REMOTEHARDWARE_CONFIG ExcludedModules = 256 + // Neighbor Info module + ExcludedModules_NEIGHBORINFO_CONFIG ExcludedModules = 512 + // Ambient Lighting module + ExcludedModules_AMBIENTLIGHTING_CONFIG ExcludedModules = 1024 + // Detection Sensor module + ExcludedModules_DETECTIONSENSOR_CONFIG ExcludedModules = 2048 + // Paxcounter module + ExcludedModules_PAXCOUNTER_CONFIG ExcludedModules = 4096 + // Bluetooth config (not technically a module, but used to indicate bluetooth capabilities) + ExcludedModules_BLUETOOTH_CONFIG ExcludedModules = 8192 + // Network config (not technically a module, but used to indicate network capabilities) + ExcludedModules_NETWORK_CONFIG ExcludedModules = 16384 +) + +// Enum value maps for ExcludedModules. +var ( + ExcludedModules_name = map[int32]string{ + 0: "EXCLUDED_NONE", + 1: "MQTT_CONFIG", + 2: "SERIAL_CONFIG", + 4: "EXTNOTIF_CONFIG", + 8: "STOREFORWARD_CONFIG", + 16: "RANGETEST_CONFIG", + 32: "TELEMETRY_CONFIG", + 64: "CANNEDMSG_CONFIG", + 128: "AUDIO_CONFIG", + 256: "REMOTEHARDWARE_CONFIG", + 512: "NEIGHBORINFO_CONFIG", + 1024: "AMBIENTLIGHTING_CONFIG", + 2048: "DETECTIONSENSOR_CONFIG", + 4096: "PAXCOUNTER_CONFIG", + 8192: "BLUETOOTH_CONFIG", + 16384: "NETWORK_CONFIG", + } + ExcludedModules_value = map[string]int32{ + "EXCLUDED_NONE": 0, + "MQTT_CONFIG": 1, + "SERIAL_CONFIG": 2, + "EXTNOTIF_CONFIG": 4, + "STOREFORWARD_CONFIG": 8, + "RANGETEST_CONFIG": 16, + "TELEMETRY_CONFIG": 32, + "CANNEDMSG_CONFIG": 64, + "AUDIO_CONFIG": 128, + "REMOTEHARDWARE_CONFIG": 256, + "NEIGHBORINFO_CONFIG": 512, + "AMBIENTLIGHTING_CONFIG": 1024, + "DETECTIONSENSOR_CONFIG": 2048, + "PAXCOUNTER_CONFIG": 4096, + "BLUETOOTH_CONFIG": 8192, + "NETWORK_CONFIG": 16384, + } +) + +func (x ExcludedModules) Enum() *ExcludedModules { + p := new(ExcludedModules) + *p = x + return p +} + +func (x ExcludedModules) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ExcludedModules) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[3].Descriptor() +} + +func (ExcludedModules) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[3] +} + +func (x ExcludedModules) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ExcludedModules.Descriptor instead. +func (ExcludedModules) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{3} +} + // How the location was acquired: manual, onboard GPS, external (EUD) GPS type Position_LocSource int32 @@ -486,11 +818,11 @@ func (x Position_LocSource) String() string { } func (Position_LocSource) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_mesh_proto_enumTypes[3].Descriptor() + return file_meshtastic_mesh_proto_enumTypes[4].Descriptor() } func (Position_LocSource) Type() protoreflect.EnumType { - return &file_meshtastic_mesh_proto_enumTypes[3] + return &file_meshtastic_mesh_proto_enumTypes[4] } func (x Position_LocSource) Number() protoreflect.EnumNumber { @@ -548,11 +880,11 @@ func (x Position_AltSource) String() string { } func (Position_AltSource) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_mesh_proto_enumTypes[4].Descriptor() + return file_meshtastic_mesh_proto_enumTypes[5].Descriptor() } func (Position_AltSource) Type() protoreflect.EnumType { - return &file_meshtastic_mesh_proto_enumTypes[4] + return &file_meshtastic_mesh_proto_enumTypes[5] } func (x Position_AltSource) Number() protoreflect.EnumNumber { @@ -595,6 +927,14 @@ const ( // The application layer service on the remote node received your request, but considered your request not authorized // (i.e you did not send the request on the required bound channel) Routing_NOT_AUTHORIZED Routing_Error = 33 + // The client specified a PKI transport, but the node was unable to send the packet using PKI (and did not send the message at all) + Routing_PKI_FAILED Routing_Error = 34 + // The receiving node does not have a Public Key to decode with + Routing_PKI_UNKNOWN_PUBKEY Routing_Error = 35 + // Admin packet otherwise checks out, but uses a bogus or expired session key + Routing_ADMIN_BAD_SESSION_KEY Routing_Error = 36 + // Admin packet sent using PKC, but not from a public key on the admin key list + Routing_ADMIN_PUBLIC_KEY_UNAUTHORIZED Routing_Error = 37 ) // Enum value maps for Routing_Error. @@ -612,20 +952,28 @@ var ( 9: "DUTY_CYCLE_LIMIT", 32: "BAD_REQUEST", 33: "NOT_AUTHORIZED", + 34: "PKI_FAILED", + 35: "PKI_UNKNOWN_PUBKEY", + 36: "ADMIN_BAD_SESSION_KEY", + 37: "ADMIN_PUBLIC_KEY_UNAUTHORIZED", } Routing_Error_value = map[string]int32{ - "NONE": 0, - "NO_ROUTE": 1, - "GOT_NAK": 2, - "TIMEOUT": 3, - "NO_INTERFACE": 4, - "MAX_RETRANSMIT": 5, - "NO_CHANNEL": 6, - "TOO_LARGE": 7, - "NO_RESPONSE": 8, - "DUTY_CYCLE_LIMIT": 9, - "BAD_REQUEST": 32, - "NOT_AUTHORIZED": 33, + "NONE": 0, + "NO_ROUTE": 1, + "GOT_NAK": 2, + "TIMEOUT": 3, + "NO_INTERFACE": 4, + "MAX_RETRANSMIT": 5, + "NO_CHANNEL": 6, + "TOO_LARGE": 7, + "NO_RESPONSE": 8, + "DUTY_CYCLE_LIMIT": 9, + "BAD_REQUEST": 32, + "NOT_AUTHORIZED": 33, + "PKI_FAILED": 34, + "PKI_UNKNOWN_PUBKEY": 35, + "ADMIN_BAD_SESSION_KEY": 36, + "ADMIN_PUBLIC_KEY_UNAUTHORIZED": 37, } ) @@ -640,11 +988,11 @@ func (x Routing_Error) String() string { } func (Routing_Error) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_mesh_proto_enumTypes[5].Descriptor() + return file_meshtastic_mesh_proto_enumTypes[6].Descriptor() } func (Routing_Error) Type() protoreflect.EnumType { - return &file_meshtastic_mesh_proto_enumTypes[5] + return &file_meshtastic_mesh_proto_enumTypes[6] } func (x Routing_Error) Number() protoreflect.EnumNumber { @@ -689,6 +1037,13 @@ const ( // If priority is unset but the message is marked as want_ack, // assume it is important and use a slightly higher priority MeshPacket_RELIABLE MeshPacket_Priority = 70 + // If priority is unset but the packet is a response to a request, we want it to get there relatively quickly. + // Furthermore, responses stop relaying packets directed to a node early. + MeshPacket_RESPONSE MeshPacket_Priority = 80 + // Higher priority for specific message types (portnums) to distinguish between other reliable packets. + MeshPacket_HIGH MeshPacket_Priority = 100 + // Higher priority alert message used for critical alerts which take priority over other reliable packets. + MeshPacket_ALERT MeshPacket_Priority = 110 // Ack/naks are sent with very high priority to ensure that retransmission // stops as soon as possible MeshPacket_ACK MeshPacket_Priority = 120 @@ -704,6 +1059,9 @@ var ( 10: "BACKGROUND", 64: "DEFAULT", 70: "RELIABLE", + 80: "RESPONSE", + 100: "HIGH", + 110: "ALERT", 120: "ACK", 127: "MAX", } @@ -713,6 +1071,9 @@ var ( "BACKGROUND": 10, "DEFAULT": 64, "RELIABLE": 70, + "RESPONSE": 80, + "HIGH": 100, + "ALERT": 110, "ACK": 120, "MAX": 127, } @@ -729,11 +1090,11 @@ func (x MeshPacket_Priority) String() string { } func (MeshPacket_Priority) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_mesh_proto_enumTypes[6].Descriptor() + return file_meshtastic_mesh_proto_enumTypes[7].Descriptor() } func (MeshPacket_Priority) Type() protoreflect.EnumType { - return &file_meshtastic_mesh_proto_enumTypes[6] + return &file_meshtastic_mesh_proto_enumTypes[7] } func (x MeshPacket_Priority) Number() protoreflect.EnumNumber { @@ -742,7 +1103,7 @@ func (x MeshPacket_Priority) Number() protoreflect.EnumNumber { // Deprecated: Use MeshPacket_Priority.Descriptor instead. func (MeshPacket_Priority) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{7, 0} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{8, 0} } // Identify if this is a delayed packet @@ -782,11 +1143,11 @@ func (x MeshPacket_Delayed) String() string { } func (MeshPacket_Delayed) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_mesh_proto_enumTypes[7].Descriptor() + return file_meshtastic_mesh_proto_enumTypes[8].Descriptor() } func (MeshPacket_Delayed) Type() protoreflect.EnumType { - return &file_meshtastic_mesh_proto_enumTypes[7] + return &file_meshtastic_mesh_proto_enumTypes[8] } func (x MeshPacket_Delayed) Number() protoreflect.EnumNumber { @@ -795,7 +1156,7 @@ func (x MeshPacket_Delayed) Number() protoreflect.EnumNumber { // Deprecated: Use MeshPacket_Delayed.Descriptor instead. func (MeshPacket_Delayed) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{7, 1} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{8, 1} } // Log levels, chosen to match python logging conventions. @@ -851,11 +1212,11 @@ func (x LogRecord_Level) String() string { } func (LogRecord_Level) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_mesh_proto_enumTypes[8].Descriptor() + return file_meshtastic_mesh_proto_enumTypes[9].Descriptor() } func (LogRecord_Level) Type() protoreflect.EnumType { - return &file_meshtastic_mesh_proto_enumTypes[8] + return &file_meshtastic_mesh_proto_enumTypes[9] } func (x LogRecord_Level) Number() protoreflect.EnumNumber { @@ -864,22 +1225,19 @@ func (x LogRecord_Level) Number() protoreflect.EnumNumber { // Deprecated: Use LogRecord_Level.Descriptor instead. func (LogRecord_Level) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{10, 0} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{11, 0} } -// a gps position +// A GPS Position type Position struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The new preferred location encoding, multiply by 1e-7 to get degrees // in floating point - LatitudeI int32 `protobuf:"fixed32,1,opt,name=latitude_i,json=latitudeI,proto3" json:"latitude_i,omitempty"` + LatitudeI *int32 `protobuf:"fixed32,1,opt,name=latitude_i,json=latitudeI,proto3,oneof" json:"latitude_i,omitempty"` // TODO: REPLACE - LongitudeI int32 `protobuf:"fixed32,2,opt,name=longitude_i,json=longitudeI,proto3" json:"longitude_i,omitempty"` + LongitudeI *int32 `protobuf:"fixed32,2,opt,name=longitude_i,json=longitudeI,proto3,oneof" json:"longitude_i,omitempty"` // In meters above MSL (but see issue #359) - Altitude int32 `protobuf:"varint,3,opt,name=altitude,proto3" json:"altitude,omitempty"` + Altitude *int32 `protobuf:"varint,3,opt,name=altitude,proto3,oneof" json:"altitude,omitempty"` // This is usually not sent over the mesh (to save space), but it is sent // from the phone so that the local device can set its time if it is sent over // the mesh (because there are devices on the mesh without GPS or RTC). @@ -894,9 +1252,9 @@ type Position struct { // Pos. timestamp milliseconds adjustment (rarely available or required) TimestampMillisAdjust int32 `protobuf:"varint,8,opt,name=timestamp_millis_adjust,json=timestampMillisAdjust,proto3" json:"timestamp_millis_adjust,omitempty"` // HAE altitude in meters - can be used instead of MSL altitude - AltitudeHae int32 `protobuf:"zigzag32,9,opt,name=altitude_hae,json=altitudeHae,proto3" json:"altitude_hae,omitempty"` + AltitudeHae *int32 `protobuf:"zigzag32,9,opt,name=altitude_hae,json=altitudeHae,proto3,oneof" json:"altitude_hae,omitempty"` // Geoidal separation in meters - AltitudeGeoidalSeparation int32 `protobuf:"zigzag32,10,opt,name=altitude_geoidal_separation,json=altitudeGeoidalSeparation,proto3" json:"altitude_geoidal_separation,omitempty"` + AltitudeGeoidalSeparation *int32 `protobuf:"zigzag32,10,opt,name=altitude_geoidal_separation,json=altitudeGeoidalSeparation,proto3,oneof" json:"altitude_geoidal_separation,omitempty"` // Horizontal, Vertical and Position Dilution of Precision, in 1/100 units // - PDOP is sufficient for most cases // - for higher precision scenarios, HDOP and VDOP can be used instead, @@ -920,9 +1278,9 @@ type Position struct { // - "heading" is where the fuselage points (measured in horizontal plane) // - "yaw" indicates a relative rotation about the vertical axis // TODO: REMOVE/INTEGRATE - GroundSpeed uint32 `protobuf:"varint,15,opt,name=ground_speed,json=groundSpeed,proto3" json:"ground_speed,omitempty"` + GroundSpeed *uint32 `protobuf:"varint,15,opt,name=ground_speed,json=groundSpeed,proto3,oneof" json:"ground_speed,omitempty"` // TODO: REPLACE - GroundTrack uint32 `protobuf:"varint,16,opt,name=ground_track,json=groundTrack,proto3" json:"ground_track,omitempty"` + GroundTrack *uint32 `protobuf:"varint,16,opt,name=ground_track,json=groundTrack,proto3,oneof" json:"ground_track,omitempty"` // GPS fix quality (from NMEA GxGGA statement or similar) FixQuality uint32 `protobuf:"varint,17,opt,name=fix_quality,json=fixQuality,proto3" json:"fix_quality,omitempty"` // GPS fix type 2D/3D (from NMEA GxGSA statement) @@ -942,15 +1300,15 @@ type Position struct { SeqNumber uint32 `protobuf:"varint,22,opt,name=seq_number,json=seqNumber,proto3" json:"seq_number,omitempty"` // Indicates the bits of precision set by the sending node PrecisionBits uint32 `protobuf:"varint,23,opt,name=precision_bits,json=precisionBits,proto3" json:"precision_bits,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Position) Reset() { *x = Position{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Position) String() string { @@ -961,7 +1319,7 @@ func (*Position) ProtoMessage() {} func (x *Position) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_mesh_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -977,22 +1335,22 @@ func (*Position) Descriptor() ([]byte, []int) { } func (x *Position) GetLatitudeI() int32 { - if x != nil { - return x.LatitudeI + if x != nil && x.LatitudeI != nil { + return *x.LatitudeI } return 0 } func (x *Position) GetLongitudeI() int32 { - if x != nil { - return x.LongitudeI + if x != nil && x.LongitudeI != nil { + return *x.LongitudeI } return 0 } func (x *Position) GetAltitude() int32 { - if x != nil { - return x.Altitude + if x != nil && x.Altitude != nil { + return *x.Altitude } return 0 } @@ -1033,15 +1391,15 @@ func (x *Position) GetTimestampMillisAdjust() int32 { } func (x *Position) GetAltitudeHae() int32 { - if x != nil { - return x.AltitudeHae + if x != nil && x.AltitudeHae != nil { + return *x.AltitudeHae } return 0 } func (x *Position) GetAltitudeGeoidalSeparation() int32 { - if x != nil { - return x.AltitudeGeoidalSeparation + if x != nil && x.AltitudeGeoidalSeparation != nil { + return *x.AltitudeGeoidalSeparation } return 0 } @@ -1075,15 +1433,15 @@ func (x *Position) GetGpsAccuracy() uint32 { } func (x *Position) GetGroundSpeed() uint32 { - if x != nil { - return x.GroundSpeed + if x != nil && x.GroundSpeed != nil { + return *x.GroundSpeed } return 0 } func (x *Position) GetGroundTrack() uint32 { - if x != nil { - return x.GroundTrack + if x != nil && x.GroundTrack != nil { + return *x.GroundTrack } return 0 } @@ -1158,10 +1516,7 @@ func (x *Position) GetPrecisionBits() uint32 { // 0xff - broadcast // 0 through 3 - for future use type User struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // A globally unique ID string for this user. // In the case of Signal that would mean +16504442323, for the default macaddr derived id it would be !<8 hexidecimal bytes>. // Note: app developers are encouraged to also use the following standard @@ -1189,15 +1544,20 @@ type User struct { IsLicensed bool `protobuf:"varint,6,opt,name=is_licensed,json=isLicensed,proto3" json:"is_licensed,omitempty"` // Indicates that the user's role in the mesh Role Config_DeviceConfig_Role `protobuf:"varint,7,opt,name=role,proto3,enum=meshtastic.Config_DeviceConfig_Role" json:"role,omitempty"` + // The public key of the user's device. + // This is sent out to other nodes on the mesh to allow them to compute a shared secret key. + PublicKey []byte `protobuf:"bytes,8,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + // Whether or not the node can be messaged + IsUnmessagable *bool `protobuf:"varint,9,opt,name=is_unmessagable,json=isUnmessagable,proto3,oneof" json:"is_unmessagable,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *User) Reset() { *x = User{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *User) String() string { @@ -1208,7 +1568,7 @@ func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_mesh_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1273,23 +1633,40 @@ func (x *User) GetRole() Config_DeviceConfig_Role { return Config_DeviceConfig_CLIENT } -// A message used in our Dynamic Source Routing protocol (RFC 4728 based) -type RouteDiscovery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *User) GetPublicKey() []byte { + if x != nil { + return x.PublicKey + } + return nil +} - // The list of nodenums this packet has visited so far +func (x *User) GetIsUnmessagable() bool { + if x != nil && x.IsUnmessagable != nil { + return *x.IsUnmessagable + } + return false +} + +// A message used in a traceroute +type RouteDiscovery struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The list of nodenums this packet has visited so far to the destination. Route []uint32 `protobuf:"fixed32,1,rep,packed,name=route,proto3" json:"route,omitempty"` + // The list of SNRs (in dB, scaled by 4) in the route towards the destination. + SnrTowards []int32 `protobuf:"varint,2,rep,packed,name=snr_towards,json=snrTowards,proto3" json:"snr_towards,omitempty"` + // The list of nodenums the packet has visited on the way back from the destination. + RouteBack []uint32 `protobuf:"fixed32,3,rep,packed,name=route_back,json=routeBack,proto3" json:"route_back,omitempty"` + // The list of SNRs (in dB, scaled by 4) in the route back from the destination. + SnrBack []int32 `protobuf:"varint,4,rep,packed,name=snr_back,json=snrBack,proto3" json:"snr_back,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RouteDiscovery) Reset() { *x = RouteDiscovery{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RouteDiscovery) String() string { @@ -1300,7 +1677,7 @@ func (*RouteDiscovery) ProtoMessage() {} func (x *RouteDiscovery) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_mesh_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1322,27 +1699,45 @@ func (x *RouteDiscovery) GetRoute() []uint32 { return nil } +func (x *RouteDiscovery) GetSnrTowards() []int32 { + if x != nil { + return x.SnrTowards + } + return nil +} + +func (x *RouteDiscovery) GetRouteBack() []uint32 { + if x != nil { + return x.RouteBack + } + return nil +} + +func (x *RouteDiscovery) GetSnrBack() []int32 { + if x != nil { + return x.SnrBack + } + return nil +} + // A Routing control Data packet handled by the routing module type Routing struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Variant: + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: // // *Routing_RouteRequest // *Routing_RouteReply // *Routing_ErrorReason - Variant isRouting_Variant `protobuf_oneof:"variant"` + Variant isRouting_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Routing) Reset() { *x = Routing{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Routing) String() string { @@ -1353,7 +1748,7 @@ func (*Routing) ProtoMessage() {} func (x *Routing) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_mesh_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1368,30 +1763,36 @@ func (*Routing) Descriptor() ([]byte, []int) { return file_meshtastic_mesh_proto_rawDescGZIP(), []int{3} } -func (m *Routing) GetVariant() isRouting_Variant { - if m != nil { - return m.Variant +func (x *Routing) GetVariant() isRouting_Variant { + if x != nil { + return x.Variant } return nil } func (x *Routing) GetRouteRequest() *RouteDiscovery { - if x, ok := x.GetVariant().(*Routing_RouteRequest); ok { - return x.RouteRequest + if x != nil { + if x, ok := x.Variant.(*Routing_RouteRequest); ok { + return x.RouteRequest + } } return nil } func (x *Routing) GetRouteReply() *RouteDiscovery { - if x, ok := x.GetVariant().(*Routing_RouteReply); ok { - return x.RouteReply + if x != nil { + if x, ok := x.Variant.(*Routing_RouteReply); ok { + return x.RouteReply + } } return nil } func (x *Routing) GetErrorReason() Routing_Error { - if x, ok := x.GetVariant().(*Routing_ErrorReason); ok { - return x.ErrorReason + if x != nil { + if x, ok := x.Variant.(*Routing_ErrorReason); ok { + return x.ErrorReason + } } return Routing_NONE } @@ -1426,10 +1827,7 @@ func (*Routing_ErrorReason) isRouting_Variant() {} // The payload portion fo a packet, this is the actual bytes that are sent // inside a radio packet (because from/to are broken out by the comms library) type Data struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Formerly named typ and of type Type Portnum PortNum `protobuf:"varint,1,opt,name=portnum,proto3,enum=meshtastic.PortNum" json:"portnum,omitempty"` // TODO: REPLACE @@ -1456,15 +1854,17 @@ type Data struct { // Defaults to false. If true, then what is in the payload should be treated as an emoji like giving // a message a heart or poop emoji. Emoji uint32 `protobuf:"fixed32,8,opt,name=emoji,proto3" json:"emoji,omitempty"` + // Bitfield for extra flags. First use is to indicate that user approves the packet being uploaded to MQTT. + Bitfield *uint32 `protobuf:"varint,9,opt,name=bitfield,proto3,oneof" json:"bitfield,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Data) Reset() { *x = Data{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Data) String() string { @@ -1475,7 +1875,7 @@ func (*Data) ProtoMessage() {} func (x *Data) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_mesh_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1546,18 +1946,87 @@ func (x *Data) GetEmoji() uint32 { return 0 } -// Waypoint message, used to share arbitrary locations across the mesh -type Waypoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache +func (x *Data) GetBitfield() uint32 { + if x != nil && x.Bitfield != nil { + return *x.Bitfield + } + return 0 +} + +// The actual over-the-mesh message doing KeyVerification +type KeyVerification struct { + state protoimpl.MessageState `protogen:"open.v1"` + // random value Selected by the requesting node + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + // The final authoritative hash, only to be sent by NodeA at the end of the handshake + Hash1 []byte `protobuf:"bytes,2,opt,name=hash1,proto3" json:"hash1,omitempty"` + // The intermediary hash (actually derived from hash1), + // sent from NodeB to NodeA in response to the initial message. + Hash2 []byte `protobuf:"bytes,3,opt,name=hash2,proto3" json:"hash2,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *KeyVerification) Reset() { + *x = KeyVerification{} + mi := &file_meshtastic_mesh_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *KeyVerification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyVerification) ProtoMessage() {} + +func (x *KeyVerification) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyVerification.ProtoReflect.Descriptor instead. +func (*KeyVerification) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{5} +} + +func (x *KeyVerification) GetNonce() uint64 { + if x != nil { + return x.Nonce + } + return 0 +} + +func (x *KeyVerification) GetHash1() []byte { + if x != nil { + return x.Hash1 + } + return nil +} + +func (x *KeyVerification) GetHash2() []byte { + if x != nil { + return x.Hash2 + } + return nil +} +// Waypoint message, used to share arbitrary locations across the mesh +type Waypoint struct { + state protoimpl.MessageState `protogen:"open.v1"` // Id of the waypoint Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // latitude_i - LatitudeI int32 `protobuf:"fixed32,2,opt,name=latitude_i,json=latitudeI,proto3" json:"latitude_i,omitempty"` + LatitudeI *int32 `protobuf:"fixed32,2,opt,name=latitude_i,json=latitudeI,proto3,oneof" json:"latitude_i,omitempty"` // longitude_i - LongitudeI int32 `protobuf:"fixed32,3,opt,name=longitude_i,json=longitudeI,proto3" json:"longitude_i,omitempty"` + LongitudeI *int32 `protobuf:"fixed32,3,opt,name=longitude_i,json=longitudeI,proto3,oneof" json:"longitude_i,omitempty"` // Time the waypoint is to expire (epoch) Expire uint32 `protobuf:"varint,4,opt,name=expire,proto3" json:"expire,omitempty"` // If greater than zero, treat the value as a nodenum only allowing them to update the waypoint. @@ -1568,16 +2037,16 @@ type Waypoint struct { // Description of the waypoint - max 100 chars Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` // Designator icon for the waypoint in the form of a unicode emoji - Icon uint32 `protobuf:"fixed32,8,opt,name=icon,proto3" json:"icon,omitempty"` + Icon uint32 `protobuf:"fixed32,8,opt,name=icon,proto3" json:"icon,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Waypoint) Reset() { *x = Waypoint{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Waypoint) String() string { @@ -1587,8 +2056,8 @@ func (x *Waypoint) String() string { func (*Waypoint) ProtoMessage() {} func (x *Waypoint) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[6] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1600,7 +2069,7 @@ func (x *Waypoint) ProtoReflect() protoreflect.Message { // Deprecated: Use Waypoint.ProtoReflect.Descriptor instead. func (*Waypoint) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{5} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{6} } func (x *Waypoint) GetId() uint32 { @@ -1611,15 +2080,15 @@ func (x *Waypoint) GetId() uint32 { } func (x *Waypoint) GetLatitudeI() int32 { - if x != nil { - return x.LatitudeI + if x != nil && x.LatitudeI != nil { + return *x.LatitudeI } return 0 } func (x *Waypoint) GetLongitudeI() int32 { - if x != nil { - return x.LongitudeI + if x != nil && x.LongitudeI != nil { + return *x.LongitudeI } return 0 } @@ -1661,30 +2130,27 @@ func (x *Waypoint) GetIcon() uint32 { // This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server type MqttClientProxyMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The MQTT topic this message will be sent /received on Topic string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"` // The actual service envelope payload or text for mqtt pub / sub // - // Types that are assignable to PayloadVariant: + // Types that are valid to be assigned to PayloadVariant: // // *MqttClientProxyMessage_Data // *MqttClientProxyMessage_Text PayloadVariant isMqttClientProxyMessage_PayloadVariant `protobuf_oneof:"payload_variant"` // Whether the message should be retained (or not) - Retained bool `protobuf:"varint,4,opt,name=retained,proto3" json:"retained,omitempty"` + Retained bool `protobuf:"varint,4,opt,name=retained,proto3" json:"retained,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MqttClientProxyMessage) Reset() { *x = MqttClientProxyMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MqttClientProxyMessage) String() string { @@ -1694,8 +2160,8 @@ func (x *MqttClientProxyMessage) String() string { func (*MqttClientProxyMessage) ProtoMessage() {} func (x *MqttClientProxyMessage) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[7] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1707,7 +2173,7 @@ func (x *MqttClientProxyMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use MqttClientProxyMessage.ProtoReflect.Descriptor instead. func (*MqttClientProxyMessage) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{6} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{7} } func (x *MqttClientProxyMessage) GetTopic() string { @@ -1717,23 +2183,27 @@ func (x *MqttClientProxyMessage) GetTopic() string { return "" } -func (m *MqttClientProxyMessage) GetPayloadVariant() isMqttClientProxyMessage_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *MqttClientProxyMessage) GetPayloadVariant() isMqttClientProxyMessage_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } func (x *MqttClientProxyMessage) GetData() []byte { - if x, ok := x.GetPayloadVariant().(*MqttClientProxyMessage_Data); ok { - return x.Data + if x != nil { + if x, ok := x.PayloadVariant.(*MqttClientProxyMessage_Data); ok { + return x.Data + } } return nil } func (x *MqttClientProxyMessage) GetText() string { - if x, ok := x.GetPayloadVariant().(*MqttClientProxyMessage_Text); ok { - return x.Text + if x != nil { + if x, ok := x.PayloadVariant.(*MqttClientProxyMessage_Text); ok { + return x.Text + } } return "" } @@ -1767,10 +2237,7 @@ func (*MqttClientProxyMessage_Text) isMqttClientProxyMessage_PayloadVariant() {} // only payload_variant is sent in the payload portion of the LORA packet. // The other fields are either not sent at all, or sent in the special 16 byte LORA header. type MeshPacket struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The sending node number. // Note: Our crypto implementation uses this field as well. // See [crypto](/docs/overview/encryption) for details. @@ -1785,7 +2252,7 @@ type MeshPacket struct { // contains the 'channel hash' instead of the index. // This 'trick' is only used while the payload_variant is an 'encrypted'. Channel uint32 `protobuf:"varint,3,opt,name=channel,proto3" json:"channel,omitempty"` - // Types that are assignable to PayloadVariant: + // Types that are valid to be assigned to PayloadVariant: // // *MeshPacket_Decoded // *MeshPacket_Encrypted @@ -1808,7 +2275,7 @@ type MeshPacket struct { // Set during reception to indicate the SNR of this packet. // Used to collect statistics on current link quality. RxSnr float32 `protobuf:"fixed32,8,opt,name=rx_snr,json=rxSnr,proto3" json:"rx_snr,omitempty"` - // If unset treated as zero (no forwarding, send to adjacent nodes only) + // If unset treated as zero (no forwarding, send to direct neighbor nodes only) // if 1, allow hopping through one node, etc... // For our usecase real world topologies probably have a max of about 3. // This field is normally placed into a few of bits in the header. @@ -1834,15 +2301,32 @@ type MeshPacket struct { Delayed MeshPacket_Delayed `protobuf:"varint,13,opt,name=delayed,proto3,enum=meshtastic.MeshPacket_Delayed" json:"delayed,omitempty"` // Describes whether this packet passed via MQTT somewhere along the path it currently took. ViaMqtt bool `protobuf:"varint,14,opt,name=via_mqtt,json=viaMqtt,proto3" json:"via_mqtt,omitempty"` + // Hop limit with which the original packet started. Sent via LoRa using three bits in the unencrypted header. + // When receiving a packet, the difference between hop_start and hop_limit gives how many hops it traveled. + HopStart uint32 `protobuf:"varint,15,opt,name=hop_start,json=hopStart,proto3" json:"hop_start,omitempty"` + // Records the public key the packet was encrypted with, if applicable. + PublicKey []byte `protobuf:"bytes,16,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` + // Indicates whether the packet was en/decrypted using PKI + PkiEncrypted bool `protobuf:"varint,17,opt,name=pki_encrypted,json=pkiEncrypted,proto3" json:"pki_encrypted,omitempty"` + // Last byte of the node number of the node that should be used as the next hop in routing. + // Set by the firmware internally, clients are not supposed to set this. + NextHop uint32 `protobuf:"varint,18,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` + // Last byte of the node number of the node that will relay/relayed this packet. + // Set by the firmware internally, clients are not supposed to set this. + RelayNode uint32 `protobuf:"varint,19,opt,name=relay_node,json=relayNode,proto3" json:"relay_node,omitempty"` + // *Never* sent over the radio links. + // Timestamp after which this packet may be sent. + // Set by the firmware internally, clients are not supposed to set this. + TxAfter uint32 `protobuf:"varint,20,opt,name=tx_after,json=txAfter,proto3" json:"tx_after,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MeshPacket) Reset() { *x = MeshPacket{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MeshPacket) String() string { @@ -1852,8 +2336,8 @@ func (x *MeshPacket) String() string { func (*MeshPacket) ProtoMessage() {} func (x *MeshPacket) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[8] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1865,7 +2349,7 @@ func (x *MeshPacket) ProtoReflect() protoreflect.Message { // Deprecated: Use MeshPacket.ProtoReflect.Descriptor instead. func (*MeshPacket) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{7} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{8} } func (x *MeshPacket) GetFrom() uint32 { @@ -1889,23 +2373,27 @@ func (x *MeshPacket) GetChannel() uint32 { return 0 } -func (m *MeshPacket) GetPayloadVariant() isMeshPacket_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *MeshPacket) GetPayloadVariant() isMeshPacket_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } func (x *MeshPacket) GetDecoded() *Data { - if x, ok := x.GetPayloadVariant().(*MeshPacket_Decoded); ok { - return x.Decoded + if x != nil { + if x, ok := x.PayloadVariant.(*MeshPacket_Decoded); ok { + return x.Decoded + } } return nil } func (x *MeshPacket) GetEncrypted() []byte { - if x, ok := x.GetPayloadVariant().(*MeshPacket_Encrypted); ok { - return x.Encrypted + if x != nil { + if x, ok := x.PayloadVariant.(*MeshPacket_Encrypted); ok { + return x.Encrypted + } } return nil } @@ -1974,25 +2462,67 @@ func (x *MeshPacket) GetViaMqtt() bool { return false } -type isMeshPacket_PayloadVariant interface { - isMeshPacket_PayloadVariant() +func (x *MeshPacket) GetHopStart() uint32 { + if x != nil { + return x.HopStart + } + return 0 } -type MeshPacket_Decoded struct { - // TODO: REPLACE - Decoded *Data `protobuf:"bytes,4,opt,name=decoded,proto3,oneof"` +func (x *MeshPacket) GetPublicKey() []byte { + if x != nil { + return x.PublicKey + } + return nil } -type MeshPacket_Encrypted struct { - // TODO: REPLACE - Encrypted []byte `protobuf:"bytes,5,opt,name=encrypted,proto3,oneof"` +func (x *MeshPacket) GetPkiEncrypted() bool { + if x != nil { + return x.PkiEncrypted + } + return false } -func (*MeshPacket_Decoded) isMeshPacket_PayloadVariant() {} +func (x *MeshPacket) GetNextHop() uint32 { + if x != nil { + return x.NextHop + } + return 0 +} -func (*MeshPacket_Encrypted) isMeshPacket_PayloadVariant() {} +func (x *MeshPacket) GetRelayNode() uint32 { + if x != nil { + return x.RelayNode + } + return 0 +} -// The bluetooth to device link: +func (x *MeshPacket) GetTxAfter() uint32 { + if x != nil { + return x.TxAfter + } + return 0 +} + +type isMeshPacket_PayloadVariant interface { + isMeshPacket_PayloadVariant() +} + +type MeshPacket_Decoded struct { + // TODO: REPLACE + Decoded *Data `protobuf:"bytes,4,opt,name=decoded,proto3,oneof"` +} + +type MeshPacket_Encrypted struct { + // TODO: REPLACE + Encrypted []byte `protobuf:"bytes,5,opt,name=encrypted,proto3,oneof"` +} + +func (*MeshPacket_Decoded) isMeshPacket_PayloadVariant() {} + +func (*MeshPacket_Encrypted) isMeshPacket_PayloadVariant() {} + +// The bluetooth to device link: // Old BTLE protocol docs from TODO, merge in above and make real docs... // use protocol buffers, and NanoPB // messages from device to phone: @@ -2009,10 +2539,7 @@ func (*MeshPacket_Encrypted) isMeshPacket_PayloadVariant() {} // preshared key, drops all existing nodes, force our node to rejoin this new group) // Full information about a node on the mesh type NodeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The node number Num uint32 `protobuf:"varint,1,opt,name=num,proto3" json:"num,omitempty"` // The user info for this node @@ -2029,15 +2556,29 @@ type NodeInfo struct { DeviceMetrics *DeviceMetrics `protobuf:"bytes,6,opt,name=device_metrics,json=deviceMetrics,proto3" json:"device_metrics,omitempty"` // local channel index we heard that node on. Only populated if its not the default channel. Channel uint32 `protobuf:"varint,7,opt,name=channel,proto3" json:"channel,omitempty"` + // True if we witnessed the node over MQTT instead of LoRA transport + ViaMqtt bool `protobuf:"varint,8,opt,name=via_mqtt,json=viaMqtt,proto3" json:"via_mqtt,omitempty"` + // Number of hops away from us this node is (0 if direct neighbor) + HopsAway *uint32 `protobuf:"varint,9,opt,name=hops_away,json=hopsAway,proto3,oneof" json:"hops_away,omitempty"` + // True if node is in our favorites list + // Persists between NodeDB internal clean ups + IsFavorite bool `protobuf:"varint,10,opt,name=is_favorite,json=isFavorite,proto3" json:"is_favorite,omitempty"` + // True if node is in our ignored list + // Persists between NodeDB internal clean ups + IsIgnored bool `protobuf:"varint,11,opt,name=is_ignored,json=isIgnored,proto3" json:"is_ignored,omitempty"` + // True if node public key has been verified. + // Persists between NodeDB internal clean ups + // LSB 0 of the bitfield + IsKeyManuallyVerified bool `protobuf:"varint,12,opt,name=is_key_manually_verified,json=isKeyManuallyVerified,proto3" json:"is_key_manually_verified,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NodeInfo) Reset() { *x = NodeInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NodeInfo) String() string { @@ -2047,8 +2588,8 @@ func (x *NodeInfo) String() string { func (*NodeInfo) ProtoMessage() {} func (x *NodeInfo) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[9] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2060,7 +2601,7 @@ func (x *NodeInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead. func (*NodeInfo) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{8} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{9} } func (x *NodeInfo) GetNum() uint32 { @@ -2112,14 +2653,46 @@ func (x *NodeInfo) GetChannel() uint32 { return 0 } +func (x *NodeInfo) GetViaMqtt() bool { + if x != nil { + return x.ViaMqtt + } + return false +} + +func (x *NodeInfo) GetHopsAway() uint32 { + if x != nil && x.HopsAway != nil { + return *x.HopsAway + } + return 0 +} + +func (x *NodeInfo) GetIsFavorite() bool { + if x != nil { + return x.IsFavorite + } + return false +} + +func (x *NodeInfo) GetIsIgnored() bool { + if x != nil { + return x.IsIgnored + } + return false +} + +func (x *NodeInfo) GetIsKeyManuallyVerified() bool { + if x != nil { + return x.IsKeyManuallyVerified + } + return false +} + // Unique local debugging info for this node // Note: we don't include position or the user info, because that will come in the // Sent to the phone in response to WantNodes. type MyNodeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Tells the phone what our node number is, default starting value is // lowbyte of macaddr, but it will be fixed if that is already in use MyNodeNum uint32 `protobuf:"varint,1,opt,name=my_node_num,json=myNodeNum,proto3" json:"my_node_num,omitempty"` @@ -2129,15 +2702,19 @@ type MyNodeInfo struct { // The minimum app version that can talk to this device. // Phone/PC apps should compare this to their build number and if too low tell the user they must update their app MinAppVersion uint32 `protobuf:"varint,11,opt,name=min_app_version,json=minAppVersion,proto3" json:"min_app_version,omitempty"` + // Unique hardware identifier for this device + DeviceId []byte `protobuf:"bytes,12,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + // The PlatformIO environment used to build this firmware + PioEnv string `protobuf:"bytes,13,opt,name=pio_env,json=pioEnv,proto3" json:"pio_env,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MyNodeInfo) Reset() { *x = MyNodeInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MyNodeInfo) String() string { @@ -2147,8 +2724,8 @@ func (x *MyNodeInfo) String() string { func (*MyNodeInfo) ProtoMessage() {} func (x *MyNodeInfo) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[10] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2160,7 +2737,7 @@ func (x *MyNodeInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use MyNodeInfo.ProtoReflect.Descriptor instead. func (*MyNodeInfo) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{9} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{10} } func (x *MyNodeInfo) GetMyNodeNum() uint32 { @@ -2184,16 +2761,27 @@ func (x *MyNodeInfo) GetMinAppVersion() uint32 { return 0 } +func (x *MyNodeInfo) GetDeviceId() []byte { + if x != nil { + return x.DeviceId + } + return nil +} + +func (x *MyNodeInfo) GetPioEnv() string { + if x != nil { + return x.PioEnv + } + return "" +} + // Debug output from the device. // To minimize the size of records inside the device code, if a time/source/level is not set // on the message it is assumed to be a continuation of the previously sent message. // This allows the device code to use fixed maxlen 64 byte strings for messages, // and then extend as needed by emitting multiple records. type LogRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Log levels, chosen to match python logging conventions. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` // Seconds since 1970 - or 0 for unknown/unset @@ -2201,16 +2789,16 @@ type LogRecord struct { // Usually based on thread name - if known Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"` // Not yet set - Level LogRecord_Level `protobuf:"varint,4,opt,name=level,proto3,enum=meshtastic.LogRecord_Level" json:"level,omitempty"` + Level LogRecord_Level `protobuf:"varint,4,opt,name=level,proto3,enum=meshtastic.LogRecord_Level" json:"level,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *LogRecord) Reset() { *x = LogRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *LogRecord) String() string { @@ -2220,8 +2808,8 @@ func (x *LogRecord) String() string { func (*LogRecord) ProtoMessage() {} func (x *LogRecord) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[11] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2233,7 +2821,7 @@ func (x *LogRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use LogRecord.ProtoReflect.Descriptor instead. func (*LogRecord) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{10} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{11} } func (x *LogRecord) GetMessage() string { @@ -2265,10 +2853,7 @@ func (x *LogRecord) GetLevel() LogRecord_Level { } type QueueStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Last attempt to queue status, ErrorCode Res int32 `protobuf:"varint,1,opt,name=res,proto3" json:"res,omitempty"` // Free entries in the outgoing queue @@ -2276,16 +2861,16 @@ type QueueStatus struct { // Maximum entries in the outgoing queue Maxlen uint32 `protobuf:"varint,3,opt,name=maxlen,proto3" json:"maxlen,omitempty"` // What was mesh packet id that generated this response? - MeshPacketId uint32 `protobuf:"varint,4,opt,name=mesh_packet_id,json=meshPacketId,proto3" json:"mesh_packet_id,omitempty"` + MeshPacketId uint32 `protobuf:"varint,4,opt,name=mesh_packet_id,json=meshPacketId,proto3" json:"mesh_packet_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *QueueStatus) Reset() { *x = QueueStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *QueueStatus) String() string { @@ -2295,8 +2880,8 @@ func (x *QueueStatus) String() string { func (*QueueStatus) ProtoMessage() {} func (x *QueueStatus) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[12] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2308,7 +2893,7 @@ func (x *QueueStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use QueueStatus.ProtoReflect.Descriptor instead. func (*QueueStatus) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{11} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{12} } func (x *QueueStatus) GetRes() int32 { @@ -2344,16 +2929,13 @@ func (x *QueueStatus) GetMeshPacketId() uint32 { // It will sit in that descriptor until consumed by the phone, // at which point the next item in the FIFO will be populated. type FromRadio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The packet id, used to allow the phone to request missing read packets from the FIFO, // see our bluetooth docs Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Log levels, chosen to match python logging conventions. // - // Types that are assignable to PayloadVariant: + // Types that are valid to be assigned to PayloadVariant: // // *FromRadio_Packet // *FromRadio_MyInfo @@ -2368,16 +2950,19 @@ type FromRadio struct { // *FromRadio_XmodemPacket // *FromRadio_Metadata // *FromRadio_MqttClientProxyMessage + // *FromRadio_FileInfo + // *FromRadio_ClientNotification + // *FromRadio_DeviceuiConfig PayloadVariant isFromRadio_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *FromRadio) Reset() { *x = FromRadio{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *FromRadio) String() string { @@ -2387,8 +2972,8 @@ func (x *FromRadio) String() string { func (*FromRadio) ProtoMessage() {} func (x *FromRadio) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[13] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2400,7 +2985,7 @@ func (x *FromRadio) ProtoReflect() protoreflect.Message { // Deprecated: Use FromRadio.ProtoReflect.Descriptor instead. func (*FromRadio) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{12} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{13} } func (x *FromRadio) GetId() uint32 { @@ -2410,100 +2995,153 @@ func (x *FromRadio) GetId() uint32 { return 0 } -func (m *FromRadio) GetPayloadVariant() isFromRadio_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *FromRadio) GetPayloadVariant() isFromRadio_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } func (x *FromRadio) GetPacket() *MeshPacket { - if x, ok := x.GetPayloadVariant().(*FromRadio_Packet); ok { - return x.Packet + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_Packet); ok { + return x.Packet + } } return nil } func (x *FromRadio) GetMyInfo() *MyNodeInfo { - if x, ok := x.GetPayloadVariant().(*FromRadio_MyInfo); ok { - return x.MyInfo + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_MyInfo); ok { + return x.MyInfo + } } return nil } func (x *FromRadio) GetNodeInfo() *NodeInfo { - if x, ok := x.GetPayloadVariant().(*FromRadio_NodeInfo); ok { - return x.NodeInfo + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_NodeInfo); ok { + return x.NodeInfo + } } return nil } func (x *FromRadio) GetConfig() *Config { - if x, ok := x.GetPayloadVariant().(*FromRadio_Config); ok { - return x.Config + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_Config); ok { + return x.Config + } } return nil } func (x *FromRadio) GetLogRecord() *LogRecord { - if x, ok := x.GetPayloadVariant().(*FromRadio_LogRecord); ok { - return x.LogRecord + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_LogRecord); ok { + return x.LogRecord + } } return nil } func (x *FromRadio) GetConfigCompleteId() uint32 { - if x, ok := x.GetPayloadVariant().(*FromRadio_ConfigCompleteId); ok { - return x.ConfigCompleteId + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_ConfigCompleteId); ok { + return x.ConfigCompleteId + } } return 0 } func (x *FromRadio) GetRebooted() bool { - if x, ok := x.GetPayloadVariant().(*FromRadio_Rebooted); ok { - return x.Rebooted + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_Rebooted); ok { + return x.Rebooted + } } return false } func (x *FromRadio) GetModuleConfig() *ModuleConfig { - if x, ok := x.GetPayloadVariant().(*FromRadio_ModuleConfig); ok { - return x.ModuleConfig + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_ModuleConfig); ok { + return x.ModuleConfig + } } return nil } func (x *FromRadio) GetChannel() *Channel { - if x, ok := x.GetPayloadVariant().(*FromRadio_Channel); ok { - return x.Channel + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_Channel); ok { + return x.Channel + } } return nil } func (x *FromRadio) GetQueueStatus() *QueueStatus { - if x, ok := x.GetPayloadVariant().(*FromRadio_QueueStatus); ok { - return x.QueueStatus + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_QueueStatus); ok { + return x.QueueStatus + } } return nil } func (x *FromRadio) GetXmodemPacket() *XModem { - if x, ok := x.GetPayloadVariant().(*FromRadio_XmodemPacket); ok { - return x.XmodemPacket + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_XmodemPacket); ok { + return x.XmodemPacket + } } return nil } func (x *FromRadio) GetMetadata() *DeviceMetadata { - if x, ok := x.GetPayloadVariant().(*FromRadio_Metadata); ok { - return x.Metadata + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_Metadata); ok { + return x.Metadata + } } return nil } func (x *FromRadio) GetMqttClientProxyMessage() *MqttClientProxyMessage { - if x, ok := x.GetPayloadVariant().(*FromRadio_MqttClientProxyMessage); ok { - return x.MqttClientProxyMessage + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_MqttClientProxyMessage); ok { + return x.MqttClientProxyMessage + } + } + return nil +} + +func (x *FromRadio) GetFileInfo() *FileInfo { + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_FileInfo); ok { + return x.FileInfo + } + } + return nil +} + +func (x *FromRadio) GetClientNotification() *ClientNotification { + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_ClientNotification); ok { + return x.ClientNotification + } + } + return nil +} + +func (x *FromRadio) GetDeviceuiConfig() *DeviceUIConfig { + if x != nil { + if x, ok := x.PayloadVariant.(*FromRadio_DeviceuiConfig); ok { + return x.DeviceuiConfig + } } return nil } @@ -2585,6 +3223,21 @@ type FromRadio_MqttClientProxyMessage struct { MqttClientProxyMessage *MqttClientProxyMessage `protobuf:"bytes,14,opt,name=mqttClientProxyMessage,proto3,oneof"` } +type FromRadio_FileInfo struct { + // File system manifest messages + FileInfo *FileInfo `protobuf:"bytes,15,opt,name=fileInfo,proto3,oneof"` +} + +type FromRadio_ClientNotification struct { + // Notification message to the client + ClientNotification *ClientNotification `protobuf:"bytes,16,opt,name=clientNotification,proto3,oneof"` +} + +type FromRadio_DeviceuiConfig struct { + // Persistent data for device-ui + DeviceuiConfig *DeviceUIConfig `protobuf:"bytes,17,opt,name=deviceuiConfig,proto3,oneof"` +} + func (*FromRadio_Packet) isFromRadio_PayloadVariant() {} func (*FromRadio_MyInfo) isFromRadio_PayloadVariant() {} @@ -2611,43 +3264,52 @@ func (*FromRadio_Metadata) isFromRadio_PayloadVariant() {} func (*FromRadio_MqttClientProxyMessage) isFromRadio_PayloadVariant() {} -// Packets/commands to the radio will be written (reliably) to the toRadio characteristic. -// Once the write completes the phone can assume it is handled. -type ToRadio struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (*FromRadio_FileInfo) isFromRadio_PayloadVariant() {} - // Log levels, chosen to match python logging conventions. - // - // Types that are assignable to PayloadVariant: +func (*FromRadio_ClientNotification) isFromRadio_PayloadVariant() {} + +func (*FromRadio_DeviceuiConfig) isFromRadio_PayloadVariant() {} + +// A notification message from the device to the client +// To be used for important messages that should to be displayed to the user +// in the form of push notifications or validation messages when saving +// invalid configuration. +type ClientNotification struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the packet we're notifying in response to + ReplyId *uint32 `protobuf:"varint,1,opt,name=reply_id,json=replyId,proto3,oneof" json:"reply_id,omitempty"` + // Seconds since 1970 - or 0 for unknown/unset + Time uint32 `protobuf:"fixed32,2,opt,name=time,proto3" json:"time,omitempty"` + // The level type of notification + Level LogRecord_Level `protobuf:"varint,3,opt,name=level,proto3,enum=meshtastic.LogRecord_Level" json:"level,omitempty"` + // The message body of the notification + Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"` + // Types that are valid to be assigned to PayloadVariant: // - // *ToRadio_Packet - // *ToRadio_WantConfigId - // *ToRadio_Disconnect - // *ToRadio_XmodemPacket - // *ToRadio_MqttClientProxyMessage - PayloadVariant isToRadio_PayloadVariant `protobuf_oneof:"payload_variant"` + // *ClientNotification_KeyVerificationNumberInform + // *ClientNotification_KeyVerificationNumberRequest + // *ClientNotification_KeyVerificationFinal + PayloadVariant isClientNotification_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *ToRadio) Reset() { - *x = ToRadio{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x *ClientNotification) Reset() { + *x = ClientNotification{} + mi := &file_meshtastic_mesh_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *ToRadio) String() string { +func (x *ClientNotification) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ToRadio) ProtoMessage() {} +func (*ClientNotification) ProtoMessage() {} -func (x *ToRadio) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { +func (x *ClientNotification) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[14] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2657,83 +3319,470 @@ func (x *ToRadio) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ToRadio.ProtoReflect.Descriptor instead. -func (*ToRadio) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{13} +// Deprecated: Use ClientNotification.ProtoReflect.Descriptor instead. +func (*ClientNotification) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{14} } -func (m *ToRadio) GetPayloadVariant() isToRadio_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *ClientNotification) GetReplyId() uint32 { + if x != nil && x.ReplyId != nil { + return *x.ReplyId } - return nil + return 0 } -func (x *ToRadio) GetPacket() *MeshPacket { - if x, ok := x.GetPayloadVariant().(*ToRadio_Packet); ok { - return x.Packet +func (x *ClientNotification) GetTime() uint32 { + if x != nil { + return x.Time } - return nil + return 0 } -func (x *ToRadio) GetWantConfigId() uint32 { - if x, ok := x.GetPayloadVariant().(*ToRadio_WantConfigId); ok { - return x.WantConfigId +func (x *ClientNotification) GetLevel() LogRecord_Level { + if x != nil { + return x.Level } - return 0 + return LogRecord_UNSET } -func (x *ToRadio) GetDisconnect() bool { - if x, ok := x.GetPayloadVariant().(*ToRadio_Disconnect); ok { - return x.Disconnect +func (x *ClientNotification) GetMessage() string { + if x != nil { + return x.Message } - return false + return "" } -func (x *ToRadio) GetXmodemPacket() *XModem { - if x, ok := x.GetPayloadVariant().(*ToRadio_XmodemPacket); ok { - return x.XmodemPacket +func (x *ClientNotification) GetPayloadVariant() isClientNotification_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } -func (x *ToRadio) GetMqttClientProxyMessage() *MqttClientProxyMessage { - if x, ok := x.GetPayloadVariant().(*ToRadio_MqttClientProxyMessage); ok { - return x.MqttClientProxyMessage +func (x *ClientNotification) GetKeyVerificationNumberInform() *KeyVerificationNumberInform { + if x != nil { + if x, ok := x.PayloadVariant.(*ClientNotification_KeyVerificationNumberInform); ok { + return x.KeyVerificationNumberInform + } } return nil } -type isToRadio_PayloadVariant interface { - isToRadio_PayloadVariant() +func (x *ClientNotification) GetKeyVerificationNumberRequest() *KeyVerificationNumberRequest { + if x != nil { + if x, ok := x.PayloadVariant.(*ClientNotification_KeyVerificationNumberRequest); ok { + return x.KeyVerificationNumberRequest + } + } + return nil } -type ToRadio_Packet struct { - // Send this packet on the mesh - Packet *MeshPacket `protobuf:"bytes,1,opt,name=packet,proto3,oneof"` +func (x *ClientNotification) GetKeyVerificationFinal() *KeyVerificationFinal { + if x != nil { + if x, ok := x.PayloadVariant.(*ClientNotification_KeyVerificationFinal); ok { + return x.KeyVerificationFinal + } + } + return nil } -type ToRadio_WantConfigId struct { - // Phone wants radio to send full node db to the phone, This is - // typically the first packet sent to the radio when the phone gets a - // bluetooth connection. The radio will respond by sending back a - // MyNodeInfo, a owner, a radio config and a series of - // FromRadio.node_infos, and config_complete - // the integer you write into this field will be reported back in the - // config_complete_id response this allows clients to never be confused by - // a stale old partially sent config. - WantConfigId uint32 `protobuf:"varint,3,opt,name=want_config_id,json=wantConfigId,proto3,oneof"` +type isClientNotification_PayloadVariant interface { + isClientNotification_PayloadVariant() } -type ToRadio_Disconnect struct { - // Tell API server we are disconnecting now. - // This is useful for serial links where there is no hardware/protocol based notification that the client has dropped the link. - // (Sending this message is optional for clients) - Disconnect bool `protobuf:"varint,4,opt,name=disconnect,proto3,oneof"` +type ClientNotification_KeyVerificationNumberInform struct { + KeyVerificationNumberInform *KeyVerificationNumberInform `protobuf:"bytes,11,opt,name=key_verification_number_inform,json=keyVerificationNumberInform,proto3,oneof"` } -type ToRadio_XmodemPacket struct { - XmodemPacket *XModem `protobuf:"bytes,5,opt,name=xmodemPacket,proto3,oneof"` +type ClientNotification_KeyVerificationNumberRequest struct { + KeyVerificationNumberRequest *KeyVerificationNumberRequest `protobuf:"bytes,12,opt,name=key_verification_number_request,json=keyVerificationNumberRequest,proto3,oneof"` +} + +type ClientNotification_KeyVerificationFinal struct { + KeyVerificationFinal *KeyVerificationFinal `protobuf:"bytes,13,opt,name=key_verification_final,json=keyVerificationFinal,proto3,oneof"` +} + +func (*ClientNotification_KeyVerificationNumberInform) isClientNotification_PayloadVariant() {} + +func (*ClientNotification_KeyVerificationNumberRequest) isClientNotification_PayloadVariant() {} + +func (*ClientNotification_KeyVerificationFinal) isClientNotification_PayloadVariant() {} + +type KeyVerificationNumberInform struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + RemoteLongname string `protobuf:"bytes,2,opt,name=remote_longname,json=remoteLongname,proto3" json:"remote_longname,omitempty"` + SecurityNumber uint32 `protobuf:"varint,3,opt,name=security_number,json=securityNumber,proto3" json:"security_number,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *KeyVerificationNumberInform) Reset() { + *x = KeyVerificationNumberInform{} + mi := &file_meshtastic_mesh_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *KeyVerificationNumberInform) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyVerificationNumberInform) ProtoMessage() {} + +func (x *KeyVerificationNumberInform) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyVerificationNumberInform.ProtoReflect.Descriptor instead. +func (*KeyVerificationNumberInform) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{15} +} + +func (x *KeyVerificationNumberInform) GetNonce() uint64 { + if x != nil { + return x.Nonce + } + return 0 +} + +func (x *KeyVerificationNumberInform) GetRemoteLongname() string { + if x != nil { + return x.RemoteLongname + } + return "" +} + +func (x *KeyVerificationNumberInform) GetSecurityNumber() uint32 { + if x != nil { + return x.SecurityNumber + } + return 0 +} + +type KeyVerificationNumberRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + RemoteLongname string `protobuf:"bytes,2,opt,name=remote_longname,json=remoteLongname,proto3" json:"remote_longname,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *KeyVerificationNumberRequest) Reset() { + *x = KeyVerificationNumberRequest{} + mi := &file_meshtastic_mesh_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *KeyVerificationNumberRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyVerificationNumberRequest) ProtoMessage() {} + +func (x *KeyVerificationNumberRequest) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyVerificationNumberRequest.ProtoReflect.Descriptor instead. +func (*KeyVerificationNumberRequest) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{16} +} + +func (x *KeyVerificationNumberRequest) GetNonce() uint64 { + if x != nil { + return x.Nonce + } + return 0 +} + +func (x *KeyVerificationNumberRequest) GetRemoteLongname() string { + if x != nil { + return x.RemoteLongname + } + return "" +} + +type KeyVerificationFinal struct { + state protoimpl.MessageState `protogen:"open.v1"` + Nonce uint64 `protobuf:"varint,1,opt,name=nonce,proto3" json:"nonce,omitempty"` + RemoteLongname string `protobuf:"bytes,2,opt,name=remote_longname,json=remoteLongname,proto3" json:"remote_longname,omitempty"` + IsSender bool `protobuf:"varint,3,opt,name=isSender,proto3" json:"isSender,omitempty"` + VerificationCharacters string `protobuf:"bytes,4,opt,name=verification_characters,json=verificationCharacters,proto3" json:"verification_characters,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *KeyVerificationFinal) Reset() { + *x = KeyVerificationFinal{} + mi := &file_meshtastic_mesh_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *KeyVerificationFinal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeyVerificationFinal) ProtoMessage() {} + +func (x *KeyVerificationFinal) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KeyVerificationFinal.ProtoReflect.Descriptor instead. +func (*KeyVerificationFinal) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{17} +} + +func (x *KeyVerificationFinal) GetNonce() uint64 { + if x != nil { + return x.Nonce + } + return 0 +} + +func (x *KeyVerificationFinal) GetRemoteLongname() string { + if x != nil { + return x.RemoteLongname + } + return "" +} + +func (x *KeyVerificationFinal) GetIsSender() bool { + if x != nil { + return x.IsSender + } + return false +} + +func (x *KeyVerificationFinal) GetVerificationCharacters() string { + if x != nil { + return x.VerificationCharacters + } + return "" +} + +// Individual File info for the device +type FileInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The fully qualified path of the file + FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"` + // The size of the file in bytes + SizeBytes uint32 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FileInfo) Reset() { + *x = FileInfo{} + mi := &file_meshtastic_mesh_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FileInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileInfo) ProtoMessage() {} + +func (x *FileInfo) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileInfo.ProtoReflect.Descriptor instead. +func (*FileInfo) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{18} +} + +func (x *FileInfo) GetFileName() string { + if x != nil { + return x.FileName + } + return "" +} + +func (x *FileInfo) GetSizeBytes() uint32 { + if x != nil { + return x.SizeBytes + } + return 0 +} + +// Packets/commands to the radio will be written (reliably) to the toRadio characteristic. +// Once the write completes the phone can assume it is handled. +type ToRadio struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Log levels, chosen to match python logging conventions. + // + // Types that are valid to be assigned to PayloadVariant: + // + // *ToRadio_Packet + // *ToRadio_WantConfigId + // *ToRadio_Disconnect + // *ToRadio_XmodemPacket + // *ToRadio_MqttClientProxyMessage + // *ToRadio_Heartbeat + PayloadVariant isToRadio_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ToRadio) Reset() { + *x = ToRadio{} + mi := &file_meshtastic_mesh_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ToRadio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToRadio) ProtoMessage() {} + +func (x *ToRadio) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ToRadio.ProtoReflect.Descriptor instead. +func (*ToRadio) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{19} +} + +func (x *ToRadio) GetPayloadVariant() isToRadio_PayloadVariant { + if x != nil { + return x.PayloadVariant + } + return nil +} + +func (x *ToRadio) GetPacket() *MeshPacket { + if x != nil { + if x, ok := x.PayloadVariant.(*ToRadio_Packet); ok { + return x.Packet + } + } + return nil +} + +func (x *ToRadio) GetWantConfigId() uint32 { + if x != nil { + if x, ok := x.PayloadVariant.(*ToRadio_WantConfigId); ok { + return x.WantConfigId + } + } + return 0 +} + +func (x *ToRadio) GetDisconnect() bool { + if x != nil { + if x, ok := x.PayloadVariant.(*ToRadio_Disconnect); ok { + return x.Disconnect + } + } + return false +} + +func (x *ToRadio) GetXmodemPacket() *XModem { + if x != nil { + if x, ok := x.PayloadVariant.(*ToRadio_XmodemPacket); ok { + return x.XmodemPacket + } + } + return nil +} + +func (x *ToRadio) GetMqttClientProxyMessage() *MqttClientProxyMessage { + if x != nil { + if x, ok := x.PayloadVariant.(*ToRadio_MqttClientProxyMessage); ok { + return x.MqttClientProxyMessage + } + } + return nil +} + +func (x *ToRadio) GetHeartbeat() *Heartbeat { + if x != nil { + if x, ok := x.PayloadVariant.(*ToRadio_Heartbeat); ok { + return x.Heartbeat + } + } + return nil +} + +type isToRadio_PayloadVariant interface { + isToRadio_PayloadVariant() +} + +type ToRadio_Packet struct { + // Send this packet on the mesh + Packet *MeshPacket `protobuf:"bytes,1,opt,name=packet,proto3,oneof"` +} + +type ToRadio_WantConfigId struct { + // Phone wants radio to send full node db to the phone, This is + // typically the first packet sent to the radio when the phone gets a + // bluetooth connection. The radio will respond by sending back a + // MyNodeInfo, a owner, a radio config and a series of + // FromRadio.node_infos, and config_complete + // the integer you write into this field will be reported back in the + // config_complete_id response this allows clients to never be confused by + // a stale old partially sent config. + WantConfigId uint32 `protobuf:"varint,3,opt,name=want_config_id,json=wantConfigId,proto3,oneof"` +} + +type ToRadio_Disconnect struct { + // Tell API server we are disconnecting now. + // This is useful for serial links where there is no hardware/protocol based notification that the client has dropped the link. + // (Sending this message is optional for clients) + Disconnect bool `protobuf:"varint,4,opt,name=disconnect,proto3,oneof"` +} + +type ToRadio_XmodemPacket struct { + XmodemPacket *XModem `protobuf:"bytes,5,opt,name=xmodemPacket,proto3,oneof"` } type ToRadio_MqttClientProxyMessage struct { @@ -2741,6 +3790,11 @@ type ToRadio_MqttClientProxyMessage struct { MqttClientProxyMessage *MqttClientProxyMessage `protobuf:"bytes,6,opt,name=mqttClientProxyMessage,proto3,oneof"` } +type ToRadio_Heartbeat struct { + // Heartbeat message (used to keep the device connection awake on serial) + Heartbeat *Heartbeat `protobuf:"bytes,7,opt,name=heartbeat,proto3,oneof"` +} + func (*ToRadio_Packet) isToRadio_PayloadVariant() {} func (*ToRadio_WantConfigId) isToRadio_PayloadVariant() {} @@ -2751,25 +3805,24 @@ func (*ToRadio_XmodemPacket) isToRadio_PayloadVariant() {} func (*ToRadio_MqttClientProxyMessage) isToRadio_PayloadVariant() {} +func (*ToRadio_Heartbeat) isToRadio_PayloadVariant() {} + // Compressed message payload type Compressed struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // PortNum to determine the how to handle the compressed payload. Portnum PortNum `protobuf:"varint,1,opt,name=portnum,proto3,enum=meshtastic.PortNum" json:"portnum,omitempty"` // Compressed data. - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Compressed) Reset() { *x = Compressed{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Compressed) String() string { @@ -2779,8 +3832,8 @@ func (x *Compressed) String() string { func (*Compressed) ProtoMessage() {} func (x *Compressed) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[20] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2792,7 +3845,7 @@ func (x *Compressed) ProtoReflect() protoreflect.Message { // Deprecated: Use Compressed.ProtoReflect.Descriptor instead. func (*Compressed) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{14} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{20} } func (x *Compressed) GetPortnum() PortNum { @@ -2811,10 +3864,7 @@ func (x *Compressed) GetData() []byte { // Full info on edges for a single node type NeighborInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The node ID of the node sending info on its neighbors NodeId uint32 `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // Field to pass neighbor info for the next sending cycle @@ -2822,16 +3872,16 @@ type NeighborInfo struct { // Broadcast interval of the represented node (in seconds) NodeBroadcastIntervalSecs uint32 `protobuf:"varint,3,opt,name=node_broadcast_interval_secs,json=nodeBroadcastIntervalSecs,proto3" json:"node_broadcast_interval_secs,omitempty"` // The list of out edges from this node - Neighbors []*Neighbor `protobuf:"bytes,4,rep,name=neighbors,proto3" json:"neighbors,omitempty"` + Neighbors []*Neighbor `protobuf:"bytes,4,rep,name=neighbors,proto3" json:"neighbors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *NeighborInfo) Reset() { *x = NeighborInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *NeighborInfo) String() string { @@ -2841,8 +3891,8 @@ func (x *NeighborInfo) String() string { func (*NeighborInfo) ProtoMessage() {} func (x *NeighborInfo) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[21] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2854,7 +3904,7 @@ func (x *NeighborInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use NeighborInfo.ProtoReflect.Descriptor instead. func (*NeighborInfo) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{15} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{21} } func (x *NeighborInfo) GetNodeId() uint32 { @@ -2887,10 +3937,7 @@ func (x *NeighborInfo) GetNeighbors() []*Neighbor { // A single edge in the mesh type Neighbor struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Node ID of neighbor NodeId uint32 `protobuf:"varint,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` // SNR of last heard message @@ -2901,15 +3948,15 @@ type Neighbor struct { // Broadcast interval of this neighbor (in seconds). // Note: this is for local storage only and will not be sent out over the mesh. NodeBroadcastIntervalSecs uint32 `protobuf:"varint,4,opt,name=node_broadcast_interval_secs,json=nodeBroadcastIntervalSecs,proto3" json:"node_broadcast_interval_secs,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Neighbor) Reset() { *x = Neighbor{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Neighbor) String() string { @@ -2919,8 +3966,8 @@ func (x *Neighbor) String() string { func (*Neighbor) ProtoMessage() {} func (x *Neighbor) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[22] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2932,7 +3979,7 @@ func (x *Neighbor) ProtoReflect() protoreflect.Message { // Deprecated: Use Neighbor.ProtoReflect.Descriptor instead. func (*Neighbor) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{16} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{22} } func (x *Neighbor) GetNodeId() uint32 { @@ -2965,10 +4012,7 @@ func (x *Neighbor) GetNodeBroadcastIntervalSecs() uint32 { // Device metadata response type DeviceMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Device firmware version string FirmwareVersion string `protobuf:"bytes,1,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"` // Device state version @@ -2989,15 +4033,20 @@ type DeviceMetadata struct { HwModel HardwareModel `protobuf:"varint,9,opt,name=hw_model,json=hwModel,proto3,enum=meshtastic.HardwareModel" json:"hw_model,omitempty"` // Has Remote Hardware enabled HasRemoteHardware bool `protobuf:"varint,10,opt,name=hasRemoteHardware,proto3" json:"hasRemoteHardware,omitempty"` + // Has PKC capabilities + HasPKC bool `protobuf:"varint,11,opt,name=hasPKC,proto3" json:"hasPKC,omitempty"` + // Bit field of boolean for excluded modules + // (bitwise OR of ExcludedModules) + ExcludedModules uint32 `protobuf:"varint,12,opt,name=excluded_modules,json=excludedModules,proto3" json:"excluded_modules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DeviceMetadata) Reset() { *x = DeviceMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mesh_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mesh_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeviceMetadata) String() string { @@ -3007,8 +4056,8 @@ func (x *DeviceMetadata) String() string { func (*DeviceMetadata) ProtoMessage() {} func (x *DeviceMetadata) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_mesh_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_mesh_proto_msgTypes[23] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -3020,7 +4069,7 @@ func (x *DeviceMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use DeviceMetadata.ProtoReflect.Descriptor instead. func (*DeviceMetadata) Descriptor() ([]byte, []int) { - return file_meshtastic_mesh_proto_rawDescGZIP(), []int{17} + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{23} } func (x *DeviceMetadata) GetFirmwareVersion() string { @@ -3093,552 +4142,943 @@ func (x *DeviceMetadata) GetHasRemoteHardware() bool { return false } -var File_meshtastic_mesh_proto protoreflect.FileDescriptor +func (x *DeviceMetadata) GetHasPKC() bool { + if x != nil { + return x.HasPKC + } + return false +} + +func (x *DeviceMetadata) GetExcludedModules() uint32 { + if x != nil { + return x.ExcludedModules + } + return 0 +} + +// A heartbeat message is sent to the node from the client to keep the connection alive. +// This is currently only needed to keep serial connections alive, but can be used by any PhoneAPI. +type Heartbeat struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Heartbeat) Reset() { + *x = Heartbeat{} + mi := &file_meshtastic_mesh_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Heartbeat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Heartbeat) ProtoMessage() {} + +func (x *Heartbeat) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Heartbeat.ProtoReflect.Descriptor instead. +func (*Heartbeat) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{24} +} -var file_meshtastic_mesh_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, - 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x1a, 0x18, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x74, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x78, 0x6d, 0x6f, 0x64, 0x65, 0x6d, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x80, 0x08, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, - 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x09, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x49, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, - 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, - 0x64, 0x65, 0x49, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x0f, - 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x6c, 0x74, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, - 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, - 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x61, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x11, 0x52, 0x0b, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x48, 0x61, 0x65, 0x12, 0x3e, - 0x0a, 0x1b, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x67, 0x65, 0x6f, 0x69, 0x64, - 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x11, 0x52, 0x19, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x47, 0x65, 0x6f, - 0x69, 0x64, 0x61, 0x6c, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x50, 0x44, 0x4f, 0x50, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x50, 0x44, - 0x4f, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x48, 0x44, 0x4f, 0x50, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x04, 0x48, 0x44, 0x4f, 0x50, 0x12, 0x12, 0x0a, 0x04, 0x56, 0x44, 0x4f, 0x50, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x56, 0x44, 0x4f, 0x50, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x70, - 0x73, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x67, 0x70, 0x73, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x12, 0x21, 0x0a, - 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x70, 0x65, 0x65, 0x64, - 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x72, - 0x61, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x51, 0x75, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x69, 0x78, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x20, 0x0a, 0x0c, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x56, 0x69, 0x65, - 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x25, - 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x69, 0x74, 0x73, - 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x42, 0x69, 0x74, 0x73, 0x22, 0x4e, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x4f, 0x43, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, - 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x62, 0x0a, 0x09, 0x41, 0x6c, 0x74, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x4c, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x4c, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, - 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4c, 0x54, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x4c, 0x54, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x54, 0x5f, 0x42, 0x41, 0x52, - 0x4f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x04, 0x22, 0x81, 0x02, 0x0a, 0x04, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x12, 0x34, 0x0a, 0x08, - 0x68, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x48, 0x61, 0x72, 0x64, - 0x77, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x07, 0x68, 0x77, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x24, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x26, 0x0a, - 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x05, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xa3, 0x03, 0x0a, 0x07, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, - 0x67, 0x12, 0x41, 0x0a, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, - 0x70, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x76, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0b, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x22, 0xca, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x08, 0x0a, - 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x4f, 0x54, 0x5f, 0x4e, 0x41, 0x4b, - 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, - 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, - 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x41, 0x58, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x4d, 0x49, 0x54, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, - 0x4e, 0x45, 0x4c, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x41, 0x52, - 0x47, 0x45, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, - 0x4e, 0x53, 0x45, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x55, 0x54, 0x59, 0x5f, 0x43, 0x59, - 0x43, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, 0x42, - 0x41, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x20, 0x12, 0x12, 0x0a, 0x0e, - 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x21, - 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xf0, 0x01, 0x0a, 0x04, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x6e, 0x75, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, - 0x6e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x0a, - 0x0d, 0x77, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x77, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, - 0x52, 0x04, 0x64, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x07, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x6f, 0x6a, - 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x65, 0x6d, 0x6f, 0x6a, 0x69, 0x22, 0xd9, - 0x01, 0x0a, 0x08, 0x57, 0x61, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, - 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, - 0x09, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x49, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, - 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0f, 0x52, - 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x49, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x74, 0x6f, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x54, 0x6f, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x89, 0x01, 0x0a, 0x16, 0x4d, - 0x71, 0x74, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, - 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xf3, 0x04, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x68, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x07, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x07, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x64, 0x12, 0x1e, 0x0a, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x07, 0x52, 0x06, 0x72, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x78, - 0x5f, 0x73, 0x6e, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x72, 0x78, 0x53, 0x6e, - 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x68, 0x6f, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x19, - 0x0a, 0x08, 0x77, 0x61, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x77, 0x61, 0x6e, 0x74, 0x41, 0x63, 0x6b, 0x12, 0x3b, 0x0a, 0x08, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x72, 0x73, 0x73, - 0x69, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x78, 0x52, 0x73, 0x73, 0x69, 0x12, - 0x3c, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x65, - 0x73, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x12, 0x19, 0x0a, - 0x08, 0x76, 0x69, 0x61, 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x76, 0x69, 0x61, 0x4d, 0x71, 0x74, 0x74, 0x22, 0x5b, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, - 0x07, 0x0a, 0x03, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x41, 0x43, 0x4b, - 0x47, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x40, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0x46, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x43, 0x4b, 0x10, 0x78, 0x12, 0x07, 0x0a, 0x03, - 0x4d, 0x41, 0x58, 0x10, 0x7f, 0x22, 0x42, 0x0a, 0x07, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, - 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x00, 0x12, 0x15, - 0x0a, 0x11, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x45, 0x44, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, - 0x41, 0x53, 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x45, 0x44, - 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x02, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x81, 0x02, 0x0a, - 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x04, 0x75, - 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x12, 0x30, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x03, 0x73, 0x6e, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x65, - 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x48, - 0x65, 0x61, 0x72, 0x64, 0x12, 0x40, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x22, 0x77, 0x0a, 0x0a, 0x4d, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, - 0x0a, 0x0b, 0x6d, 0x79, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6d, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x21, - 0x0a, 0x0c, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x41, - 0x70, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x09, 0x4c, 0x6f, - 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, - 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x22, 0x58, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, - 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, - 0x10, 0x32, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x28, 0x12, 0x0b, 0x0a, - 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x1e, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, - 0x46, 0x4f, 0x10, 0x14, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x0a, 0x12, - 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x05, 0x22, 0x71, 0x0a, 0x0b, 0x51, 0x75, - 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x72, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x68, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0c, 0x6d, 0x65, 0x73, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x22, 0xfc, 0x05, - 0x0a, 0x09, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x06, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x31, 0x0a, - 0x07, 0x6d, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x79, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x06, 0x6d, 0x79, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x33, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x48, 0x00, - 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x08, 0x72, - 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x08, 0x72, 0x65, 0x62, 0x6f, 0x6f, 0x74, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, - 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x71, 0x75, - 0x65, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x51, 0x75, 0x65, - 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x75, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x78, 0x6d, 0x6f, 0x64, 0x65, - 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x58, 0x4d, 0x6f, 0x64, 0x65, - 0x6d, 0x48, 0x00, 0x52, 0x0c, 0x78, 0x6d, 0x6f, 0x64, 0x65, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5c, 0x0a, 0x16, 0x6d, - 0x71, 0x74, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x71, 0x74, 0x74, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, - 0x00, 0x52, 0x16, 0x6d, 0x71, 0x74, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0xb0, 0x02, 0x0a, - 0x07, 0x54, 0x6f, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x12, 0x30, 0x0a, 0x06, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x77, 0x61, - 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c, 0x77, 0x61, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x12, 0x38, 0x0a, 0x0c, 0x78, 0x6d, 0x6f, 0x64, 0x65, 0x6d, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x58, 0x4d, 0x6f, 0x64, 0x65, 0x6d, 0x48, 0x00, - 0x52, 0x0c, 0x78, 0x6d, 0x6f, 0x64, 0x65, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x5c, - 0x0a, 0x16, 0x6d, 0x71, 0x74, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x71, 0x74, 0x74, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x48, 0x00, 0x52, 0x16, 0x6d, 0x71, 0x74, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x11, 0x0a, 0x0f, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, - 0x4f, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x12, 0x2d, 0x0a, - 0x07, 0x70, 0x6f, 0x72, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x6f, 0x72, 0x74, - 0x4e, 0x75, 0x6d, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0xc3, 0x01, 0x0a, 0x0c, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x49, - 0x64, 0x12, 0x3f, 0x0a, 0x1c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, - 0x63, 0x73, 0x12, 0x32, 0x0a, 0x09, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x09, 0x6e, 0x65, 0x69, - 0x67, 0x68, 0x62, 0x6f, 0x72, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x08, 0x4e, 0x65, 0x69, 0x67, 0x68, - 0x62, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x73, 0x6e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x73, 0x6e, 0x72, 0x12, 0x20, - 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x78, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x3f, 0x0a, 0x1c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, - 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x6e, 0x6f, 0x64, 0x65, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, - 0x73, 0x22, 0xb4, 0x03, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x30, 0x0a, 0x14, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x53, 0x68, 0x75, 0x74, 0x64, - 0x6f, 0x77, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x57, 0x69, 0x66, 0x69, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x57, 0x69, 0x66, 0x69, 0x12, 0x22, 0x0a, - 0x0c, 0x68, 0x61, 0x73, 0x42, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x42, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, - 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x45, 0x74, 0x68, 0x65, 0x72, - 0x6e, 0x65, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x24, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x68, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x07, 0x68, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x68, 0x61, - 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x68, 0x61, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x2a, 0xd4, 0x07, 0x0a, 0x0d, 0x48, 0x61, 0x72, - 0x64, 0x77, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, - 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x56, - 0x32, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x56, 0x31, 0x10, - 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x56, 0x32, 0x5f, 0x31, 0x5f, - 0x31, 0x50, 0x36, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x42, 0x45, 0x41, 0x4d, 0x10, 0x04, - 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x56, 0x32, 0x5f, 0x30, 0x10, - 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x42, 0x45, 0x41, 0x4d, 0x5f, 0x56, 0x30, 0x50, 0x37, 0x10, - 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x5f, 0x45, 0x43, 0x48, 0x4f, 0x10, 0x07, 0x12, 0x10, 0x0a, - 0x0c, 0x54, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x56, 0x31, 0x5f, 0x31, 0x50, 0x33, 0x10, 0x08, 0x12, - 0x0b, 0x0a, 0x07, 0x52, 0x41, 0x4b, 0x34, 0x36, 0x33, 0x31, 0x10, 0x09, 0x12, 0x0f, 0x0a, 0x0b, - 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x56, 0x32, 0x5f, 0x31, 0x10, 0x0a, 0x12, 0x0d, 0x0a, - 0x09, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x56, 0x31, 0x10, 0x0b, 0x12, 0x18, 0x0a, 0x14, - 0x4c, 0x49, 0x4c, 0x59, 0x47, 0x4f, 0x5f, 0x54, 0x42, 0x45, 0x41, 0x4d, 0x5f, 0x53, 0x33, 0x5f, - 0x43, 0x4f, 0x52, 0x45, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x41, 0x4b, 0x31, 0x31, 0x32, - 0x30, 0x30, 0x10, 0x0d, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x41, 0x4e, 0x4f, 0x5f, 0x47, 0x31, 0x10, - 0x0e, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x56, 0x32, 0x5f, 0x31, 0x5f, - 0x31, 0x50, 0x38, 0x10, 0x0f, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x54, - 0x33, 0x5f, 0x53, 0x33, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x41, 0x4e, 0x4f, 0x5f, 0x47, - 0x31, 0x5f, 0x45, 0x58, 0x50, 0x4c, 0x4f, 0x52, 0x45, 0x52, 0x10, 0x11, 0x12, 0x11, 0x0a, 0x0d, - 0x4e, 0x41, 0x4e, 0x4f, 0x5f, 0x47, 0x32, 0x5f, 0x55, 0x4c, 0x54, 0x52, 0x41, 0x10, 0x12, 0x12, - 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x13, 0x12, 0x0e, - 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x47, 0x31, 0x10, 0x19, 0x12, 0x0c, - 0x0a, 0x08, 0x52, 0x41, 0x4b, 0x31, 0x31, 0x33, 0x31, 0x30, 0x10, 0x1a, 0x12, 0x14, 0x0a, 0x10, - 0x53, 0x45, 0x4e, 0x53, 0x45, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x52, 0x50, 0x32, 0x30, 0x34, 0x30, - 0x10, 0x1b, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x4e, 0x53, 0x45, 0x4c, 0x4f, 0x52, 0x41, 0x5f, - 0x53, 0x33, 0x10, 0x1c, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x41, 0x52, 0x59, 0x4f, 0x4e, - 0x45, 0x10, 0x1d, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, 0x32, 0x30, 0x34, 0x30, 0x5f, 0x4c, 0x4f, - 0x52, 0x41, 0x10, 0x1e, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x47, 0x32, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x52, 0x45, 0x4c, - 0x41, 0x59, 0x5f, 0x56, 0x31, 0x10, 0x20, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x52, 0x46, 0x35, 0x32, - 0x38, 0x34, 0x30, 0x44, 0x4b, 0x10, 0x21, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x50, 0x52, 0x10, 0x22, - 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x45, 0x4e, 0x49, 0x45, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x53, 0x10, - 0x23, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x52, 0x46, 0x35, 0x32, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x24, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x4f, 0x52, 0x54, 0x44, 0x55, 0x49, 0x4e, - 0x4f, 0x10, 0x25, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x5f, 0x53, - 0x49, 0x4d, 0x10, 0x26, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x49, 0x59, 0x5f, 0x56, 0x31, 0x10, 0x27, - 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x52, 0x46, 0x35, 0x32, 0x38, 0x34, 0x30, 0x5f, 0x50, 0x43, 0x41, - 0x31, 0x30, 0x30, 0x35, 0x39, 0x10, 0x28, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x52, 0x5f, 0x44, 0x45, - 0x56, 0x10, 0x29, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x35, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x10, 0x2a, - 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x56, 0x33, 0x10, 0x2b, 0x12, - 0x11, 0x0a, 0x0d, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x57, 0x53, 0x4c, 0x5f, 0x56, 0x33, - 0x10, 0x2c, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x45, 0x54, 0x41, 0x46, 0x50, 0x56, 0x5f, 0x32, 0x34, - 0x30, 0x30, 0x5f, 0x54, 0x58, 0x10, 0x2d, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x45, 0x54, 0x41, 0x46, - 0x50, 0x56, 0x5f, 0x39, 0x30, 0x30, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x5f, 0x54, 0x58, 0x10, 0x2e, - 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x50, 0x49, 0x5f, 0x50, 0x49, 0x43, 0x4f, 0x10, 0x2f, 0x12, 0x1b, - 0x0a, 0x17, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, - 0x53, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x30, 0x12, 0x19, 0x0a, 0x15, 0x48, - 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x50, - 0x41, 0x50, 0x45, 0x52, 0x10, 0x31, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x5f, 0x44, 0x45, 0x43, 0x4b, - 0x10, 0x32, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x53, 0x33, - 0x10, 0x33, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x49, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x45, 0x52, - 0x5f, 0x53, 0x33, 0x10, 0x34, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, - 0x48, 0x54, 0x36, 0x32, 0x10, 0x35, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x42, 0x59, 0x54, 0x45, 0x5f, - 0x45, 0x53, 0x50, 0x33, 0x32, 0x5f, 0x53, 0x33, 0x10, 0x36, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x53, - 0x50, 0x33, 0x32, 0x5f, 0x53, 0x33, 0x5f, 0x50, 0x49, 0x43, 0x4f, 0x10, 0x37, 0x12, 0x0d, 0x0a, - 0x09, 0x43, 0x48, 0x41, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x32, 0x10, 0x38, 0x12, 0x1e, 0x0a, 0x1a, - 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, - 0x50, 0x41, 0x50, 0x45, 0x52, 0x5f, 0x56, 0x31, 0x5f, 0x30, 0x10, 0x39, 0x12, 0x20, 0x0a, 0x1c, - 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x57, 0x49, 0x52, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x5f, - 0x54, 0x52, 0x41, 0x43, 0x4b, 0x45, 0x52, 0x5f, 0x56, 0x31, 0x5f, 0x30, 0x10, 0x3a, 0x12, 0x0f, - 0x0a, 0x0a, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x48, 0x57, 0x10, 0xff, 0x01, 0x2a, - 0x2c, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x08, 0x0a, 0x04, - 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x10, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, - 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x4c, 0x45, 0x4e, 0x10, 0xed, 0x01, 0x2a, 0xee, 0x01, - 0x0a, 0x11, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, - 0x0b, 0x54, 0x58, 0x5f, 0x57, 0x41, 0x54, 0x43, 0x48, 0x44, 0x4f, 0x47, 0x10, 0x01, 0x12, 0x14, - 0x0a, 0x10, 0x53, 0x4c, 0x45, 0x45, 0x50, 0x5f, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x57, 0x41, - 0x49, 0x54, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x4f, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x4f, - 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x42, 0x4c, 0x4f, 0x58, 0x5f, 0x55, 0x4e, 0x49, - 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, - 0x5f, 0x41, 0x58, 0x50, 0x31, 0x39, 0x32, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x41, 0x44, 0x49, 0x4f, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4d, 0x49, 0x54, - 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x52, 0x4f, - 0x57, 0x4e, 0x4f, 0x55, 0x54, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x58, 0x31, 0x32, 0x36, - 0x32, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x52, - 0x41, 0x44, 0x49, 0x4f, 0x5f, 0x53, 0x50, 0x49, 0x5f, 0x42, 0x55, 0x47, 0x10, 0x0b, 0x42, 0x5f, - 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, - 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0a, 0x4d, 0x65, 0x73, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +// RemoteHardwarePins associated with a node +type NodeRemoteHardwarePin struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The node_num exposing the available gpio pin + NodeNum uint32 `protobuf:"varint,1,opt,name=node_num,json=nodeNum,proto3" json:"node_num,omitempty"` + // The the available gpio pin for usage with RemoteHardware module + Pin *RemoteHardwarePin `protobuf:"bytes,2,opt,name=pin,proto3" json:"pin,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NodeRemoteHardwarePin) Reset() { + *x = NodeRemoteHardwarePin{} + mi := &file_meshtastic_mesh_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NodeRemoteHardwarePin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeRemoteHardwarePin) ProtoMessage() {} + +func (x *NodeRemoteHardwarePin) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NodeRemoteHardwarePin.ProtoReflect.Descriptor instead. +func (*NodeRemoteHardwarePin) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{25} +} + +func (x *NodeRemoteHardwarePin) GetNodeNum() uint32 { + if x != nil { + return x.NodeNum + } + return 0 +} + +func (x *NodeRemoteHardwarePin) GetPin() *RemoteHardwarePin { + if x != nil { + return x.Pin + } + return nil +} + +type ChunkedPayload struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the entire payload + PayloadId uint32 `protobuf:"varint,1,opt,name=payload_id,json=payloadId,proto3" json:"payload_id,omitempty"` + // The total number of chunks in the payload + ChunkCount uint32 `protobuf:"varint,2,opt,name=chunk_count,json=chunkCount,proto3" json:"chunk_count,omitempty"` + // The current chunk index in the total + ChunkIndex uint32 `protobuf:"varint,3,opt,name=chunk_index,json=chunkIndex,proto3" json:"chunk_index,omitempty"` + // The binary data of the current chunk + PayloadChunk []byte `protobuf:"bytes,4,opt,name=payload_chunk,json=payloadChunk,proto3" json:"payload_chunk,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChunkedPayload) Reset() { + *x = ChunkedPayload{} + mi := &file_meshtastic_mesh_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChunkedPayload) String() string { + return protoimpl.X.MessageStringOf(x) } +func (*ChunkedPayload) ProtoMessage() {} + +func (x *ChunkedPayload) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChunkedPayload.ProtoReflect.Descriptor instead. +func (*ChunkedPayload) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{26} +} + +func (x *ChunkedPayload) GetPayloadId() uint32 { + if x != nil { + return x.PayloadId + } + return 0 +} + +func (x *ChunkedPayload) GetChunkCount() uint32 { + if x != nil { + return x.ChunkCount + } + return 0 +} + +func (x *ChunkedPayload) GetChunkIndex() uint32 { + if x != nil { + return x.ChunkIndex + } + return 0 +} + +func (x *ChunkedPayload) GetPayloadChunk() []byte { + if x != nil { + return x.PayloadChunk + } + return nil +} + +// Wrapper message for broken repeated oneof support +type ResendChunks struct { + state protoimpl.MessageState `protogen:"open.v1"` + Chunks []uint32 `protobuf:"varint,1,rep,packed,name=chunks,proto3" json:"chunks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResendChunks) Reset() { + *x = ResendChunks{} + mi := &file_meshtastic_mesh_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResendChunks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResendChunks) ProtoMessage() {} + +func (x *ResendChunks) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResendChunks.ProtoReflect.Descriptor instead. +func (*ResendChunks) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{27} +} + +func (x *ResendChunks) GetChunks() []uint32 { + if x != nil { + return x.Chunks + } + return nil +} + +// Responses to a ChunkedPayload request +type ChunkedPayloadResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the entire payload + PayloadId uint32 `protobuf:"varint,1,opt,name=payload_id,json=payloadId,proto3" json:"payload_id,omitempty"` + // Types that are valid to be assigned to PayloadVariant: + // + // *ChunkedPayloadResponse_RequestTransfer + // *ChunkedPayloadResponse_AcceptTransfer + // *ChunkedPayloadResponse_ResendChunks + PayloadVariant isChunkedPayloadResponse_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChunkedPayloadResponse) Reset() { + *x = ChunkedPayloadResponse{} + mi := &file_meshtastic_mesh_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChunkedPayloadResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChunkedPayloadResponse) ProtoMessage() {} + +func (x *ChunkedPayloadResponse) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChunkedPayloadResponse.ProtoReflect.Descriptor instead. +func (*ChunkedPayloadResponse) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{28} +} + +func (x *ChunkedPayloadResponse) GetPayloadId() uint32 { + if x != nil { + return x.PayloadId + } + return 0 +} + +func (x *ChunkedPayloadResponse) GetPayloadVariant() isChunkedPayloadResponse_PayloadVariant { + if x != nil { + return x.PayloadVariant + } + return nil +} + +func (x *ChunkedPayloadResponse) GetRequestTransfer() bool { + if x != nil { + if x, ok := x.PayloadVariant.(*ChunkedPayloadResponse_RequestTransfer); ok { + return x.RequestTransfer + } + } + return false +} + +func (x *ChunkedPayloadResponse) GetAcceptTransfer() bool { + if x != nil { + if x, ok := x.PayloadVariant.(*ChunkedPayloadResponse_AcceptTransfer); ok { + return x.AcceptTransfer + } + } + return false +} + +func (x *ChunkedPayloadResponse) GetResendChunks() *ResendChunks { + if x != nil { + if x, ok := x.PayloadVariant.(*ChunkedPayloadResponse_ResendChunks); ok { + return x.ResendChunks + } + } + return nil +} + +type isChunkedPayloadResponse_PayloadVariant interface { + isChunkedPayloadResponse_PayloadVariant() +} + +type ChunkedPayloadResponse_RequestTransfer struct { + // Request to transfer chunked payload + RequestTransfer bool `protobuf:"varint,2,opt,name=request_transfer,json=requestTransfer,proto3,oneof"` +} + +type ChunkedPayloadResponse_AcceptTransfer struct { + // Accept the transfer chunked payload + AcceptTransfer bool `protobuf:"varint,3,opt,name=accept_transfer,json=acceptTransfer,proto3,oneof"` +} + +type ChunkedPayloadResponse_ResendChunks struct { + // Request missing indexes in the chunked payload + ResendChunks *ResendChunks `protobuf:"bytes,4,opt,name=resend_chunks,json=resendChunks,proto3,oneof"` +} + +func (*ChunkedPayloadResponse_RequestTransfer) isChunkedPayloadResponse_PayloadVariant() {} + +func (*ChunkedPayloadResponse_AcceptTransfer) isChunkedPayloadResponse_PayloadVariant() {} + +func (*ChunkedPayloadResponse_ResendChunks) isChunkedPayloadResponse_PayloadVariant() {} + +var File_meshtastic_mesh_proto protoreflect.FileDescriptor + +const file_meshtastic_mesh_proto_rawDesc = "" + + "\n" + + "\x15meshtastic/mesh.proto\x12\n" + + "meshtastic\x1a\x18meshtastic/channel.proto\x1a\x17meshtastic/config.proto\x1a\x1emeshtastic/module_config.proto\x1a\x19meshtastic/portnums.proto\x1a\x1ameshtastic/telemetry.proto\x1a\x17meshtastic/xmodem.proto\x1a\x1ameshtastic/device_ui.proto\"\xa2\t\n" + + "\bPosition\x12\"\n" + + "\n" + + "latitude_i\x18\x01 \x01(\x0fH\x00R\tlatitudeI\x88\x01\x01\x12$\n" + + "\vlongitude_i\x18\x02 \x01(\x0fH\x01R\n" + + "longitudeI\x88\x01\x01\x12\x1f\n" + + "\baltitude\x18\x03 \x01(\x05H\x02R\baltitude\x88\x01\x01\x12\x12\n" + + "\x04time\x18\x04 \x01(\aR\x04time\x12G\n" + + "\x0flocation_source\x18\x05 \x01(\x0e2\x1e.meshtastic.Position.LocSourceR\x0elocationSource\x12G\n" + + "\x0faltitude_source\x18\x06 \x01(\x0e2\x1e.meshtastic.Position.AltSourceR\x0ealtitudeSource\x12\x1c\n" + + "\ttimestamp\x18\a \x01(\aR\ttimestamp\x126\n" + + "\x17timestamp_millis_adjust\x18\b \x01(\x05R\x15timestampMillisAdjust\x12&\n" + + "\faltitude_hae\x18\t \x01(\x11H\x03R\valtitudeHae\x88\x01\x01\x12C\n" + + "\x1baltitude_geoidal_separation\x18\n" + + " \x01(\x11H\x04R\x19altitudeGeoidalSeparation\x88\x01\x01\x12\x12\n" + + "\x04PDOP\x18\v \x01(\rR\x04PDOP\x12\x12\n" + + "\x04HDOP\x18\f \x01(\rR\x04HDOP\x12\x12\n" + + "\x04VDOP\x18\r \x01(\rR\x04VDOP\x12!\n" + + "\fgps_accuracy\x18\x0e \x01(\rR\vgpsAccuracy\x12&\n" + + "\fground_speed\x18\x0f \x01(\rH\x05R\vgroundSpeed\x88\x01\x01\x12&\n" + + "\fground_track\x18\x10 \x01(\rH\x06R\vgroundTrack\x88\x01\x01\x12\x1f\n" + + "\vfix_quality\x18\x11 \x01(\rR\n" + + "fixQuality\x12\x19\n" + + "\bfix_type\x18\x12 \x01(\rR\afixType\x12 \n" + + "\fsats_in_view\x18\x13 \x01(\rR\n" + + "satsInView\x12\x1b\n" + + "\tsensor_id\x18\x14 \x01(\rR\bsensorId\x12\x1f\n" + + "\vnext_update\x18\x15 \x01(\rR\n" + + "nextUpdate\x12\x1d\n" + + "\n" + + "seq_number\x18\x16 \x01(\rR\tseqNumber\x12%\n" + + "\x0eprecision_bits\x18\x17 \x01(\rR\rprecisionBits\"N\n" + + "\tLocSource\x12\r\n" + + "\tLOC_UNSET\x10\x00\x12\x0e\n" + + "\n" + + "LOC_MANUAL\x10\x01\x12\x10\n" + + "\fLOC_INTERNAL\x10\x02\x12\x10\n" + + "\fLOC_EXTERNAL\x10\x03\"b\n" + + "\tAltSource\x12\r\n" + + "\tALT_UNSET\x10\x00\x12\x0e\n" + + "\n" + + "ALT_MANUAL\x10\x01\x12\x10\n" + + "\fALT_INTERNAL\x10\x02\x12\x10\n" + + "\fALT_EXTERNAL\x10\x03\x12\x12\n" + + "\x0eALT_BAROMETRIC\x10\x04B\r\n" + + "\v_latitude_iB\x0e\n" + + "\f_longitude_iB\v\n" + + "\t_altitudeB\x0f\n" + + "\r_altitude_haeB\x1e\n" + + "\x1c_altitude_geoidal_separationB\x0f\n" + + "\r_ground_speedB\x0f\n" + + "\r_ground_track\"\xe2\x02\n" + + "\x04User\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + + "\tlong_name\x18\x02 \x01(\tR\blongName\x12\x1d\n" + + "\n" + + "short_name\x18\x03 \x01(\tR\tshortName\x12\x1c\n" + + "\amacaddr\x18\x04 \x01(\fB\x02\x18\x01R\amacaddr\x124\n" + + "\bhw_model\x18\x05 \x01(\x0e2\x19.meshtastic.HardwareModelR\ahwModel\x12\x1f\n" + + "\vis_licensed\x18\x06 \x01(\bR\n" + + "isLicensed\x128\n" + + "\x04role\x18\a \x01(\x0e2$.meshtastic.Config.DeviceConfig.RoleR\x04role\x12\x1d\n" + + "\n" + + "public_key\x18\b \x01(\fR\tpublicKey\x12,\n" + + "\x0fis_unmessagable\x18\t \x01(\bH\x00R\x0eisUnmessagable\x88\x01\x01B\x12\n" + + "\x10_is_unmessagable\"\x81\x01\n" + + "\x0eRouteDiscovery\x12\x14\n" + + "\x05route\x18\x01 \x03(\aR\x05route\x12\x1f\n" + + "\vsnr_towards\x18\x02 \x03(\x05R\n" + + "snrTowards\x12\x1d\n" + + "\n" + + "route_back\x18\x03 \x03(\aR\trouteBack\x12\x19\n" + + "\bsnr_back\x18\x04 \x03(\x05R\asnrBack\"\x89\x04\n" + + "\aRouting\x12A\n" + + "\rroute_request\x18\x01 \x01(\v2\x1a.meshtastic.RouteDiscoveryH\x00R\frouteRequest\x12=\n" + + "\vroute_reply\x18\x02 \x01(\v2\x1a.meshtastic.RouteDiscoveryH\x00R\n" + + "routeReply\x12>\n" + + "\ferror_reason\x18\x03 \x01(\x0e2\x19.meshtastic.Routing.ErrorH\x00R\verrorReason\"\xb0\x02\n" + + "\x05Error\x12\b\n" + + "\x04NONE\x10\x00\x12\f\n" + + "\bNO_ROUTE\x10\x01\x12\v\n" + + "\aGOT_NAK\x10\x02\x12\v\n" + + "\aTIMEOUT\x10\x03\x12\x10\n" + + "\fNO_INTERFACE\x10\x04\x12\x12\n" + + "\x0eMAX_RETRANSMIT\x10\x05\x12\x0e\n" + + "\n" + + "NO_CHANNEL\x10\x06\x12\r\n" + + "\tTOO_LARGE\x10\a\x12\x0f\n" + + "\vNO_RESPONSE\x10\b\x12\x14\n" + + "\x10DUTY_CYCLE_LIMIT\x10\t\x12\x0f\n" + + "\vBAD_REQUEST\x10 \x12\x12\n" + + "\x0eNOT_AUTHORIZED\x10!\x12\x0e\n" + + "\n" + + "PKI_FAILED\x10\"\x12\x16\n" + + "\x12PKI_UNKNOWN_PUBKEY\x10#\x12\x19\n" + + "\x15ADMIN_BAD_SESSION_KEY\x10$\x12!\n" + + "\x1dADMIN_PUBLIC_KEY_UNAUTHORIZED\x10%B\t\n" + + "\avariant\"\x9e\x02\n" + + "\x04Data\x12-\n" + + "\aportnum\x18\x01 \x01(\x0e2\x13.meshtastic.PortNumR\aportnum\x12\x18\n" + + "\apayload\x18\x02 \x01(\fR\apayload\x12#\n" + + "\rwant_response\x18\x03 \x01(\bR\fwantResponse\x12\x12\n" + + "\x04dest\x18\x04 \x01(\aR\x04dest\x12\x16\n" + + "\x06source\x18\x05 \x01(\aR\x06source\x12\x1d\n" + + "\n" + + "request_id\x18\x06 \x01(\aR\trequestId\x12\x19\n" + + "\breply_id\x18\a \x01(\aR\areplyId\x12\x14\n" + + "\x05emoji\x18\b \x01(\aR\x05emoji\x12\x1f\n" + + "\bbitfield\x18\t \x01(\rH\x00R\bbitfield\x88\x01\x01B\v\n" + + "\t_bitfield\"S\n" + + "\x0fKeyVerification\x12\x14\n" + + "\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12\x14\n" + + "\x05hash1\x18\x02 \x01(\fR\x05hash1\x12\x14\n" + + "\x05hash2\x18\x03 \x01(\fR\x05hash2\"\x82\x02\n" + + "\bWaypoint\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x12\"\n" + + "\n" + + "latitude_i\x18\x02 \x01(\x0fH\x00R\tlatitudeI\x88\x01\x01\x12$\n" + + "\vlongitude_i\x18\x03 \x01(\x0fH\x01R\n" + + "longitudeI\x88\x01\x01\x12\x16\n" + + "\x06expire\x18\x04 \x01(\rR\x06expire\x12\x1b\n" + + "\tlocked_to\x18\x05 \x01(\rR\blockedTo\x12\x12\n" + + "\x04name\x18\x06 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\a \x01(\tR\vdescription\x12\x12\n" + + "\x04icon\x18\b \x01(\aR\x04iconB\r\n" + + "\v_latitude_iB\x0e\n" + + "\f_longitude_i\"\x89\x01\n" + + "\x16MqttClientProxyMessage\x12\x14\n" + + "\x05topic\x18\x01 \x01(\tR\x05topic\x12\x14\n" + + "\x04data\x18\x02 \x01(\fH\x00R\x04data\x12\x14\n" + + "\x04text\x18\x03 \x01(\tH\x00R\x04text\x12\x1a\n" + + "\bretained\x18\x04 \x01(\bR\bretainedB\x11\n" + + "\x0fpayload_variant\"\xcc\x06\n" + + "\n" + + "MeshPacket\x12\x12\n" + + "\x04from\x18\x01 \x01(\aR\x04from\x12\x0e\n" + + "\x02to\x18\x02 \x01(\aR\x02to\x12\x18\n" + + "\achannel\x18\x03 \x01(\rR\achannel\x12,\n" + + "\adecoded\x18\x04 \x01(\v2\x10.meshtastic.DataH\x00R\adecoded\x12\x1e\n" + + "\tencrypted\x18\x05 \x01(\fH\x00R\tencrypted\x12\x0e\n" + + "\x02id\x18\x06 \x01(\aR\x02id\x12\x17\n" + + "\arx_time\x18\a \x01(\aR\x06rxTime\x12\x15\n" + + "\x06rx_snr\x18\b \x01(\x02R\x05rxSnr\x12\x1b\n" + + "\thop_limit\x18\t \x01(\rR\bhopLimit\x12\x19\n" + + "\bwant_ack\x18\n" + + " \x01(\bR\awantAck\x12;\n" + + "\bpriority\x18\v \x01(\x0e2\x1f.meshtastic.MeshPacket.PriorityR\bpriority\x12\x17\n" + + "\arx_rssi\x18\f \x01(\x05R\x06rxRssi\x12<\n" + + "\adelayed\x18\r \x01(\x0e2\x1e.meshtastic.MeshPacket.DelayedB\x02\x18\x01R\adelayed\x12\x19\n" + + "\bvia_mqtt\x18\x0e \x01(\bR\aviaMqtt\x12\x1b\n" + + "\thop_start\x18\x0f \x01(\rR\bhopStart\x12\x1d\n" + + "\n" + + "public_key\x18\x10 \x01(\fR\tpublicKey\x12#\n" + + "\rpki_encrypted\x18\x11 \x01(\bR\fpkiEncrypted\x12\x19\n" + + "\bnext_hop\x18\x12 \x01(\rR\anextHop\x12\x1d\n" + + "\n" + + "relay_node\x18\x13 \x01(\rR\trelayNode\x12\x19\n" + + "\btx_after\x18\x14 \x01(\rR\atxAfter\"~\n" + + "\bPriority\x12\t\n" + + "\x05UNSET\x10\x00\x12\a\n" + + "\x03MIN\x10\x01\x12\x0e\n" + + "\n" + + "BACKGROUND\x10\n" + + "\x12\v\n" + + "\aDEFAULT\x10@\x12\f\n" + + "\bRELIABLE\x10F\x12\f\n" + + "\bRESPONSE\x10P\x12\b\n" + + "\x04HIGH\x10d\x12\t\n" + + "\x05ALERT\x10n\x12\a\n" + + "\x03ACK\x10x\x12\a\n" + + "\x03MAX\x10\x7f\"B\n" + + "\aDelayed\x12\f\n" + + "\bNO_DELAY\x10\x00\x12\x15\n" + + "\x11DELAYED_BROADCAST\x10\x01\x12\x12\n" + + "\x0eDELAYED_DIRECT\x10\x02B\x11\n" + + "\x0fpayload_variant\"\xc5\x03\n" + + "\bNodeInfo\x12\x10\n" + + "\x03num\x18\x01 \x01(\rR\x03num\x12$\n" + + "\x04user\x18\x02 \x01(\v2\x10.meshtastic.UserR\x04user\x120\n" + + "\bposition\x18\x03 \x01(\v2\x14.meshtastic.PositionR\bposition\x12\x10\n" + + "\x03snr\x18\x04 \x01(\x02R\x03snr\x12\x1d\n" + + "\n" + + "last_heard\x18\x05 \x01(\aR\tlastHeard\x12@\n" + + "\x0edevice_metrics\x18\x06 \x01(\v2\x19.meshtastic.DeviceMetricsR\rdeviceMetrics\x12\x18\n" + + "\achannel\x18\a \x01(\rR\achannel\x12\x19\n" + + "\bvia_mqtt\x18\b \x01(\bR\aviaMqtt\x12 \n" + + "\thops_away\x18\t \x01(\rH\x00R\bhopsAway\x88\x01\x01\x12\x1f\n" + + "\vis_favorite\x18\n" + + " \x01(\bR\n" + + "isFavorite\x12\x1d\n" + + "\n" + + "is_ignored\x18\v \x01(\bR\tisIgnored\x127\n" + + "\x18is_key_manually_verified\x18\f \x01(\bR\x15isKeyManuallyVerifiedB\f\n" + + "\n" + + "_hops_away\"\xad\x01\n" + + "\n" + + "MyNodeInfo\x12\x1e\n" + + "\vmy_node_num\x18\x01 \x01(\rR\tmyNodeNum\x12!\n" + + "\freboot_count\x18\b \x01(\rR\vrebootCount\x12&\n" + + "\x0fmin_app_version\x18\v \x01(\rR\rminAppVersion\x12\x1b\n" + + "\tdevice_id\x18\f \x01(\fR\bdeviceId\x12\x17\n" + + "\apio_env\x18\r \x01(\tR\x06pioEnv\"\xde\x01\n" + + "\tLogRecord\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\x12\x12\n" + + "\x04time\x18\x02 \x01(\aR\x04time\x12\x16\n" + + "\x06source\x18\x03 \x01(\tR\x06source\x121\n" + + "\x05level\x18\x04 \x01(\x0e2\x1b.meshtastic.LogRecord.LevelR\x05level\"X\n" + + "\x05Level\x12\t\n" + + "\x05UNSET\x10\x00\x12\f\n" + + "\bCRITICAL\x102\x12\t\n" + + "\x05ERROR\x10(\x12\v\n" + + "\aWARNING\x10\x1e\x12\b\n" + + "\x04INFO\x10\x14\x12\t\n" + + "\x05DEBUG\x10\n" + + "\x12\t\n" + + "\x05TRACE\x10\x05\"q\n" + + "\vQueueStatus\x12\x10\n" + + "\x03res\x18\x01 \x01(\x05R\x03res\x12\x12\n" + + "\x04free\x18\x02 \x01(\rR\x04free\x12\x16\n" + + "\x06maxlen\x18\x03 \x01(\rR\x06maxlen\x12$\n" + + "\x0emesh_packet_id\x18\x04 \x01(\rR\fmeshPacketId\"\xc8\a\n" + + "\tFromRadio\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x120\n" + + "\x06packet\x18\x02 \x01(\v2\x16.meshtastic.MeshPacketH\x00R\x06packet\x121\n" + + "\amy_info\x18\x03 \x01(\v2\x16.meshtastic.MyNodeInfoH\x00R\x06myInfo\x123\n" + + "\tnode_info\x18\x04 \x01(\v2\x14.meshtastic.NodeInfoH\x00R\bnodeInfo\x12,\n" + + "\x06config\x18\x05 \x01(\v2\x12.meshtastic.ConfigH\x00R\x06config\x126\n" + + "\n" + + "log_record\x18\x06 \x01(\v2\x15.meshtastic.LogRecordH\x00R\tlogRecord\x12.\n" + + "\x12config_complete_id\x18\a \x01(\rH\x00R\x10configCompleteId\x12\x1c\n" + + "\brebooted\x18\b \x01(\bH\x00R\brebooted\x12>\n" + + "\fmoduleConfig\x18\t \x01(\v2\x18.meshtastic.ModuleConfigH\x00R\fmoduleConfig\x12/\n" + + "\achannel\x18\n" + + " \x01(\v2\x13.meshtastic.ChannelH\x00R\achannel\x12;\n" + + "\vqueueStatus\x18\v \x01(\v2\x17.meshtastic.QueueStatusH\x00R\vqueueStatus\x128\n" + + "\fxmodemPacket\x18\f \x01(\v2\x12.meshtastic.XModemH\x00R\fxmodemPacket\x128\n" + + "\bmetadata\x18\r \x01(\v2\x1a.meshtastic.DeviceMetadataH\x00R\bmetadata\x12\\\n" + + "\x16mqttClientProxyMessage\x18\x0e \x01(\v2\".meshtastic.MqttClientProxyMessageH\x00R\x16mqttClientProxyMessage\x122\n" + + "\bfileInfo\x18\x0f \x01(\v2\x14.meshtastic.FileInfoH\x00R\bfileInfo\x12P\n" + + "\x12clientNotification\x18\x10 \x01(\v2\x1e.meshtastic.ClientNotificationH\x00R\x12clientNotification\x12D\n" + + "\x0edeviceuiConfig\x18\x11 \x01(\v2\x1a.meshtastic.DeviceUIConfigH\x00R\x0edeviceuiConfigB\x11\n" + + "\x0fpayload_variant\"\xf2\x03\n" + + "\x12ClientNotification\x12\x1e\n" + + "\breply_id\x18\x01 \x01(\rH\x01R\areplyId\x88\x01\x01\x12\x12\n" + + "\x04time\x18\x02 \x01(\aR\x04time\x121\n" + + "\x05level\x18\x03 \x01(\x0e2\x1b.meshtastic.LogRecord.LevelR\x05level\x12\x18\n" + + "\amessage\x18\x04 \x01(\tR\amessage\x12n\n" + + "\x1ekey_verification_number_inform\x18\v \x01(\v2'.meshtastic.KeyVerificationNumberInformH\x00R\x1bkeyVerificationNumberInform\x12q\n" + + "\x1fkey_verification_number_request\x18\f \x01(\v2(.meshtastic.KeyVerificationNumberRequestH\x00R\x1ckeyVerificationNumberRequest\x12X\n" + + "\x16key_verification_final\x18\r \x01(\v2 .meshtastic.KeyVerificationFinalH\x00R\x14keyVerificationFinalB\x11\n" + + "\x0fpayload_variantB\v\n" + + "\t_reply_id\"\x85\x01\n" + + "\x1bKeyVerificationNumberInform\x12\x14\n" + + "\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12'\n" + + "\x0fremote_longname\x18\x02 \x01(\tR\x0eremoteLongname\x12'\n" + + "\x0fsecurity_number\x18\x03 \x01(\rR\x0esecurityNumber\"]\n" + + "\x1cKeyVerificationNumberRequest\x12\x14\n" + + "\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12'\n" + + "\x0fremote_longname\x18\x02 \x01(\tR\x0eremoteLongname\"\xaa\x01\n" + + "\x14KeyVerificationFinal\x12\x14\n" + + "\x05nonce\x18\x01 \x01(\x04R\x05nonce\x12'\n" + + "\x0fremote_longname\x18\x02 \x01(\tR\x0eremoteLongname\x12\x1a\n" + + "\bisSender\x18\x03 \x01(\bR\bisSender\x127\n" + + "\x17verification_characters\x18\x04 \x01(\tR\x16verificationCharacters\"F\n" + + "\bFileInfo\x12\x1b\n" + + "\tfile_name\x18\x01 \x01(\tR\bfileName\x12\x1d\n" + + "\n" + + "size_bytes\x18\x02 \x01(\rR\tsizeBytes\"\xe7\x02\n" + + "\aToRadio\x120\n" + + "\x06packet\x18\x01 \x01(\v2\x16.meshtastic.MeshPacketH\x00R\x06packet\x12&\n" + + "\x0ewant_config_id\x18\x03 \x01(\rH\x00R\fwantConfigId\x12 \n" + + "\n" + + "disconnect\x18\x04 \x01(\bH\x00R\n" + + "disconnect\x128\n" + + "\fxmodemPacket\x18\x05 \x01(\v2\x12.meshtastic.XModemH\x00R\fxmodemPacket\x12\\\n" + + "\x16mqttClientProxyMessage\x18\x06 \x01(\v2\".meshtastic.MqttClientProxyMessageH\x00R\x16mqttClientProxyMessage\x125\n" + + "\theartbeat\x18\a \x01(\v2\x15.meshtastic.HeartbeatH\x00R\theartbeatB\x11\n" + + "\x0fpayload_variant\"O\n" + + "\n" + + "Compressed\x12-\n" + + "\aportnum\x18\x01 \x01(\x0e2\x13.meshtastic.PortNumR\aportnum\x12\x12\n" + + "\x04data\x18\x02 \x01(\fR\x04data\"\xc3\x01\n" + + "\fNeighborInfo\x12\x17\n" + + "\anode_id\x18\x01 \x01(\rR\x06nodeId\x12%\n" + + "\x0flast_sent_by_id\x18\x02 \x01(\rR\flastSentById\x12?\n" + + "\x1cnode_broadcast_interval_secs\x18\x03 \x01(\rR\x19nodeBroadcastIntervalSecs\x122\n" + + "\tneighbors\x18\x04 \x03(\v2\x14.meshtastic.NeighborR\tneighbors\"\x98\x01\n" + + "\bNeighbor\x12\x17\n" + + "\anode_id\x18\x01 \x01(\rR\x06nodeId\x12\x10\n" + + "\x03snr\x18\x02 \x01(\x02R\x03snr\x12 \n" + + "\flast_rx_time\x18\x03 \x01(\aR\n" + + "lastRxTime\x12?\n" + + "\x1cnode_broadcast_interval_secs\x18\x04 \x01(\rR\x19nodeBroadcastIntervalSecs\"\xf7\x03\n" + + "\x0eDeviceMetadata\x12)\n" + + "\x10firmware_version\x18\x01 \x01(\tR\x0ffirmwareVersion\x120\n" + + "\x14device_state_version\x18\x02 \x01(\rR\x12deviceStateVersion\x12 \n" + + "\vcanShutdown\x18\x03 \x01(\bR\vcanShutdown\x12\x18\n" + + "\ahasWifi\x18\x04 \x01(\bR\ahasWifi\x12\"\n" + + "\fhasBluetooth\x18\x05 \x01(\bR\fhasBluetooth\x12 \n" + + "\vhasEthernet\x18\x06 \x01(\bR\vhasEthernet\x128\n" + + "\x04role\x18\a \x01(\x0e2$.meshtastic.Config.DeviceConfig.RoleR\x04role\x12%\n" + + "\x0eposition_flags\x18\b \x01(\rR\rpositionFlags\x124\n" + + "\bhw_model\x18\t \x01(\x0e2\x19.meshtastic.HardwareModelR\ahwModel\x12,\n" + + "\x11hasRemoteHardware\x18\n" + + " \x01(\bR\x11hasRemoteHardware\x12\x16\n" + + "\x06hasPKC\x18\v \x01(\bR\x06hasPKC\x12)\n" + + "\x10excluded_modules\x18\f \x01(\rR\x0fexcludedModules\"\v\n" + + "\tHeartbeat\"c\n" + + "\x15NodeRemoteHardwarePin\x12\x19\n" + + "\bnode_num\x18\x01 \x01(\rR\anodeNum\x12/\n" + + "\x03pin\x18\x02 \x01(\v2\x1d.meshtastic.RemoteHardwarePinR\x03pin\"\x96\x01\n" + + "\x0eChunkedPayload\x12\x1d\n" + + "\n" + + "payload_id\x18\x01 \x01(\rR\tpayloadId\x12\x1f\n" + + "\vchunk_count\x18\x02 \x01(\rR\n" + + "chunkCount\x12\x1f\n" + + "\vchunk_index\x18\x03 \x01(\rR\n" + + "chunkIndex\x12#\n" + + "\rpayload_chunk\x18\x04 \x01(\fR\fpayloadChunk\"'\n" + + "\rresend_chunks\x12\x16\n" + + "\x06chunks\x18\x01 \x03(\rR\x06chunks\"\xe4\x01\n" + + "\x16ChunkedPayloadResponse\x12\x1d\n" + + "\n" + + "payload_id\x18\x01 \x01(\rR\tpayloadId\x12+\n" + + "\x10request_transfer\x18\x02 \x01(\bH\x00R\x0frequestTransfer\x12)\n" + + "\x0faccept_transfer\x18\x03 \x01(\bH\x00R\x0eacceptTransfer\x12@\n" + + "\rresend_chunks\x18\x04 \x01(\v2\x19.meshtastic.resend_chunksH\x00R\fresendChunksB\x11\n" + + "\x0fpayload_variant*\xb6\x0f\n" + + "\rHardwareModel\x12\t\n" + + "\x05UNSET\x10\x00\x12\f\n" + + "\bTLORA_V2\x10\x01\x12\f\n" + + "\bTLORA_V1\x10\x02\x12\x12\n" + + "\x0eTLORA_V2_1_1P6\x10\x03\x12\t\n" + + "\x05TBEAM\x10\x04\x12\x0f\n" + + "\vHELTEC_V2_0\x10\x05\x12\x0e\n" + + "\n" + + "TBEAM_V0P7\x10\x06\x12\n" + + "\n" + + "\x06T_ECHO\x10\a\x12\x10\n" + + "\fTLORA_V1_1P3\x10\b\x12\v\n" + + "\aRAK4631\x10\t\x12\x0f\n" + + "\vHELTEC_V2_1\x10\n" + + "\x12\r\n" + + "\tHELTEC_V1\x10\v\x12\x18\n" + + "\x14LILYGO_TBEAM_S3_CORE\x10\f\x12\f\n" + + "\bRAK11200\x10\r\x12\v\n" + + "\aNANO_G1\x10\x0e\x12\x12\n" + + "\x0eTLORA_V2_1_1P8\x10\x0f\x12\x0f\n" + + "\vTLORA_T3_S3\x10\x10\x12\x14\n" + + "\x10NANO_G1_EXPLORER\x10\x11\x12\x11\n" + + "\rNANO_G2_ULTRA\x10\x12\x12\r\n" + + "\tLORA_TYPE\x10\x13\x12\v\n" + + "\aWIPHONE\x10\x14\x12\x0e\n" + + "\n" + + "WIO_WM1110\x10\x15\x12\v\n" + + "\aRAK2560\x10\x16\x12\x13\n" + + "\x0fHELTEC_HRU_3601\x10\x17\x12\x1a\n" + + "\x16HELTEC_WIRELESS_BRIDGE\x10\x18\x12\x0e\n" + + "\n" + + "STATION_G1\x10\x19\x12\f\n" + + "\bRAK11310\x10\x1a\x12\x14\n" + + "\x10SENSELORA_RP2040\x10\x1b\x12\x10\n" + + "\fSENSELORA_S3\x10\x1c\x12\r\n" + + "\tCANARYONE\x10\x1d\x12\x0f\n" + + "\vRP2040_LORA\x10\x1e\x12\x0e\n" + + "\n" + + "STATION_G2\x10\x1f\x12\x11\n" + + "\rLORA_RELAY_V1\x10 \x12\x0e\n" + + "\n" + + "NRF52840DK\x10!\x12\a\n" + + "\x03PPR\x10\"\x12\x0f\n" + + "\vGENIEBLOCKS\x10#\x12\x11\n" + + "\rNRF52_UNKNOWN\x10$\x12\r\n" + + "\tPORTDUINO\x10%\x12\x0f\n" + + "\vANDROID_SIM\x10&\x12\n" + + "\n" + + "\x06DIY_V1\x10'\x12\x15\n" + + "\x11NRF52840_PCA10059\x10(\x12\n" + + "\n" + + "\x06DR_DEV\x10)\x12\v\n" + + "\aM5STACK\x10*\x12\r\n" + + "\tHELTEC_V3\x10+\x12\x11\n" + + "\rHELTEC_WSL_V3\x10,\x12\x13\n" + + "\x0fBETAFPV_2400_TX\x10-\x12\x17\n" + + "\x13BETAFPV_900_NANO_TX\x10.\x12\f\n" + + "\bRPI_PICO\x10/\x12\x1b\n" + + "\x17HELTEC_WIRELESS_TRACKER\x100\x12\x19\n" + + "\x15HELTEC_WIRELESS_PAPER\x101\x12\n" + + "\n" + + "\x06T_DECK\x102\x12\x0e\n" + + "\n" + + "T_WATCH_S3\x103\x12\x11\n" + + "\rPICOMPUTER_S3\x104\x12\x0f\n" + + "\vHELTEC_HT62\x105\x12\x12\n" + + "\x0eEBYTE_ESP32_S3\x106\x12\x11\n" + + "\rESP32_S3_PICO\x107\x12\r\n" + + "\tCHATTER_2\x108\x12\x1e\n" + + "\x1aHELTEC_WIRELESS_PAPER_V1_0\x109\x12 \n" + + "\x1cHELTEC_WIRELESS_TRACKER_V1_0\x10:\x12\v\n" + + "\aUNPHONE\x10;\x12\f\n" + + "\bTD_LORAC\x10<\x12\x13\n" + + "\x0fCDEBYTE_EORA_S3\x10=\x12\x0f\n" + + "\vTWC_MESH_V4\x10>\x12\x16\n" + + "\x12NRF52_PROMICRO_DIY\x10?\x12\x1f\n" + + "\x1bRADIOMASTER_900_BANDIT_NANO\x10@\x12\x1c\n" + + "\x18HELTEC_CAPSULE_SENSOR_V3\x10A\x12\x1d\n" + + "\x19HELTEC_VISION_MASTER_T190\x10B\x12\x1d\n" + + "\x19HELTEC_VISION_MASTER_E213\x10C\x12\x1d\n" + + "\x19HELTEC_VISION_MASTER_E290\x10D\x12\x19\n" + + "\x15HELTEC_MESH_NODE_T114\x10E\x12\x16\n" + + "\x12SENSECAP_INDICATOR\x10F\x12\x13\n" + + "\x0fTRACKER_T1000_E\x10G\x12\v\n" + + "\aRAK3172\x10H\x12\n" + + "\n" + + "\x06WIO_E5\x10I\x12\x1a\n" + + "\x16RADIOMASTER_900_BANDIT\x10J\x12\x13\n" + + "\x0fME25LS01_4Y10TD\x10K\x12\x18\n" + + "\x14RP2040_FEATHER_RFM95\x10L\x12\x15\n" + + "\x11M5STACK_COREBASIC\x10M\x12\x11\n" + + "\rM5STACK_CORE2\x10N\x12\r\n" + + "\tRPI_PICO2\x10O\x12\x12\n" + + "\x0eM5STACK_CORES3\x10P\x12\x11\n" + + "\rSEEED_XIAO_S3\x10Q\x12\v\n" + + "\aMS24SF1\x10R\x12\f\n" + + "\bTLORA_C6\x10S\x12\x0f\n" + + "\vWISMESH_TAP\x10T\x12\r\n" + + "\tROUTASTIC\x10U\x12\f\n" + + "\bMESH_TAB\x10V\x12\f\n" + + "\bMESHLINK\x10W\x12\x12\n" + + "\x0eXIAO_NRF52_KIT\x10X\x12\x10\n" + + "\fTHINKNODE_M1\x10Y\x12\x10\n" + + "\fTHINKNODE_M2\x10Z\x12\x0f\n" + + "\vT_ETH_ELITE\x10[\x12\x15\n" + + "\x11HELTEC_SENSOR_HUB\x10\\\x12\x1a\n" + + "\x16RESERVED_FRIED_CHICKEN\x10]\x12\x16\n" + + "\x12HELTEC_MESH_POCKET\x10^\x12\x14\n" + + "\x10SEEED_SOLAR_NODE\x10_\x12\x18\n" + + "\x14NOMADSTAR_METEOR_PRO\x10`\x12\r\n" + + "\tCROWPANEL\x10a\x12\v\n" + + "\aLINK_32\x10b\x12\x18\n" + + "\x14SEEED_WIO_TRACKER_L1\x10c\x12\x1d\n" + + "\x19SEEED_WIO_TRACKER_L1_EINK\x10d\x12\x14\n" + + "\x10QWANTZ_TINY_ARMS\x10e\x12\x0f\n" + + "\n" + + "PRIVATE_HW\x10\xff\x01*,\n" + + "\tConstants\x12\b\n" + + "\x04ZERO\x10\x00\x12\x15\n" + + "\x10DATA_PAYLOAD_LEN\x10\xe9\x01*\xb4\x02\n" + + "\x11CriticalErrorCode\x12\b\n" + + "\x04NONE\x10\x00\x12\x0f\n" + + "\vTX_WATCHDOG\x10\x01\x12\x14\n" + + "\x10SLEEP_ENTER_WAIT\x10\x02\x12\f\n" + + "\bNO_RADIO\x10\x03\x12\x0f\n" + + "\vUNSPECIFIED\x10\x04\x12\x15\n" + + "\x11UBLOX_UNIT_FAILED\x10\x05\x12\r\n" + + "\tNO_AXP192\x10\x06\x12\x19\n" + + "\x15INVALID_RADIO_SETTING\x10\a\x12\x13\n" + + "\x0fTRANSMIT_FAILED\x10\b\x12\f\n" + + "\bBROWNOUT\x10\t\x12\x12\n" + + "\x0eSX1262_FAILURE\x10\n" + + "\x12\x11\n" + + "\rRADIO_SPI_BUG\x10\v\x12 \n" + + "\x1cFLASH_CORRUPTION_RECOVERABLE\x10\f\x12\"\n" + + "\x1eFLASH_CORRUPTION_UNRECOVERABLE\x10\r*\x80\x03\n" + + "\x0fExcludedModules\x12\x11\n" + + "\rEXCLUDED_NONE\x10\x00\x12\x0f\n" + + "\vMQTT_CONFIG\x10\x01\x12\x11\n" + + "\rSERIAL_CONFIG\x10\x02\x12\x13\n" + + "\x0fEXTNOTIF_CONFIG\x10\x04\x12\x17\n" + + "\x13STOREFORWARD_CONFIG\x10\b\x12\x14\n" + + "\x10RANGETEST_CONFIG\x10\x10\x12\x14\n" + + "\x10TELEMETRY_CONFIG\x10 \x12\x14\n" + + "\x10CANNEDMSG_CONFIG\x10@\x12\x11\n" + + "\fAUDIO_CONFIG\x10\x80\x01\x12\x1a\n" + + "\x15REMOTEHARDWARE_CONFIG\x10\x80\x02\x12\x18\n" + + "\x13NEIGHBORINFO_CONFIG\x10\x80\x04\x12\x1b\n" + + "\x16AMBIENTLIGHTING_CONFIG\x10\x80\b\x12\x1b\n" + + "\x16DETECTIONSENSOR_CONFIG\x10\x80\x10\x12\x16\n" + + "\x11PAXCOUNTER_CONFIG\x10\x80 \x12\x15\n" + + "\x10BLUETOOTH_CONFIG\x10\x80@\x12\x14\n" + + "\x0eNETWORK_CONFIG\x10\x80\x80\x01B_\n" + + "\x13com.geeksville.meshB\n" + + "MeshProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + var ( file_meshtastic_mesh_proto_rawDescOnce sync.Once - file_meshtastic_mesh_proto_rawDescData = file_meshtastic_mesh_proto_rawDesc + file_meshtastic_mesh_proto_rawDescData []byte ) func file_meshtastic_mesh_proto_rawDescGZIP() []byte { file_meshtastic_mesh_proto_rawDescOnce.Do(func() { - file_meshtastic_mesh_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_mesh_proto_rawDescData) + file_meshtastic_mesh_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_mesh_proto_rawDesc), len(file_meshtastic_mesh_proto_rawDesc))) }) return file_meshtastic_mesh_proto_rawDescData } -var file_meshtastic_mesh_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_meshtastic_mesh_proto_msgTypes = make([]protoimpl.MessageInfo, 18) -var file_meshtastic_mesh_proto_goTypes = []interface{}{ - (HardwareModel)(0), // 0: meshtastic.HardwareModel - (Constants)(0), // 1: meshtastic.Constants - (CriticalErrorCode)(0), // 2: meshtastic.CriticalErrorCode - (Position_LocSource)(0), // 3: meshtastic.Position.LocSource - (Position_AltSource)(0), // 4: meshtastic.Position.AltSource - (Routing_Error)(0), // 5: meshtastic.Routing.Error - (MeshPacket_Priority)(0), // 6: meshtastic.MeshPacket.Priority - (MeshPacket_Delayed)(0), // 7: meshtastic.MeshPacket.Delayed - (LogRecord_Level)(0), // 8: meshtastic.LogRecord.Level - (*Position)(nil), // 9: meshtastic.Position - (*User)(nil), // 10: meshtastic.User - (*RouteDiscovery)(nil), // 11: meshtastic.RouteDiscovery - (*Routing)(nil), // 12: meshtastic.Routing - (*Data)(nil), // 13: meshtastic.Data - (*Waypoint)(nil), // 14: meshtastic.Waypoint - (*MqttClientProxyMessage)(nil), // 15: meshtastic.MqttClientProxyMessage - (*MeshPacket)(nil), // 16: meshtastic.MeshPacket - (*NodeInfo)(nil), // 17: meshtastic.NodeInfo - (*MyNodeInfo)(nil), // 18: meshtastic.MyNodeInfo - (*LogRecord)(nil), // 19: meshtastic.LogRecord - (*QueueStatus)(nil), // 20: meshtastic.QueueStatus - (*FromRadio)(nil), // 21: meshtastic.FromRadio - (*ToRadio)(nil), // 22: meshtastic.ToRadio - (*Compressed)(nil), // 23: meshtastic.Compressed - (*NeighborInfo)(nil), // 24: meshtastic.NeighborInfo - (*Neighbor)(nil), // 25: meshtastic.Neighbor - (*DeviceMetadata)(nil), // 26: meshtastic.DeviceMetadata - (Config_DeviceConfig_Role)(0), // 27: meshtastic.Config.DeviceConfig.Role - (PortNum)(0), // 28: meshtastic.PortNum - (*DeviceMetrics)(nil), // 29: meshtastic.DeviceMetrics - (*Config)(nil), // 30: meshtastic.Config - (*ModuleConfig)(nil), // 31: meshtastic.ModuleConfig - (*Channel)(nil), // 32: meshtastic.Channel - (*XModem)(nil), // 33: meshtastic.XModem +var file_meshtastic_mesh_proto_enumTypes = make([]protoimpl.EnumInfo, 10) +var file_meshtastic_mesh_proto_msgTypes = make([]protoimpl.MessageInfo, 29) +var file_meshtastic_mesh_proto_goTypes = []any{ + (HardwareModel)(0), // 0: meshtastic.HardwareModel + (Constants)(0), // 1: meshtastic.Constants + (CriticalErrorCode)(0), // 2: meshtastic.CriticalErrorCode + (ExcludedModules)(0), // 3: meshtastic.ExcludedModules + (Position_LocSource)(0), // 4: meshtastic.Position.LocSource + (Position_AltSource)(0), // 5: meshtastic.Position.AltSource + (Routing_Error)(0), // 6: meshtastic.Routing.Error + (MeshPacket_Priority)(0), // 7: meshtastic.MeshPacket.Priority + (MeshPacket_Delayed)(0), // 8: meshtastic.MeshPacket.Delayed + (LogRecord_Level)(0), // 9: meshtastic.LogRecord.Level + (*Position)(nil), // 10: meshtastic.Position + (*User)(nil), // 11: meshtastic.User + (*RouteDiscovery)(nil), // 12: meshtastic.RouteDiscovery + (*Routing)(nil), // 13: meshtastic.Routing + (*Data)(nil), // 14: meshtastic.Data + (*KeyVerification)(nil), // 15: meshtastic.KeyVerification + (*Waypoint)(nil), // 16: meshtastic.Waypoint + (*MqttClientProxyMessage)(nil), // 17: meshtastic.MqttClientProxyMessage + (*MeshPacket)(nil), // 18: meshtastic.MeshPacket + (*NodeInfo)(nil), // 19: meshtastic.NodeInfo + (*MyNodeInfo)(nil), // 20: meshtastic.MyNodeInfo + (*LogRecord)(nil), // 21: meshtastic.LogRecord + (*QueueStatus)(nil), // 22: meshtastic.QueueStatus + (*FromRadio)(nil), // 23: meshtastic.FromRadio + (*ClientNotification)(nil), // 24: meshtastic.ClientNotification + (*KeyVerificationNumberInform)(nil), // 25: meshtastic.KeyVerificationNumberInform + (*KeyVerificationNumberRequest)(nil), // 26: meshtastic.KeyVerificationNumberRequest + (*KeyVerificationFinal)(nil), // 27: meshtastic.KeyVerificationFinal + (*FileInfo)(nil), // 28: meshtastic.FileInfo + (*ToRadio)(nil), // 29: meshtastic.ToRadio + (*Compressed)(nil), // 30: meshtastic.Compressed + (*NeighborInfo)(nil), // 31: meshtastic.NeighborInfo + (*Neighbor)(nil), // 32: meshtastic.Neighbor + (*DeviceMetadata)(nil), // 33: meshtastic.DeviceMetadata + (*Heartbeat)(nil), // 34: meshtastic.Heartbeat + (*NodeRemoteHardwarePin)(nil), // 35: meshtastic.NodeRemoteHardwarePin + (*ChunkedPayload)(nil), // 36: meshtastic.ChunkedPayload + (*ResendChunks)(nil), // 37: meshtastic.resend_chunks + (*ChunkedPayloadResponse)(nil), // 38: meshtastic.ChunkedPayloadResponse + (Config_DeviceConfig_Role)(0), // 39: meshtastic.Config.DeviceConfig.Role + (PortNum)(0), // 40: meshtastic.PortNum + (*DeviceMetrics)(nil), // 41: meshtastic.DeviceMetrics + (*Config)(nil), // 42: meshtastic.Config + (*ModuleConfig)(nil), // 43: meshtastic.ModuleConfig + (*Channel)(nil), // 44: meshtastic.Channel + (*XModem)(nil), // 45: meshtastic.XModem + (*DeviceUIConfig)(nil), // 46: meshtastic.DeviceUIConfig + (*RemoteHardwarePin)(nil), // 47: meshtastic.RemoteHardwarePin } var file_meshtastic_mesh_proto_depIdxs = []int32{ - 3, // 0: meshtastic.Position.location_source:type_name -> meshtastic.Position.LocSource - 4, // 1: meshtastic.Position.altitude_source:type_name -> meshtastic.Position.AltSource + 4, // 0: meshtastic.Position.location_source:type_name -> meshtastic.Position.LocSource + 5, // 1: meshtastic.Position.altitude_source:type_name -> meshtastic.Position.AltSource 0, // 2: meshtastic.User.hw_model:type_name -> meshtastic.HardwareModel - 27, // 3: meshtastic.User.role:type_name -> meshtastic.Config.DeviceConfig.Role - 11, // 4: meshtastic.Routing.route_request:type_name -> meshtastic.RouteDiscovery - 11, // 5: meshtastic.Routing.route_reply:type_name -> meshtastic.RouteDiscovery - 5, // 6: meshtastic.Routing.error_reason:type_name -> meshtastic.Routing.Error - 28, // 7: meshtastic.Data.portnum:type_name -> meshtastic.PortNum - 13, // 8: meshtastic.MeshPacket.decoded:type_name -> meshtastic.Data - 6, // 9: meshtastic.MeshPacket.priority:type_name -> meshtastic.MeshPacket.Priority - 7, // 10: meshtastic.MeshPacket.delayed:type_name -> meshtastic.MeshPacket.Delayed - 10, // 11: meshtastic.NodeInfo.user:type_name -> meshtastic.User - 9, // 12: meshtastic.NodeInfo.position:type_name -> meshtastic.Position - 29, // 13: meshtastic.NodeInfo.device_metrics:type_name -> meshtastic.DeviceMetrics - 8, // 14: meshtastic.LogRecord.level:type_name -> meshtastic.LogRecord.Level - 16, // 15: meshtastic.FromRadio.packet:type_name -> meshtastic.MeshPacket - 18, // 16: meshtastic.FromRadio.my_info:type_name -> meshtastic.MyNodeInfo - 17, // 17: meshtastic.FromRadio.node_info:type_name -> meshtastic.NodeInfo - 30, // 18: meshtastic.FromRadio.config:type_name -> meshtastic.Config - 19, // 19: meshtastic.FromRadio.log_record:type_name -> meshtastic.LogRecord - 31, // 20: meshtastic.FromRadio.moduleConfig:type_name -> meshtastic.ModuleConfig - 32, // 21: meshtastic.FromRadio.channel:type_name -> meshtastic.Channel - 20, // 22: meshtastic.FromRadio.queueStatus:type_name -> meshtastic.QueueStatus - 33, // 23: meshtastic.FromRadio.xmodemPacket:type_name -> meshtastic.XModem - 26, // 24: meshtastic.FromRadio.metadata:type_name -> meshtastic.DeviceMetadata - 15, // 25: meshtastic.FromRadio.mqttClientProxyMessage:type_name -> meshtastic.MqttClientProxyMessage - 16, // 26: meshtastic.ToRadio.packet:type_name -> meshtastic.MeshPacket - 33, // 27: meshtastic.ToRadio.xmodemPacket:type_name -> meshtastic.XModem - 15, // 28: meshtastic.ToRadio.mqttClientProxyMessage:type_name -> meshtastic.MqttClientProxyMessage - 28, // 29: meshtastic.Compressed.portnum:type_name -> meshtastic.PortNum - 25, // 30: meshtastic.NeighborInfo.neighbors:type_name -> meshtastic.Neighbor - 27, // 31: meshtastic.DeviceMetadata.role:type_name -> meshtastic.Config.DeviceConfig.Role - 0, // 32: meshtastic.DeviceMetadata.hw_model:type_name -> meshtastic.HardwareModel - 33, // [33:33] is the sub-list for method output_type - 33, // [33:33] is the sub-list for method input_type - 33, // [33:33] is the sub-list for extension type_name - 33, // [33:33] is the sub-list for extension extendee - 0, // [0:33] is the sub-list for field type_name + 39, // 3: meshtastic.User.role:type_name -> meshtastic.Config.DeviceConfig.Role + 12, // 4: meshtastic.Routing.route_request:type_name -> meshtastic.RouteDiscovery + 12, // 5: meshtastic.Routing.route_reply:type_name -> meshtastic.RouteDiscovery + 6, // 6: meshtastic.Routing.error_reason:type_name -> meshtastic.Routing.Error + 40, // 7: meshtastic.Data.portnum:type_name -> meshtastic.PortNum + 14, // 8: meshtastic.MeshPacket.decoded:type_name -> meshtastic.Data + 7, // 9: meshtastic.MeshPacket.priority:type_name -> meshtastic.MeshPacket.Priority + 8, // 10: meshtastic.MeshPacket.delayed:type_name -> meshtastic.MeshPacket.Delayed + 11, // 11: meshtastic.NodeInfo.user:type_name -> meshtastic.User + 10, // 12: meshtastic.NodeInfo.position:type_name -> meshtastic.Position + 41, // 13: meshtastic.NodeInfo.device_metrics:type_name -> meshtastic.DeviceMetrics + 9, // 14: meshtastic.LogRecord.level:type_name -> meshtastic.LogRecord.Level + 18, // 15: meshtastic.FromRadio.packet:type_name -> meshtastic.MeshPacket + 20, // 16: meshtastic.FromRadio.my_info:type_name -> meshtastic.MyNodeInfo + 19, // 17: meshtastic.FromRadio.node_info:type_name -> meshtastic.NodeInfo + 42, // 18: meshtastic.FromRadio.config:type_name -> meshtastic.Config + 21, // 19: meshtastic.FromRadio.log_record:type_name -> meshtastic.LogRecord + 43, // 20: meshtastic.FromRadio.moduleConfig:type_name -> meshtastic.ModuleConfig + 44, // 21: meshtastic.FromRadio.channel:type_name -> meshtastic.Channel + 22, // 22: meshtastic.FromRadio.queueStatus:type_name -> meshtastic.QueueStatus + 45, // 23: meshtastic.FromRadio.xmodemPacket:type_name -> meshtastic.XModem + 33, // 24: meshtastic.FromRadio.metadata:type_name -> meshtastic.DeviceMetadata + 17, // 25: meshtastic.FromRadio.mqttClientProxyMessage:type_name -> meshtastic.MqttClientProxyMessage + 28, // 26: meshtastic.FromRadio.fileInfo:type_name -> meshtastic.FileInfo + 24, // 27: meshtastic.FromRadio.clientNotification:type_name -> meshtastic.ClientNotification + 46, // 28: meshtastic.FromRadio.deviceuiConfig:type_name -> meshtastic.DeviceUIConfig + 9, // 29: meshtastic.ClientNotification.level:type_name -> meshtastic.LogRecord.Level + 25, // 30: meshtastic.ClientNotification.key_verification_number_inform:type_name -> meshtastic.KeyVerificationNumberInform + 26, // 31: meshtastic.ClientNotification.key_verification_number_request:type_name -> meshtastic.KeyVerificationNumberRequest + 27, // 32: meshtastic.ClientNotification.key_verification_final:type_name -> meshtastic.KeyVerificationFinal + 18, // 33: meshtastic.ToRadio.packet:type_name -> meshtastic.MeshPacket + 45, // 34: meshtastic.ToRadio.xmodemPacket:type_name -> meshtastic.XModem + 17, // 35: meshtastic.ToRadio.mqttClientProxyMessage:type_name -> meshtastic.MqttClientProxyMessage + 34, // 36: meshtastic.ToRadio.heartbeat:type_name -> meshtastic.Heartbeat + 40, // 37: meshtastic.Compressed.portnum:type_name -> meshtastic.PortNum + 32, // 38: meshtastic.NeighborInfo.neighbors:type_name -> meshtastic.Neighbor + 39, // 39: meshtastic.DeviceMetadata.role:type_name -> meshtastic.Config.DeviceConfig.Role + 0, // 40: meshtastic.DeviceMetadata.hw_model:type_name -> meshtastic.HardwareModel + 47, // 41: meshtastic.NodeRemoteHardwarePin.pin:type_name -> meshtastic.RemoteHardwarePin + 37, // 42: meshtastic.ChunkedPayloadResponse.resend_chunks:type_name -> meshtastic.resend_chunks + 43, // [43:43] is the sub-list for method output_type + 43, // [43:43] is the sub-list for method input_type + 43, // [43:43] is the sub-list for extension type_name + 43, // [43:43] is the sub-list for extension extendee + 0, // [0:43] is the sub-list for field type_name } func init() { file_meshtastic_mesh_proto_init() } @@ -3652,238 +5092,26 @@ func file_meshtastic_mesh_proto_init() { file_meshtastic_portnums_proto_init() file_meshtastic_telemetry_proto_init() file_meshtastic_xmodem_proto_init() - if !protoimpl.UnsafeEnabled { - file_meshtastic_mesh_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Position); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RouteDiscovery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Routing); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Data); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Waypoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MqttClientProxyMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MeshPacket); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MyNodeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueueStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FromRadio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ToRadio); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Compressed); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NeighborInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Neighbor); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_mesh_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_mesh_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_meshtastic_device_ui_proto_init() + file_meshtastic_mesh_proto_msgTypes[0].OneofWrappers = []any{} + file_meshtastic_mesh_proto_msgTypes[1].OneofWrappers = []any{} + file_meshtastic_mesh_proto_msgTypes[3].OneofWrappers = []any{ (*Routing_RouteRequest)(nil), (*Routing_RouteReply)(nil), (*Routing_ErrorReason)(nil), } - file_meshtastic_mesh_proto_msgTypes[6].OneofWrappers = []interface{}{ + file_meshtastic_mesh_proto_msgTypes[4].OneofWrappers = []any{} + file_meshtastic_mesh_proto_msgTypes[6].OneofWrappers = []any{} + file_meshtastic_mesh_proto_msgTypes[7].OneofWrappers = []any{ (*MqttClientProxyMessage_Data)(nil), (*MqttClientProxyMessage_Text)(nil), } - file_meshtastic_mesh_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_meshtastic_mesh_proto_msgTypes[8].OneofWrappers = []any{ (*MeshPacket_Decoded)(nil), (*MeshPacket_Encrypted)(nil), } - file_meshtastic_mesh_proto_msgTypes[12].OneofWrappers = []interface{}{ + file_meshtastic_mesh_proto_msgTypes[9].OneofWrappers = []any{} + file_meshtastic_mesh_proto_msgTypes[13].OneofWrappers = []any{ (*FromRadio_Packet)(nil), (*FromRadio_MyInfo)(nil), (*FromRadio_NodeInfo)(nil), @@ -3897,21 +5125,35 @@ func file_meshtastic_mesh_proto_init() { (*FromRadio_XmodemPacket)(nil), (*FromRadio_Metadata)(nil), (*FromRadio_MqttClientProxyMessage)(nil), + (*FromRadio_FileInfo)(nil), + (*FromRadio_ClientNotification)(nil), + (*FromRadio_DeviceuiConfig)(nil), + } + file_meshtastic_mesh_proto_msgTypes[14].OneofWrappers = []any{ + (*ClientNotification_KeyVerificationNumberInform)(nil), + (*ClientNotification_KeyVerificationNumberRequest)(nil), + (*ClientNotification_KeyVerificationFinal)(nil), } - file_meshtastic_mesh_proto_msgTypes[13].OneofWrappers = []interface{}{ + file_meshtastic_mesh_proto_msgTypes[19].OneofWrappers = []any{ (*ToRadio_Packet)(nil), (*ToRadio_WantConfigId)(nil), (*ToRadio_Disconnect)(nil), (*ToRadio_XmodemPacket)(nil), (*ToRadio_MqttClientProxyMessage)(nil), + (*ToRadio_Heartbeat)(nil), + } + file_meshtastic_mesh_proto_msgTypes[28].OneofWrappers = []any{ + (*ChunkedPayloadResponse_RequestTransfer)(nil), + (*ChunkedPayloadResponse_AcceptTransfer)(nil), + (*ChunkedPayloadResponse_ResendChunks)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_mesh_proto_rawDesc, - NumEnums: 9, - NumMessages: 18, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_mesh_proto_rawDesc), len(file_meshtastic_mesh_proto_rawDesc)), + NumEnums: 10, + NumMessages: 29, NumExtensions: 0, NumServices: 0, }, @@ -3921,7 +5163,6 @@ func file_meshtastic_mesh_proto_init() { MessageInfos: file_meshtastic_mesh_proto_msgTypes, }.Build() File_meshtastic_mesh_proto = out.File - file_meshtastic_mesh_proto_rawDesc = nil file_meshtastic_mesh_proto_goTypes = nil file_meshtastic_mesh_proto_depIdxs = nil } diff --git a/meshtastic/mesh_vtproto.pb.go b/meshtastic/mesh_vtproto.pb.go index 50c1e43..0cf2e72 100644 --- a/meshtastic/mesh_vtproto.pb.go +++ b/meshtastic/mesh_vtproto.pb.go @@ -99,15 +99,15 @@ func (m *Position) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x88 } - if m.GroundTrack != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GroundTrack)) + if m.GroundTrack != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.GroundTrack)) i-- dAtA[i] = 0x1 i-- dAtA[i] = 0x80 } - if m.GroundSpeed != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GroundSpeed)) + if m.GroundSpeed != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.GroundSpeed)) i-- dAtA[i] = 0x78 } @@ -131,13 +131,13 @@ func (m *Position) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x58 } - if m.AltitudeGeoidalSeparation != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64((uint32(m.AltitudeGeoidalSeparation)<<1)^uint32((m.AltitudeGeoidalSeparation>>31)))) + if m.AltitudeGeoidalSeparation != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64((uint32(*m.AltitudeGeoidalSeparation)<<1)^uint32((*m.AltitudeGeoidalSeparation>>31)))) i-- dAtA[i] = 0x50 } - if m.AltitudeHae != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64((uint32(m.AltitudeHae)<<1)^uint32((m.AltitudeHae>>31)))) + if m.AltitudeHae != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64((uint32(*m.AltitudeHae)<<1)^uint32((*m.AltitudeHae>>31)))) i-- dAtA[i] = 0x48 } @@ -168,20 +168,20 @@ func (m *Position) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x25 } - if m.Altitude != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + if m.Altitude != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Altitude)) i-- dAtA[i] = 0x18 } - if m.LongitudeI != 0 { + if m.LongitudeI != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.LongitudeI)) i-- dAtA[i] = 0x15 } - if m.LatitudeI != 0 { + if m.LatitudeI != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.LatitudeI)) i-- dAtA[i] = 0xd } @@ -218,6 +218,23 @@ func (m *User) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsUnmessagable != nil { + i-- + if *m.IsUnmessagable { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if len(m.PublicKey) > 0 { + i -= len(m.PublicKey) + copy(dAtA[i:], m.PublicKey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PublicKey))) + i-- + dAtA[i] = 0x42 + } if m.Role != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) i-- @@ -299,6 +316,57 @@ func (m *RouteDiscovery) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.SnrBack) > 0 { + var pksize2 int + for _, num := range m.SnrBack { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range m.SnrBack { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x22 + } + if len(m.RouteBack) > 0 { + for iNdEx := len(m.RouteBack) - 1; iNdEx >= 0; iNdEx-- { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.RouteBack[iNdEx])) + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RouteBack)*4)) + i-- + dAtA[i] = 0x1a + } + if len(m.SnrTowards) > 0 { + var pksize4 int + for _, num := range m.SnrTowards { + pksize4 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize4 + j3 := i + for _, num1 := range m.SnrTowards { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j3] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j3++ + } + dAtA[j3] = uint8(num) + j3++ + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize4)) + i-- + dAtA[i] = 0x12 + } if len(m.Route) > 0 { for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- { i -= 4 @@ -433,6 +501,11 @@ func (m *Data) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Bitfield != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Bitfield)) + i-- + dAtA[i] = 0x48 + } if m.Emoji != 0 { i -= 4 binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Emoji)) @@ -488,6 +561,58 @@ func (m *Data) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *KeyVerification) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *KeyVerification) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *KeyVerification) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Hash2) > 0 { + i -= len(m.Hash2) + copy(dAtA[i:], m.Hash2) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Hash2))) + i-- + dAtA[i] = 0x1a + } + if len(m.Hash1) > 0 { + i -= len(m.Hash1) + copy(dAtA[i:], m.Hash1) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Hash1))) + i-- + dAtA[i] = 0x12 + } + if m.Nonce != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Nonce)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *Waypoint) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -548,15 +673,15 @@ func (m *Waypoint) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x20 } - if m.LongitudeI != 0 { + if m.LongitudeI != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.LongitudeI)) i-- dAtA[i] = 0x1d } - if m.LatitudeI != 0 { + if m.LatitudeI != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(*m.LatitudeI)) i-- dAtA[i] = 0x15 } @@ -694,6 +819,53 @@ func (m *MeshPacket) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } i -= size } + if m.TxAfter != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TxAfter)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.RelayNode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RelayNode)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if m.NextHop != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NextHop)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + if m.PkiEncrypted { + i-- + if m.PkiEncrypted { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if len(m.PublicKey) > 0 { + i -= len(m.PublicKey) + copy(dAtA[i:], m.PublicKey) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PublicKey))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + if m.HopStart != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HopStart)) + i-- + dAtA[i] = 0x78 + } if m.ViaMqtt { i-- if m.ViaMqtt { @@ -835,6 +1007,51 @@ func (m *NodeInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsKeyManuallyVerified { + i-- + if m.IsKeyManuallyVerified { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if m.IsIgnored { + i-- + if m.IsIgnored { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.IsFavorite { + i-- + if m.IsFavorite { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.HopsAway != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.HopsAway)) + i-- + dAtA[i] = 0x48 + } + if m.ViaMqtt { + i-- + if m.ViaMqtt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } if m.Channel != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Channel)) i-- @@ -920,6 +1137,20 @@ func (m *MyNodeInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.PioEnv) > 0 { + i -= len(m.PioEnv) + copy(dAtA[i:], m.PioEnv) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PioEnv))) + i-- + dAtA[i] = 0x6a + } + if len(m.DeviceId) > 0 { + i -= len(m.DeviceId) + copy(dAtA[i:], m.DeviceId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DeviceId))) + i-- + dAtA[i] = 0x62 + } if m.MinAppVersion != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinAppVersion)) i-- @@ -1334,7 +1565,68 @@ func (m *FromRadio_MqttClientProxyMessage) MarshalToSizedBufferVT(dAtA []byte) ( } return len(dAtA) - i, nil } -func (m *ToRadio) MarshalVT() (dAtA []byte, err error) { +func (m *FromRadio_FileInfo) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_FileInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.FileInfo != nil { + size, err := m.FileInfo.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x7a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_ClientNotification) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_ClientNotification) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ClientNotification != nil { + size, err := m.ClientNotification.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 + } + return len(dAtA) - i, nil +} +func (m *FromRadio_DeviceuiConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_DeviceuiConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DeviceuiConfig != nil { + size, err := m.DeviceuiConfig.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a + } + return len(dAtA) - i, nil +} +func (m *ClientNotification) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1347,12 +1639,12 @@ func (m *ToRadio) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ToRadio) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientNotification) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ToRadio) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientNotification) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1373,96 +1665,140 @@ func (m *ToRadio) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } i -= size } + if len(m.Message) > 0 { + i -= len(m.Message) + copy(dAtA[i:], m.Message) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Message))) + i-- + dAtA[i] = 0x22 + } + if m.Level != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Level)) + i-- + dAtA[i] = 0x18 + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x15 + } + if m.ReplyId != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.ReplyId)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } -func (m *ToRadio_Packet) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientNotification_KeyVerificationNumberInform) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ToRadio_Packet) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientNotification_KeyVerificationNumberInform) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - if m.Packet != nil { - size, err := m.Packet.MarshalToSizedBufferVT(dAtA[:i]) + if m.KeyVerificationNumberInform != nil { + size, err := m.KeyVerificationNumberInform.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x5a } return len(dAtA) - i, nil } -func (m *ToRadio_WantConfigId) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ToRadio_WantConfigId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WantConfigId)) - i-- - dAtA[i] = 0x18 - return len(dAtA) - i, nil -} -func (m *ToRadio_Disconnect) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientNotification_KeyVerificationNumberRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ToRadio_Disconnect) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientNotification_KeyVerificationNumberRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - i-- - if m.Disconnect { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if m.KeyVerificationNumberRequest != nil { + size, err := m.KeyVerificationNumberRequest.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 } - i-- - dAtA[i] = 0x20 return len(dAtA) - i, nil } -func (m *ToRadio_XmodemPacket) MarshalToVT(dAtA []byte) (int, error) { +func (m *ClientNotification_KeyVerificationFinal) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ToRadio_XmodemPacket) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ClientNotification_KeyVerificationFinal) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - if m.XmodemPacket != nil { - size, err := m.XmodemPacket.MarshalToSizedBufferVT(dAtA[:i]) + if m.KeyVerificationFinal != nil { + size, err := m.KeyVerificationFinal.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x6a } return len(dAtA) - i, nil } -func (m *ToRadio_MqttClientProxyMessage) MarshalToVT(dAtA []byte) (int, error) { +func (m *KeyVerificationNumberInform) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *KeyVerificationNumberInform) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ToRadio_MqttClientProxyMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *KeyVerificationNumberInform) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } i := len(dAtA) - if m.MqttClientProxyMessage != nil { - size, err := m.MqttClientProxyMessage.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.SecurityNumber != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SecurityNumber)) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x18 + } + if len(m.RemoteLongname) > 0 { + i -= len(m.RemoteLongname) + copy(dAtA[i:], m.RemoteLongname) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RemoteLongname))) + i-- + dAtA[i] = 0x12 + } + if m.Nonce != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Nonce)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *Compressed) MarshalVT() (dAtA []byte, err error) { + +func (m *KeyVerificationNumberRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1475,12 +1811,12 @@ func (m *Compressed) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Compressed) MarshalToVT(dAtA []byte) (int, error) { +func (m *KeyVerificationNumberRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Compressed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *KeyVerificationNumberRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1492,22 +1828,22 @@ func (m *Compressed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Data) > 0 { - i -= len(m.Data) - copy(dAtA[i:], m.Data) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Data))) + if len(m.RemoteLongname) > 0 { + i -= len(m.RemoteLongname) + copy(dAtA[i:], m.RemoteLongname) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RemoteLongname))) i-- dAtA[i] = 0x12 } - if m.Portnum != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Portnum)) + if m.Nonce != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Nonce)) i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *NeighborInfo) MarshalVT() (dAtA []byte, err error) { +func (m *KeyVerificationFinal) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1520,12 +1856,12 @@ func (m *NeighborInfo) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *NeighborInfo) MarshalToVT(dAtA []byte) (int, error) { +func (m *KeyVerificationFinal) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *NeighborInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *KeyVerificationFinal) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1537,37 +1873,39 @@ func (m *NeighborInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Neighbors) > 0 { - for iNdEx := len(m.Neighbors) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Neighbors[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } + if len(m.VerificationCharacters) > 0 { + i -= len(m.VerificationCharacters) + copy(dAtA[i:], m.VerificationCharacters) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.VerificationCharacters))) + i-- + dAtA[i] = 0x22 } - if m.NodeBroadcastIntervalSecs != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeBroadcastIntervalSecs)) + if m.IsSender { + i-- + if m.IsSender { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } i-- dAtA[i] = 0x18 } - if m.LastSentById != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastSentById)) + if len(m.RemoteLongname) > 0 { + i -= len(m.RemoteLongname) + copy(dAtA[i:], m.RemoteLongname) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RemoteLongname))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if m.NodeId != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + if m.Nonce != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Nonce)) i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *Neighbor) MarshalVT() (dAtA []byte, err error) { +func (m *FileInfo) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1580,12 +1918,12 @@ func (m *Neighbor) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Neighbor) MarshalToVT(dAtA []byte) (int, error) { +func (m *FileInfo) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Neighbor) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *FileInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1597,32 +1935,22 @@ func (m *Neighbor) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.NodeBroadcastIntervalSecs != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeBroadcastIntervalSecs)) - i-- - dAtA[i] = 0x20 - } - if m.LastRxTime != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LastRxTime)) - i-- - dAtA[i] = 0x1d - } - if m.Snr != 0 { - i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Snr)))) + if m.SizeBytes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SizeBytes)) i-- - dAtA[i] = 0x15 + dAtA[i] = 0x10 } - if m.NodeId != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + if len(m.FileName) > 0 { + i -= len(m.FileName) + copy(dAtA[i:], m.FileName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FileName))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *DeviceMetadata) MarshalVT() (dAtA []byte, err error) { +func (m *ToRadio) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1635,12 +1963,12 @@ func (m *DeviceMetadata) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *DeviceMetadata) MarshalToVT(dAtA []byte) (int, error) { +func (m *ToRadio) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *DeviceMetadata) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ToRadio) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1652,879 +1980,3806 @@ func (m *DeviceMetadata) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.HasRemoteHardware { - i-- - if m.HasRemoteHardware { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if vtmsg, ok := m.PayloadVariant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } - i-- - dAtA[i] = 0x50 - } - if m.HwModel != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HwModel)) - i-- - dAtA[i] = 0x48 - } - if m.PositionFlags != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionFlags)) - i-- - dAtA[i] = 0x40 - } - if m.Role != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) - i-- - dAtA[i] = 0x38 + i -= size } - if m.HasEthernet { - i-- - if m.HasEthernet { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + return len(dAtA) - i, nil +} + +func (m *ToRadio_Packet) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ToRadio_Packet) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Packet != nil { + size, err := m.Packet.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x30 + dAtA[i] = 0xa } - if m.HasBluetooth { - i-- - if m.HasBluetooth { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 + return len(dAtA) - i, nil +} +func (m *ToRadio_WantConfigId) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ToRadio_WantConfigId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WantConfigId)) + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *ToRadio_Disconnect) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ToRadio_Disconnect) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.Disconnect { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } - if m.HasWifi { - i-- - if m.HasWifi { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + i-- + dAtA[i] = 0x20 + return len(dAtA) - i, nil +} +func (m *ToRadio_XmodemPacket) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ToRadio_XmodemPacket) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.XmodemPacket != nil { + size, err := m.XmodemPacket.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x20 + dAtA[i] = 0x2a } - if m.CanShutdown { - i-- - if m.CanShutdown { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + return len(dAtA) - i, nil +} +func (m *ToRadio_MqttClientProxyMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ToRadio_MqttClientProxyMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.MqttClientProxyMessage != nil { + size, err := m.MqttClientProxyMessage.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x18 - } - if m.DeviceStateVersion != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DeviceStateVersion)) - i-- - dAtA[i] = 0x10 - } - if len(m.FirmwareVersion) > 0 { - i -= len(m.FirmwareVersion) - copy(dAtA[i:], m.FirmwareVersion) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FirmwareVersion))) - i-- - dAtA[i] = 0xa + dAtA[i] = 0x32 } return len(dAtA) - i, nil } +func (m *ToRadio_Heartbeat) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} -func (m *Position) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.LatitudeI != 0 { - n += 5 - } - if m.LongitudeI != 0 { - n += 5 - } - if m.Altitude != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Altitude)) - } - if m.Time != 0 { - n += 5 - } - if m.LocationSource != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.LocationSource)) - } - if m.AltitudeSource != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.AltitudeSource)) - } - if m.Timestamp != 0 { - n += 5 +func (m *ToRadio_Heartbeat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Heartbeat != nil { + size, err := m.Heartbeat.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a } - if m.TimestampMillisAdjust != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.TimestampMillisAdjust)) + return len(dAtA) - i, nil +} +func (m *Compressed) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.AltitudeHae != 0 { - n += 1 + protohelpers.SizeOfZigzag(uint64(m.AltitudeHae)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.AltitudeGeoidalSeparation != 0 { - n += 1 + protohelpers.SizeOfZigzag(uint64(m.AltitudeGeoidalSeparation)) + return dAtA[:n], nil +} + +func (m *Compressed) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Compressed) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - if m.PDOP != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PDOP)) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.HDOP != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.HDOP)) + if len(m.Data) > 0 { + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0x12 } - if m.VDOP != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.VDOP)) + if m.Portnum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Portnum)) + i-- + dAtA[i] = 0x8 } - if m.GpsAccuracy != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.GpsAccuracy)) + return len(dAtA) - i, nil +} + +func (m *NeighborInfo) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.GroundSpeed != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.GroundSpeed)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.GroundTrack != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.GroundTrack)) + return dAtA[:n], nil +} + +func (m *NeighborInfo) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NeighborInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - if m.FixQuality != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.FixQuality)) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.FixType != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.FixType)) + if len(m.Neighbors) > 0 { + for iNdEx := len(m.Neighbors) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Neighbors[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } } - if m.SatsInView != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.SatsInView)) + if m.NodeBroadcastIntervalSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeBroadcastIntervalSecs)) + i-- + dAtA[i] = 0x18 } - if m.SensorId != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.SensorId)) + if m.LastSentById != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastSentById)) + i-- + dAtA[i] = 0x10 } - if m.NextUpdate != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.NextUpdate)) + if m.NodeId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + i-- + dAtA[i] = 0x8 } - if m.SeqNumber != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.SeqNumber)) + return len(dAtA) - i, nil +} + +func (m *Neighbor) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.PrecisionBits != 0 { - n += 2 + protohelpers.SizeOfVarint(uint64(m.PrecisionBits)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *User) SizeVT() (n int) { +func (m *Neighbor) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Neighbor) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.LongName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ShortName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - l = len(m.Macaddr) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.NodeBroadcastIntervalSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeBroadcastIntervalSecs)) + i-- + dAtA[i] = 0x20 } - if m.HwModel != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.HwModel)) + if m.LastRxTime != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LastRxTime)) + i-- + dAtA[i] = 0x1d } - if m.IsLicensed { - n += 2 + if m.Snr != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Snr)))) + i-- + dAtA[i] = 0x15 } - if m.Role != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) + if m.NodeId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + i-- + dAtA[i] = 0x8 } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *RouteDiscovery) SizeVT() (n int) { +func (m *DeviceMetadata) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - if len(m.Route) > 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(len(m.Route)*4)) + len(m.Route)*4 + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *Routing) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if vtmsg, ok := m.Variant.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - n += len(m.unknownFields) - return n +func (m *DeviceMetadata) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Routing_RouteRequest) SizeVT() (n int) { +func (m *DeviceMetadata) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.RouteRequest != nil { - l = m.RouteRequest.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - return n -} -func (m *Routing_RouteReply) SizeVT() (n int) { - if m == nil { - return 0 + if m.ExcludedModules != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ExcludedModules)) + i-- + dAtA[i] = 0x60 } - var l int - _ = l - if m.RouteReply != nil { - l = m.RouteReply.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.HasPKC { + i-- + if m.HasPKC { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 } - return n -} -func (m *Routing_ErrorReason) SizeVT() (n int) { - if m == nil { - return 0 + if m.HasRemoteHardware { + i-- + if m.HasRemoteHardware { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 } - var l int - _ = l - n += 1 + protohelpers.SizeOfVarint(uint64(m.ErrorReason)) - return n -} -func (m *Data) SizeVT() (n int) { - if m == nil { - return 0 + if m.HwModel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HwModel)) + i-- + dAtA[i] = 0x48 } - var l int - _ = l - if m.Portnum != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Portnum)) + if m.PositionFlags != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionFlags)) + i-- + dAtA[i] = 0x40 } - l = len(m.Payload) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x38 } - if m.WantResponse { - n += 2 + if m.HasEthernet { + i-- + if m.HasEthernet { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 } - if m.Dest != 0 { - n += 5 + if m.HasBluetooth { + i-- + if m.HasBluetooth { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 } - if m.Source != 0 { - n += 5 + if m.HasWifi { + i-- + if m.HasWifi { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 } - if m.RequestId != 0 { - n += 5 + if m.CanShutdown { + i-- + if m.CanShutdown { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 } - if m.ReplyId != 0 { - n += 5 + if m.DeviceStateVersion != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DeviceStateVersion)) + i-- + dAtA[i] = 0x10 } - if m.Emoji != 0 { - n += 5 + if len(m.FirmwareVersion) > 0 { + i -= len(m.FirmwareVersion) + copy(dAtA[i:], m.FirmwareVersion) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FirmwareVersion))) + i-- + dAtA[i] = 0xa } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *Waypoint) SizeVT() (n int) { +func (m *Heartbeat) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 - } - var l int - _ = l - if m.Id != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Id)) - } - if m.LatitudeI != 0 { - n += 5 - } - if m.LongitudeI != 0 { - n += 5 - } - if m.Expire != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Expire)) - } - if m.LockedTo != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.LockedTo)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return nil, nil } - if m.Icon != 0 { - n += 5 + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *MqttClientProxyMessage) SizeVT() (n int) { +func (m *Heartbeat) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Heartbeat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Topic) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() + return len(dAtA) - i, nil +} + +func (m *NodeRemoteHardwarePin) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.Retained { - n += 2 + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *MqttClientProxyMessage_Data) SizeVT() (n int) { +func (m *NodeRemoteHardwarePin) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NodeRemoteHardwarePin) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Data) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Pin != nil { + size, err := m.Pin.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.NodeNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeNum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil } -func (m *MqttClientProxyMessage_Text) SizeVT() (n int) { + +func (m *ChunkedPayload) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - l = len(m.Text) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -func (m *MeshPacket) SizeVT() (n int) { + +func (m *ChunkedPayload) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ChunkedPayload) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.From != 0 { - n += 5 + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.To != 0 { - n += 5 + if len(m.PayloadChunk) > 0 { + i -= len(m.PayloadChunk) + copy(dAtA[i:], m.PayloadChunk) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PayloadChunk))) + i-- + dAtA[i] = 0x22 } - if m.Channel != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Channel)) + if m.ChunkIndex != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ChunkIndex)) + i-- + dAtA[i] = 0x18 } - if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - if m.Id != 0 { - n += 5 + if m.ChunkCount != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ChunkCount)) + i-- + dAtA[i] = 0x10 } - if m.RxTime != 0 { - n += 5 + if m.PayloadId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PayloadId)) + i-- + dAtA[i] = 0x8 } - if m.RxSnr != 0 { - n += 5 + return len(dAtA) - i, nil +} + +func (m *ResendChunks) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.HopLimit != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.HopLimit)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.WantAck { - n += 2 + return dAtA[:n], nil +} + +func (m *ResendChunks) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ResendChunks) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - if m.Priority != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Priority)) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.RxRssi != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.RxRssi)) + if len(m.Chunks) > 0 { + var pksize2 int + for _, num := range m.Chunks { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range m.Chunks { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0xa } - if m.Delayed != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Delayed)) + return len(dAtA) - i, nil +} + +func (m *ChunkedPayloadResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.ViaMqtt { - n += 2 + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *MeshPacket_Decoded) SizeVT() (n int) { +func (m *ChunkedPayloadResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ChunkedPayloadResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.Decoded != nil { - l = m.Decoded.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - return n + if vtmsg, ok := m.PayloadVariant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.PayloadId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PayloadId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil } -func (m *MeshPacket_Encrypted) SizeVT() (n int) { - if m == nil { - return 0 + +func (m *ChunkedPayloadResponse_RequestTransfer) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ChunkedPayloadResponse_RequestTransfer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.RequestTransfer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } - var l int - _ = l - l = len(m.Encrypted) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n + i-- + dAtA[i] = 0x10 + return len(dAtA) - i, nil } -func (m *NodeInfo) SizeVT() (n int) { +func (m *ChunkedPayloadResponse_AcceptTransfer) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ChunkedPayloadResponse_AcceptTransfer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.AcceptTransfer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *ChunkedPayloadResponse_ResendChunks) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ChunkedPayloadResponse_ResendChunks) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ResendChunks != nil { + size, err := m.ResendChunks.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} +func (m *Position) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Num != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Num)) + if m.LatitudeI != nil { + n += 5 } - if m.User != nil { - l = m.User.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.LongitudeI != nil { + n += 5 } - if m.Position != nil { - l = m.Position.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Altitude != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Altitude)) } - if m.Snr != 0 { + if m.Time != 0 { n += 5 } - if m.LastHeard != 0 { + if m.LocationSource != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.LocationSource)) + } + if m.AltitudeSource != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.AltitudeSource)) + } + if m.Timestamp != 0 { n += 5 } - if m.DeviceMetrics != nil { - l = m.DeviceMetrics.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.TimestampMillisAdjust != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.TimestampMillisAdjust)) } - if m.Channel != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Channel)) + if m.AltitudeHae != nil { + n += 1 + protohelpers.SizeOfZigzag(uint64(*m.AltitudeHae)) } - n += len(m.unknownFields) - return n -} - -func (m *MyNodeInfo) SizeVT() (n int) { - if m == nil { - return 0 + if m.AltitudeGeoidalSeparation != nil { + n += 1 + protohelpers.SizeOfZigzag(uint64(*m.AltitudeGeoidalSeparation)) } - var l int - _ = l - if m.MyNodeNum != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.MyNodeNum)) + if m.PDOP != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PDOP)) } - if m.RebootCount != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.RebootCount)) + if m.HDOP != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HDOP)) } - if m.MinAppVersion != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.MinAppVersion)) + if m.VDOP != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.VDOP)) + } + if m.GpsAccuracy != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpsAccuracy)) + } + if m.GroundSpeed != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.GroundSpeed)) + } + if m.GroundTrack != nil { + n += 2 + protohelpers.SizeOfVarint(uint64(*m.GroundTrack)) + } + if m.FixQuality != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.FixQuality)) + } + if m.FixType != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.FixType)) + } + if m.SatsInView != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.SatsInView)) + } + if m.SensorId != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.SensorId)) + } + if m.NextUpdate != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.NextUpdate)) + } + if m.SeqNumber != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.SeqNumber)) + } + if m.PrecisionBits != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.PrecisionBits)) } n += len(m.unknownFields) return n } -func (m *LogRecord) SizeVT() (n int) { +func (m *User) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Message) + l = len(m.Id) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Time != 0 { - n += 5 + l = len(m.LongName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - l = len(m.Source) + l = len(m.ShortName) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.Level != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Level)) + l = len(m.Macaddr) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.HwModel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HwModel)) + } + if m.IsLicensed { + n += 2 + } + if m.Role != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) + } + l = len(m.PublicKey) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.IsUnmessagable != nil { + n += 2 } n += len(m.unknownFields) return n } -func (m *QueueStatus) SizeVT() (n int) { +func (m *RouteDiscovery) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Res != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Res)) + if len(m.Route) > 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(len(m.Route)*4)) + len(m.Route)*4 } - if m.Free != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Free)) + if len(m.SnrTowards) > 0 { + l = 0 + for _, e := range m.SnrTowards { + l += protohelpers.SizeOfVarint(uint64(e)) + } + n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l } - if m.Maxlen != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Maxlen)) + if len(m.RouteBack) > 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(len(m.RouteBack)*4)) + len(m.RouteBack)*4 } - if m.MeshPacketId != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.MeshPacketId)) + if len(m.SnrBack) > 0 { + l = 0 + for _, e := range m.SnrBack { + l += protohelpers.SizeOfVarint(uint64(e)) + } + n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l } n += len(m.unknownFields) return n } -func (m *FromRadio) SizeVT() (n int) { +func (m *Routing) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Id != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Id)) - } - if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + if vtmsg, ok := m.Variant.(interface{ SizeVT() int }); ok { n += vtmsg.SizeVT() } n += len(m.unknownFields) return n } -func (m *FromRadio_Packet) SizeVT() (n int) { +func (m *Routing_RouteRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Packet != nil { - l = m.Packet.SizeVT() + if m.RouteRequest != nil { + l = m.RouteRequest.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *FromRadio_MyInfo) SizeVT() (n int) { +func (m *Routing_RouteReply) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MyInfo != nil { - l = m.MyInfo.SizeVT() + if m.RouteReply != nil { + l = m.RouteReply.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *FromRadio_NodeInfo) SizeVT() (n int) { +func (m *Routing_ErrorReason) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NodeInfo != nil { - l = m.NodeInfo.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } + n += 1 + protohelpers.SizeOfVarint(uint64(m.ErrorReason)) return n } -func (m *FromRadio_Config) SizeVT() (n int) { +func (m *Data) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Config != nil { - l = m.Config.SizeVT() + if m.Portnum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Portnum)) + } + l = len(m.Payload) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - return n -} -func (m *FromRadio_LogRecord) SizeVT() (n int) { - if m == nil { - return 0 + if m.WantResponse { + n += 2 } - var l int - _ = l - if m.LogRecord != nil { - l = m.LogRecord.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Dest != 0 { + n += 5 } - return n -} -func (m *FromRadio_ConfigCompleteId) SizeVT() (n int) { - if m == nil { - return 0 + if m.Source != 0 { + n += 5 } - var l int - _ = l - n += 1 + protohelpers.SizeOfVarint(uint64(m.ConfigCompleteId)) - return n -} -func (m *FromRadio_Rebooted) SizeVT() (n int) { - if m == nil { - return 0 + if m.RequestId != 0 { + n += 5 } - var l int - _ = l - n += 2 - return n -} -func (m *FromRadio_ModuleConfig) SizeVT() (n int) { - if m == nil { - return 0 + if m.ReplyId != 0 { + n += 5 } - var l int - _ = l - if m.ModuleConfig != nil { - l = m.ModuleConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Emoji != 0 { + n += 5 + } + if m.Bitfield != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Bitfield)) } + n += len(m.unknownFields) return n } -func (m *FromRadio_Channel) SizeVT() (n int) { + +func (m *KeyVerification) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Channel != nil { - l = m.Channel.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Nonce != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Nonce)) } - return n -} -func (m *FromRadio_QueueStatus) SizeVT() (n int) { - if m == nil { - return 0 + l = len(m.Hash1) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - var l int - _ = l - if m.QueueStatus != nil { - l = m.QueueStatus.SizeVT() + l = len(m.Hash2) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + n += len(m.unknownFields) return n } -func (m *FromRadio_XmodemPacket) SizeVT() (n int) { + +func (m *Waypoint) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.XmodemPacket != nil { - l = m.XmodemPacket.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Id != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Id)) } - return n -} -func (m *FromRadio_Metadata) SizeVT() (n int) { - if m == nil { - return 0 + if m.LatitudeI != nil { + n += 5 } - var l int - _ = l - if m.Metadata != nil { - l = m.Metadata.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.LongitudeI != nil { + n += 5 } - return n -} -func (m *FromRadio_MqttClientProxyMessage) SizeVT() (n int) { - if m == nil { - return 0 + if m.Expire != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Expire)) } - var l int - _ = l - if m.MqttClientProxyMessage != nil { - l = m.MqttClientProxyMessage.SizeVT() + if m.LockedTo != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.LockedTo)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Description) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.Icon != 0 { + n += 5 + } + n += len(m.unknownFields) return n } -func (m *ToRadio) SizeVT() (n int) { + +func (m *MqttClientProxyMessage) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l + l = len(m.Topic) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { n += vtmsg.SizeVT() } + if m.Retained { + n += 2 + } n += len(m.unknownFields) return n } -func (m *ToRadio_Packet) SizeVT() (n int) { +func (m *MqttClientProxyMessage_Data) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Packet != nil { - l = m.Packet.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } + l = len(m.Data) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) return n } -func (m *ToRadio_WantConfigId) SizeVT() (n int) { +func (m *MqttClientProxyMessage_Text) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - n += 1 + protohelpers.SizeOfVarint(uint64(m.WantConfigId)) + l = len(m.Text) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) return n } -func (m *ToRadio_Disconnect) SizeVT() (n int) { +func (m *MeshPacket) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - n += 2 + if m.From != 0 { + n += 5 + } + if m.To != 0 { + n += 5 + } + if m.Channel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Channel)) + } + if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + if m.Id != 0 { + n += 5 + } + if m.RxTime != 0 { + n += 5 + } + if m.RxSnr != 0 { + n += 5 + } + if m.HopLimit != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HopLimit)) + } + if m.WantAck { + n += 2 + } + if m.Priority != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Priority)) + } + if m.RxRssi != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RxRssi)) + } + if m.Delayed != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Delayed)) + } + if m.ViaMqtt { + n += 2 + } + if m.HopStart != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HopStart)) + } + l = len(m.PublicKey) + if l > 0 { + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.PkiEncrypted { + n += 3 + } + if m.NextHop != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.NextHop)) + } + if m.RelayNode != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.RelayNode)) + } + if m.TxAfter != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.TxAfter)) + } + n += len(m.unknownFields) return n } -func (m *ToRadio_XmodemPacket) SizeVT() (n int) { + +func (m *MeshPacket_Decoded) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.XmodemPacket != nil { - l = m.XmodemPacket.SizeVT() + if m.Decoded != nil { + l = m.Decoded.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } return n } -func (m *ToRadio_MqttClientProxyMessage) SizeVT() (n int) { +func (m *MeshPacket_Encrypted) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.MqttClientProxyMessage != nil { - l = m.MqttClientProxyMessage.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } + l = len(m.Encrypted) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) return n } -func (m *Compressed) SizeVT() (n int) { +func (m *NodeInfo) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Portnum != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Portnum)) + if m.Num != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Num)) } - l = len(m.Data) - if l > 0 { + if m.User != nil { + l = m.User.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - n += len(m.unknownFields) - return n -} + if m.Position != nil { + l = m.Position.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Snr != 0 { + n += 5 + } + if m.LastHeard != 0 { + n += 5 + } + if m.DeviceMetrics != nil { + l = m.DeviceMetrics.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Channel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Channel)) + } + if m.ViaMqtt { + n += 2 + } + if m.HopsAway != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.HopsAway)) + } + if m.IsFavorite { + n += 2 + } + if m.IsIgnored { + n += 2 + } + if m.IsKeyManuallyVerified { + n += 2 + } + n += len(m.unknownFields) + return n +} -func (m *NeighborInfo) SizeVT() (n int) { +func (m *MyNodeInfo) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.NodeId != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeId)) + if m.MyNodeNum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MyNodeNum)) } - if m.LastSentById != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.LastSentById)) + if m.RebootCount != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RebootCount)) } - if m.NodeBroadcastIntervalSecs != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeBroadcastIntervalSecs)) + if m.MinAppVersion != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MinAppVersion)) } - if len(m.Neighbors) > 0 { - for _, e := range m.Neighbors { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + l = len(m.DeviceId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.PioEnv) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *LogRecord) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Message) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Time != 0 { + n += 5 + } + l = len(m.Source) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Level != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Level)) + } + n += len(m.unknownFields) + return n +} + +func (m *QueueStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Res != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Res)) + } + if m.Free != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Free)) + } + if m.Maxlen != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Maxlen)) + } + if m.MeshPacketId != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MeshPacketId)) + } + n += len(m.unknownFields) + return n +} + +func (m *FromRadio) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Id != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Id)) + } + if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *FromRadio_Packet) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Packet != nil { + l = m.Packet.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_MyInfo) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MyInfo != nil { + l = m.MyInfo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_NodeInfo) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NodeInfo != nil { + l = m.NodeInfo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_Config) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Config != nil { + l = m.Config.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_LogRecord) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.LogRecord != nil { + l = m.LogRecord.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_ConfigCompleteId) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 1 + protohelpers.SizeOfVarint(uint64(m.ConfigCompleteId)) + return n +} +func (m *FromRadio_Rebooted) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *FromRadio_ModuleConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ModuleConfig != nil { + l = m.ModuleConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_Channel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Channel != nil { + l = m.Channel.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_QueueStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.QueueStatus != nil { + l = m.QueueStatus.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_XmodemPacket) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.XmodemPacket != nil { + l = m.XmodemPacket.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_Metadata) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Metadata != nil { + l = m.Metadata.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_MqttClientProxyMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MqttClientProxyMessage != nil { + l = m.MqttClientProxyMessage.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_FileInfo) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.FileInfo != nil { + l = m.FileInfo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_ClientNotification) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ClientNotification != nil { + l = m.ClientNotification.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *FromRadio_DeviceuiConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DeviceuiConfig != nil { + l = m.DeviceuiConfig.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ClientNotification) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ReplyId != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.ReplyId)) + } + if m.Time != 0 { + n += 5 + } + if m.Level != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Level)) + } + l = len(m.Message) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *ClientNotification_KeyVerificationNumberInform) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.KeyVerificationNumberInform != nil { + l = m.KeyVerificationNumberInform.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ClientNotification_KeyVerificationNumberRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.KeyVerificationNumberRequest != nil { + l = m.KeyVerificationNumberRequest.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ClientNotification_KeyVerificationFinal) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.KeyVerificationFinal != nil { + l = m.KeyVerificationFinal.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *KeyVerificationNumberInform) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Nonce != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Nonce)) + } + l = len(m.RemoteLongname) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.SecurityNumber != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.SecurityNumber)) + } + n += len(m.unknownFields) + return n +} + +func (m *KeyVerificationNumberRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Nonce != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Nonce)) + } + l = len(m.RemoteLongname) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *KeyVerificationFinal) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Nonce != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Nonce)) + } + l = len(m.RemoteLongname) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.IsSender { + n += 2 + } + l = len(m.VerificationCharacters) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *FileInfo) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.FileName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.SizeBytes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.SizeBytes)) + } + n += len(m.unknownFields) + return n +} + +func (m *ToRadio) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *ToRadio_Packet) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Packet != nil { + l = m.Packet.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ToRadio_WantConfigId) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 1 + protohelpers.SizeOfVarint(uint64(m.WantConfigId)) + return n +} +func (m *ToRadio_Disconnect) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *ToRadio_XmodemPacket) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.XmodemPacket != nil { + l = m.XmodemPacket.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ToRadio_MqttClientProxyMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MqttClientProxyMessage != nil { + l = m.MqttClientProxyMessage.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ToRadio_Heartbeat) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Heartbeat != nil { + l = m.Heartbeat.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Compressed) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Portnum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Portnum)) + } + l = len(m.Data) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *NeighborInfo) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NodeId != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeId)) + } + if m.LastSentById != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.LastSentById)) + } + if m.NodeBroadcastIntervalSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeBroadcastIntervalSecs)) + } + if len(m.Neighbors) > 0 { + for _, e := range m.Neighbors { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *Neighbor) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NodeId != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeId)) + } + if m.Snr != 0 { + n += 5 + } + if m.LastRxTime != 0 { + n += 5 + } + if m.NodeBroadcastIntervalSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeBroadcastIntervalSecs)) + } + n += len(m.unknownFields) + return n +} + +func (m *DeviceMetadata) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.FirmwareVersion) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DeviceStateVersion != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.DeviceStateVersion)) + } + if m.CanShutdown { + n += 2 + } + if m.HasWifi { + n += 2 + } + if m.HasBluetooth { + n += 2 + } + if m.HasEthernet { + n += 2 + } + if m.Role != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) + } + if m.PositionFlags != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PositionFlags)) + } + if m.HwModel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HwModel)) + } + if m.HasRemoteHardware { + n += 2 + } + if m.HasPKC { + n += 2 + } + if m.ExcludedModules != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ExcludedModules)) + } + n += len(m.unknownFields) + return n +} + +func (m *Heartbeat) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *NodeRemoteHardwarePin) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NodeNum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeNum)) + } + if m.Pin != nil { + l = m.Pin.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ChunkedPayload) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PayloadId != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PayloadId)) + } + if m.ChunkCount != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ChunkCount)) + } + if m.ChunkIndex != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ChunkIndex)) + } + l = len(m.PayloadChunk) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ResendChunks) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Chunks) > 0 { + l = 0 + for _, e := range m.Chunks { + l += protohelpers.SizeOfVarint(uint64(e)) + } + n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l + } + n += len(m.unknownFields) + return n +} + +func (m *ChunkedPayloadResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PayloadId != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PayloadId)) + } + if vtmsg, ok := m.PayloadVariant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *ChunkedPayloadResponse_RequestTransfer) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *ChunkedPayloadResponse_AcceptTransfer) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *ChunkedPayloadResponse_ResendChunks) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ResendChunks != nil { + l = m.ResendChunks.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Position) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Position: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Position: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LatitudeI", wireType) + } + var v int32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.LatitudeI = &v + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LongitudeI", wireType) + } + var v int32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.LongitudeI = &v + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Altitude", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Altitude = &v + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + } + m.Time = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Time = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LocationSource", wireType) + } + m.LocationSource = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LocationSource |= Position_LocSource(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AltitudeSource", wireType) + } + m.AltitudeSource = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AltitudeSource |= Position_AltSource(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + m.Timestamp = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Timestamp = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimestampMillisAdjust", wireType) + } + m.TimestampMillisAdjust = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimestampMillisAdjust |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AltitudeHae", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + v = int32((uint32(v) >> 1) ^ uint32(((v&1)<<31)>>31)) + m.AltitudeHae = &v + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AltitudeGeoidalSeparation", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + v = int32((uint32(v) >> 1) ^ uint32(((v&1)<<31)>>31)) + m.AltitudeGeoidalSeparation = &v + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PDOP", wireType) + } + m.PDOP = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PDOP |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HDOP", wireType) + } + m.HDOP = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HDOP |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field VDOP", wireType) + } + m.VDOP = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.VDOP |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsAccuracy", wireType) + } + m.GpsAccuracy = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsAccuracy |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GroundSpeed", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.GroundSpeed = &v + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GroundTrack", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.GroundTrack = &v + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixQuality", wireType) + } + m.FixQuality = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FixQuality |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 18: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixType", wireType) + } + m.FixType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FixType |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SatsInView", wireType) + } + m.SatsInView = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SatsInView |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SensorId", wireType) + } + m.SensorId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SensorId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NextUpdate", wireType) + } + m.NextUpdate = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NextUpdate |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SeqNumber", wireType) + } + m.SeqNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SeqNumber |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PrecisionBits", wireType) + } + m.PrecisionBits = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PrecisionBits |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *User) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: User: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: User: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Id = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LongName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LongName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShortName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ShortName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Macaddr", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Macaddr = append(m.Macaddr[:0], dAtA[iNdEx:postIndex]...) + if m.Macaddr == nil { + m.Macaddr = []byte{} + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HwModel", wireType) + } + m.HwModel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HwModel |= HardwareModel(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsLicensed", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsLicensed = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) + } + m.Role = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Role |= Config_DeviceConfig_Role(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublicKey = append(m.PublicKey[:0], dAtA[iNdEx:postIndex]...) + if m.PublicKey == nil { + m.PublicKey = []byte{} + } + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsUnmessagable", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.IsUnmessagable = &b + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RouteDiscovery) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RouteDiscovery: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RouteDiscovery: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType == 5 { + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Route = append(m.Route, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.Route) == 0 { + m.Route = make([]uint32, 0, elementCount) + } + for iNdEx < postIndex { + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Route = append(m.Route, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType) + } + case 2: + if wireType == 0 { + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SnrTowards = append(m.SnrTowards, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.SnrTowards) == 0 { + m.SnrTowards = make([]int32, 0, elementCount) + } + for iNdEx < postIndex { + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SnrTowards = append(m.SnrTowards, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field SnrTowards", wireType) + } + case 3: + if wireType == 5 { + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.RouteBack = append(m.RouteBack, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + elementCount = packedLen / 4 + if elementCount != 0 && len(m.RouteBack) == 0 { + m.RouteBack = make([]uint32, 0, elementCount) + } + for iNdEx < postIndex { + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.RouteBack = append(m.RouteBack, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field RouteBack", wireType) + } + case 4: + if wireType == 0 { + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SnrBack = append(m.SnrBack, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.SnrBack) == 0 { + m.SnrBack = make([]int32, 0, elementCount) + } + for iNdEx < postIndex { + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SnrBack = append(m.SnrBack, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field SnrBack", wireType) + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Routing) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Routing: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Routing: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RouteRequest", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Variant.(*Routing_RouteRequest); ok { + if err := oneof.RouteRequest.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &RouteDiscovery{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Routing_RouteRequest{RouteRequest: v} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RouteReply", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Variant.(*Routing_RouteReply); ok { + if err := oneof.RouteReply.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &RouteDiscovery{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Routing_RouteReply{RouteReply: v} + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorReason", wireType) + } + var v Routing_Error + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= Routing_Error(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Variant = &Routing_ErrorReason{ErrorReason: v} + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Data) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Data: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Data: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Portnum", wireType) + } + m.Portnum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Portnum |= PortNum(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...) + if m.Payload == nil { + m.Payload = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WantResponse", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.WantResponse = bool(v != 0) + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Dest", wireType) + } + m.Dest = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Dest = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 5: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + } + m.Source = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Source = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 6: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) + } + m.RequestId = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.RequestId = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 7: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field ReplyId", wireType) + } + m.ReplyId = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.ReplyId = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 8: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Emoji", wireType) + } + m.Emoji = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Emoji = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Bitfield", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Bitfield = &v + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *KeyVerification) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: KeyVerification: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: KeyVerification: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) + } + m.Nonce = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Nonce |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hash1", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash1 = append(m.Hash1[:0], dAtA[iNdEx:postIndex]...) + if m.Hash1 == nil { + m.Hash1 = []byte{} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hash2", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hash2 = append(m.Hash2[:0], dAtA[iNdEx:postIndex]...) + if m.Hash2 == nil { + m.Hash2 = []byte{} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Waypoint) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Waypoint: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Waypoint: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Id |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LatitudeI", wireType) + } + var v int32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.LatitudeI = &v + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LongitudeI", wireType) + } + var v int32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.LongitudeI = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Expire", wireType) + } + m.Expire = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Expire |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LockedTo", wireType) + } + m.LockedTo = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LockedTo |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Description = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 8: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Icon", wireType) + } + m.Icon = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Icon = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MqttClientProxyMessage) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MqttClientProxyMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MqttClientProxyMessage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Topic = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := make([]byte, postIndex-iNdEx) + copy(v, dAtA[iNdEx:postIndex]) + m.PayloadVariant = &MqttClientProxyMessage_Data{Data: v} + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Text", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PayloadVariant = &MqttClientProxyMessage_Text{Text: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Retained", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Retained = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy } } - n += len(m.unknownFields) - return n -} - -func (m *Neighbor) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.NodeId != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeId)) - } - if m.Snr != 0 { - n += 5 - } - if m.LastRxTime != 0 { - n += 5 - } - if m.NodeBroadcastIntervalSecs != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeBroadcastIntervalSecs)) - } - n += len(m.unknownFields) - return n -} -func (m *DeviceMetadata) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.FirmwareVersion) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.DeviceStateVersion != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.DeviceStateVersion)) - } - if m.CanShutdown { - n += 2 - } - if m.HasWifi { - n += 2 - } - if m.HasBluetooth { - n += 2 - } - if m.HasEthernet { - n += 2 - } - if m.Role != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) - } - if m.PositionFlags != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PositionFlags)) - } - if m.HwModel != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.HwModel)) - } - if m.HasRemoteHardware { - n += 2 + if iNdEx > l { + return io.ErrUnexpectedEOF } - n += len(m.unknownFields) - return n + return nil } - -func (m *Position) UnmarshalVT(dAtA []byte) error { +func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -2547,37 +5802,180 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Position: wiretype end group for non-group") + return fmt.Errorf("proto: MeshPacket: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Position: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MeshPacket: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LatitudeI", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) } - m.LatitudeI = 0 + m.From = 0 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - m.LatitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + m.From = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 case 2: if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LongitudeI", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) + } + m.To = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.To = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) + } + m.Channel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Channel |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Decoded", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*MeshPacket_Decoded); ok { + if err := oneof.Decoded.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Data{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &MeshPacket_Decoded{Decoded: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Encrypted", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + v := make([]byte, postIndex-iNdEx) + copy(v, dAtA[iNdEx:postIndex]) + m.PayloadVariant = &MeshPacket_Encrypted{Encrypted: v} + iNdEx = postIndex + case 6: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + m.Id = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Id = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 7: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field RxTime", wireType) + } + m.RxTime = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.RxTime = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 8: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field RxSnr", wireType) } - m.LongitudeI = 0 + var v uint32 if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - m.LongitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 3: + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.RxSnr = float32(math.Float32frombits(v)) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HopLimit", wireType) + } + m.HopLimit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HopLimit |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Altitude", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field WantAck", wireType) } - m.Altitude = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2587,26 +5985,36 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Altitude |= int32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - case 4: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + m.WantAck = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) } - m.Time = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF + m.Priority = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Priority |= MeshPacket_Priority(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Time = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 5: + case 12: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LocationSource", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RxRssi", wireType) } - m.LocationSource = 0 + m.RxRssi = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2616,16 +6024,16 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.LocationSource |= Position_LocSource(b&0x7F) << shift + m.RxRssi |= int32(b&0x7F) << shift if b < 0x80 { break } } - case 6: + case 13: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AltitudeSource", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Delayed", wireType) } - m.AltitudeSource = 0 + m.Delayed = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2635,26 +6043,36 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.AltitudeSource |= Position_AltSource(b&0x7F) << shift + m.Delayed |= MeshPacket_Delayed(b&0x7F) << shift if b < 0x80 { break } } - case 7: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ViaMqtt", wireType) } - m.Timestamp = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Timestamp = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 8: + m.ViaMqtt = bool(v != 0) + case 15: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TimestampMillisAdjust", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HopStart", wireType) } - m.TimestampMillisAdjust = 0 + m.HopStart = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2664,16 +6082,16 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.TimestampMillisAdjust |= int32(b&0x7F) << shift + m.HopStart |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AltitudeHae", wireType) + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PublicKey", wireType) } - var v int32 + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2683,18 +6101,31 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int32(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - v = int32((uint32(v) >> 1) ^ uint32(((v&1)<<31)>>31)) - m.AltitudeHae = v - case 10: + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PublicKey = append(m.PublicKey[:0], dAtA[iNdEx:postIndex]...) + if m.PublicKey == nil { + m.PublicKey = []byte{} + } + iNdEx = postIndex + case 17: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AltitudeGeoidalSeparation", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PkiEncrypted", wireType) } - var v int32 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2704,18 +6135,17 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - v = int32((uint32(v) >> 1) ^ uint32(((v&1)<<31)>>31)) - m.AltitudeGeoidalSeparation = v - case 11: + m.PkiEncrypted = bool(v != 0) + case 18: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PDOP", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextHop", wireType) } - m.PDOP = 0 + m.NextHop = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2725,16 +6155,16 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.PDOP |= uint32(b&0x7F) << shift + m.NextHop |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 12: + case 19: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HDOP", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelayNode", wireType) } - m.HDOP = 0 + m.RelayNode = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2744,16 +6174,16 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.HDOP |= uint32(b&0x7F) << shift + m.RelayNode |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 13: + case 20: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field VDOP", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TxAfter", wireType) } - m.VDOP = 0 + m.TxAfter = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2763,16 +6193,67 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.VDOP |= uint32(b&0x7F) << shift + m.TxAfter |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 14: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NodeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NodeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GpsAccuracy", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) } - m.GpsAccuracy = 0 + m.Num = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2782,16 +6263,16 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GpsAccuracy |= uint32(b&0x7F) << shift + m.Num |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 15: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GroundSpeed", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) } - m.GroundSpeed = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2801,16 +6282,33 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GroundSpeed |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 16: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field GroundTrack", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.User == nil { + m.User = &User{} + } + if err := m.User.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.GroundTrack = 0 + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2820,16 +6318,54 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.GroundTrack |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 17: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FixQuality", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Position == nil { + m.Position = &Position{} + } + if err := m.Position.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Snr", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Snr = float32(math.Float32frombits(v)) + case 5: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LastHeard", wireType) + } + m.LastHeard = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.LastHeard = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceMetrics", wireType) } - m.FixQuality = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2839,16 +6375,33 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FixQuality |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 18: + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DeviceMetrics == nil { + m.DeviceMetrics = &DeviceMetrics{} + } + if err := m.DeviceMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FixType", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) } - m.FixType = 0 + m.Channel = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2858,16 +6411,16 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FixType |= uint32(b&0x7F) << shift + m.Channel |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 19: + case 8: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SatsInView", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ViaMqtt", wireType) } - m.SatsInView = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2877,16 +6430,17 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SatsInView |= uint32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - case 20: + m.ViaMqtt = bool(v != 0) + case 9: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SensorId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field HopsAway", wireType) } - m.SensorId = 0 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2896,16 +6450,17 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SensorId |= uint32(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } - case 21: + m.HopsAway = &v + case 10: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NextUpdate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsFavorite", wireType) } - m.NextUpdate = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2915,16 +6470,17 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.NextUpdate |= uint32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - case 22: + m.IsFavorite = bool(v != 0) + case 11: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field SeqNumber", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsIgnored", wireType) } - m.SeqNumber = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2934,16 +6490,17 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.SeqNumber |= uint32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - case 23: + m.IsIgnored = bool(v != 0) + case 12: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PrecisionBits", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsKeyManuallyVerified", wireType) } - m.PrecisionBits = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2953,11 +6510,12 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.PrecisionBits |= uint32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } + m.IsKeyManuallyVerified = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -2980,7 +6538,7 @@ func (m *Position) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *User) UnmarshalVT(dAtA []byte) error { +func (m *MyNodeInfo) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3003,17 +6561,17 @@ func (m *User) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: User: wiretype end group for non-group") + return fmt.Errorf("proto: MyNodeInfo: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: User: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MyNodeInfo: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MyNodeNum", wireType) } - var stringLen uint64 + m.MyNodeNum = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3023,29 +6581,16 @@ func (m *User) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.MyNodeNum |= uint32(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LongName", wireType) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RebootCount", wireType) } - var stringLen uint64 + m.RebootCount = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3055,29 +6600,16 @@ func (m *User) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.RebootCount |= uint32(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.LongName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ShortName", wireType) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinAppVersion", wireType) } - var stringLen uint64 + m.MinAppVersion = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3087,27 +6619,14 @@ func (m *User) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.MinAppVersion |= uint32(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ShortName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Macaddr", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DeviceId", wireType) } var byteLen int for shift := uint(0); ; shift += 7 { @@ -3125,181 +6644,52 @@ func (m *User) UnmarshalVT(dAtA []byte) error { } } if byteLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Macaddr = append(m.Macaddr[:0], dAtA[iNdEx:postIndex]...) - if m.Macaddr == nil { - m.Macaddr = []byte{} - } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HwModel", wireType) - } - m.HwModel = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.HwModel |= HardwareModel(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsLicensed", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsLicensed = bool(v != 0) - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) - } - m.Role = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Role |= Config_DeviceConfig_Role(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *RouteDiscovery) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.DeviceId = append(m.DeviceId[:0], dAtA[iNdEx:postIndex]...) + if m.DeviceId == nil { + m.DeviceId = []byte{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RouteDiscovery: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RouteDiscovery: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType == 5 { - var v uint32 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - m.Route = append(m.Route, v) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PioEnv", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var elementCount int - elementCount = packedLen / 4 - if elementCount != 0 && len(m.Route) == 0 { - m.Route = make([]uint32, 0, elementCount) - } - for iNdEx < postIndex { - var v uint32 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - m.Route = append(m.Route, v) + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType) } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PioEnv = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3322,7 +6712,7 @@ func (m *RouteDiscovery) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Routing) UnmarshalVT(dAtA []byte) error { +func (m *LogRecord) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3345,17 +6735,17 @@ func (m *Routing) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Routing: wiretype end group for non-group") + return fmt.Errorf("proto: LogRecord: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Routing: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: LogRecord: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RouteRequest", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3365,38 +6755,39 @@ func (m *Routing) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Variant.(*Routing_RouteRequest); ok { - if err := oneof.RouteRequest.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &RouteDiscovery{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Variant = &Routing_RouteRequest{RouteRequest: v} - } + m.Message = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + } + m.Time = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Time = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RouteReply", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3406,38 +6797,29 @@ func (m *Routing) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Variant.(*Routing_RouteReply); ok { - if err := oneof.RouteReply.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &RouteDiscovery{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Variant = &Routing_RouteReply{RouteReply: v} - } + m.Source = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ErrorReason", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType) } - var v Routing_Error + m.Level = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3447,12 +6829,11 @@ func (m *Routing) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= Routing_Error(b&0x7F) << shift + m.Level |= LogRecord_Level(b&0x7F) << shift if b < 0x80 { break } } - m.Variant = &Routing_ErrorReason{ErrorReason: v} default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3475,7 +6856,7 @@ func (m *Routing) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Data) UnmarshalVT(dAtA []byte) error { +func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3498,17 +6879,17 @@ func (m *Data) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Data: wiretype end group for non-group") + return fmt.Errorf("proto: QueueStatus: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Data: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: QueueStatus: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Portnum", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Res", wireType) } - m.Portnum = 0 + m.Res = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3518,50 +6899,16 @@ func (m *Data) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Portnum |= PortNum(b&0x7F) << shift + m.Res |= int32(b&0x7F) << shift if b < 0x80 { break } } case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Payload", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Payload = append(m.Payload[:0], dAtA[iNdEx:postIndex]...) - if m.Payload == nil { - m.Payload = []byte{} - } - iNdEx = postIndex - case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field WantResponse", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Free", wireType) } - var v int + m.Free = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3571,62 +6918,49 @@ func (m *Data) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.WantResponse = bool(v != 0) - case 4: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Dest", wireType) - } - m.Dest = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.Dest = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 5: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) - } - m.Source = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.Source = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 6: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestId", wireType) - } - m.RequestId = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.RequestId = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 7: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field ReplyId", wireType) + m.Free |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - m.ReplyId = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Maxlen", wireType) } - m.ReplyId = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 8: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Emoji", wireType) + m.Maxlen = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Maxlen |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Emoji = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MeshPacketId", wireType) + } + m.MeshPacketId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MeshPacketId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - m.Emoji = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3649,7 +6983,7 @@ func (m *Data) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Waypoint) UnmarshalVT(dAtA []byte) error { +func (m *FromRadio) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -3672,10 +7006,10 @@ func (m *Waypoint) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Waypoint: wiretype end group for non-group") + return fmt.Errorf("proto: FromRadio: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Waypoint: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: FromRadio: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -3698,30 +7032,10 @@ func (m *Waypoint) UnmarshalVT(dAtA []byte) error { } } case 2: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LatitudeI", wireType) - } - m.LatitudeI = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.LatitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 3: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LongitudeI", wireType) - } - m.LongitudeI = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.LongitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Expire", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Packet", wireType) } - m.Expire = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3731,35 +7045,38 @@ func (m *Waypoint) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Expire |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LockedTo", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.LockedTo = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_Packet); ok { + if err := oneof.Packet.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - m.LockedTo |= uint32(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := &MeshPacket{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.PayloadVariant = &FromRadio_Packet{Packet: v} } - case 6: + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MyInfo", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3769,29 +7086,38 @@ func (m *Waypoint) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Name = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.PayloadVariant.(*FromRadio_MyInfo); ok { + if err := oneof.MyInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MyNodeInfo{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_MyInfo{MyInfo: v} + } iNdEx = postIndex - case 7: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3801,90 +7127,38 @@ func (m *Waypoint) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Icon", wireType) - } - m.Icon = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.Icon = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MqttClientProxyMessage) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if oneof, ok := m.PayloadVariant.(*FromRadio_NodeInfo); ok { + if err := oneof.NodeInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &NodeInfo{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_NodeInfo{NodeInfo: v} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MqttClientProxyMessage: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MqttClientProxyMessage: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3894,29 +7168,38 @@ func (m *MqttClientProxyMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Topic = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.PayloadVariant.(*FromRadio_Config); ok { + if err := oneof.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_Config{Config: v} + } iNdEx = postIndex - case 2: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field LogRecord", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3926,30 +7209,38 @@ func (m *MqttClientProxyMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - v := make([]byte, postIndex-iNdEx) - copy(v, dAtA[iNdEx:postIndex]) - m.PayloadVariant = &MqttClientProxyMessage_Data{Data: v} + if oneof, ok := m.PayloadVariant.(*FromRadio_LogRecord); ok { + if err := oneof.LogRecord.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &LogRecord{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_LogRecord{LogRecord: v} + } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Text", wireType) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigCompleteId", wireType) } - var stringLen uint64 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -3959,27 +7250,15 @@ func (m *MqttClientProxyMessage) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PayloadVariant = &MqttClientProxyMessage_Text{Text: string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 4: + m.PayloadVariant = &FromRadio_ConfigCompleteId{ConfigCompleteId: v} + case 8: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Retained", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Rebooted", wireType) } var v int for shift := uint(0); ; shift += 7 { @@ -3996,83 +7275,13 @@ func (m *MqttClientProxyMessage) UnmarshalVT(dAtA []byte) error { break } } - m.Retained = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MeshPacket: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MeshPacket: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field From", wireType) - } - m.From = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.From = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 2: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field To", wireType) - } - m.To = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.To = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) + b := bool(v != 0) + m.PayloadVariant = &FromRadio_Rebooted{Rebooted: b} + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModuleConfig", wireType) } - m.Channel = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4082,14 +7291,36 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Channel |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 4: + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_ModuleConfig); ok { + if err := oneof.ModuleConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_ModuleConfig{ModuleConfig: v} + } + iNdEx = postIndex + case 10: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Decoded", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4116,23 +7347,23 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*MeshPacket_Decoded); ok { - if err := oneof.Decoded.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.PayloadVariant.(*FromRadio_Channel); ok { + if err := oneof.Channel.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := &Data{} + v := &Channel{} if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.PayloadVariant = &MeshPacket_Decoded{Decoded: v} + m.PayloadVariant = &FromRadio_Channel{Channel: v} } iNdEx = postIndex - case 5: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Encrypted", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field QueueStatus", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4142,61 +7373,38 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - v := make([]byte, postIndex-iNdEx) - copy(v, dAtA[iNdEx:postIndex]) - m.PayloadVariant = &MeshPacket_Encrypted{Encrypted: v} - iNdEx = postIndex - case 6: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) - } - m.Id = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.Id = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 7: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field RxTime", wireType) - } - m.RxTime = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.RxTime = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 8: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field RxSnr", wireType) - } - var v uint32 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF + if oneof, ok := m.PayloadVariant.(*FromRadio_QueueStatus); ok { + if err := oneof.QueueStatus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &QueueStatus{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_QueueStatus{QueueStatus: v} } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - m.RxSnr = float32(math.Float32frombits(v)) - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HopLimit", wireType) + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", wireType) } - m.HopLimit = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4206,16 +7414,38 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.HopLimit |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field WantAck", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_XmodemPacket); ok { + if err := oneof.XmodemPacket.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &XModem{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_XmodemPacket{XmodemPacket: v} } - var v int + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4225,17 +7455,38 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.WantAck = bool(v != 0) - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.Priority = 0 + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_Metadata); ok { + if err := oneof.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceMetadata{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_Metadata{Metadata: v} + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MqttClientProxyMessage", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4245,16 +7496,38 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Priority |= MeshPacket_Priority(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RxRssi", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.RxRssi = 0 + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_MqttClientProxyMessage); ok { + if err := oneof.MqttClientProxyMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MqttClientProxyMessage{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_MqttClientProxyMessage{MqttClientProxyMessage: v} + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FileInfo", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4264,16 +7537,38 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.RxRssi |= int32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Delayed", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.Delayed = 0 + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_FileInfo); ok { + if err := oneof.FileInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &FileInfo{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_FileInfo{FileInfo: v} + } + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ClientNotification", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4283,16 +7578,38 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Delayed |= MeshPacket_Delayed(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 14: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ViaMqtt", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - var v int + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_ClientNotification); ok { + if err := oneof.ClientNotification.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ClientNotification{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_ClientNotification{ClientNotification: v} + } + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceuiConfig", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4302,12 +7619,33 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.ViaMqtt = bool(v != 0) + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*FromRadio_DeviceuiConfig); ok { + if err := oneof.DeviceuiConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceUIConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_DeviceuiConfig{DeviceuiConfig: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -4330,7 +7668,7 @@ func (m *MeshPacket) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { +func (m *ClientNotification) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4353,17 +7691,17 @@ func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: NodeInfo: wiretype end group for non-group") + return fmt.Errorf("proto: ClientNotification: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: NodeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ClientNotification: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Num", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReplyId", wireType) } - m.Num = 0 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4373,16 +7711,46 @@ func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Num |= uint32(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } + m.ReplyId = &v case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) + } + m.Time = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Time = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType) + } + m.Level = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Level |= LogRecord_Level(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4392,31 +7760,27 @@ func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.User == nil { - m.User = &User{} - } - if err := m.User.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Message = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 11: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Position", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field KeyVerificationNumberInform", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4443,37 +7807,21 @@ func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Position == nil { - m.Position = &Position{} - } - if err := m.Position.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.PayloadVariant.(*ClientNotification_KeyVerificationNumberInform); ok { + if err := oneof.KeyVerificationNumberInform.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &KeyVerificationNumberInform{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ClientNotification_KeyVerificationNumberInform{KeyVerificationNumberInform: v} } iNdEx = postIndex - case 4: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Snr", wireType) - } - var v uint32 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - m.Snr = float32(math.Float32frombits(v)) - case 5: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LastHeard", wireType) - } - m.LastHeard = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.LastHeard = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 6: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DeviceMetrics", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field KeyVerificationNumberRequest", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4500,18 +7848,23 @@ func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DeviceMetrics == nil { - m.DeviceMetrics = &DeviceMetrics{} - } - if err := m.DeviceMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) + if oneof, ok := m.PayloadVariant.(*ClientNotification_KeyVerificationNumberRequest); ok { + if err := oneof.KeyVerificationNumberRequest.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &KeyVerificationNumberRequest{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ClientNotification_KeyVerificationNumberRequest{KeyVerificationNumberRequest: v} } - m.Channel = 0 + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field KeyVerificationFinal", wireType) + } + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4521,11 +7874,33 @@ func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Channel |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.PayloadVariant.(*ClientNotification_KeyVerificationFinal); ok { + if err := oneof.KeyVerificationFinal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &KeyVerificationFinal{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ClientNotification_KeyVerificationFinal{KeyVerificationFinal: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -4548,7 +7923,7 @@ func (m *NodeInfo) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *MyNodeInfo) UnmarshalVT(dAtA []byte) error { +func (m *KeyVerificationNumberInform) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4571,17 +7946,17 @@ func (m *MyNodeInfo) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MyNodeInfo: wiretype end group for non-group") + return fmt.Errorf("proto: KeyVerificationNumberInform: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MyNodeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: KeyVerificationNumberInform: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MyNodeNum", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } - m.MyNodeNum = 0 + m.Nonce = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4591,16 +7966,16 @@ func (m *MyNodeInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MyNodeNum |= uint32(b&0x7F) << shift + m.Nonce |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RebootCount", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteLongname", wireType) } - m.RebootCount = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4610,16 +7985,29 @@ func (m *MyNodeInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.RebootCount |= uint32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 11: + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RemoteLongname = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MinAppVersion", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SecurityNumber", wireType) } - m.MinAppVersion = 0 + m.SecurityNumber = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4629,7 +8017,7 @@ func (m *MyNodeInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MinAppVersion |= uint32(b&0x7F) << shift + m.SecurityNumber |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -4656,7 +8044,7 @@ func (m *MyNodeInfo) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *LogRecord) UnmarshalVT(dAtA []byte) error { +func (m *KeyVerificationNumberRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4679,17 +8067,17 @@ func (m *LogRecord) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: LogRecord: wiretype end group for non-group") + return fmt.Errorf("proto: KeyVerificationNumberRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: LogRecord: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: KeyVerificationNumberRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } - var stringLen uint64 + m.Nonce = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4699,37 +8087,14 @@ func (m *LogRecord) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.Nonce |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Message = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex case 2: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Time", wireType) - } - m.Time = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.Time = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RemoteLongname", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4757,27 +8122,8 @@ func (m *LogRecord) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Source = string(dAtA[iNdEx:postIndex]) + m.RemoteLongname = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType) - } - m.Level = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Level |= LogRecord_Level(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -4800,7 +8146,7 @@ func (m *LogRecord) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { +func (m *KeyVerificationFinal) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4823,17 +8169,17 @@ func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: QueueStatus: wiretype end group for non-group") + return fmt.Errorf("proto: KeyVerificationFinal: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: QueueStatus: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: KeyVerificationFinal: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Res", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Nonce", wireType) } - m.Res = 0 + m.Nonce = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4843,16 +8189,16 @@ func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Res |= int32(b&0x7F) << shift + m.Nonce |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Free", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteLongname", wireType) } - m.Free = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4862,16 +8208,29 @@ func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Free |= uint32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RemoteLongname = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Maxlen", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field IsSender", wireType) } - m.Maxlen = 0 + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4881,16 +8240,17 @@ func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Maxlen |= uint32(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } + m.IsSender = bool(v != 0) case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MeshPacketId", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VerificationCharacters", wireType) } - m.MeshPacketId = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4900,11 +8260,24 @@ func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MeshPacketId |= uint32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.VerificationCharacters = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -4927,7 +8300,7 @@ func (m *QueueStatus) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *FromRadio) UnmarshalVT(dAtA []byte) error { +func (m *FileInfo) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4950,17 +8323,17 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: FromRadio: wiretype end group for non-group") + return fmt.Errorf("proto: FileInfo: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: FromRadio: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: FileInfo: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FileName", wireType) } - m.Id = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4970,12 +8343,95 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Id |= uint32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FileName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SizeBytes", wireType) + } + m.SizeBytes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SizeBytes |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ToRadio) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ToRadio: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ToRadio: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Packet", wireType) } @@ -5004,7 +8460,7 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*FromRadio_Packet); ok { + if oneof, ok := m.PayloadVariant.(*ToRadio_Packet); ok { if err := oneof.Packet.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } @@ -5013,14 +8469,14 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.PayloadVariant = &FromRadio_Packet{Packet: v} + m.PayloadVariant = &ToRadio_Packet{Packet: v} } iNdEx = postIndex case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MyInfo", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WantConfigId", wireType) } - var msglen int + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5030,36 +8486,36 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF + m.PayloadVariant = &ToRadio_WantConfigId{WantConfigId: v} + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Disconnect", wireType) } - if oneof, ok := m.PayloadVariant.(*FromRadio_MyInfo); ok { - if err := oneof.MyInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - } else { - v := &MyNodeInfo{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break } - m.PayloadVariant = &FromRadio_MyInfo{MyInfo: v} } - iNdEx = postIndex - case 4: + b := bool(v != 0) + m.PayloadVariant = &ToRadio_Disconnect{Disconnect: b} + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5086,21 +8542,21 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*FromRadio_NodeInfo); ok { - if err := oneof.NodeInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.PayloadVariant.(*ToRadio_XmodemPacket); ok { + if err := oneof.XmodemPacket.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := &NodeInfo{} + v := &XModem{} if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.PayloadVariant = &FromRadio_NodeInfo{NodeInfo: v} + m.PayloadVariant = &ToRadio_XmodemPacket{XmodemPacket: v} } iNdEx = postIndex - case 5: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MqttClientProxyMessage", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5127,21 +8583,21 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*FromRadio_Config); ok { - if err := oneof.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.PayloadVariant.(*ToRadio_MqttClientProxyMessage); ok { + if err := oneof.MqttClientProxyMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := &Config{} + v := &MqttClientProxyMessage{} if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.PayloadVariant = &FromRadio_Config{Config: v} + m.PayloadVariant = &ToRadio_MqttClientProxyMessage{MqttClientProxyMessage: v} } iNdEx = postIndex - case 6: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LogRecord", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5168,43 +8624,74 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*FromRadio_LogRecord); ok { - if err := oneof.LogRecord.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.PayloadVariant.(*ToRadio_Heartbeat); ok { + if err := oneof.Heartbeat.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - v := &LogRecord{} + v := &Heartbeat{} if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } - m.PayloadVariant = &FromRadio_LogRecord{LogRecord: v} + m.PayloadVariant = &ToRadio_Heartbeat{Heartbeat: v} } iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ConfigCompleteId", wireType) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - var v uint32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength } - m.PayloadVariant = &FromRadio_ConfigCompleteId{ConfigCompleteId: v} - case 8: + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Compressed) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Compressed: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Compressed: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Rebooted", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Portnum", wireType) } - var v int + m.Portnum = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5214,18 +8701,16 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.Portnum |= PortNum(b&0x7F) << shift if b < 0x80 { break } } - b := bool(v != 0) - m.PayloadVariant = &FromRadio_Rebooted{Rebooted: b} - case 9: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModuleConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5235,38 +8720,82 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*FromRadio_ModuleConfig); ok { - if err := oneof.ModuleConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &ModuleConfig{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.PayloadVariant = &FromRadio_ModuleConfig{ModuleConfig: v} + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} } iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - var msglen int + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NeighborInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NeighborInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeId", wireType) + } + m.NodeId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5276,38 +8805,16 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if oneof, ok := m.PayloadVariant.(*FromRadio_Channel); ok { - if err := oneof.Channel.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &Channel{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + m.NodeId |= uint32(b&0x7F) << shift + if b < 0x80 { + break } - m.PayloadVariant = &FromRadio_Channel{Channel: v} } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QueueStatus", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastSentById", wireType) } - var msglen int + m.LastSentById = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5317,36 +8824,33 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.LastSentById |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeBroadcastIntervalSecs", wireType) } - if oneof, ok := m.PayloadVariant.(*FromRadio_QueueStatus); ok { - if err := oneof.QueueStatus.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + m.NodeBroadcastIntervalSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - } else { - v := &QueueStatus{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeBroadcastIntervalSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break } - m.PayloadVariant = &FromRadio_QueueStatus{QueueStatus: v} } - iNdEx = postIndex - case 12: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Neighbors", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5373,23 +8877,67 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*FromRadio_XmodemPacket); ok { - if err := oneof.XmodemPacket.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &XModem{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.PayloadVariant = &FromRadio_XmodemPacket{XmodemPacket: v} + m.Neighbors = append(m.Neighbors, &Neighbor{}) + if err := m.Neighbors[len(m.Neighbors)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 13: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - var msglen int + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Neighbor) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Neighbor: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Neighbor: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeId", wireType) + } + m.NodeId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5399,38 +8947,37 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.NodeId |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Snr", wireType) } - if postIndex > l { + var v uint32 + if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*FromRadio_Metadata); ok { - if err := oneof.Metadata.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &DeviceMetadata{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.PayloadVariant = &FromRadio_Metadata{Metadata: v} + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Snr = float32(math.Float32frombits(v)) + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LastRxTime", wireType) } - iNdEx = postIndex - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MqttClientProxyMessage", wireType) + m.LastRxTime = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF } - var msglen int + m.LastRxTime = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeBroadcastIntervalSecs", wireType) + } + m.NodeBroadcastIntervalSecs = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5440,33 +8987,11 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.NodeBroadcastIntervalSecs |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if oneof, ok := m.PayloadVariant.(*FromRadio_MqttClientProxyMessage); ok { - if err := oneof.MqttClientProxyMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &MqttClientProxyMessage{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.PayloadVariant = &FromRadio_MqttClientProxyMessage{MqttClientProxyMessage: v} - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -5489,7 +9014,7 @@ func (m *FromRadio) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ToRadio) UnmarshalVT(dAtA []byte) error { +func (m *DeviceMetadata) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5512,17 +9037,88 @@ func (m *ToRadio) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ToRadio: wiretype end group for non-group") + return fmt.Errorf("proto: DeviceMetadata: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ToRadio: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DeviceMetadata: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Packet", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FirmwareVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FirmwareVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceStateVersion", wireType) + } + m.DeviceStateVersion = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DeviceStateVersion |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CanShutdown", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - var msglen int + m.CanShutdown = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasWifi", wireType) + } + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5532,38 +9128,57 @@ func (m *ToRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + m.HasWifi = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasBluetooth", wireType) } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if postIndex > l { - return io.ErrUnexpectedEOF + m.HasBluetooth = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasEthernet", wireType) } - if oneof, ok := m.PayloadVariant.(*ToRadio_Packet); ok { - if err := oneof.Packet.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - } else { - v := &MeshPacket{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break } - m.PayloadVariant = &ToRadio_Packet{Packet: v} } - iNdEx = postIndex - case 3: + m.HasEthernet = bool(v != 0) + case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field WantConfigId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) } - var v uint32 + m.Role = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5573,17 +9188,16 @@ func (m *ToRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint32(b&0x7F) << shift + m.Role |= Config_DeviceConfig_Role(b&0x7F) << shift if b < 0x80 { break } } - m.PayloadVariant = &ToRadio_WantConfigId{WantConfigId: v} - case 4: + case 8: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Disconnect", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PositionFlags", wireType) } - var v int + m.PositionFlags = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5593,18 +9207,16 @@ func (m *ToRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.PositionFlags |= uint32(b&0x7F) << shift if b < 0x80 { break } } - b := bool(v != 0) - m.PayloadVariant = &ToRadio_Disconnect{Disconnect: b} - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", wireType) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HwModel", wireType) } - var msglen int + m.HwModel = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5614,38 +9226,56 @@ func (m *ToRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.HwModel |= HardwareModel(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasRemoteHardware", wireType) } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if postIndex > l { - return io.ErrUnexpectedEOF + m.HasRemoteHardware = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasPKC", wireType) } - if oneof, ok := m.PayloadVariant.(*ToRadio_XmodemPacket); ok { - if err := oneof.XmodemPacket.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - } else { - v := &XModem{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break } - m.PayloadVariant = &ToRadio_XmodemPacket{XmodemPacket: v} } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MqttClientProxyMessage", wireType) + m.HasPKC = bool(v != 0) + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ExcludedModules", wireType) } - var msglen int + m.ExcludedModules = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5655,33 +9285,62 @@ func (m *ToRadio) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.ExcludedModules |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.PayloadVariant.(*ToRadio_MqttClientProxyMessage); ok { - if err := oneof.MqttClientProxyMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &MqttClientProxyMessage{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.PayloadVariant = &ToRadio_MqttClientProxyMessage{MqttClientProxyMessage: v} + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Heartbeat) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - iNdEx = postIndex + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Heartbeat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Heartbeat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -5704,7 +9363,7 @@ func (m *ToRadio) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Compressed) UnmarshalVT(dAtA []byte) error { +func (m *NodeRemoteHardwarePin) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5727,17 +9386,17 @@ func (m *Compressed) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Compressed: wiretype end group for non-group") + return fmt.Errorf("proto: NodeRemoteHardwarePin: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Compressed: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: NodeRemoteHardwarePin: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Portnum", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NodeNum", wireType) } - m.Portnum = 0 + m.NodeNum = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5747,16 +9406,16 @@ func (m *Compressed) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Portnum |= PortNum(b&0x7F) << shift + m.NodeNum |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pin", wireType) } - var byteLen int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5766,24 +9425,26 @@ func (m *Compressed) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + byteLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) - if m.Data == nil { - m.Data = []byte{} + if m.Pin == nil { + m.Pin = &RemoteHardwarePin{} + } + if err := m.Pin.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -5808,7 +9469,7 @@ func (m *Compressed) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { +func (m *ChunkedPayload) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5831,17 +9492,17 @@ func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: NeighborInfo: wiretype end group for non-group") + return fmt.Errorf("proto: ChunkedPayload: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: NeighborInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ChunkedPayload: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PayloadId", wireType) } - m.NodeId = 0 + m.PayloadId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5851,16 +9512,16 @@ func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.NodeId |= uint32(b&0x7F) << shift + m.PayloadId |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field LastSentById", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChunkCount", wireType) } - m.LastSentById = 0 + m.ChunkCount = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5870,16 +9531,16 @@ func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.LastSentById |= uint32(b&0x7F) << shift + m.ChunkCount |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeBroadcastIntervalSecs", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChunkIndex", wireType) } - m.NodeBroadcastIntervalSecs = 0 + m.ChunkIndex = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5889,16 +9550,16 @@ func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.NodeBroadcastIntervalSecs |= uint32(b&0x7F) << shift + m.ChunkIndex |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Neighbors", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PayloadChunk", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5908,24 +9569,24 @@ func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Neighbors = append(m.Neighbors, &Neighbor{}) - if err := m.Neighbors[len(m.Neighbors)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + m.PayloadChunk = append(m.PayloadChunk[:0], dAtA[iNdEx:postIndex]...) + if m.PayloadChunk == nil { + m.PayloadChunk = []byte{} } iNdEx = postIndex default: @@ -5950,7 +9611,7 @@ func (m *NeighborInfo) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Neighbor) UnmarshalVT(dAtA []byte) error { +func (m *ResendChunks) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5973,70 +9634,87 @@ func (m *Neighbor) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Neighbor: wiretype end group for non-group") + return fmt.Errorf("proto: ResendChunks: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Neighbor: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ResendChunks: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeId", wireType) - } - m.NodeId = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + if wireType == 0 { + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - if iNdEx >= l { - return io.ErrUnexpectedEOF + m.Chunks = append(m.Chunks, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - b := dAtA[iNdEx] - iNdEx++ - m.NodeId |= uint32(b&0x7F) << shift - if b < 0x80 { - break + if packedLen < 0 { + return protohelpers.ErrInvalidLength } - } - case 2: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Snr", wireType) - } - var v uint32 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - m.Snr = float32(math.Float32frombits(v)) - case 3: - if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field LastRxTime", wireType) - } - m.LastRxTime = 0 - if (iNdEx + 4) > l { - return io.ErrUnexpectedEOF - } - m.LastRxTime = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NodeBroadcastIntervalSecs", wireType) - } - m.NodeBroadcastIntervalSecs = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + packedLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - m.NodeBroadcastIntervalSecs |= uint32(b&0x7F) << shift - if b < 0x80 { - break + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.Chunks) == 0 { + m.Chunks = make([]uint32, 0, elementCount) + } + for iNdEx < postIndex { + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Chunks = append(m.Chunks, v) } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field Chunks", wireType) } default: iNdEx = preIndex @@ -6060,7 +9738,7 @@ func (m *Neighbor) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *DeviceMetadata) UnmarshalVT(dAtA []byte) error { +func (m *ChunkedPayloadResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6083,88 +9761,17 @@ func (m *DeviceMetadata) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DeviceMetadata: wiretype end group for non-group") + return fmt.Errorf("proto: ChunkedPayloadResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DeviceMetadata: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ChunkedPayloadResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FirmwareVersion", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.FirmwareVersion = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DeviceStateVersion", wireType) - } - m.DeviceStateVersion = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.DeviceStateVersion |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field CanShutdown", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.CanShutdown = bool(v != 0) - case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HasWifi", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PayloadId", wireType) } - var v int + m.PayloadId = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6174,15 +9781,14 @@ func (m *DeviceMetadata) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.PayloadId |= uint32(b&0x7F) << shift if b < 0x80 { break } } - m.HasWifi = bool(v != 0) - case 5: + case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HasBluetooth", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RequestTransfer", wireType) } var v int for shift := uint(0); ; shift += 7 { @@ -6199,10 +9805,11 @@ func (m *DeviceMetadata) UnmarshalVT(dAtA []byte) error { break } } - m.HasBluetooth = bool(v != 0) - case 6: + b := bool(v != 0) + m.PayloadVariant = &ChunkedPayloadResponse_RequestTransfer{RequestTransfer: b} + case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HasEthernet", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AcceptTransfer", wireType) } var v int for shift := uint(0); ; shift += 7 { @@ -6219,31 +9826,13 @@ func (m *DeviceMetadata) UnmarshalVT(dAtA []byte) error { break } } - m.HasEthernet = bool(v != 0) - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) - } - m.Role = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Role |= Config_DeviceConfig_Role(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PositionFlags", wireType) + b := bool(v != 0) + m.PayloadVariant = &ChunkedPayloadResponse_AcceptTransfer{AcceptTransfer: b} + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResendChunks", wireType) } - m.PositionFlags = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6253,50 +9842,33 @@ func (m *DeviceMetadata) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.PositionFlags |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HwModel", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.HwModel = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.HwModel |= HardwareModel(b&0x7F) << shift - if b < 0x80 { - break - } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field HasRemoteHardware", wireType) + if postIndex > l { + return io.ErrUnexpectedEOF } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if oneof, ok := m.PayloadVariant.(*ChunkedPayloadResponse_ResendChunks); ok { + if err := oneof.ResendChunks.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := &ResendChunks{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.PayloadVariant = &ChunkedPayloadResponse_ResendChunks{ResendChunks: v} } - m.HasRemoteHardware = bool(v != 0) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/module_config.pb.go b/meshtastic/module_config.pb.go index f080b5f..942a054 100644 --- a/meshtastic/module_config.pb.go +++ b/meshtastic/module_config.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/module_config.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -72,6 +73,72 @@ func (RemoteHardwarePinType) EnumDescriptor() ([]byte, []int) { return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0} } +type ModuleConfig_DetectionSensorConfig_TriggerType int32 + +const ( + // Event is triggered if pin is low + ModuleConfig_DetectionSensorConfig_LOGIC_LOW ModuleConfig_DetectionSensorConfig_TriggerType = 0 + // Event is triggered if pin is high + ModuleConfig_DetectionSensorConfig_LOGIC_HIGH ModuleConfig_DetectionSensorConfig_TriggerType = 1 + // Event is triggered when pin goes high to low + ModuleConfig_DetectionSensorConfig_FALLING_EDGE ModuleConfig_DetectionSensorConfig_TriggerType = 2 + // Event is triggered when pin goes low to high + ModuleConfig_DetectionSensorConfig_RISING_EDGE ModuleConfig_DetectionSensorConfig_TriggerType = 3 + // Event is triggered on every pin state change, low is considered to be + // "active" + ModuleConfig_DetectionSensorConfig_EITHER_EDGE_ACTIVE_LOW ModuleConfig_DetectionSensorConfig_TriggerType = 4 + // Event is triggered on every pin state change, high is considered to be + // "active" + ModuleConfig_DetectionSensorConfig_EITHER_EDGE_ACTIVE_HIGH ModuleConfig_DetectionSensorConfig_TriggerType = 5 +) + +// Enum value maps for ModuleConfig_DetectionSensorConfig_TriggerType. +var ( + ModuleConfig_DetectionSensorConfig_TriggerType_name = map[int32]string{ + 0: "LOGIC_LOW", + 1: "LOGIC_HIGH", + 2: "FALLING_EDGE", + 3: "RISING_EDGE", + 4: "EITHER_EDGE_ACTIVE_LOW", + 5: "EITHER_EDGE_ACTIVE_HIGH", + } + ModuleConfig_DetectionSensorConfig_TriggerType_value = map[string]int32{ + "LOGIC_LOW": 0, + "LOGIC_HIGH": 1, + "FALLING_EDGE": 2, + "RISING_EDGE": 3, + "EITHER_EDGE_ACTIVE_LOW": 4, + "EITHER_EDGE_ACTIVE_HIGH": 5, + } +) + +func (x ModuleConfig_DetectionSensorConfig_TriggerType) Enum() *ModuleConfig_DetectionSensorConfig_TriggerType { + p := new(ModuleConfig_DetectionSensorConfig_TriggerType) + *p = x + return p +} + +func (x ModuleConfig_DetectionSensorConfig_TriggerType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModuleConfig_DetectionSensorConfig_TriggerType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_module_config_proto_enumTypes[1].Descriptor() +} + +func (ModuleConfig_DetectionSensorConfig_TriggerType) Type() protoreflect.EnumType { + return &file_meshtastic_module_config_proto_enumTypes[1] +} + +func (x ModuleConfig_DetectionSensorConfig_TriggerType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ModuleConfig_DetectionSensorConfig_TriggerType.Descriptor instead. +func (ModuleConfig_DetectionSensorConfig_TriggerType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 4, 0} +} + // Baudrate for codec2 voice type ModuleConfig_AudioConfig_Audio_Baud int32 @@ -124,11 +191,11 @@ func (x ModuleConfig_AudioConfig_Audio_Baud) String() string { } func (ModuleConfig_AudioConfig_Audio_Baud) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_module_config_proto_enumTypes[1].Descriptor() + return file_meshtastic_module_config_proto_enumTypes[2].Descriptor() } func (ModuleConfig_AudioConfig_Audio_Baud) Type() protoreflect.EnumType { - return &file_meshtastic_module_config_proto_enumTypes[1] + return &file_meshtastic_module_config_proto_enumTypes[2] } func (x ModuleConfig_AudioConfig_Audio_Baud) Number() protoreflect.EnumNumber { @@ -137,7 +204,7 @@ func (x ModuleConfig_AudioConfig_Audio_Baud) Number() protoreflect.EnumNumber { // Deprecated: Use ModuleConfig_AudioConfig_Audio_Baud.Descriptor instead. func (ModuleConfig_AudioConfig_Audio_Baud) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 4, 0} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 5, 0} } // TODO: REPLACE @@ -213,11 +280,11 @@ func (x ModuleConfig_SerialConfig_Serial_Baud) String() string { } func (ModuleConfig_SerialConfig_Serial_Baud) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_module_config_proto_enumTypes[2].Descriptor() + return file_meshtastic_module_config_proto_enumTypes[3].Descriptor() } func (ModuleConfig_SerialConfig_Serial_Baud) Type() protoreflect.EnumType { - return &file_meshtastic_module_config_proto_enumTypes[2] + return &file_meshtastic_module_config_proto_enumTypes[3] } func (x ModuleConfig_SerialConfig_Serial_Baud) Number() protoreflect.EnumNumber { @@ -226,7 +293,7 @@ func (x ModuleConfig_SerialConfig_Serial_Baud) Number() protoreflect.EnumNumber // Deprecated: Use ModuleConfig_SerialConfig_Serial_Baud.Descriptor instead. func (ModuleConfig_SerialConfig_Serial_Baud) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 6, 0} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 7, 0} } // TODO: REPLACE @@ -240,6 +307,11 @@ const ( ModuleConfig_SerialConfig_NMEA ModuleConfig_SerialConfig_Serial_Mode = 4 // NMEA messages specifically tailored for CalTopo ModuleConfig_SerialConfig_CALTOPO ModuleConfig_SerialConfig_Serial_Mode = 5 + // Ecowitt WS85 weather station + ModuleConfig_SerialConfig_WS85 ModuleConfig_SerialConfig_Serial_Mode = 6 + // VE.Direct is a serial protocol used by Victron Energy products + // https://beta.ivc.no/wiki/index.php/Victron_VE_Direct_DIY_Cable + ModuleConfig_SerialConfig_VE_DIRECT ModuleConfig_SerialConfig_Serial_Mode = 7 ) // Enum value maps for ModuleConfig_SerialConfig_Serial_Mode. @@ -251,14 +323,18 @@ var ( 3: "TEXTMSG", 4: "NMEA", 5: "CALTOPO", + 6: "WS85", + 7: "VE_DIRECT", } ModuleConfig_SerialConfig_Serial_Mode_value = map[string]int32{ - "DEFAULT": 0, - "SIMPLE": 1, - "PROTO": 2, - "TEXTMSG": 3, - "NMEA": 4, - "CALTOPO": 5, + "DEFAULT": 0, + "SIMPLE": 1, + "PROTO": 2, + "TEXTMSG": 3, + "NMEA": 4, + "CALTOPO": 5, + "WS85": 6, + "VE_DIRECT": 7, } ) @@ -273,11 +349,11 @@ func (x ModuleConfig_SerialConfig_Serial_Mode) String() string { } func (ModuleConfig_SerialConfig_Serial_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_module_config_proto_enumTypes[3].Descriptor() + return file_meshtastic_module_config_proto_enumTypes[4].Descriptor() } func (ModuleConfig_SerialConfig_Serial_Mode) Type() protoreflect.EnumType { - return &file_meshtastic_module_config_proto_enumTypes[3] + return &file_meshtastic_module_config_proto_enumTypes[4] } func (x ModuleConfig_SerialConfig_Serial_Mode) Number() protoreflect.EnumNumber { @@ -286,7 +362,7 @@ func (x ModuleConfig_SerialConfig_Serial_Mode) Number() protoreflect.EnumNumber // Deprecated: Use ModuleConfig_SerialConfig_Serial_Mode.Descriptor instead. func (ModuleConfig_SerialConfig_Serial_Mode) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 6, 1} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 7, 1} } // TODO: REPLACE @@ -346,11 +422,11 @@ func (x ModuleConfig_CannedMessageConfig_InputEventChar) String() string { } func (ModuleConfig_CannedMessageConfig_InputEventChar) Descriptor() protoreflect.EnumDescriptor { - return file_meshtastic_module_config_proto_enumTypes[4].Descriptor() + return file_meshtastic_module_config_proto_enumTypes[5].Descriptor() } func (ModuleConfig_CannedMessageConfig_InputEventChar) Type() protoreflect.EnumType { - return &file_meshtastic_module_config_proto_enumTypes[4] + return &file_meshtastic_module_config_proto_enumTypes[5] } func (x ModuleConfig_CannedMessageConfig_InputEventChar) Number() protoreflect.EnumNumber { @@ -359,18 +435,15 @@ func (x ModuleConfig_CannedMessageConfig_InputEventChar) Number() protoreflect.E // Deprecated: Use ModuleConfig_CannedMessageConfig_InputEventChar.Descriptor instead. func (ModuleConfig_CannedMessageConfig_InputEventChar) EnumDescriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 11, 0} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 12, 0} } // Module Config type ModuleConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // TODO: REPLACE // - // Types that are assignable to PayloadVariant: + // Types that are valid to be assigned to PayloadVariant: // // *ModuleConfig_Mqtt // *ModuleConfig_Serial @@ -386,15 +459,15 @@ type ModuleConfig struct { // *ModuleConfig_DetectionSensor // *ModuleConfig_Paxcounter PayloadVariant isModuleConfig_PayloadVariant `protobuf_oneof:"payload_variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig) Reset() { *x = ModuleConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig) String() string { @@ -405,7 +478,7 @@ func (*ModuleConfig) ProtoMessage() {} func (x *ModuleConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_module_config_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -420,100 +493,126 @@ func (*ModuleConfig) Descriptor() ([]byte, []int) { return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0} } -func (m *ModuleConfig) GetPayloadVariant() isModuleConfig_PayloadVariant { - if m != nil { - return m.PayloadVariant +func (x *ModuleConfig) GetPayloadVariant() isModuleConfig_PayloadVariant { + if x != nil { + return x.PayloadVariant } return nil } func (x *ModuleConfig) GetMqtt() *ModuleConfig_MQTTConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_Mqtt); ok { - return x.Mqtt + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_Mqtt); ok { + return x.Mqtt + } } return nil } func (x *ModuleConfig) GetSerial() *ModuleConfig_SerialConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_Serial); ok { - return x.Serial + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_Serial); ok { + return x.Serial + } } return nil } func (x *ModuleConfig) GetExternalNotification() *ModuleConfig_ExternalNotificationConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_ExternalNotification); ok { - return x.ExternalNotification + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_ExternalNotification); ok { + return x.ExternalNotification + } } return nil } func (x *ModuleConfig) GetStoreForward() *ModuleConfig_StoreForwardConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_StoreForward); ok { - return x.StoreForward + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_StoreForward); ok { + return x.StoreForward + } } return nil } func (x *ModuleConfig) GetRangeTest() *ModuleConfig_RangeTestConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_RangeTest); ok { - return x.RangeTest + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_RangeTest); ok { + return x.RangeTest + } } return nil } func (x *ModuleConfig) GetTelemetry() *ModuleConfig_TelemetryConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_Telemetry); ok { - return x.Telemetry + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_Telemetry); ok { + return x.Telemetry + } } return nil } func (x *ModuleConfig) GetCannedMessage() *ModuleConfig_CannedMessageConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_CannedMessage); ok { - return x.CannedMessage + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_CannedMessage); ok { + return x.CannedMessage + } } return nil } func (x *ModuleConfig) GetAudio() *ModuleConfig_AudioConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_Audio); ok { - return x.Audio + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_Audio); ok { + return x.Audio + } } return nil } func (x *ModuleConfig) GetRemoteHardware() *ModuleConfig_RemoteHardwareConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_RemoteHardware); ok { - return x.RemoteHardware + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_RemoteHardware); ok { + return x.RemoteHardware + } } return nil } func (x *ModuleConfig) GetNeighborInfo() *ModuleConfig_NeighborInfoConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_NeighborInfo); ok { - return x.NeighborInfo + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_NeighborInfo); ok { + return x.NeighborInfo + } } return nil } func (x *ModuleConfig) GetAmbientLighting() *ModuleConfig_AmbientLightingConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_AmbientLighting); ok { - return x.AmbientLighting + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_AmbientLighting); ok { + return x.AmbientLighting + } } return nil } func (x *ModuleConfig) GetDetectionSensor() *ModuleConfig_DetectionSensorConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_DetectionSensor); ok { - return x.DetectionSensor + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_DetectionSensor); ok { + return x.DetectionSensor + } } return nil } func (x *ModuleConfig) GetPaxcounter() *ModuleConfig_PaxcounterConfig { - if x, ok := x.GetPayloadVariant().(*ModuleConfig_Paxcounter); ok { - return x.Paxcounter + if x != nil { + if x, ok := x.PayloadVariant.(*ModuleConfig_Paxcounter); ok { + return x.Paxcounter + } } return nil } @@ -615,25 +714,22 @@ func (*ModuleConfig_Paxcounter) isModuleConfig_PayloadVariant() {} // A GPIO pin definition for remote hardware module type RemoteHardwarePin struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // GPIO Pin number (must match Arduino) GpioPin uint32 `protobuf:"varint,1,opt,name=gpio_pin,json=gpioPin,proto3" json:"gpio_pin,omitempty"` // Name for the GPIO pin (i.e. Front gate, mailbox, etc) Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Type of GPIO access available to consumers on the mesh - Type RemoteHardwarePinType `protobuf:"varint,3,opt,name=type,proto3,enum=meshtastic.RemoteHardwarePinType" json:"type,omitempty"` + Type RemoteHardwarePinType `protobuf:"varint,3,opt,name=type,proto3,enum=meshtastic.RemoteHardwarePinType" json:"type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RemoteHardwarePin) Reset() { *x = RemoteHardwarePin{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RemoteHardwarePin) String() string { @@ -644,7 +740,7 @@ func (*RemoteHardwarePin) ProtoMessage() {} func (x *RemoteHardwarePin) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_module_config_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -682,10 +778,7 @@ func (x *RemoteHardwarePin) GetType() RemoteHardwarePinType { // MQTT Client Config type ModuleConfig_MQTTConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // If a meshtastic node is able to reach the internet it will normally attempt to gateway any channels that are marked as // is_uplink_enabled or is_downlink_enabled. Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` @@ -714,15 +807,19 @@ type ModuleConfig_MQTTConfig struct { Root string `protobuf:"bytes,8,opt,name=root,proto3" json:"root,omitempty"` // If true, we can use the connected phone / client to proxy messages to MQTT instead of a direct connection ProxyToClientEnabled bool `protobuf:"varint,9,opt,name=proxy_to_client_enabled,json=proxyToClientEnabled,proto3" json:"proxy_to_client_enabled,omitempty"` + // If true, we will periodically report unencrypted information about our node to a map via MQTT + MapReportingEnabled bool `protobuf:"varint,10,opt,name=map_reporting_enabled,json=mapReportingEnabled,proto3" json:"map_reporting_enabled,omitempty"` + // Settings for reporting information about our node to a map via MQTT + MapReportSettings *ModuleConfig_MapReportSettings `protobuf:"bytes,11,opt,name=map_report_settings,json=mapReportSettings,proto3" json:"map_report_settings,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_MQTTConfig) Reset() { *x = ModuleConfig_MQTTConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_MQTTConfig) String() string { @@ -733,7 +830,7 @@ func (*ModuleConfig_MQTTConfig) ProtoMessage() {} func (x *ModuleConfig_MQTTConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_module_config_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -811,27 +908,102 @@ func (x *ModuleConfig_MQTTConfig) GetProxyToClientEnabled() bool { return false } +func (x *ModuleConfig_MQTTConfig) GetMapReportingEnabled() bool { + if x != nil { + return x.MapReportingEnabled + } + return false +} + +func (x *ModuleConfig_MQTTConfig) GetMapReportSettings() *ModuleConfig_MapReportSettings { + if x != nil { + return x.MapReportSettings + } + return nil +} + +// Settings for reporting unencrypted information about our node to a map via MQTT +type ModuleConfig_MapReportSettings struct { + state protoimpl.MessageState `protogen:"open.v1"` + // How often we should report our info to the map (in seconds) + PublishIntervalSecs uint32 `protobuf:"varint,1,opt,name=publish_interval_secs,json=publishIntervalSecs,proto3" json:"publish_interval_secs,omitempty"` + // Bits of precision for the location sent (default of 32 is full precision). + PositionPrecision uint32 `protobuf:"varint,2,opt,name=position_precision,json=positionPrecision,proto3" json:"position_precision,omitempty"` + // Whether we have opted-in to report our location to the map + ShouldReportLocation bool `protobuf:"varint,3,opt,name=should_report_location,json=shouldReportLocation,proto3" json:"should_report_location,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModuleConfig_MapReportSettings) Reset() { + *x = ModuleConfig_MapReportSettings{} + mi := &file_meshtastic_module_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModuleConfig_MapReportSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_MapReportSettings) ProtoMessage() {} + +func (x *ModuleConfig_MapReportSettings) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModuleConfig_MapReportSettings.ProtoReflect.Descriptor instead. +func (*ModuleConfig_MapReportSettings) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *ModuleConfig_MapReportSettings) GetPublishIntervalSecs() uint32 { + if x != nil { + return x.PublishIntervalSecs + } + return 0 +} + +func (x *ModuleConfig_MapReportSettings) GetPositionPrecision() uint32 { + if x != nil { + return x.PositionPrecision + } + return 0 +} + +func (x *ModuleConfig_MapReportSettings) GetShouldReportLocation() bool { + if x != nil { + return x.ShouldReportLocation + } + return false +} + // RemoteHardwareModule Config type ModuleConfig_RemoteHardwareConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether the Module is enabled Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // Whether the Module allows consumers to read / write to pins not defined in available_pins AllowUndefinedPinAccess bool `protobuf:"varint,2,opt,name=allow_undefined_pin_access,json=allowUndefinedPinAccess,proto3" json:"allow_undefined_pin_access,omitempty"` // Exposes the available pins to the mesh for reading and writing AvailablePins []*RemoteHardwarePin `protobuf:"bytes,3,rep,name=available_pins,json=availablePins,proto3" json:"available_pins,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_RemoteHardwareConfig) Reset() { *x = ModuleConfig_RemoteHardwareConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_RemoteHardwareConfig) String() string { @@ -841,8 +1013,8 @@ func (x *ModuleConfig_RemoteHardwareConfig) String() string { func (*ModuleConfig_RemoteHardwareConfig) ProtoMessage() {} func (x *ModuleConfig_RemoteHardwareConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[4] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -854,7 +1026,7 @@ func (x *ModuleConfig_RemoteHardwareConfig) ProtoReflect() protoreflect.Message // Deprecated: Use ModuleConfig_RemoteHardwareConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_RemoteHardwareConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 1} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 2} } func (x *ModuleConfig_RemoteHardwareConfig) GetEnabled() bool { @@ -880,24 +1052,24 @@ func (x *ModuleConfig_RemoteHardwareConfig) GetAvailablePins() []*RemoteHardware // NeighborInfoModule Config type ModuleConfig_NeighborInfoConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether the Module is enabled Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // Interval in seconds of how often we should try to send our - // Neighbor Info to the mesh + // Neighbor Info (minimum is 14400, i.e., 4 hours) UpdateInterval uint32 `protobuf:"varint,2,opt,name=update_interval,json=updateInterval,proto3" json:"update_interval,omitempty"` + // Whether in addition to sending it to MQTT and the PhoneAPI, our NeighborInfo should be transmitted over LoRa. + // Note that this is not available on a channel with default key and name. + TransmitOverLora bool `protobuf:"varint,3,opt,name=transmit_over_lora,json=transmitOverLora,proto3" json:"transmit_over_lora,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_NeighborInfoConfig) Reset() { *x = ModuleConfig_NeighborInfoConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_NeighborInfoConfig) String() string { @@ -907,8 +1079,8 @@ func (x *ModuleConfig_NeighborInfoConfig) String() string { func (*ModuleConfig_NeighborInfoConfig) ProtoMessage() {} func (x *ModuleConfig_NeighborInfoConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[5] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -920,7 +1092,7 @@ func (x *ModuleConfig_NeighborInfoConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_NeighborInfoConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_NeighborInfoConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 2} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 3} } func (x *ModuleConfig_NeighborInfoConfig) GetEnabled() bool { @@ -937,19 +1109,25 @@ func (x *ModuleConfig_NeighborInfoConfig) GetUpdateInterval() uint32 { return 0 } +func (x *ModuleConfig_NeighborInfoConfig) GetTransmitOverLora() bool { + if x != nil { + return x.TransmitOverLora + } + return false +} + // Detection Sensor Module Config type ModuleConfig_DetectionSensorConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether the Module is enabled Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - // Interval in seconds of how often we can send a message to the mesh when a state change is detected + // Interval in seconds of how often we can send a message to the mesh when a + // trigger event is detected MinimumBroadcastSecs uint32 `protobuf:"varint,2,opt,name=minimum_broadcast_secs,json=minimumBroadcastSecs,proto3" json:"minimum_broadcast_secs,omitempty"` - // Interval in seconds of how often we should send a message to the mesh with the current state regardless of changes - // When set to 0, only state changes will be broadcasted - // Works as a sort of status heartbeat for peace of mind + // Interval in seconds of how often we should send a message to the mesh + // with the current state regardless of trigger events When set to 0, only + // trigger events will be broadcasted Works as a sort of status heartbeat + // for peace of mind StateBroadcastSecs uint32 `protobuf:"varint,3,opt,name=state_broadcast_secs,json=stateBroadcastSecs,proto3" json:"state_broadcast_secs,omitempty"` // Send ASCII bell with alert message // Useful for triggering ext. notification on bell @@ -960,21 +1138,20 @@ type ModuleConfig_DetectionSensorConfig struct { Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // GPIO pin to monitor for state changes MonitorPin uint32 `protobuf:"varint,6,opt,name=monitor_pin,json=monitorPin,proto3" json:"monitor_pin,omitempty"` - // Whether or not the GPIO pin state detection is triggered on HIGH (1) - // Otherwise LOW (0) - DetectionTriggeredHigh bool `protobuf:"varint,7,opt,name=detection_triggered_high,json=detectionTriggeredHigh,proto3" json:"detection_triggered_high,omitempty"` + // The type of trigger event to be used + DetectionTriggerType ModuleConfig_DetectionSensorConfig_TriggerType `protobuf:"varint,7,opt,name=detection_trigger_type,json=detectionTriggerType,proto3,enum=meshtastic.ModuleConfig_DetectionSensorConfig_TriggerType" json:"detection_trigger_type,omitempty"` // Whether or not use INPUT_PULLUP mode for GPIO pin // Only applicable if the board uses pull-up resistors on the pin - UsePullup bool `protobuf:"varint,8,opt,name=use_pullup,json=usePullup,proto3" json:"use_pullup,omitempty"` + UsePullup bool `protobuf:"varint,8,opt,name=use_pullup,json=usePullup,proto3" json:"use_pullup,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_DetectionSensorConfig) Reset() { *x = ModuleConfig_DetectionSensorConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_DetectionSensorConfig) String() string { @@ -984,8 +1161,8 @@ func (x *ModuleConfig_DetectionSensorConfig) String() string { func (*ModuleConfig_DetectionSensorConfig) ProtoMessage() {} func (x *ModuleConfig_DetectionSensorConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[6] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -997,7 +1174,7 @@ func (x *ModuleConfig_DetectionSensorConfig) ProtoReflect() protoreflect.Message // Deprecated: Use ModuleConfig_DetectionSensorConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_DetectionSensorConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 3} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 4} } func (x *ModuleConfig_DetectionSensorConfig) GetEnabled() bool { @@ -1042,11 +1219,11 @@ func (x *ModuleConfig_DetectionSensorConfig) GetMonitorPin() uint32 { return 0 } -func (x *ModuleConfig_DetectionSensorConfig) GetDetectionTriggeredHigh() bool { +func (x *ModuleConfig_DetectionSensorConfig) GetDetectionTriggerType() ModuleConfig_DetectionSensorConfig_TriggerType { if x != nil { - return x.DetectionTriggeredHigh + return x.DetectionTriggerType } - return false + return ModuleConfig_DetectionSensorConfig_LOGIC_LOW } func (x *ModuleConfig_DetectionSensorConfig) GetUsePullup() bool { @@ -1058,10 +1235,7 @@ func (x *ModuleConfig_DetectionSensorConfig) GetUsePullup() bool { // Audio Config for codec2 voice type ModuleConfig_AudioConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Whether Audio is enabled Codec2Enabled bool `protobuf:"varint,1,opt,name=codec2_enabled,json=codec2Enabled,proto3" json:"codec2_enabled,omitempty"` // PTT Pin @@ -1075,16 +1249,16 @@ type ModuleConfig_AudioConfig struct { // I2S Data OUT I2SDin uint32 `protobuf:"varint,6,opt,name=i2s_din,json=i2sDin,proto3" json:"i2s_din,omitempty"` // I2S Clock - I2SSck uint32 `protobuf:"varint,7,opt,name=i2s_sck,json=i2sSck,proto3" json:"i2s_sck,omitempty"` + I2SSck uint32 `protobuf:"varint,7,opt,name=i2s_sck,json=i2sSck,proto3" json:"i2s_sck,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_AudioConfig) Reset() { *x = ModuleConfig_AudioConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_AudioConfig) String() string { @@ -1094,8 +1268,8 @@ func (x *ModuleConfig_AudioConfig) String() string { func (*ModuleConfig_AudioConfig) ProtoMessage() {} func (x *ModuleConfig_AudioConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[7] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1107,7 +1281,7 @@ func (x *ModuleConfig_AudioConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_AudioConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_AudioConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 4} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 5} } func (x *ModuleConfig_AudioConfig) GetCodec2Enabled() bool { @@ -1161,22 +1335,23 @@ func (x *ModuleConfig_AudioConfig) GetI2SSck() uint32 { // Config for the Paxcounter Module type ModuleConfig_PaxcounterConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Enable the Paxcounter Module Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` PaxcounterUpdateInterval uint32 `protobuf:"varint,2,opt,name=paxcounter_update_interval,json=paxcounterUpdateInterval,proto3" json:"paxcounter_update_interval,omitempty"` + // WiFi RSSI threshold. Defaults to -80 + WifiThreshold int32 `protobuf:"varint,3,opt,name=wifi_threshold,json=wifiThreshold,proto3" json:"wifi_threshold,omitempty"` + // BLE RSSI threshold. Defaults to -80 + BleThreshold int32 `protobuf:"varint,4,opt,name=ble_threshold,json=bleThreshold,proto3" json:"ble_threshold,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_PaxcounterConfig) Reset() { *x = ModuleConfig_PaxcounterConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_PaxcounterConfig) String() string { @@ -1186,8 +1361,8 @@ func (x *ModuleConfig_PaxcounterConfig) String() string { func (*ModuleConfig_PaxcounterConfig) ProtoMessage() {} func (x *ModuleConfig_PaxcounterConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[8] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1199,7 +1374,7 @@ func (x *ModuleConfig_PaxcounterConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_PaxcounterConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_PaxcounterConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 5} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 6} } func (x *ModuleConfig_PaxcounterConfig) GetEnabled() bool { @@ -1216,12 +1391,23 @@ func (x *ModuleConfig_PaxcounterConfig) GetPaxcounterUpdateInterval() uint32 { return 0 } +func (x *ModuleConfig_PaxcounterConfig) GetWifiThreshold() int32 { + if x != nil { + return x.WifiThreshold + } + return 0 +} + +func (x *ModuleConfig_PaxcounterConfig) GetBleThreshold() int32 { + if x != nil { + return x.BleThreshold + } + return 0 +} + // Serial Config type ModuleConfig_SerialConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Preferences for the SerialModule Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // TODO: REPLACE @@ -1240,15 +1426,15 @@ type ModuleConfig_SerialConfig struct { // This is currently only usable in output modes like NMEA / CalTopo and may behave strangely or not work at all in other modes // Existing logging over the Serial Console will still be present OverrideConsoleSerialPort bool `protobuf:"varint,8,opt,name=override_console_serial_port,json=overrideConsoleSerialPort,proto3" json:"override_console_serial_port,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_SerialConfig) Reset() { *x = ModuleConfig_SerialConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_SerialConfig) String() string { @@ -1258,8 +1444,8 @@ func (x *ModuleConfig_SerialConfig) String() string { func (*ModuleConfig_SerialConfig) ProtoMessage() {} func (x *ModuleConfig_SerialConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[9] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1271,7 +1457,7 @@ func (x *ModuleConfig_SerialConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_SerialConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_SerialConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 6} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 7} } func (x *ModuleConfig_SerialConfig) GetEnabled() bool { @@ -1332,10 +1518,7 @@ func (x *ModuleConfig_SerialConfig) GetOverrideConsoleSerialPort() bool { // External Notifications Config type ModuleConfig_ExternalNotificationConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Enable the ExternalNotificationModule Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // When using in On/Off mode, keep the output on for this many @@ -1377,15 +1560,15 @@ type ModuleConfig_ExternalNotificationConfig struct { // When true, enables devices with native I2S audio output to use the RTTTL over speaker like a buzzer // T-Watch S3 and T-Deck for example have this capability UseI2SAsBuzzer bool `protobuf:"varint,15,opt,name=use_i2s_as_buzzer,json=useI2sAsBuzzer,proto3" json:"use_i2s_as_buzzer,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_ExternalNotificationConfig) Reset() { *x = ModuleConfig_ExternalNotificationConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_ExternalNotificationConfig) String() string { @@ -1395,8 +1578,8 @@ func (x *ModuleConfig_ExternalNotificationConfig) String() string { func (*ModuleConfig_ExternalNotificationConfig) ProtoMessage() {} func (x *ModuleConfig_ExternalNotificationConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[10] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1408,7 +1591,7 @@ func (x *ModuleConfig_ExternalNotificationConfig) ProtoReflect() protoreflect.Me // Deprecated: Use ModuleConfig_ExternalNotificationConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_ExternalNotificationConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 7} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 8} } func (x *ModuleConfig_ExternalNotificationConfig) GetEnabled() bool { @@ -1518,10 +1701,7 @@ func (x *ModuleConfig_ExternalNotificationConfig) GetUseI2SAsBuzzer() bool { // Store and Forward Module Config type ModuleConfig_StoreForwardConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Enable the Store and Forward Module Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // TODO: REPLACE @@ -1532,15 +1712,17 @@ type ModuleConfig_StoreForwardConfig struct { HistoryReturnMax uint32 `protobuf:"varint,4,opt,name=history_return_max,json=historyReturnMax,proto3" json:"history_return_max,omitempty"` // TODO: REPLACE HistoryReturnWindow uint32 `protobuf:"varint,5,opt,name=history_return_window,json=historyReturnWindow,proto3" json:"history_return_window,omitempty"` + // Set to true to let this node act as a server that stores received messages and resends them upon request. + IsServer bool `protobuf:"varint,6,opt,name=is_server,json=isServer,proto3" json:"is_server,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_StoreForwardConfig) Reset() { *x = ModuleConfig_StoreForwardConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_StoreForwardConfig) String() string { @@ -1550,8 +1732,8 @@ func (x *ModuleConfig_StoreForwardConfig) String() string { func (*ModuleConfig_StoreForwardConfig) ProtoMessage() {} func (x *ModuleConfig_StoreForwardConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[11] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1563,7 +1745,7 @@ func (x *ModuleConfig_StoreForwardConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_StoreForwardConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_StoreForwardConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 8} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 9} } func (x *ModuleConfig_StoreForwardConfig) GetEnabled() bool { @@ -1601,28 +1783,32 @@ func (x *ModuleConfig_StoreForwardConfig) GetHistoryReturnWindow() uint32 { return 0 } +func (x *ModuleConfig_StoreForwardConfig) GetIsServer() bool { + if x != nil { + return x.IsServer + } + return false +} + // Preferences for the RangeTestModule type ModuleConfig_RangeTestConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Enable the Range Test Module Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // Send out range test messages from this node Sender uint32 `protobuf:"varint,2,opt,name=sender,proto3" json:"sender,omitempty"` // Bool value indicating that this node should save a RangeTest.csv file. // ESP32 Only - Save bool `protobuf:"varint,3,opt,name=save,proto3" json:"save,omitempty"` + Save bool `protobuf:"varint,3,opt,name=save,proto3" json:"save,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_RangeTestConfig) Reset() { *x = ModuleConfig_RangeTestConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_RangeTestConfig) String() string { @@ -1632,8 +1818,8 @@ func (x *ModuleConfig_RangeTestConfig) String() string { func (*ModuleConfig_RangeTestConfig) ProtoMessage() {} func (x *ModuleConfig_RangeTestConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[12] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1645,7 +1831,7 @@ func (x *ModuleConfig_RangeTestConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_RangeTestConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_RangeTestConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 9} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 10} } func (x *ModuleConfig_RangeTestConfig) GetEnabled() bool { @@ -1671,10 +1857,7 @@ func (x *ModuleConfig_RangeTestConfig) GetSave() bool { // Configuration for both device and environment metrics type ModuleConfig_TelemetryConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Interval in seconds of how often we should try to send our // device metrics to the mesh DeviceUpdateInterval uint32 `protobuf:"varint,1,opt,name=device_update_interval,json=deviceUpdateInterval,proto3" json:"device_update_interval,omitempty"` @@ -1692,24 +1875,30 @@ type ModuleConfig_TelemetryConfig struct { // Interval in seconds of how often we should try to send our // air quality metrics to the mesh AirQualityInterval uint32 `protobuf:"varint,7,opt,name=air_quality_interval,json=airQualityInterval,proto3" json:"air_quality_interval,omitempty"` - // Interval in seconds of how often we should try to send our - // air quality metrics to the mesh + // Enable/disable Power metrics PowerMeasurementEnabled bool `protobuf:"varint,8,opt,name=power_measurement_enabled,json=powerMeasurementEnabled,proto3" json:"power_measurement_enabled,omitempty"` // Interval in seconds of how often we should try to send our - // air quality metrics to the mesh + // power metrics to the mesh PowerUpdateInterval uint32 `protobuf:"varint,9,opt,name=power_update_interval,json=powerUpdateInterval,proto3" json:"power_update_interval,omitempty"` - // Interval in seconds of how often we should try to send our - // air quality metrics to the mesh + // Enable/Disable the power measurement module on-device display PowerScreenEnabled bool `protobuf:"varint,10,opt,name=power_screen_enabled,json=powerScreenEnabled,proto3" json:"power_screen_enabled,omitempty"` + // Preferences for the (Health) Telemetry Module + // Enable/Disable the telemetry measurement module measurement collection + HealthMeasurementEnabled bool `protobuf:"varint,11,opt,name=health_measurement_enabled,json=healthMeasurementEnabled,proto3" json:"health_measurement_enabled,omitempty"` + // Interval in seconds of how often we should try to send our + // health metrics to the mesh + HealthUpdateInterval uint32 `protobuf:"varint,12,opt,name=health_update_interval,json=healthUpdateInterval,proto3" json:"health_update_interval,omitempty"` + // Enable/Disable the health telemetry module on-device display + HealthScreenEnabled bool `protobuf:"varint,13,opt,name=health_screen_enabled,json=healthScreenEnabled,proto3" json:"health_screen_enabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_TelemetryConfig) Reset() { *x = ModuleConfig_TelemetryConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_TelemetryConfig) String() string { @@ -1719,8 +1908,8 @@ func (x *ModuleConfig_TelemetryConfig) String() string { func (*ModuleConfig_TelemetryConfig) ProtoMessage() {} func (x *ModuleConfig_TelemetryConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[13] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1732,7 +1921,7 @@ func (x *ModuleConfig_TelemetryConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_TelemetryConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_TelemetryConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 10} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 11} } func (x *ModuleConfig_TelemetryConfig) GetDeviceUpdateInterval() uint32 { @@ -1805,12 +1994,30 @@ func (x *ModuleConfig_TelemetryConfig) GetPowerScreenEnabled() bool { return false } -// TODO: REPLACE -type ModuleConfig_CannedMessageConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ModuleConfig_TelemetryConfig) GetHealthMeasurementEnabled() bool { + if x != nil { + return x.HealthMeasurementEnabled + } + return false +} + +func (x *ModuleConfig_TelemetryConfig) GetHealthUpdateInterval() uint32 { + if x != nil { + return x.HealthUpdateInterval + } + return 0 +} +func (x *ModuleConfig_TelemetryConfig) GetHealthScreenEnabled() bool { + if x != nil { + return x.HealthScreenEnabled + } + return false +} + +// Canned Messages Module Config +type ModuleConfig_CannedMessageConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` // Enable the rotary encoder #1. This is a 'dumb' encoder sending pulses on both A and B pins while rotating. Rotary1Enabled bool `protobuf:"varint,1,opt,name=rotary1_enabled,json=rotary1Enabled,proto3" json:"rotary1_enabled,omitempty"` // GPIO pin for rotary encoder A port. @@ -1830,20 +2037,20 @@ type ModuleConfig_CannedMessageConfig struct { // Enable/disable CannedMessageModule. Enabled bool `protobuf:"varint,9,opt,name=enabled,proto3" json:"enabled,omitempty"` // Input event origin accepted by the canned message module. - // Can be e.g. "rotEnc1", "upDownEnc1" or keyword "_any" + // Can be e.g. "rotEnc1", "upDownEnc1", "scanAndSelect", "cardkb", "serialkb", or keyword "_any" AllowInputSource string `protobuf:"bytes,10,opt,name=allow_input_source,json=allowInputSource,proto3" json:"allow_input_source,omitempty"` // CannedMessageModule also sends a bell character with the messages. // ExternalNotificationModule can benefit from this feature. - SendBell bool `protobuf:"varint,11,opt,name=send_bell,json=sendBell,proto3" json:"send_bell,omitempty"` + SendBell bool `protobuf:"varint,11,opt,name=send_bell,json=sendBell,proto3" json:"send_bell,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_CannedMessageConfig) Reset() { *x = ModuleConfig_CannedMessageConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_CannedMessageConfig) String() string { @@ -1853,8 +2060,8 @@ func (x *ModuleConfig_CannedMessageConfig) String() string { func (*ModuleConfig_CannedMessageConfig) ProtoMessage() {} func (x *ModuleConfig_CannedMessageConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[14] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1866,7 +2073,7 @@ func (x *ModuleConfig_CannedMessageConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ModuleConfig_CannedMessageConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_CannedMessageConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 11} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 12} } func (x *ModuleConfig_CannedMessageConfig) GetRotary1Enabled() bool { @@ -1949,10 +2156,7 @@ func (x *ModuleConfig_CannedMessageConfig) GetSendBell() bool { // Ambient Lighting Module - Settings for control of onboard LEDs to allow users to adjust the brightness levels and respective color levels. // Initially created for the RAK14001 RGB LED module. type ModuleConfig_AmbientLightingConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Sets LED to on or off. LedState bool `protobuf:"varint,1,opt,name=led_state,json=ledState,proto3" json:"led_state,omitempty"` // Sets the current for the LED output. Default is 10. @@ -1962,16 +2166,16 @@ type ModuleConfig_AmbientLightingConfig struct { // Sets the green LED level. Values are 0-255. Green uint32 `protobuf:"varint,4,opt,name=green,proto3" json:"green,omitempty"` // Sets the blue LED level. Values are 0-255. - Blue uint32 `protobuf:"varint,5,opt,name=blue,proto3" json:"blue,omitempty"` + Blue uint32 `protobuf:"varint,5,opt,name=blue,proto3" json:"blue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ModuleConfig_AmbientLightingConfig) Reset() { *x = ModuleConfig_AmbientLightingConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_module_config_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_module_config_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ModuleConfig_AmbientLightingConfig) String() string { @@ -1981,8 +2185,8 @@ func (x *ModuleConfig_AmbientLightingConfig) String() string { func (*ModuleConfig_AmbientLightingConfig) ProtoMessage() {} func (x *ModuleConfig_AmbientLightingConfig) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_module_config_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_module_config_proto_msgTypes[15] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1994,7 +2198,7 @@ func (x *ModuleConfig_AmbientLightingConfig) ProtoReflect() protoreflect.Message // Deprecated: Use ModuleConfig_AmbientLightingConfig.ProtoReflect.Descriptor instead. func (*ModuleConfig_AmbientLightingConfig) Descriptor() ([]byte, []int) { - return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 12} + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 13} } func (x *ModuleConfig_AmbientLightingConfig) GetLedState() bool { @@ -2034,445 +2238,293 @@ func (x *ModuleConfig_AmbientLightingConfig) GetBlue() uint32 { var File_meshtastic_module_config_proto protoreflect.FileDescriptor -var file_meshtastic_module_config_proto_rawDesc = []byte{ - 0x0a, 0x1e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0xdb, 0x2b, 0x0a, - 0x0c, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, - 0x04, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x51, 0x54, 0x54, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x00, 0x52, 0x04, 0x6d, 0x71, 0x74, 0x74, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x6a, 0x0a, 0x15, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, - 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x49, 0x0a, 0x0a, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x73, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x54, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, - 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x00, 0x52, 0x09, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x12, 0x55, - 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x61, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, - 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x05, 0x61, 0x75, - 0x64, 0x69, 0x6f, 0x12, 0x58, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x61, - 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, - 0x64, 0x77, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x12, 0x52, 0x0a, - 0x0d, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, - 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x00, 0x52, 0x0c, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x5b, 0x0a, 0x10, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x67, - 0x68, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x67, - 0x68, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x61, - 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x5b, - 0x0a, 0x10, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x6e, 0x73, - 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x73, - 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x74, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x4b, 0x0a, 0x0a, 0x70, - 0x61, 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x78, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x61, - 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x1a, 0xb6, 0x02, 0x0a, 0x0a, 0x4d, 0x51, 0x54, - 0x54, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x11, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6c, 0x73, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x54, 0x6f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x1a, 0xb3, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, - 0x77, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x6e, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x55, - 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x50, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, - 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, - 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x52, 0x0d, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x50, 0x69, 0x6e, 0x73, 0x1a, 0x57, 0x0a, 0x12, 0x4e, 0x65, 0x69, 0x67, 0x68, - 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x1a, 0xc4, 0x02, 0x0a, 0x15, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, - 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x42, 0x72, 0x6f, - 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x65, 0x63, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, - 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, - 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x65, 0x63, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x65, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x73, 0x65, 0x6e, 0x64, 0x42, 0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, - 0x0b, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x5f, 0x70, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x69, 0x6e, 0x12, 0x38, - 0x0a, 0x18, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x16, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x65, 0x64, 0x48, 0x69, 0x67, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x5f, - 0x70, 0x75, 0x6c, 0x6c, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x73, - 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x75, 0x70, 0x1a, 0xa2, 0x03, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, - 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x32, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x32, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x17, - 0x0a, 0x07, 0x70, 0x74, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x70, 0x74, 0x74, 0x50, 0x69, 0x6e, 0x12, 0x49, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, - 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x42, 0x61, 0x75, 0x64, 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x32, 0x73, 0x5f, 0x77, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x69, 0x32, 0x73, 0x57, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x32, 0x73, - 0x5f, 0x73, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x32, 0x73, 0x53, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x69, 0x32, 0x73, 0x5f, 0x64, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x69, 0x32, 0x73, 0x44, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x32, 0x73, - 0x5f, 0x73, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x69, 0x32, 0x73, 0x53, - 0x63, 0x6b, 0x22, 0xa7, 0x01, 0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x42, 0x61, 0x75, - 0x64, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4f, 0x44, 0x45, 0x43, 0x32, 0x5f, 0x44, 0x45, 0x46, 0x41, - 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x44, 0x45, 0x43, 0x32, 0x5f, - 0x33, 0x32, 0x30, 0x30, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x44, 0x45, 0x43, 0x32, - 0x5f, 0x32, 0x34, 0x30, 0x30, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x44, 0x45, 0x43, - 0x32, 0x5f, 0x31, 0x36, 0x30, 0x30, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x44, 0x45, - 0x43, 0x32, 0x5f, 0x31, 0x34, 0x30, 0x30, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x44, - 0x45, 0x43, 0x32, 0x5f, 0x31, 0x33, 0x30, 0x30, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, - 0x44, 0x45, 0x43, 0x32, 0x5f, 0x31, 0x32, 0x30, 0x30, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x43, - 0x4f, 0x44, 0x45, 0x43, 0x32, 0x5f, 0x37, 0x30, 0x30, 0x10, 0x07, 0x12, 0x0f, 0x0a, 0x0b, 0x43, - 0x4f, 0x44, 0x45, 0x43, 0x32, 0x5f, 0x37, 0x30, 0x30, 0x42, 0x10, 0x08, 0x1a, 0x6a, 0x0a, 0x10, - 0x50, 0x61, 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x70, 0x61, - 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, - 0x70, 0x61, 0x78, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x1a, 0xad, 0x05, 0x0a, 0x0c, 0x53, 0x65, 0x72, - 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x04, 0x65, 0x63, 0x68, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x78, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x78, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x78, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x78, 0x64, 0x12, 0x45, 0x0a, 0x04, 0x62, - 0x61, 0x75, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6d, 0x65, 0x73, 0x68, - 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x42, 0x61, 0x75, 0x64, 0x52, 0x04, 0x62, 0x61, - 0x75, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x45, 0x0a, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x50, 0x6f, 0x72, 0x74, 0x22, 0x8a, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, - 0x42, 0x61, 0x75, 0x64, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x44, 0x45, 0x46, - 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x31, - 0x31, 0x30, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x33, 0x30, 0x30, - 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x36, 0x30, 0x30, 0x10, 0x03, - 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x31, 0x32, 0x30, 0x30, 0x10, 0x04, 0x12, - 0x0d, 0x0a, 0x09, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x32, 0x34, 0x30, 0x30, 0x10, 0x05, 0x12, 0x0d, - 0x0a, 0x09, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x34, 0x38, 0x30, 0x30, 0x10, 0x06, 0x12, 0x0d, 0x0a, - 0x09, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x39, 0x36, 0x30, 0x30, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, - 0x42, 0x41, 0x55, 0x44, 0x5f, 0x31, 0x39, 0x32, 0x30, 0x30, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, - 0x42, 0x41, 0x55, 0x44, 0x5f, 0x33, 0x38, 0x34, 0x30, 0x30, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a, - 0x42, 0x41, 0x55, 0x44, 0x5f, 0x35, 0x37, 0x36, 0x30, 0x30, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, - 0x42, 0x41, 0x55, 0x44, 0x5f, 0x31, 0x31, 0x35, 0x32, 0x30, 0x30, 0x10, 0x0b, 0x12, 0x0f, 0x0a, - 0x0b, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x32, 0x33, 0x30, 0x34, 0x30, 0x30, 0x10, 0x0c, 0x12, 0x0f, - 0x0a, 0x0b, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x34, 0x36, 0x30, 0x38, 0x30, 0x30, 0x10, 0x0d, 0x12, - 0x0f, 0x0a, 0x0b, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x35, 0x37, 0x36, 0x30, 0x30, 0x30, 0x10, 0x0e, - 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x41, 0x55, 0x44, 0x5f, 0x39, 0x32, 0x31, 0x36, 0x30, 0x30, 0x10, - 0x0f, 0x22, 0x55, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, - 0x06, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x45, 0x58, 0x54, 0x4d, 0x53, 0x47, 0x10, - 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4d, 0x45, 0x41, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x43, - 0x41, 0x4c, 0x54, 0x4f, 0x50, 0x4f, 0x10, 0x05, 0x1a, 0xac, 0x04, 0x0a, 0x1a, 0x45, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x5f, 0x76, 0x69, 0x62, 0x72, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x56, 0x69, 0x62, 0x72, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x5f, 0x62, 0x75, 0x7a, 0x7a, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x75, 0x7a, 0x7a, 0x65, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, - 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x61, - 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x76, 0x69, 0x62, - 0x72, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x56, 0x69, 0x62, 0x72, 0x61, 0x12, 0x30, 0x0a, 0x14, 0x61, - 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x75, 0x7a, - 0x7a, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x61, 0x6c, 0x65, 0x72, 0x74, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x75, 0x7a, 0x7a, 0x65, 0x72, 0x12, 0x1d, 0x0a, - 0x0a, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x62, 0x65, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x42, 0x65, 0x6c, 0x6c, 0x12, 0x28, 0x0a, 0x10, - 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, 0x62, 0x65, 0x6c, 0x6c, 0x5f, 0x76, 0x69, 0x62, 0x72, 0x61, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x42, 0x65, 0x6c, - 0x6c, 0x56, 0x69, 0x62, 0x72, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x5f, - 0x62, 0x65, 0x6c, 0x6c, 0x5f, 0x62, 0x75, 0x7a, 0x7a, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x42, 0x65, 0x6c, 0x6c, 0x42, 0x75, 0x7a, 0x7a, - 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x77, 0x6d, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x75, 0x73, 0x65, 0x50, 0x77, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, - 0x61, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x6e, 0x61, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, 0x0a, 0x11, - 0x75, 0x73, 0x65, 0x5f, 0x69, 0x32, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x62, 0x75, 0x7a, 0x7a, 0x65, - 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x49, 0x32, 0x73, 0x41, - 0x73, 0x42, 0x75, 0x7a, 0x7a, 0x65, 0x72, 0x1a, 0xc8, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, - 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x72, - 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x65, 0x61, - 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x68, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x32, - 0x0a, 0x15, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x68, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x1a, 0x57, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x61, 0x76, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x61, 0x76, 0x65, 0x1a, 0xd7, 0x04, 0x0a, 0x0f, - 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x34, 0x0a, 0x16, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x14, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x1b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x65, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x46, 0x0a, 0x1f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, - 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x3c, 0x0a, - 0x1a, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x72, - 0x65, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x18, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x1e, 0x65, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x66, 0x61, 0x68, 0x72, 0x65, 0x6e, 0x68, 0x65, 0x69, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x1c, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x46, 0x61, 0x68, 0x72, 0x65, 0x6e, 0x68, 0x65, 0x69, - 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x61, 0x69, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x61, 0x69, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x12, 0x30, 0x0a, 0x14, 0x61, 0x69, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x12, 0x61, 0x69, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x19, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x61, - 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x61, - 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, - 0x70, 0x6f, 0x77, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x72, - 0x65, 0x65, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x92, 0x06, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x6e, 0x65, 0x64, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x0a, - 0x0f, 0x72, 0x6f, 0x74, 0x61, 0x72, 0x79, 0x31, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x6f, 0x74, 0x61, 0x72, 0x79, 0x31, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, - 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x69, 0x6e, 0x5f, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x50, 0x69, - 0x6e, 0x41, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, - 0x72, 0x5f, 0x70, 0x69, 0x6e, 0x5f, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x42, 0x12, 0x32, - 0x0a, 0x15, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x69, - 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x50, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x6d, 0x0a, 0x14, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, - 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x3b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x52, 0x12, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, - 0x77, 0x12, 0x6f, 0x0a, 0x15, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x63, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x3b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x6f, - 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x61, 0x6e, 0x6e, 0x65, - 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x52, 0x13, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, - 0x63, 0x77, 0x12, 0x73, 0x0a, 0x17, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, - 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x61, - 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, - 0x52, 0x15, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x31, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x75, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x31, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x70, - 0x75, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, - 0x5f, 0x62, 0x65, 0x6c, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6e, - 0x64, 0x42, 0x65, 0x6c, 0x6c, 0x22, 0x63, 0x0a, 0x0e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, - 0x00, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x11, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, - 0x4e, 0x10, 0x12, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x13, 0x12, 0x09, 0x0a, - 0x05, 0x52, 0x49, 0x47, 0x48, 0x54, 0x10, 0x14, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x4c, 0x45, - 0x43, 0x54, 0x10, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x1b, 0x12, 0x0a, - 0x0a, 0x06, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x18, 0x1a, 0x8a, 0x01, 0x0a, 0x15, 0x41, - 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x72, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x67, 0x72, - 0x65, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x22, 0x79, 0x0a, 0x11, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x12, - 0x19, 0x0a, 0x08, 0x67, 0x70, 0x69, 0x6f, 0x5f, 0x70, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x07, 0x67, 0x70, 0x69, 0x6f, 0x50, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x2a, 0x49, 0x0a, 0x15, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, - 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x50, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x44, - 0x49, 0x47, 0x49, 0x54, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, - 0x0d, 0x44, 0x49, 0x47, 0x49, 0x54, 0x41, 0x4c, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x02, - 0x42, 0x67, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, - 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x12, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, - 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, - 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} +const file_meshtastic_module_config_proto_rawDesc = "" + + "\n" + + "\x1emeshtastic/module_config.proto\x12\n" + + "meshtastic\"\xb72\n" + + "\fModuleConfig\x129\n" + + "\x04mqtt\x18\x01 \x01(\v2#.meshtastic.ModuleConfig.MQTTConfigH\x00R\x04mqtt\x12?\n" + + "\x06serial\x18\x02 \x01(\v2%.meshtastic.ModuleConfig.SerialConfigH\x00R\x06serial\x12j\n" + + "\x15external_notification\x18\x03 \x01(\v23.meshtastic.ModuleConfig.ExternalNotificationConfigH\x00R\x14externalNotification\x12R\n" + + "\rstore_forward\x18\x04 \x01(\v2+.meshtastic.ModuleConfig.StoreForwardConfigH\x00R\fstoreForward\x12I\n" + + "\n" + + "range_test\x18\x05 \x01(\v2(.meshtastic.ModuleConfig.RangeTestConfigH\x00R\trangeTest\x12H\n" + + "\ttelemetry\x18\x06 \x01(\v2(.meshtastic.ModuleConfig.TelemetryConfigH\x00R\ttelemetry\x12U\n" + + "\x0ecanned_message\x18\a \x01(\v2,.meshtastic.ModuleConfig.CannedMessageConfigH\x00R\rcannedMessage\x12<\n" + + "\x05audio\x18\b \x01(\v2$.meshtastic.ModuleConfig.AudioConfigH\x00R\x05audio\x12X\n" + + "\x0fremote_hardware\x18\t \x01(\v2-.meshtastic.ModuleConfig.RemoteHardwareConfigH\x00R\x0eremoteHardware\x12R\n" + + "\rneighbor_info\x18\n" + + " \x01(\v2+.meshtastic.ModuleConfig.NeighborInfoConfigH\x00R\fneighborInfo\x12[\n" + + "\x10ambient_lighting\x18\v \x01(\v2..meshtastic.ModuleConfig.AmbientLightingConfigH\x00R\x0fambientLighting\x12[\n" + + "\x10detection_sensor\x18\f \x01(\v2..meshtastic.ModuleConfig.DetectionSensorConfigH\x00R\x0fdetectionSensor\x12K\n" + + "\n" + + "paxcounter\x18\r \x01(\v2).meshtastic.ModuleConfig.PaxcounterConfigH\x00R\n" + + "paxcounter\x1a\xc6\x03\n" + + "\n" + + "MQTTConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12\x18\n" + + "\aaddress\x18\x02 \x01(\tR\aaddress\x12\x1a\n" + + "\busername\x18\x03 \x01(\tR\busername\x12\x1a\n" + + "\bpassword\x18\x04 \x01(\tR\bpassword\x12-\n" + + "\x12encryption_enabled\x18\x05 \x01(\bR\x11encryptionEnabled\x12!\n" + + "\fjson_enabled\x18\x06 \x01(\bR\vjsonEnabled\x12\x1f\n" + + "\vtls_enabled\x18\a \x01(\bR\n" + + "tlsEnabled\x12\x12\n" + + "\x04root\x18\b \x01(\tR\x04root\x125\n" + + "\x17proxy_to_client_enabled\x18\t \x01(\bR\x14proxyToClientEnabled\x122\n" + + "\x15map_reporting_enabled\x18\n" + + " \x01(\bR\x13mapReportingEnabled\x12Z\n" + + "\x13map_report_settings\x18\v \x01(\v2*.meshtastic.ModuleConfig.MapReportSettingsR\x11mapReportSettings\x1a\xac\x01\n" + + "\x11MapReportSettings\x122\n" + + "\x15publish_interval_secs\x18\x01 \x01(\rR\x13publishIntervalSecs\x12-\n" + + "\x12position_precision\x18\x02 \x01(\rR\x11positionPrecision\x124\n" + + "\x16should_report_location\x18\x03 \x01(\bR\x14shouldReportLocation\x1a\xb3\x01\n" + + "\x14RemoteHardwareConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12;\n" + + "\x1aallow_undefined_pin_access\x18\x02 \x01(\bR\x17allowUndefinedPinAccess\x12D\n" + + "\x0eavailable_pins\x18\x03 \x03(\v2\x1d.meshtastic.RemoteHardwarePinR\ravailablePins\x1a\x85\x01\n" + + "\x12NeighborInfoConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12'\n" + + "\x0fupdate_interval\x18\x02 \x01(\rR\x0eupdateInterval\x12,\n" + + "\x12transmit_over_lora\x18\x03 \x01(\bR\x10transmitOverLora\x1a\x87\x04\n" + + "\x15DetectionSensorConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x124\n" + + "\x16minimum_broadcast_secs\x18\x02 \x01(\rR\x14minimumBroadcastSecs\x120\n" + + "\x14state_broadcast_secs\x18\x03 \x01(\rR\x12stateBroadcastSecs\x12\x1b\n" + + "\tsend_bell\x18\x04 \x01(\bR\bsendBell\x12\x12\n" + + "\x04name\x18\x05 \x01(\tR\x04name\x12\x1f\n" + + "\vmonitor_pin\x18\x06 \x01(\rR\n" + + "monitorPin\x12p\n" + + "\x16detection_trigger_type\x18\a \x01(\x0e2:.meshtastic.ModuleConfig.DetectionSensorConfig.TriggerTypeR\x14detectionTriggerType\x12\x1d\n" + + "\n" + + "use_pullup\x18\b \x01(\bR\tusePullup\"\x88\x01\n" + + "\vTriggerType\x12\r\n" + + "\tLOGIC_LOW\x10\x00\x12\x0e\n" + + "\n" + + "LOGIC_HIGH\x10\x01\x12\x10\n" + + "\fFALLING_EDGE\x10\x02\x12\x0f\n" + + "\vRISING_EDGE\x10\x03\x12\x1a\n" + + "\x16EITHER_EDGE_ACTIVE_LOW\x10\x04\x12\x1b\n" + + "\x17EITHER_EDGE_ACTIVE_HIGH\x10\x05\x1a\xa2\x03\n" + + "\vAudioConfig\x12%\n" + + "\x0ecodec2_enabled\x18\x01 \x01(\bR\rcodec2Enabled\x12\x17\n" + + "\aptt_pin\x18\x02 \x01(\rR\x06pttPin\x12I\n" + + "\abitrate\x18\x03 \x01(\x0e2/.meshtastic.ModuleConfig.AudioConfig.Audio_BaudR\abitrate\x12\x15\n" + + "\x06i2s_ws\x18\x04 \x01(\rR\x05i2sWs\x12\x15\n" + + "\x06i2s_sd\x18\x05 \x01(\rR\x05i2sSd\x12\x17\n" + + "\ai2s_din\x18\x06 \x01(\rR\x06i2sDin\x12\x17\n" + + "\ai2s_sck\x18\a \x01(\rR\x06i2sSck\"\xa7\x01\n" + + "\n" + + "Audio_Baud\x12\x12\n" + + "\x0eCODEC2_DEFAULT\x10\x00\x12\x0f\n" + + "\vCODEC2_3200\x10\x01\x12\x0f\n" + + "\vCODEC2_2400\x10\x02\x12\x0f\n" + + "\vCODEC2_1600\x10\x03\x12\x0f\n" + + "\vCODEC2_1400\x10\x04\x12\x0f\n" + + "\vCODEC2_1300\x10\x05\x12\x0f\n" + + "\vCODEC2_1200\x10\x06\x12\x0e\n" + + "\n" + + "CODEC2_700\x10\a\x12\x0f\n" + + "\vCODEC2_700B\x10\b\x1a\xb6\x01\n" + + "\x10PaxcounterConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12<\n" + + "\x1apaxcounter_update_interval\x18\x02 \x01(\rR\x18paxcounterUpdateInterval\x12%\n" + + "\x0ewifi_threshold\x18\x03 \x01(\x05R\rwifiThreshold\x12#\n" + + "\rble_threshold\x18\x04 \x01(\x05R\fbleThreshold\x1a\xc6\x05\n" + + "\fSerialConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12\x12\n" + + "\x04echo\x18\x02 \x01(\bR\x04echo\x12\x10\n" + + "\x03rxd\x18\x03 \x01(\rR\x03rxd\x12\x10\n" + + "\x03txd\x18\x04 \x01(\rR\x03txd\x12E\n" + + "\x04baud\x18\x05 \x01(\x0e21.meshtastic.ModuleConfig.SerialConfig.Serial_BaudR\x04baud\x12\x18\n" + + "\atimeout\x18\x06 \x01(\rR\atimeout\x12E\n" + + "\x04mode\x18\a \x01(\x0e21.meshtastic.ModuleConfig.SerialConfig.Serial_ModeR\x04mode\x12?\n" + + "\x1coverride_console_serial_port\x18\b \x01(\bR\x19overrideConsoleSerialPort\"\x8a\x02\n" + + "\vSerial_Baud\x12\x10\n" + + "\fBAUD_DEFAULT\x10\x00\x12\f\n" + + "\bBAUD_110\x10\x01\x12\f\n" + + "\bBAUD_300\x10\x02\x12\f\n" + + "\bBAUD_600\x10\x03\x12\r\n" + + "\tBAUD_1200\x10\x04\x12\r\n" + + "\tBAUD_2400\x10\x05\x12\r\n" + + "\tBAUD_4800\x10\x06\x12\r\n" + + "\tBAUD_9600\x10\a\x12\x0e\n" + + "\n" + + "BAUD_19200\x10\b\x12\x0e\n" + + "\n" + + "BAUD_38400\x10\t\x12\x0e\n" + + "\n" + + "BAUD_57600\x10\n" + + "\x12\x0f\n" + + "\vBAUD_115200\x10\v\x12\x0f\n" + + "\vBAUD_230400\x10\f\x12\x0f\n" + + "\vBAUD_460800\x10\r\x12\x0f\n" + + "\vBAUD_576000\x10\x0e\x12\x0f\n" + + "\vBAUD_921600\x10\x0f\"n\n" + + "\vSerial_Mode\x12\v\n" + + "\aDEFAULT\x10\x00\x12\n" + + "\n" + + "\x06SIMPLE\x10\x01\x12\t\n" + + "\x05PROTO\x10\x02\x12\v\n" + + "\aTEXTMSG\x10\x03\x12\b\n" + + "\x04NMEA\x10\x04\x12\v\n" + + "\aCALTOPO\x10\x05\x12\b\n" + + "\x04WS85\x10\x06\x12\r\n" + + "\tVE_DIRECT\x10\a\x1a\xac\x04\n" + + "\x1aExternalNotificationConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12\x1b\n" + + "\toutput_ms\x18\x02 \x01(\rR\boutputMs\x12\x16\n" + + "\x06output\x18\x03 \x01(\rR\x06output\x12!\n" + + "\foutput_vibra\x18\b \x01(\rR\voutputVibra\x12#\n" + + "\routput_buzzer\x18\t \x01(\rR\foutputBuzzer\x12\x16\n" + + "\x06active\x18\x04 \x01(\bR\x06active\x12#\n" + + "\ralert_message\x18\x05 \x01(\bR\falertMessage\x12.\n" + + "\x13alert_message_vibra\x18\n" + + " \x01(\bR\x11alertMessageVibra\x120\n" + + "\x14alert_message_buzzer\x18\v \x01(\bR\x12alertMessageBuzzer\x12\x1d\n" + + "\n" + + "alert_bell\x18\x06 \x01(\bR\talertBell\x12(\n" + + "\x10alert_bell_vibra\x18\f \x01(\bR\x0ealertBellVibra\x12*\n" + + "\x11alert_bell_buzzer\x18\r \x01(\bR\x0falertBellBuzzer\x12\x17\n" + + "\ause_pwm\x18\a \x01(\bR\x06usePwm\x12\x1f\n" + + "\vnag_timeout\x18\x0e \x01(\rR\n" + + "nagTimeout\x12)\n" + + "\x11use_i2s_as_buzzer\x18\x0f \x01(\bR\x0euseI2sAsBuzzer\x1a\xe5\x01\n" + + "\x12StoreForwardConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12\x1c\n" + + "\theartbeat\x18\x02 \x01(\bR\theartbeat\x12\x18\n" + + "\arecords\x18\x03 \x01(\rR\arecords\x12,\n" + + "\x12history_return_max\x18\x04 \x01(\rR\x10historyReturnMax\x122\n" + + "\x15history_return_window\x18\x05 \x01(\rR\x13historyReturnWindow\x12\x1b\n" + + "\tis_server\x18\x06 \x01(\bR\bisServer\x1aW\n" + + "\x0fRangeTestConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12\x16\n" + + "\x06sender\x18\x02 \x01(\rR\x06sender\x12\x12\n" + + "\x04save\x18\x03 \x01(\bR\x04save\x1a\xff\x05\n" + + "\x0fTelemetryConfig\x124\n" + + "\x16device_update_interval\x18\x01 \x01(\rR\x14deviceUpdateInterval\x12>\n" + + "\x1benvironment_update_interval\x18\x02 \x01(\rR\x19environmentUpdateInterval\x12F\n" + + "\x1fenvironment_measurement_enabled\x18\x03 \x01(\bR\x1denvironmentMeasurementEnabled\x12<\n" + + "\x1aenvironment_screen_enabled\x18\x04 \x01(\bR\x18environmentScreenEnabled\x12D\n" + + "\x1eenvironment_display_fahrenheit\x18\x05 \x01(\bR\x1cenvironmentDisplayFahrenheit\x12.\n" + + "\x13air_quality_enabled\x18\x06 \x01(\bR\x11airQualityEnabled\x120\n" + + "\x14air_quality_interval\x18\a \x01(\rR\x12airQualityInterval\x12:\n" + + "\x19power_measurement_enabled\x18\b \x01(\bR\x17powerMeasurementEnabled\x122\n" + + "\x15power_update_interval\x18\t \x01(\rR\x13powerUpdateInterval\x120\n" + + "\x14power_screen_enabled\x18\n" + + " \x01(\bR\x12powerScreenEnabled\x12<\n" + + "\x1ahealth_measurement_enabled\x18\v \x01(\bR\x18healthMeasurementEnabled\x124\n" + + "\x16health_update_interval\x18\f \x01(\rR\x14healthUpdateInterval\x122\n" + + "\x15health_screen_enabled\x18\r \x01(\bR\x13healthScreenEnabled\x1a\x92\x06\n" + + "\x13CannedMessageConfig\x12'\n" + + "\x0frotary1_enabled\x18\x01 \x01(\bR\x0erotary1Enabled\x12*\n" + + "\x11inputbroker_pin_a\x18\x02 \x01(\rR\x0finputbrokerPinA\x12*\n" + + "\x11inputbroker_pin_b\x18\x03 \x01(\rR\x0finputbrokerPinB\x122\n" + + "\x15inputbroker_pin_press\x18\x04 \x01(\rR\x13inputbrokerPinPress\x12m\n" + + "\x14inputbroker_event_cw\x18\x05 \x01(\x0e2;.meshtastic.ModuleConfig.CannedMessageConfig.InputEventCharR\x12inputbrokerEventCw\x12o\n" + + "\x15inputbroker_event_ccw\x18\x06 \x01(\x0e2;.meshtastic.ModuleConfig.CannedMessageConfig.InputEventCharR\x13inputbrokerEventCcw\x12s\n" + + "\x17inputbroker_event_press\x18\a \x01(\x0e2;.meshtastic.ModuleConfig.CannedMessageConfig.InputEventCharR\x15inputbrokerEventPress\x12'\n" + + "\x0fupdown1_enabled\x18\b \x01(\bR\x0eupdown1Enabled\x12\x18\n" + + "\aenabled\x18\t \x01(\bR\aenabled\x12,\n" + + "\x12allow_input_source\x18\n" + + " \x01(\tR\x10allowInputSource\x12\x1b\n" + + "\tsend_bell\x18\v \x01(\bR\bsendBell\"c\n" + + "\x0eInputEventChar\x12\b\n" + + "\x04NONE\x10\x00\x12\x06\n" + + "\x02UP\x10\x11\x12\b\n" + + "\x04DOWN\x10\x12\x12\b\n" + + "\x04LEFT\x10\x13\x12\t\n" + + "\x05RIGHT\x10\x14\x12\n" + + "\n" + + "\x06SELECT\x10\n" + + "\x12\b\n" + + "\x04BACK\x10\x1b\x12\n" + + "\n" + + "\x06CANCEL\x10\x18\x1a\x8a\x01\n" + + "\x15AmbientLightingConfig\x12\x1b\n" + + "\tled_state\x18\x01 \x01(\bR\bledState\x12\x18\n" + + "\acurrent\x18\x02 \x01(\rR\acurrent\x12\x10\n" + + "\x03red\x18\x03 \x01(\rR\x03red\x12\x14\n" + + "\x05green\x18\x04 \x01(\rR\x05green\x12\x12\n" + + "\x04blue\x18\x05 \x01(\rR\x04blueB\x11\n" + + "\x0fpayload_variant\"y\n" + + "\x11RemoteHardwarePin\x12\x19\n" + + "\bgpio_pin\x18\x01 \x01(\rR\agpioPin\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x125\n" + + "\x04type\x18\x03 \x01(\x0e2!.meshtastic.RemoteHardwarePinTypeR\x04type*I\n" + + "\x15RemoteHardwarePinType\x12\v\n" + + "\aUNKNOWN\x10\x00\x12\x10\n" + + "\fDIGITAL_READ\x10\x01\x12\x11\n" + + "\rDIGITAL_WRITE\x10\x02Bg\n" + + "\x13com.geeksville.meshB\x12ModuleConfigProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_module_config_proto_rawDescOnce sync.Once - file_meshtastic_module_config_proto_rawDescData = file_meshtastic_module_config_proto_rawDesc + file_meshtastic_module_config_proto_rawDescData []byte ) func file_meshtastic_module_config_proto_rawDescGZIP() []byte { file_meshtastic_module_config_proto_rawDescOnce.Do(func() { - file_meshtastic_module_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_module_config_proto_rawDescData) + file_meshtastic_module_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_module_config_proto_rawDesc), len(file_meshtastic_module_config_proto_rawDesc))) }) return file_meshtastic_module_config_proto_rawDescData } -var file_meshtastic_module_config_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_meshtastic_module_config_proto_msgTypes = make([]protoimpl.MessageInfo, 15) -var file_meshtastic_module_config_proto_goTypes = []interface{}{ +var file_meshtastic_module_config_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_meshtastic_module_config_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_meshtastic_module_config_proto_goTypes = []any{ (RemoteHardwarePinType)(0), // 0: meshtastic.RemoteHardwarePinType - (ModuleConfig_AudioConfig_Audio_Baud)(0), // 1: meshtastic.ModuleConfig.AudioConfig.Audio_Baud - (ModuleConfig_SerialConfig_Serial_Baud)(0), // 2: meshtastic.ModuleConfig.SerialConfig.Serial_Baud - (ModuleConfig_SerialConfig_Serial_Mode)(0), // 3: meshtastic.ModuleConfig.SerialConfig.Serial_Mode - (ModuleConfig_CannedMessageConfig_InputEventChar)(0), // 4: meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar - (*ModuleConfig)(nil), // 5: meshtastic.ModuleConfig - (*RemoteHardwarePin)(nil), // 6: meshtastic.RemoteHardwarePin - (*ModuleConfig_MQTTConfig)(nil), // 7: meshtastic.ModuleConfig.MQTTConfig - (*ModuleConfig_RemoteHardwareConfig)(nil), // 8: meshtastic.ModuleConfig.RemoteHardwareConfig - (*ModuleConfig_NeighborInfoConfig)(nil), // 9: meshtastic.ModuleConfig.NeighborInfoConfig - (*ModuleConfig_DetectionSensorConfig)(nil), // 10: meshtastic.ModuleConfig.DetectionSensorConfig - (*ModuleConfig_AudioConfig)(nil), // 11: meshtastic.ModuleConfig.AudioConfig - (*ModuleConfig_PaxcounterConfig)(nil), // 12: meshtastic.ModuleConfig.PaxcounterConfig - (*ModuleConfig_SerialConfig)(nil), // 13: meshtastic.ModuleConfig.SerialConfig - (*ModuleConfig_ExternalNotificationConfig)(nil), // 14: meshtastic.ModuleConfig.ExternalNotificationConfig - (*ModuleConfig_StoreForwardConfig)(nil), // 15: meshtastic.ModuleConfig.StoreForwardConfig - (*ModuleConfig_RangeTestConfig)(nil), // 16: meshtastic.ModuleConfig.RangeTestConfig - (*ModuleConfig_TelemetryConfig)(nil), // 17: meshtastic.ModuleConfig.TelemetryConfig - (*ModuleConfig_CannedMessageConfig)(nil), // 18: meshtastic.ModuleConfig.CannedMessageConfig - (*ModuleConfig_AmbientLightingConfig)(nil), // 19: meshtastic.ModuleConfig.AmbientLightingConfig + (ModuleConfig_DetectionSensorConfig_TriggerType)(0), // 1: meshtastic.ModuleConfig.DetectionSensorConfig.TriggerType + (ModuleConfig_AudioConfig_Audio_Baud)(0), // 2: meshtastic.ModuleConfig.AudioConfig.Audio_Baud + (ModuleConfig_SerialConfig_Serial_Baud)(0), // 3: meshtastic.ModuleConfig.SerialConfig.Serial_Baud + (ModuleConfig_SerialConfig_Serial_Mode)(0), // 4: meshtastic.ModuleConfig.SerialConfig.Serial_Mode + (ModuleConfig_CannedMessageConfig_InputEventChar)(0), // 5: meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar + (*ModuleConfig)(nil), // 6: meshtastic.ModuleConfig + (*RemoteHardwarePin)(nil), // 7: meshtastic.RemoteHardwarePin + (*ModuleConfig_MQTTConfig)(nil), // 8: meshtastic.ModuleConfig.MQTTConfig + (*ModuleConfig_MapReportSettings)(nil), // 9: meshtastic.ModuleConfig.MapReportSettings + (*ModuleConfig_RemoteHardwareConfig)(nil), // 10: meshtastic.ModuleConfig.RemoteHardwareConfig + (*ModuleConfig_NeighborInfoConfig)(nil), // 11: meshtastic.ModuleConfig.NeighborInfoConfig + (*ModuleConfig_DetectionSensorConfig)(nil), // 12: meshtastic.ModuleConfig.DetectionSensorConfig + (*ModuleConfig_AudioConfig)(nil), // 13: meshtastic.ModuleConfig.AudioConfig + (*ModuleConfig_PaxcounterConfig)(nil), // 14: meshtastic.ModuleConfig.PaxcounterConfig + (*ModuleConfig_SerialConfig)(nil), // 15: meshtastic.ModuleConfig.SerialConfig + (*ModuleConfig_ExternalNotificationConfig)(nil), // 16: meshtastic.ModuleConfig.ExternalNotificationConfig + (*ModuleConfig_StoreForwardConfig)(nil), // 17: meshtastic.ModuleConfig.StoreForwardConfig + (*ModuleConfig_RangeTestConfig)(nil), // 18: meshtastic.ModuleConfig.RangeTestConfig + (*ModuleConfig_TelemetryConfig)(nil), // 19: meshtastic.ModuleConfig.TelemetryConfig + (*ModuleConfig_CannedMessageConfig)(nil), // 20: meshtastic.ModuleConfig.CannedMessageConfig + (*ModuleConfig_AmbientLightingConfig)(nil), // 21: meshtastic.ModuleConfig.AmbientLightingConfig } var file_meshtastic_module_config_proto_depIdxs = []int32{ - 7, // 0: meshtastic.ModuleConfig.mqtt:type_name -> meshtastic.ModuleConfig.MQTTConfig - 13, // 1: meshtastic.ModuleConfig.serial:type_name -> meshtastic.ModuleConfig.SerialConfig - 14, // 2: meshtastic.ModuleConfig.external_notification:type_name -> meshtastic.ModuleConfig.ExternalNotificationConfig - 15, // 3: meshtastic.ModuleConfig.store_forward:type_name -> meshtastic.ModuleConfig.StoreForwardConfig - 16, // 4: meshtastic.ModuleConfig.range_test:type_name -> meshtastic.ModuleConfig.RangeTestConfig - 17, // 5: meshtastic.ModuleConfig.telemetry:type_name -> meshtastic.ModuleConfig.TelemetryConfig - 18, // 6: meshtastic.ModuleConfig.canned_message:type_name -> meshtastic.ModuleConfig.CannedMessageConfig - 11, // 7: meshtastic.ModuleConfig.audio:type_name -> meshtastic.ModuleConfig.AudioConfig - 8, // 8: meshtastic.ModuleConfig.remote_hardware:type_name -> meshtastic.ModuleConfig.RemoteHardwareConfig - 9, // 9: meshtastic.ModuleConfig.neighbor_info:type_name -> meshtastic.ModuleConfig.NeighborInfoConfig - 19, // 10: meshtastic.ModuleConfig.ambient_lighting:type_name -> meshtastic.ModuleConfig.AmbientLightingConfig - 10, // 11: meshtastic.ModuleConfig.detection_sensor:type_name -> meshtastic.ModuleConfig.DetectionSensorConfig - 12, // 12: meshtastic.ModuleConfig.paxcounter:type_name -> meshtastic.ModuleConfig.PaxcounterConfig + 8, // 0: meshtastic.ModuleConfig.mqtt:type_name -> meshtastic.ModuleConfig.MQTTConfig + 15, // 1: meshtastic.ModuleConfig.serial:type_name -> meshtastic.ModuleConfig.SerialConfig + 16, // 2: meshtastic.ModuleConfig.external_notification:type_name -> meshtastic.ModuleConfig.ExternalNotificationConfig + 17, // 3: meshtastic.ModuleConfig.store_forward:type_name -> meshtastic.ModuleConfig.StoreForwardConfig + 18, // 4: meshtastic.ModuleConfig.range_test:type_name -> meshtastic.ModuleConfig.RangeTestConfig + 19, // 5: meshtastic.ModuleConfig.telemetry:type_name -> meshtastic.ModuleConfig.TelemetryConfig + 20, // 6: meshtastic.ModuleConfig.canned_message:type_name -> meshtastic.ModuleConfig.CannedMessageConfig + 13, // 7: meshtastic.ModuleConfig.audio:type_name -> meshtastic.ModuleConfig.AudioConfig + 10, // 8: meshtastic.ModuleConfig.remote_hardware:type_name -> meshtastic.ModuleConfig.RemoteHardwareConfig + 11, // 9: meshtastic.ModuleConfig.neighbor_info:type_name -> meshtastic.ModuleConfig.NeighborInfoConfig + 21, // 10: meshtastic.ModuleConfig.ambient_lighting:type_name -> meshtastic.ModuleConfig.AmbientLightingConfig + 12, // 11: meshtastic.ModuleConfig.detection_sensor:type_name -> meshtastic.ModuleConfig.DetectionSensorConfig + 14, // 12: meshtastic.ModuleConfig.paxcounter:type_name -> meshtastic.ModuleConfig.PaxcounterConfig 0, // 13: meshtastic.RemoteHardwarePin.type:type_name -> meshtastic.RemoteHardwarePinType - 6, // 14: meshtastic.ModuleConfig.RemoteHardwareConfig.available_pins:type_name -> meshtastic.RemoteHardwarePin - 1, // 15: meshtastic.ModuleConfig.AudioConfig.bitrate:type_name -> meshtastic.ModuleConfig.AudioConfig.Audio_Baud - 2, // 16: meshtastic.ModuleConfig.SerialConfig.baud:type_name -> meshtastic.ModuleConfig.SerialConfig.Serial_Baud - 3, // 17: meshtastic.ModuleConfig.SerialConfig.mode:type_name -> meshtastic.ModuleConfig.SerialConfig.Serial_Mode - 4, // 18: meshtastic.ModuleConfig.CannedMessageConfig.inputbroker_event_cw:type_name -> meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar - 4, // 19: meshtastic.ModuleConfig.CannedMessageConfig.inputbroker_event_ccw:type_name -> meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar - 4, // 20: meshtastic.ModuleConfig.CannedMessageConfig.inputbroker_event_press:type_name -> meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar - 21, // [21:21] is the sub-list for method output_type - 21, // [21:21] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name + 9, // 14: meshtastic.ModuleConfig.MQTTConfig.map_report_settings:type_name -> meshtastic.ModuleConfig.MapReportSettings + 7, // 15: meshtastic.ModuleConfig.RemoteHardwareConfig.available_pins:type_name -> meshtastic.RemoteHardwarePin + 1, // 16: meshtastic.ModuleConfig.DetectionSensorConfig.detection_trigger_type:type_name -> meshtastic.ModuleConfig.DetectionSensorConfig.TriggerType + 2, // 17: meshtastic.ModuleConfig.AudioConfig.bitrate:type_name -> meshtastic.ModuleConfig.AudioConfig.Audio_Baud + 3, // 18: meshtastic.ModuleConfig.SerialConfig.baud:type_name -> meshtastic.ModuleConfig.SerialConfig.Serial_Baud + 4, // 19: meshtastic.ModuleConfig.SerialConfig.mode:type_name -> meshtastic.ModuleConfig.SerialConfig.Serial_Mode + 5, // 20: meshtastic.ModuleConfig.CannedMessageConfig.inputbroker_event_cw:type_name -> meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar + 5, // 21: meshtastic.ModuleConfig.CannedMessageConfig.inputbroker_event_ccw:type_name -> meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar + 5, // 22: meshtastic.ModuleConfig.CannedMessageConfig.inputbroker_event_press:type_name -> meshtastic.ModuleConfig.CannedMessageConfig.InputEventChar + 23, // [23:23] is the sub-list for method output_type + 23, // [23:23] is the sub-list for method input_type + 23, // [23:23] is the sub-list for extension type_name + 23, // [23:23] is the sub-list for extension extendee + 0, // [0:23] is the sub-list for field type_name } func init() { file_meshtastic_module_config_proto_init() } @@ -2480,189 +2532,7 @@ func file_meshtastic_module_config_proto_init() { if File_meshtastic_module_config_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_module_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoteHardwarePin); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_MQTTConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_RemoteHardwareConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_NeighborInfoConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_DetectionSensorConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_AudioConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_PaxcounterConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_SerialConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_ExternalNotificationConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_StoreForwardConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_RangeTestConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_TelemetryConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_CannedMessageConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_module_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModuleConfig_AmbientLightingConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_module_config_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_meshtastic_module_config_proto_msgTypes[0].OneofWrappers = []any{ (*ModuleConfig_Mqtt)(nil), (*ModuleConfig_Serial)(nil), (*ModuleConfig_ExternalNotification)(nil), @@ -2681,9 +2551,9 @@ func file_meshtastic_module_config_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_module_config_proto_rawDesc, - NumEnums: 5, - NumMessages: 15, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_module_config_proto_rawDesc), len(file_meshtastic_module_config_proto_rawDesc)), + NumEnums: 6, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, @@ -2693,7 +2563,6 @@ func file_meshtastic_module_config_proto_init() { MessageInfos: file_meshtastic_module_config_proto_msgTypes, }.Build() File_meshtastic_module_config_proto = out.File - file_meshtastic_module_config_proto_rawDesc = nil file_meshtastic_module_config_proto_goTypes = nil file_meshtastic_module_config_proto_depIdxs = nil } diff --git a/meshtastic/module_config_vtproto.pb.go b/meshtastic/module_config_vtproto.pb.go index 272cb64..a7a0b1f 100644 --- a/meshtastic/module_config_vtproto.pb.go +++ b/meshtastic/module_config_vtproto.pb.go @@ -48,6 +48,26 @@ func (m *ModuleConfig_MQTTConfig) MarshalToSizedBufferVT(dAtA []byte) (int, erro i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.MapReportSettings != nil { + size, err := m.MapReportSettings.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + if m.MapReportingEnabled { + i-- + if m.MapReportingEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } if m.ProxyToClientEnabled { i-- if m.ProxyToClientEnabled { @@ -129,6 +149,59 @@ func (m *ModuleConfig_MQTTConfig) MarshalToSizedBufferVT(dAtA []byte) (int, erro return len(dAtA) - i, nil } +func (m *ModuleConfig_MapReportSettings) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_MapReportSettings) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_MapReportSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ShouldReportLocation { + i-- + if m.ShouldReportLocation { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.PositionPrecision != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionPrecision)) + i-- + dAtA[i] = 0x10 + } + if m.PublishIntervalSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PublishIntervalSecs)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + func (m *ModuleConfig_RemoteHardwareConfig) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -224,6 +297,16 @@ func (m *ModuleConfig_NeighborInfoConfig) MarshalToSizedBufferVT(dAtA []byte) (i i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.TransmitOverLora { + i-- + if m.TransmitOverLora { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } if m.UpdateInterval != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UpdateInterval)) i-- @@ -282,13 +365,8 @@ func (m *ModuleConfig_DetectionSensorConfig) MarshalToSizedBufferVT(dAtA []byte) i-- dAtA[i] = 0x40 } - if m.DetectionTriggeredHigh { - i-- - if m.DetectionTriggeredHigh { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } + if m.DetectionTriggerType != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DetectionTriggerType)) i-- dAtA[i] = 0x38 } @@ -440,6 +518,16 @@ func (m *ModuleConfig_PaxcounterConfig) MarshalToSizedBufferVT(dAtA []byte) (int i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.BleThreshold != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BleThreshold)) + i-- + dAtA[i] = 0x20 + } + if m.WifiThreshold != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WifiThreshold)) + i-- + dAtA[i] = 0x18 + } if m.PaxcounterUpdateInterval != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PaxcounterUpdateInterval)) i-- @@ -734,6 +822,16 @@ func (m *ModuleConfig_StoreForwardConfig) MarshalToSizedBufferVT(dAtA []byte) (i i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsServer { + i-- + if m.IsServer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } if m.HistoryReturnWindow != 0 { i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HistoryReturnWindow)) i-- @@ -860,6 +958,31 @@ func (m *ModuleConfig_TelemetryConfig) MarshalToSizedBufferVT(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.HealthScreenEnabled { + i-- + if m.HealthScreenEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } + if m.HealthUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HealthUpdateInterval)) + i-- + dAtA[i] = 0x60 + } + if m.HealthMeasurementEnabled { + i-- + if m.HealthMeasurementEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } if m.PowerScreenEnabled { i-- if m.PowerScreenEnabled { @@ -1492,6 +1615,32 @@ func (m *ModuleConfig_MQTTConfig) SizeVT() (n int) { if m.ProxyToClientEnabled { n += 2 } + if m.MapReportingEnabled { + n += 2 + } + if m.MapReportSettings != nil { + l = m.MapReportSettings.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_MapReportSettings) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PublishIntervalSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PublishIntervalSecs)) + } + if m.PositionPrecision != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PositionPrecision)) + } + if m.ShouldReportLocation { + n += 2 + } n += len(m.unknownFields) return n } @@ -1530,6 +1679,9 @@ func (m *ModuleConfig_NeighborInfoConfig) SizeVT() (n int) { if m.UpdateInterval != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.UpdateInterval)) } + if m.TransmitOverLora { + n += 2 + } n += len(m.unknownFields) return n } @@ -1559,8 +1711,8 @@ func (m *ModuleConfig_DetectionSensorConfig) SizeVT() (n int) { if m.MonitorPin != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.MonitorPin)) } - if m.DetectionTriggeredHigh { - n += 2 + if m.DetectionTriggerType != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.DetectionTriggerType)) } if m.UsePullup { n += 2 @@ -1612,6 +1764,12 @@ func (m *ModuleConfig_PaxcounterConfig) SizeVT() (n int) { if m.PaxcounterUpdateInterval != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.PaxcounterUpdateInterval)) } + if m.WifiThreshold != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.WifiThreshold)) + } + if m.BleThreshold != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.BleThreshold)) + } n += len(m.unknownFields) return n } @@ -1726,6 +1884,9 @@ func (m *ModuleConfig_StoreForwardConfig) SizeVT() (n int) { if m.HistoryReturnWindow != 0 { n += 1 + protohelpers.SizeOfVarint(uint64(m.HistoryReturnWindow)) } + if m.IsServer { + n += 2 + } n += len(m.unknownFields) return n } @@ -1785,6 +1946,15 @@ func (m *ModuleConfig_TelemetryConfig) SizeVT() (n int) { if m.PowerScreenEnabled { n += 2 } + if m.HealthMeasurementEnabled { + n += 2 + } + if m.HealthUpdateInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HealthUpdateInterval)) + } + if m.HealthScreenEnabled { + n += 2 + } n += len(m.unknownFields) return n } @@ -2304,6 +2474,171 @@ func (m *ModuleConfig_MQTTConfig) UnmarshalVT(dAtA []byte) error { } } m.ProxyToClientEnabled = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MapReportingEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MapReportingEnabled = bool(v != 0) + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MapReportSettings", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MapReportSettings == nil { + m.MapReportSettings = &ModuleConfig_MapReportSettings{} + } + if err := m.MapReportSettings.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ModuleConfig_MapReportSettings) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ModuleConfig_MapReportSettings: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_MapReportSettings: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PublishIntervalSecs", wireType) + } + m.PublishIntervalSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PublishIntervalSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionPrecision", wireType) + } + m.PositionPrecision = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionPrecision |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShouldReportLocation", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ShouldReportLocation = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -2519,6 +2854,26 @@ func (m *ModuleConfig_NeighborInfoConfig) UnmarshalVT(dAtA []byte) error { break } } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TransmitOverLora", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TransmitOverLora = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -2701,9 +3056,9 @@ func (m *ModuleConfig_DetectionSensorConfig) UnmarshalVT(dAtA []byte) error { } case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field DetectionTriggeredHigh", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DetectionTriggerType", wireType) } - var v int + m.DetectionTriggerType = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -2713,12 +3068,11 @@ func (m *ModuleConfig_DetectionSensorConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.DetectionTriggerType |= ModuleConfig_DetectionSensorConfig_TriggerType(b&0x7F) << shift if b < 0x80 { break } } - m.DetectionTriggeredHigh = bool(v != 0) case 8: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field UsePullup", wireType) @@ -3014,6 +3368,44 @@ func (m *ModuleConfig_PaxcounterConfig) UnmarshalVT(dAtA []byte) error { break } } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WifiThreshold", wireType) + } + m.WifiThreshold = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.WifiThreshold |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BleThreshold", wireType) + } + m.BleThreshold = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BleThreshold |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3714,6 +4106,26 @@ func (m *ModuleConfig_StoreForwardConfig) UnmarshalVT(dAtA []byte) error { break } } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsServer", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsServer = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -4071,6 +4483,65 @@ func (m *ModuleConfig_TelemetryConfig) UnmarshalVT(dAtA []byte) error { } } m.PowerScreenEnabled = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HealthMeasurementEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.HealthMeasurementEnabled = bool(v != 0) + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HealthUpdateInterval", wireType) + } + m.HealthUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HealthUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HealthScreenEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.HealthScreenEnabled = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/mqtt.pb.go b/meshtastic/mqtt.pb.go index ea3e5c7..8a2e579 100644 --- a/meshtastic/mqtt.pb.go +++ b/meshtastic/mqtt.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/mqtt.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,10 +23,7 @@ const ( // This message wraps a MeshPacket with extra metadata about the sender and how it arrived. type ServiceEnvelope struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // The (probably encrypted) packet Packet *MeshPacket `protobuf:"bytes,1,opt,name=packet,proto3" json:"packet,omitempty"` // The global channel ID it was sent on @@ -33,16 +31,16 @@ type ServiceEnvelope struct { // The sending gateway node ID. Can we use this to authenticate/prevent fake // nodeid impersonation for senders? - i.e. use gateway/mesh id (which is authenticated) + local node id as // the globally trusted nodenum - GatewayId string `protobuf:"bytes,3,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"` + GatewayId string `protobuf:"bytes,3,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ServiceEnvelope) Reset() { *x = ServiceEnvelope{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_mqtt_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_mqtt_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ServiceEnvelope) String() string { @@ -53,7 +51,7 @@ func (*ServiceEnvelope) ProtoMessage() {} func (x *ServiceEnvelope) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_mqtt_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -89,54 +87,239 @@ func (x *ServiceEnvelope) GetGatewayId() string { return "" } -var File_meshtastic_mqtt_proto protoreflect.FileDescriptor +// Information about a node intended to be reported unencrypted to a map using MQTT. +type MapReport struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A full name for this user, i.e. "Kevin Hester" + LongName string `protobuf:"bytes,1,opt,name=long_name,json=longName,proto3" json:"long_name,omitempty"` + // A VERY short name, ideally two characters. + // Suitable for a tiny OLED screen + ShortName string `protobuf:"bytes,2,opt,name=short_name,json=shortName,proto3" json:"short_name,omitempty"` + // Role of the node that applies specific settings for a particular use-case + Role Config_DeviceConfig_Role `protobuf:"varint,3,opt,name=role,proto3,enum=meshtastic.Config_DeviceConfig_Role" json:"role,omitempty"` + // Hardware model of the node, i.e. T-Beam, Heltec V3, etc... + HwModel HardwareModel `protobuf:"varint,4,opt,name=hw_model,json=hwModel,proto3,enum=meshtastic.HardwareModel" json:"hw_model,omitempty"` + // Device firmware version string + FirmwareVersion string `protobuf:"bytes,5,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"` + // The region code for the radio (US, CN, EU433, etc...) + Region Config_LoRaConfig_RegionCode `protobuf:"varint,6,opt,name=region,proto3,enum=meshtastic.Config_LoRaConfig_RegionCode" json:"region,omitempty"` + // Modem preset used by the radio (LongFast, MediumSlow, etc...) + ModemPreset Config_LoRaConfig_ModemPreset `protobuf:"varint,7,opt,name=modem_preset,json=modemPreset,proto3,enum=meshtastic.Config_LoRaConfig_ModemPreset" json:"modem_preset,omitempty"` + // Whether the node has a channel with default PSK and name (LongFast, MediumSlow, etc...) + // and it uses the default frequency slot given the region and modem preset. + HasDefaultChannel bool `protobuf:"varint,8,opt,name=has_default_channel,json=hasDefaultChannel,proto3" json:"has_default_channel,omitempty"` + // Latitude: multiply by 1e-7 to get degrees in floating point + LatitudeI int32 `protobuf:"fixed32,9,opt,name=latitude_i,json=latitudeI,proto3" json:"latitude_i,omitempty"` + // Longitude: multiply by 1e-7 to get degrees in floating point + LongitudeI int32 `protobuf:"fixed32,10,opt,name=longitude_i,json=longitudeI,proto3" json:"longitude_i,omitempty"` + // Altitude in meters above MSL + Altitude int32 `protobuf:"varint,11,opt,name=altitude,proto3" json:"altitude,omitempty"` + // Indicates the bits of precision for latitude and longitude set by the sending node + PositionPrecision uint32 `protobuf:"varint,12,opt,name=position_precision,json=positionPrecision,proto3" json:"position_precision,omitempty"` + // Number of online nodes (heard in the last 2 hours) this node has in its list that were received locally (not via MQTT) + NumOnlineLocalNodes uint32 `protobuf:"varint,13,opt,name=num_online_local_nodes,json=numOnlineLocalNodes,proto3" json:"num_online_local_nodes,omitempty"` + // User has opted in to share their location (map report) with the mqtt server + // Controlled by map_report.should_report_location + HasOptedReportLocation bool `protobuf:"varint,14,opt,name=has_opted_report_location,json=hasOptedReportLocation,proto3" json:"has_opted_report_location,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MapReport) Reset() { + *x = MapReport{} + mi := &file_meshtastic_mqtt_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MapReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapReport) ProtoMessage() {} + +func (x *MapReport) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mqtt_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MapReport.ProtoReflect.Descriptor instead. +func (*MapReport) Descriptor() ([]byte, []int) { + return file_meshtastic_mqtt_proto_rawDescGZIP(), []int{1} +} -var file_meshtastic_mqtt_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x71, 0x74, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x1a, 0x15, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, - 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x0f, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x2e, 0x0a, - 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x42, 0x5f, 0x0a, 0x13, 0x63, - 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x42, 0x0a, 0x4d, 0x51, 0x54, 0x54, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, +func (x *MapReport) GetLongName() string { + if x != nil { + return x.LongName + } + return "" } +func (x *MapReport) GetShortName() string { + if x != nil { + return x.ShortName + } + return "" +} + +func (x *MapReport) GetRole() Config_DeviceConfig_Role { + if x != nil { + return x.Role + } + return Config_DeviceConfig_CLIENT +} + +func (x *MapReport) GetHwModel() HardwareModel { + if x != nil { + return x.HwModel + } + return HardwareModel_UNSET +} + +func (x *MapReport) GetFirmwareVersion() string { + if x != nil { + return x.FirmwareVersion + } + return "" +} + +func (x *MapReport) GetRegion() Config_LoRaConfig_RegionCode { + if x != nil { + return x.Region + } + return Config_LoRaConfig_UNSET +} + +func (x *MapReport) GetModemPreset() Config_LoRaConfig_ModemPreset { + if x != nil { + return x.ModemPreset + } + return Config_LoRaConfig_LONG_FAST +} + +func (x *MapReport) GetHasDefaultChannel() bool { + if x != nil { + return x.HasDefaultChannel + } + return false +} + +func (x *MapReport) GetLatitudeI() int32 { + if x != nil { + return x.LatitudeI + } + return 0 +} + +func (x *MapReport) GetLongitudeI() int32 { + if x != nil { + return x.LongitudeI + } + return 0 +} + +func (x *MapReport) GetAltitude() int32 { + if x != nil { + return x.Altitude + } + return 0 +} + +func (x *MapReport) GetPositionPrecision() uint32 { + if x != nil { + return x.PositionPrecision + } + return 0 +} + +func (x *MapReport) GetNumOnlineLocalNodes() uint32 { + if x != nil { + return x.NumOnlineLocalNodes + } + return 0 +} + +func (x *MapReport) GetHasOptedReportLocation() bool { + if x != nil { + return x.HasOptedReportLocation + } + return false +} + +var File_meshtastic_mqtt_proto protoreflect.FileDescriptor + +const file_meshtastic_mqtt_proto_rawDesc = "" + + "\n" + + "\x15meshtastic/mqtt.proto\x12\n" + + "meshtastic\x1a\x17meshtastic/config.proto\x1a\x15meshtastic/mesh.proto\"\x7f\n" + + "\x0fServiceEnvelope\x12.\n" + + "\x06packet\x18\x01 \x01(\v2\x16.meshtastic.MeshPacketR\x06packet\x12\x1d\n" + + "\n" + + "channel_id\x18\x02 \x01(\tR\tchannelId\x12\x1d\n" + + "\n" + + "gateway_id\x18\x03 \x01(\tR\tgatewayId\"\x9d\x05\n" + + "\tMapReport\x12\x1b\n" + + "\tlong_name\x18\x01 \x01(\tR\blongName\x12\x1d\n" + + "\n" + + "short_name\x18\x02 \x01(\tR\tshortName\x128\n" + + "\x04role\x18\x03 \x01(\x0e2$.meshtastic.Config.DeviceConfig.RoleR\x04role\x124\n" + + "\bhw_model\x18\x04 \x01(\x0e2\x19.meshtastic.HardwareModelR\ahwModel\x12)\n" + + "\x10firmware_version\x18\x05 \x01(\tR\x0ffirmwareVersion\x12@\n" + + "\x06region\x18\x06 \x01(\x0e2(.meshtastic.Config.LoRaConfig.RegionCodeR\x06region\x12L\n" + + "\fmodem_preset\x18\a \x01(\x0e2).meshtastic.Config.LoRaConfig.ModemPresetR\vmodemPreset\x12.\n" + + "\x13has_default_channel\x18\b \x01(\bR\x11hasDefaultChannel\x12\x1d\n" + + "\n" + + "latitude_i\x18\t \x01(\x0fR\tlatitudeI\x12\x1f\n" + + "\vlongitude_i\x18\n" + + " \x01(\x0fR\n" + + "longitudeI\x12\x1a\n" + + "\baltitude\x18\v \x01(\x05R\baltitude\x12-\n" + + "\x12position_precision\x18\f \x01(\rR\x11positionPrecision\x123\n" + + "\x16num_online_local_nodes\x18\r \x01(\rR\x13numOnlineLocalNodes\x129\n" + + "\x19has_opted_report_location\x18\x0e \x01(\bR\x16hasOptedReportLocationB_\n" + + "\x13com.geeksville.meshB\n" + + "MQTTProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + var ( file_meshtastic_mqtt_proto_rawDescOnce sync.Once - file_meshtastic_mqtt_proto_rawDescData = file_meshtastic_mqtt_proto_rawDesc + file_meshtastic_mqtt_proto_rawDescData []byte ) func file_meshtastic_mqtt_proto_rawDescGZIP() []byte { file_meshtastic_mqtt_proto_rawDescOnce.Do(func() { - file_meshtastic_mqtt_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_mqtt_proto_rawDescData) + file_meshtastic_mqtt_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_mqtt_proto_rawDesc), len(file_meshtastic_mqtt_proto_rawDesc))) }) return file_meshtastic_mqtt_proto_rawDescData } -var file_meshtastic_mqtt_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_mqtt_proto_goTypes = []interface{}{ - (*ServiceEnvelope)(nil), // 0: meshtastic.ServiceEnvelope - (*MeshPacket)(nil), // 1: meshtastic.MeshPacket +var file_meshtastic_mqtt_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_meshtastic_mqtt_proto_goTypes = []any{ + (*ServiceEnvelope)(nil), // 0: meshtastic.ServiceEnvelope + (*MapReport)(nil), // 1: meshtastic.MapReport + (*MeshPacket)(nil), // 2: meshtastic.MeshPacket + (Config_DeviceConfig_Role)(0), // 3: meshtastic.Config.DeviceConfig.Role + (HardwareModel)(0), // 4: meshtastic.HardwareModel + (Config_LoRaConfig_RegionCode)(0), // 5: meshtastic.Config.LoRaConfig.RegionCode + (Config_LoRaConfig_ModemPreset)(0), // 6: meshtastic.Config.LoRaConfig.ModemPreset } var file_meshtastic_mqtt_proto_depIdxs = []int32{ - 1, // 0: meshtastic.ServiceEnvelope.packet:type_name -> meshtastic.MeshPacket - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name + 2, // 0: meshtastic.ServiceEnvelope.packet:type_name -> meshtastic.MeshPacket + 3, // 1: meshtastic.MapReport.role:type_name -> meshtastic.Config.DeviceConfig.Role + 4, // 2: meshtastic.MapReport.hw_model:type_name -> meshtastic.HardwareModel + 5, // 3: meshtastic.MapReport.region:type_name -> meshtastic.Config.LoRaConfig.RegionCode + 6, // 4: meshtastic.MapReport.modem_preset:type_name -> meshtastic.Config.LoRaConfig.ModemPreset + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_meshtastic_mqtt_proto_init() } @@ -144,28 +327,15 @@ func file_meshtastic_mqtt_proto_init() { if File_meshtastic_mqtt_proto != nil { return } + file_meshtastic_config_proto_init() file_meshtastic_mesh_proto_init() - if !protoimpl.UnsafeEnabled { - file_meshtastic_mqtt_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ServiceEnvelope); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_mqtt_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_mqtt_proto_rawDesc), len(file_meshtastic_mqtt_proto_rawDesc)), NumEnums: 0, - NumMessages: 1, + NumMessages: 2, NumExtensions: 0, NumServices: 0, }, @@ -174,7 +344,6 @@ func file_meshtastic_mqtt_proto_init() { MessageInfos: file_meshtastic_mqtt_proto_msgTypes, }.Build() File_meshtastic_mqtt_proto = out.File - file_meshtastic_mqtt_proto_rawDesc = nil file_meshtastic_mqtt_proto_goTypes = nil file_meshtastic_mqtt_proto_depIdxs = nil } diff --git a/meshtastic/mqtt_vtproto.pb.go b/meshtastic/mqtt_vtproto.pb.go index ddfe1b8..06ee095 100644 --- a/meshtastic/mqtt_vtproto.pb.go +++ b/meshtastic/mqtt_vtproto.pb.go @@ -5,6 +5,7 @@ package generated import ( + binary "encoding/binary" fmt "fmt" protohelpers "github.com/planetscale/vtprotobuf/protohelpers" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -75,6 +76,127 @@ func (m *ServiceEnvelope) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *MapReport) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MapReport) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MapReport) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.HasOptedReportLocation { + i-- + if m.HasOptedReportLocation { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } + if m.NumOnlineLocalNodes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumOnlineLocalNodes)) + i-- + dAtA[i] = 0x68 + } + if m.PositionPrecision != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionPrecision)) + i-- + dAtA[i] = 0x60 + } + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + i-- + dAtA[i] = 0x58 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x55 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0x4d + } + if m.HasDefaultChannel { + i-- + if m.HasDefaultChannel { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.ModemPreset != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ModemPreset)) + i-- + dAtA[i] = 0x38 + } + if m.Region != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Region)) + i-- + dAtA[i] = 0x30 + } + if len(m.FirmwareVersion) > 0 { + i -= len(m.FirmwareVersion) + copy(dAtA[i:], m.FirmwareVersion) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.FirmwareVersion))) + i-- + dAtA[i] = 0x2a + } + if m.HwModel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HwModel)) + i-- + dAtA[i] = 0x20 + } + if m.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x18 + } + if len(m.ShortName) > 0 { + i -= len(m.ShortName) + copy(dAtA[i:], m.ShortName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ShortName))) + i-- + dAtA[i] = 0x12 + } + if len(m.LongName) > 0 { + i -= len(m.LongName) + copy(dAtA[i:], m.LongName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.LongName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ServiceEnvelope) SizeVT() (n int) { if m == nil { return 0 @@ -97,6 +219,61 @@ func (m *ServiceEnvelope) SizeVT() (n int) { return n } +func (m *MapReport) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.LongName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.ShortName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Role != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) + } + if m.HwModel != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HwModel)) + } + l = len(m.FirmwareVersion) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Region != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Region)) + } + if m.ModemPreset != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ModemPreset)) + } + if m.HasDefaultChannel { + n += 2 + } + if m.LatitudeI != 0 { + n += 5 + } + if m.LongitudeI != 0 { + n += 5 + } + if m.Altitude != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Altitude)) + } + if m.PositionPrecision != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PositionPrecision)) + } + if m.NumOnlineLocalNodes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumOnlineLocalNodes)) + } + if m.HasOptedReportLocation { + n += 2 + } + n += len(m.unknownFields) + return n +} + func (m *ServiceEnvelope) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -248,3 +425,343 @@ func (m *ServiceEnvelope) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *MapReport) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MapReport: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MapReport: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LongName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.LongName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ShortName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ShortName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Role", wireType) + } + m.Role = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Role |= Config_DeviceConfig_Role(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HwModel", wireType) + } + m.HwModel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HwModel |= HardwareModel(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FirmwareVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FirmwareVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Region", wireType) + } + m.Region = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Region |= Config_LoRaConfig_RegionCode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ModemPreset", wireType) + } + m.ModemPreset = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ModemPreset |= Config_LoRaConfig_ModemPreset(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasDefaultChannel", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.HasDefaultChannel = bool(v != 0) + case 9: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LatitudeI", wireType) + } + m.LatitudeI = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.LatitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 10: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field LongitudeI", wireType) + } + m.LongitudeI = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.LongitudeI = int32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Altitude", wireType) + } + m.Altitude = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Altitude |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionPrecision", wireType) + } + m.PositionPrecision = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionPrecision |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumOnlineLocalNodes", wireType) + } + m.NumOnlineLocalNodes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumOnlineLocalNodes |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasOptedReportLocation", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.HasOptedReportLocation = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/meshtastic/nanopb.pb.go b/meshtastic/nanopb.pb.go new file mode 100644 index 0000000..5342554 --- /dev/null +++ b/meshtastic/nanopb.pb.go @@ -0,0 +1,849 @@ +// Custom options for defining: +// - Maximum size of string/bytes +// - Maximum number of elements in array +// +// These are used by nanopb to generate statically allocable structures +// for memory-limited environments. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.6 +// protoc v3.21.12 +// source: nanopb.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type FieldType int32 + +const ( + FieldType_FT_DEFAULT FieldType = 0 // Automatically decide field type, generate static field if possible. + FieldType_FT_CALLBACK FieldType = 1 // Always generate a callback field. + FieldType_FT_POINTER FieldType = 4 // Always generate a dynamically allocated field. + FieldType_FT_STATIC FieldType = 2 // Generate a static field or raise an exception if not possible. + FieldType_FT_IGNORE FieldType = 3 // Ignore the field completely. + FieldType_FT_INLINE FieldType = 5 // Legacy option, use the separate 'fixed_length' option instead +) + +// Enum value maps for FieldType. +var ( + FieldType_name = map[int32]string{ + 0: "FT_DEFAULT", + 1: "FT_CALLBACK", + 4: "FT_POINTER", + 2: "FT_STATIC", + 3: "FT_IGNORE", + 5: "FT_INLINE", + } + FieldType_value = map[string]int32{ + "FT_DEFAULT": 0, + "FT_CALLBACK": 1, + "FT_POINTER": 4, + "FT_STATIC": 2, + "FT_IGNORE": 3, + "FT_INLINE": 5, + } +) + +func (x FieldType) Enum() *FieldType { + p := new(FieldType) + *p = x + return p +} + +func (x FieldType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (FieldType) Descriptor() protoreflect.EnumDescriptor { + return file_nanopb_proto_enumTypes[0].Descriptor() +} + +func (FieldType) Type() protoreflect.EnumType { + return &file_nanopb_proto_enumTypes[0] +} + +func (x FieldType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *FieldType) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = FieldType(num) + return nil +} + +// Deprecated: Use FieldType.Descriptor instead. +func (FieldType) EnumDescriptor() ([]byte, []int) { + return file_nanopb_proto_rawDescGZIP(), []int{0} +} + +type IntSize int32 + +const ( + IntSize_IS_DEFAULT IntSize = 0 // Default, 32/64bit based on type in .proto + IntSize_IS_8 IntSize = 8 + IntSize_IS_16 IntSize = 16 + IntSize_IS_32 IntSize = 32 + IntSize_IS_64 IntSize = 64 +) + +// Enum value maps for IntSize. +var ( + IntSize_name = map[int32]string{ + 0: "IS_DEFAULT", + 8: "IS_8", + 16: "IS_16", + 32: "IS_32", + 64: "IS_64", + } + IntSize_value = map[string]int32{ + "IS_DEFAULT": 0, + "IS_8": 8, + "IS_16": 16, + "IS_32": 32, + "IS_64": 64, + } +) + +func (x IntSize) Enum() *IntSize { + p := new(IntSize) + *p = x + return p +} + +func (x IntSize) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IntSize) Descriptor() protoreflect.EnumDescriptor { + return file_nanopb_proto_enumTypes[1].Descriptor() +} + +func (IntSize) Type() protoreflect.EnumType { + return &file_nanopb_proto_enumTypes[1] +} + +func (x IntSize) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *IntSize) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = IntSize(num) + return nil +} + +// Deprecated: Use IntSize.Descriptor instead. +func (IntSize) EnumDescriptor() ([]byte, []int) { + return file_nanopb_proto_rawDescGZIP(), []int{1} +} + +type TypenameMangling int32 + +const ( + TypenameMangling_M_NONE TypenameMangling = 0 // Default, no typename mangling + TypenameMangling_M_STRIP_PACKAGE TypenameMangling = 1 // Strip current package name + TypenameMangling_M_FLATTEN TypenameMangling = 2 // Only use last path component + TypenameMangling_M_PACKAGE_INITIALS TypenameMangling = 3 // Replace the package name by the initials +) + +// Enum value maps for TypenameMangling. +var ( + TypenameMangling_name = map[int32]string{ + 0: "M_NONE", + 1: "M_STRIP_PACKAGE", + 2: "M_FLATTEN", + 3: "M_PACKAGE_INITIALS", + } + TypenameMangling_value = map[string]int32{ + "M_NONE": 0, + "M_STRIP_PACKAGE": 1, + "M_FLATTEN": 2, + "M_PACKAGE_INITIALS": 3, + } +) + +func (x TypenameMangling) Enum() *TypenameMangling { + p := new(TypenameMangling) + *p = x + return p +} + +func (x TypenameMangling) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TypenameMangling) Descriptor() protoreflect.EnumDescriptor { + return file_nanopb_proto_enumTypes[2].Descriptor() +} + +func (TypenameMangling) Type() protoreflect.EnumType { + return &file_nanopb_proto_enumTypes[2] +} + +func (x TypenameMangling) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *TypenameMangling) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = TypenameMangling(num) + return nil +} + +// Deprecated: Use TypenameMangling.Descriptor instead. +func (TypenameMangling) EnumDescriptor() ([]byte, []int) { + return file_nanopb_proto_rawDescGZIP(), []int{2} +} + +type DescriptorSize int32 + +const ( + DescriptorSize_DS_AUTO DescriptorSize = 0 // Select minimal size based on field type + DescriptorSize_DS_1 DescriptorSize = 1 // 1 word; up to 15 byte fields, no arrays + DescriptorSize_DS_2 DescriptorSize = 2 // 2 words; up to 4095 byte fields, 4095 entry arrays + DescriptorSize_DS_4 DescriptorSize = 4 // 4 words; up to 2^32-1 byte fields, 2^16-1 entry arrays + DescriptorSize_DS_8 DescriptorSize = 8 // 8 words; up to 2^32-1 entry arrays +) + +// Enum value maps for DescriptorSize. +var ( + DescriptorSize_name = map[int32]string{ + 0: "DS_AUTO", + 1: "DS_1", + 2: "DS_2", + 4: "DS_4", + 8: "DS_8", + } + DescriptorSize_value = map[string]int32{ + "DS_AUTO": 0, + "DS_1": 1, + "DS_2": 2, + "DS_4": 4, + "DS_8": 8, + } +) + +func (x DescriptorSize) Enum() *DescriptorSize { + p := new(DescriptorSize) + *p = x + return p +} + +func (x DescriptorSize) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DescriptorSize) Descriptor() protoreflect.EnumDescriptor { + return file_nanopb_proto_enumTypes[3].Descriptor() +} + +func (DescriptorSize) Type() protoreflect.EnumType { + return &file_nanopb_proto_enumTypes[3] +} + +func (x DescriptorSize) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *DescriptorSize) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = DescriptorSize(num) + return nil +} + +// Deprecated: Use DescriptorSize.Descriptor instead. +func (DescriptorSize) EnumDescriptor() ([]byte, []int) { + return file_nanopb_proto_rawDescGZIP(), []int{3} +} + +// This is the inner options message, which basically defines options for +// a field. When it is used in message or file scope, it applies to all +// fields. +type NanoPBOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Allocated size for 'bytes' and 'string' fields. + // For string fields, this should include the space for null terminator. + MaxSize *int32 `protobuf:"varint,1,opt,name=max_size,json=maxSize" json:"max_size,omitempty"` + // Maximum length for 'string' fields. Setting this is equivalent + // to setting max_size to a value of length+1. + MaxLength *int32 `protobuf:"varint,14,opt,name=max_length,json=maxLength" json:"max_length,omitempty"` + // Allocated number of entries in arrays ('repeated' fields) + MaxCount *int32 `protobuf:"varint,2,opt,name=max_count,json=maxCount" json:"max_count,omitempty"` + // Size of integer fields. Can save some memory if you don't need + // full 32 bits for the value. + IntSize *IntSize `protobuf:"varint,7,opt,name=int_size,json=intSize,enum=IntSize,def=0" json:"int_size,omitempty"` + // Force type of field (callback or static allocation) + Type *FieldType `protobuf:"varint,3,opt,name=type,enum=FieldType,def=0" json:"type,omitempty"` + // Use long names for enums, i.e. EnumName_EnumValue. + LongNames *bool `protobuf:"varint,4,opt,name=long_names,json=longNames,def=1" json:"long_names,omitempty"` + // Add 'packed' attribute to generated structs. + // Note: this cannot be used on CPUs that break on unaligned + // accesses to variables. + PackedStruct *bool `protobuf:"varint,5,opt,name=packed_struct,json=packedStruct,def=0" json:"packed_struct,omitempty"` + // Add 'packed' attribute to generated enums. + PackedEnum *bool `protobuf:"varint,10,opt,name=packed_enum,json=packedEnum,def=0" json:"packed_enum,omitempty"` + // Skip this message + SkipMessage *bool `protobuf:"varint,6,opt,name=skip_message,json=skipMessage,def=0" json:"skip_message,omitempty"` + // Generate oneof fields as normal optional fields instead of union. + NoUnions *bool `protobuf:"varint,8,opt,name=no_unions,json=noUnions,def=0" json:"no_unions,omitempty"` + // integer type tag for a message + Msgid *uint32 `protobuf:"varint,9,opt,name=msgid" json:"msgid,omitempty"` + // decode oneof as anonymous union + AnonymousOneof *bool `protobuf:"varint,11,opt,name=anonymous_oneof,json=anonymousOneof,def=0" json:"anonymous_oneof,omitempty"` + // Proto3 singular field does not generate a "has_" flag + Proto3 *bool `protobuf:"varint,12,opt,name=proto3,def=0" json:"proto3,omitempty"` + // Force proto3 messages to have no "has_" flag. + // This was default behavior until nanopb-0.4.0. + Proto3SingularMsgs *bool `protobuf:"varint,21,opt,name=proto3_singular_msgs,json=proto3SingularMsgs,def=0" json:"proto3_singular_msgs,omitempty"` + // Generate an enum->string mapping function (can take up lots of space). + EnumToString *bool `protobuf:"varint,13,opt,name=enum_to_string,json=enumToString,def=0" json:"enum_to_string,omitempty"` + // Generate bytes arrays with fixed length + FixedLength *bool `protobuf:"varint,15,opt,name=fixed_length,json=fixedLength,def=0" json:"fixed_length,omitempty"` + // Generate repeated field with fixed count + FixedCount *bool `protobuf:"varint,16,opt,name=fixed_count,json=fixedCount,def=0" json:"fixed_count,omitempty"` + // Generate message-level callback that is called before decoding submessages. + // This can be used to set callback fields for submsgs inside oneofs. + SubmsgCallback *bool `protobuf:"varint,22,opt,name=submsg_callback,json=submsgCallback,def=0" json:"submsg_callback,omitempty"` + // Shorten or remove package names from type names. + // This option applies only on the file level. + MangleNames *TypenameMangling `protobuf:"varint,17,opt,name=mangle_names,json=mangleNames,enum=TypenameMangling,def=0" json:"mangle_names,omitempty"` + // Data type for storage associated with callback fields. + CallbackDatatype *string `protobuf:"bytes,18,opt,name=callback_datatype,json=callbackDatatype,def=pb_callback_t" json:"callback_datatype,omitempty"` + // Callback function used for encoding and decoding. + // Prior to nanopb-0.4.0, the callback was specified in per-field pb_callback_t + // structure. This is still supported, but does not work inside e.g. oneof or pointer + // fields. Instead, a new method allows specifying a per-message callback that + // will be called for all callback fields in a message type. + CallbackFunction *string `protobuf:"bytes,19,opt,name=callback_function,json=callbackFunction,def=pb_default_field_callback" json:"callback_function,omitempty"` + // Select the size of field descriptors. This option has to be defined + // for the whole message, not per-field. Usually automatic selection is + // ok, but if it results in compilation errors you can increase the field + // size here. + Descriptorsize *DescriptorSize `protobuf:"varint,20,opt,name=descriptorsize,enum=DescriptorSize,def=0" json:"descriptorsize,omitempty"` + // Set default value for has_ fields. + DefaultHas *bool `protobuf:"varint,23,opt,name=default_has,json=defaultHas,def=0" json:"default_has,omitempty"` + // Extra files to include in generated `.pb.h` + Include []string `protobuf:"bytes,24,rep,name=include" json:"include,omitempty"` + // Automatic includes to exclude from generated `.pb.h` + // Same as nanopb_generator.py command line flag -x. + Exclude []string `protobuf:"bytes,26,rep,name=exclude" json:"exclude,omitempty"` + // Package name that applies only for nanopb. + Package *string `protobuf:"bytes,25,opt,name=package" json:"package,omitempty"` + // Override type of the field in generated C code. Only to be used with related field types + TypeOverride *descriptorpb.FieldDescriptorProto_Type `protobuf:"varint,27,opt,name=type_override,json=typeOverride,enum=google.protobuf.FieldDescriptorProto_Type" json:"type_override,omitempty"` + // Due to historical reasons, nanopb orders fields in structs by their tag number + // instead of the order in .proto. Set this to false to keep the .proto order. + // The default value will probably change to false in nanopb-0.5.0. + SortByTag *bool `protobuf:"varint,28,opt,name=sort_by_tag,json=sortByTag,def=1" json:"sort_by_tag,omitempty"` + // Set the FT_DEFAULT field conversion strategy. + // A field that can become a static member of a c struct (e.g. int, bool, etc) + // will be a a static field. + // Fields with dynamic length are converted to either a pointer or a callback. + FallbackType *FieldType `protobuf:"varint,29,opt,name=fallback_type,json=fallbackType,enum=FieldType,def=1" json:"fallback_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Default values for NanoPBOptions fields. +const ( + Default_NanoPBOptions_IntSize = IntSize_IS_DEFAULT + Default_NanoPBOptions_Type = FieldType_FT_DEFAULT + Default_NanoPBOptions_LongNames = bool(true) + Default_NanoPBOptions_PackedStruct = bool(false) + Default_NanoPBOptions_PackedEnum = bool(false) + Default_NanoPBOptions_SkipMessage = bool(false) + Default_NanoPBOptions_NoUnions = bool(false) + Default_NanoPBOptions_AnonymousOneof = bool(false) + Default_NanoPBOptions_Proto3 = bool(false) + Default_NanoPBOptions_Proto3SingularMsgs = bool(false) + Default_NanoPBOptions_EnumToString = bool(false) + Default_NanoPBOptions_FixedLength = bool(false) + Default_NanoPBOptions_FixedCount = bool(false) + Default_NanoPBOptions_SubmsgCallback = bool(false) + Default_NanoPBOptions_MangleNames = TypenameMangling_M_NONE + Default_NanoPBOptions_CallbackDatatype = string("pb_callback_t") + Default_NanoPBOptions_CallbackFunction = string("pb_default_field_callback") + Default_NanoPBOptions_Descriptorsize = DescriptorSize_DS_AUTO + Default_NanoPBOptions_DefaultHas = bool(false) + Default_NanoPBOptions_SortByTag = bool(true) + Default_NanoPBOptions_FallbackType = FieldType_FT_CALLBACK +) + +func (x *NanoPBOptions) Reset() { + *x = NanoPBOptions{} + mi := &file_nanopb_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NanoPBOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NanoPBOptions) ProtoMessage() {} + +func (x *NanoPBOptions) ProtoReflect() protoreflect.Message { + mi := &file_nanopb_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NanoPBOptions.ProtoReflect.Descriptor instead. +func (*NanoPBOptions) Descriptor() ([]byte, []int) { + return file_nanopb_proto_rawDescGZIP(), []int{0} +} + +func (x *NanoPBOptions) GetMaxSize() int32 { + if x != nil && x.MaxSize != nil { + return *x.MaxSize + } + return 0 +} + +func (x *NanoPBOptions) GetMaxLength() int32 { + if x != nil && x.MaxLength != nil { + return *x.MaxLength + } + return 0 +} + +func (x *NanoPBOptions) GetMaxCount() int32 { + if x != nil && x.MaxCount != nil { + return *x.MaxCount + } + return 0 +} + +func (x *NanoPBOptions) GetIntSize() IntSize { + if x != nil && x.IntSize != nil { + return *x.IntSize + } + return Default_NanoPBOptions_IntSize +} + +func (x *NanoPBOptions) GetType() FieldType { + if x != nil && x.Type != nil { + return *x.Type + } + return Default_NanoPBOptions_Type +} + +func (x *NanoPBOptions) GetLongNames() bool { + if x != nil && x.LongNames != nil { + return *x.LongNames + } + return Default_NanoPBOptions_LongNames +} + +func (x *NanoPBOptions) GetPackedStruct() bool { + if x != nil && x.PackedStruct != nil { + return *x.PackedStruct + } + return Default_NanoPBOptions_PackedStruct +} + +func (x *NanoPBOptions) GetPackedEnum() bool { + if x != nil && x.PackedEnum != nil { + return *x.PackedEnum + } + return Default_NanoPBOptions_PackedEnum +} + +func (x *NanoPBOptions) GetSkipMessage() bool { + if x != nil && x.SkipMessage != nil { + return *x.SkipMessage + } + return Default_NanoPBOptions_SkipMessage +} + +func (x *NanoPBOptions) GetNoUnions() bool { + if x != nil && x.NoUnions != nil { + return *x.NoUnions + } + return Default_NanoPBOptions_NoUnions +} + +func (x *NanoPBOptions) GetMsgid() uint32 { + if x != nil && x.Msgid != nil { + return *x.Msgid + } + return 0 +} + +func (x *NanoPBOptions) GetAnonymousOneof() bool { + if x != nil && x.AnonymousOneof != nil { + return *x.AnonymousOneof + } + return Default_NanoPBOptions_AnonymousOneof +} + +func (x *NanoPBOptions) GetProto3() bool { + if x != nil && x.Proto3 != nil { + return *x.Proto3 + } + return Default_NanoPBOptions_Proto3 +} + +func (x *NanoPBOptions) GetProto3SingularMsgs() bool { + if x != nil && x.Proto3SingularMsgs != nil { + return *x.Proto3SingularMsgs + } + return Default_NanoPBOptions_Proto3SingularMsgs +} + +func (x *NanoPBOptions) GetEnumToString() bool { + if x != nil && x.EnumToString != nil { + return *x.EnumToString + } + return Default_NanoPBOptions_EnumToString +} + +func (x *NanoPBOptions) GetFixedLength() bool { + if x != nil && x.FixedLength != nil { + return *x.FixedLength + } + return Default_NanoPBOptions_FixedLength +} + +func (x *NanoPBOptions) GetFixedCount() bool { + if x != nil && x.FixedCount != nil { + return *x.FixedCount + } + return Default_NanoPBOptions_FixedCount +} + +func (x *NanoPBOptions) GetSubmsgCallback() bool { + if x != nil && x.SubmsgCallback != nil { + return *x.SubmsgCallback + } + return Default_NanoPBOptions_SubmsgCallback +} + +func (x *NanoPBOptions) GetMangleNames() TypenameMangling { + if x != nil && x.MangleNames != nil { + return *x.MangleNames + } + return Default_NanoPBOptions_MangleNames +} + +func (x *NanoPBOptions) GetCallbackDatatype() string { + if x != nil && x.CallbackDatatype != nil { + return *x.CallbackDatatype + } + return Default_NanoPBOptions_CallbackDatatype +} + +func (x *NanoPBOptions) GetCallbackFunction() string { + if x != nil && x.CallbackFunction != nil { + return *x.CallbackFunction + } + return Default_NanoPBOptions_CallbackFunction +} + +func (x *NanoPBOptions) GetDescriptorsize() DescriptorSize { + if x != nil && x.Descriptorsize != nil { + return *x.Descriptorsize + } + return Default_NanoPBOptions_Descriptorsize +} + +func (x *NanoPBOptions) GetDefaultHas() bool { + if x != nil && x.DefaultHas != nil { + return *x.DefaultHas + } + return Default_NanoPBOptions_DefaultHas +} + +func (x *NanoPBOptions) GetInclude() []string { + if x != nil { + return x.Include + } + return nil +} + +func (x *NanoPBOptions) GetExclude() []string { + if x != nil { + return x.Exclude + } + return nil +} + +func (x *NanoPBOptions) GetPackage() string { + if x != nil && x.Package != nil { + return *x.Package + } + return "" +} + +func (x *NanoPBOptions) GetTypeOverride() descriptorpb.FieldDescriptorProto_Type { + if x != nil && x.TypeOverride != nil { + return *x.TypeOverride + } + return descriptorpb.FieldDescriptorProto_Type(1) +} + +func (x *NanoPBOptions) GetSortByTag() bool { + if x != nil && x.SortByTag != nil { + return *x.SortByTag + } + return Default_NanoPBOptions_SortByTag +} + +func (x *NanoPBOptions) GetFallbackType() FieldType { + if x != nil && x.FallbackType != nil { + return *x.FallbackType + } + return Default_NanoPBOptions_FallbackType +} + +var file_nanopb_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.FileOptions)(nil), + ExtensionType: (*NanoPBOptions)(nil), + Field: 1010, + Name: "nanopb_fileopt", + Tag: "bytes,1010,opt,name=nanopb_fileopt", + Filename: "nanopb.proto", + }, + { + ExtendedType: (*descriptorpb.MessageOptions)(nil), + ExtensionType: (*NanoPBOptions)(nil), + Field: 1010, + Name: "nanopb_msgopt", + Tag: "bytes,1010,opt,name=nanopb_msgopt", + Filename: "nanopb.proto", + }, + { + ExtendedType: (*descriptorpb.EnumOptions)(nil), + ExtensionType: (*NanoPBOptions)(nil), + Field: 1010, + Name: "nanopb_enumopt", + Tag: "bytes,1010,opt,name=nanopb_enumopt", + Filename: "nanopb.proto", + }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*NanoPBOptions)(nil), + Field: 1010, + Name: "nanopb", + Tag: "bytes,1010,opt,name=nanopb", + Filename: "nanopb.proto", + }, +} + +// Extension fields to descriptorpb.FileOptions. +var ( + // optional NanoPBOptions nanopb_fileopt = 1010; + E_NanopbFileopt = &file_nanopb_proto_extTypes[0] +) + +// Extension fields to descriptorpb.MessageOptions. +var ( + // optional NanoPBOptions nanopb_msgopt = 1010; + E_NanopbMsgopt = &file_nanopb_proto_extTypes[1] +) + +// Extension fields to descriptorpb.EnumOptions. +var ( + // optional NanoPBOptions nanopb_enumopt = 1010; + E_NanopbEnumopt = &file_nanopb_proto_extTypes[2] +) + +// Extension fields to descriptorpb.FieldOptions. +var ( + // optional NanoPBOptions nanopb = 1010; + E_Nanopb = &file_nanopb_proto_extTypes[3] +) + +var File_nanopb_proto protoreflect.FileDescriptor + +const file_nanopb_proto_rawDesc = "" + + "\n" + + "\fnanopb.proto\x1a google/protobuf/descriptor.proto\"\x86\n" + + "\n" + + "\rNanoPBOptions\x12\x19\n" + + "\bmax_size\x18\x01 \x01(\x05R\amaxSize\x12\x1d\n" + + "\n" + + "max_length\x18\x0e \x01(\x05R\tmaxLength\x12\x1b\n" + + "\tmax_count\x18\x02 \x01(\x05R\bmaxCount\x12/\n" + + "\bint_size\x18\a \x01(\x0e2\b.IntSize:\n" + + "IS_DEFAULTR\aintSize\x12*\n" + + "\x04type\x18\x03 \x01(\x0e2\n" + + ".FieldType:\n" + + "FT_DEFAULTR\x04type\x12#\n" + + "\n" + + "long_names\x18\x04 \x01(\b:\x04trueR\tlongNames\x12*\n" + + "\rpacked_struct\x18\x05 \x01(\b:\x05falseR\fpackedStruct\x12&\n" + + "\vpacked_enum\x18\n" + + " \x01(\b:\x05falseR\n" + + "packedEnum\x12(\n" + + "\fskip_message\x18\x06 \x01(\b:\x05falseR\vskipMessage\x12\"\n" + + "\tno_unions\x18\b \x01(\b:\x05falseR\bnoUnions\x12\x14\n" + + "\x05msgid\x18\t \x01(\rR\x05msgid\x12.\n" + + "\x0fanonymous_oneof\x18\v \x01(\b:\x05falseR\x0eanonymousOneof\x12\x1d\n" + + "\x06proto3\x18\f \x01(\b:\x05falseR\x06proto3\x127\n" + + "\x14proto3_singular_msgs\x18\x15 \x01(\b:\x05falseR\x12proto3SingularMsgs\x12+\n" + + "\x0eenum_to_string\x18\r \x01(\b:\x05falseR\fenumToString\x12(\n" + + "\ffixed_length\x18\x0f \x01(\b:\x05falseR\vfixedLength\x12&\n" + + "\vfixed_count\x18\x10 \x01(\b:\x05falseR\n" + + "fixedCount\x12.\n" + + "\x0fsubmsg_callback\x18\x16 \x01(\b:\x05falseR\x0esubmsgCallback\x12<\n" + + "\fmangle_names\x18\x11 \x01(\x0e2\x11.TypenameMangling:\x06M_NONER\vmangleNames\x12:\n" + + "\x11callback_datatype\x18\x12 \x01(\t:\rpb_callback_tR\x10callbackDatatype\x12F\n" + + "\x11callback_function\x18\x13 \x01(\t:\x19pb_default_field_callbackR\x10callbackFunction\x12@\n" + + "\x0edescriptorsize\x18\x14 \x01(\x0e2\x0f.DescriptorSize:\aDS_AUTOR\x0edescriptorsize\x12&\n" + + "\vdefault_has\x18\x17 \x01(\b:\x05falseR\n" + + "defaultHas\x12\x18\n" + + "\ainclude\x18\x18 \x03(\tR\ainclude\x12\x18\n" + + "\aexclude\x18\x1a \x03(\tR\aexclude\x12\x18\n" + + "\apackage\x18\x19 \x01(\tR\apackage\x12O\n" + + "\rtype_override\x18\x1b \x01(\x0e2*.google.protobuf.FieldDescriptorProto.TypeR\ftypeOverride\x12$\n" + + "\vsort_by_tag\x18\x1c \x01(\b:\x04trueR\tsortByTag\x12<\n" + + "\rfallback_type\x18\x1d \x01(\x0e2\n" + + ".FieldType:\vFT_CALLBACKR\ffallbackType*i\n" + + "\tFieldType\x12\x0e\n" + + "\n" + + "FT_DEFAULT\x10\x00\x12\x0f\n" + + "\vFT_CALLBACK\x10\x01\x12\x0e\n" + + "\n" + + "FT_POINTER\x10\x04\x12\r\n" + + "\tFT_STATIC\x10\x02\x12\r\n" + + "\tFT_IGNORE\x10\x03\x12\r\n" + + "\tFT_INLINE\x10\x05*D\n" + + "\aIntSize\x12\x0e\n" + + "\n" + + "IS_DEFAULT\x10\x00\x12\b\n" + + "\x04IS_8\x10\b\x12\t\n" + + "\x05IS_16\x10\x10\x12\t\n" + + "\x05IS_32\x10 \x12\t\n" + + "\x05IS_64\x10@*Z\n" + + "\x10TypenameMangling\x12\n" + + "\n" + + "\x06M_NONE\x10\x00\x12\x13\n" + + "\x0fM_STRIP_PACKAGE\x10\x01\x12\r\n" + + "\tM_FLATTEN\x10\x02\x12\x16\n" + + "\x12M_PACKAGE_INITIALS\x10\x03*E\n" + + "\x0eDescriptorSize\x12\v\n" + + "\aDS_AUTO\x10\x00\x12\b\n" + + "\x04DS_1\x10\x01\x12\b\n" + + "\x04DS_2\x10\x02\x12\b\n" + + "\x04DS_4\x10\x04\x12\b\n" + + "\x04DS_8\x10\b:T\n" + + "\x0enanopb_fileopt\x12\x1c.google.protobuf.FileOptions\x18\xf2\a \x01(\v2\x0e.NanoPBOptionsR\rnanopbFileopt:U\n" + + "\rnanopb_msgopt\x12\x1f.google.protobuf.MessageOptions\x18\xf2\a \x01(\v2\x0e.NanoPBOptionsR\fnanopbMsgopt:T\n" + + "\x0enanopb_enumopt\x12\x1c.google.protobuf.EnumOptions\x18\xf2\a \x01(\v2\x0e.NanoPBOptionsR\rnanopbEnumopt:F\n" + + "\x06nanopb\x12\x1d.google.protobuf.FieldOptions\x18\xf2\a \x01(\v2\x0e.NanoPBOptionsR\x06nanopbB>\n" + + "\x18fi.kapsi.koti.jpa.nanopbZ\"github.com/meshtastic/go/generated" + +var ( + file_nanopb_proto_rawDescOnce sync.Once + file_nanopb_proto_rawDescData []byte +) + +func file_nanopb_proto_rawDescGZIP() []byte { + file_nanopb_proto_rawDescOnce.Do(func() { + file_nanopb_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_nanopb_proto_rawDesc), len(file_nanopb_proto_rawDesc))) + }) + return file_nanopb_proto_rawDescData +} + +var file_nanopb_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_nanopb_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_nanopb_proto_goTypes = []any{ + (FieldType)(0), // 0: FieldType + (IntSize)(0), // 1: IntSize + (TypenameMangling)(0), // 2: TypenameMangling + (DescriptorSize)(0), // 3: DescriptorSize + (*NanoPBOptions)(nil), // 4: NanoPBOptions + (descriptorpb.FieldDescriptorProto_Type)(0), // 5: google.protobuf.FieldDescriptorProto.Type + (*descriptorpb.FileOptions)(nil), // 6: google.protobuf.FileOptions + (*descriptorpb.MessageOptions)(nil), // 7: google.protobuf.MessageOptions + (*descriptorpb.EnumOptions)(nil), // 8: google.protobuf.EnumOptions + (*descriptorpb.FieldOptions)(nil), // 9: google.protobuf.FieldOptions +} +var file_nanopb_proto_depIdxs = []int32{ + 1, // 0: NanoPBOptions.int_size:type_name -> IntSize + 0, // 1: NanoPBOptions.type:type_name -> FieldType + 2, // 2: NanoPBOptions.mangle_names:type_name -> TypenameMangling + 3, // 3: NanoPBOptions.descriptorsize:type_name -> DescriptorSize + 5, // 4: NanoPBOptions.type_override:type_name -> google.protobuf.FieldDescriptorProto.Type + 0, // 5: NanoPBOptions.fallback_type:type_name -> FieldType + 6, // 6: nanopb_fileopt:extendee -> google.protobuf.FileOptions + 7, // 7: nanopb_msgopt:extendee -> google.protobuf.MessageOptions + 8, // 8: nanopb_enumopt:extendee -> google.protobuf.EnumOptions + 9, // 9: nanopb:extendee -> google.protobuf.FieldOptions + 4, // 10: nanopb_fileopt:type_name -> NanoPBOptions + 4, // 11: nanopb_msgopt:type_name -> NanoPBOptions + 4, // 12: nanopb_enumopt:type_name -> NanoPBOptions + 4, // 13: nanopb:type_name -> NanoPBOptions + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 10, // [10:14] is the sub-list for extension type_name + 6, // [6:10] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_nanopb_proto_init() } +func file_nanopb_proto_init() { + if File_nanopb_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_nanopb_proto_rawDesc), len(file_nanopb_proto_rawDesc)), + NumEnums: 4, + NumMessages: 1, + NumExtensions: 4, + NumServices: 0, + }, + GoTypes: file_nanopb_proto_goTypes, + DependencyIndexes: file_nanopb_proto_depIdxs, + EnumInfos: file_nanopb_proto_enumTypes, + MessageInfos: file_nanopb_proto_msgTypes, + ExtensionInfos: file_nanopb_proto_extTypes, + }.Build() + File_nanopb_proto = out.File + file_nanopb_proto_goTypes = nil + file_nanopb_proto_depIdxs = nil +} diff --git a/meshtastic/nanopb_vtproto.pb.go b/meshtastic/nanopb_vtproto.pb.go new file mode 100644 index 0000000..9bebeb3 --- /dev/null +++ b/meshtastic/nanopb_vtproto.pb.go @@ -0,0 +1,1125 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: nanopb.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + io "io" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *NanoPBOptions) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NanoPBOptions) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NanoPBOptions) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.FallbackType != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.FallbackType)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe8 + } + if m.SortByTag != nil { + i-- + if *m.SortByTag { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe0 + } + if m.TypeOverride != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.TypeOverride)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd8 + } + if len(m.Exclude) > 0 { + for iNdEx := len(m.Exclude) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Exclude[iNdEx]) + copy(dAtA[i:], m.Exclude[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Exclude[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd2 + } + } + if m.Package != nil { + i -= len(*m.Package) + copy(dAtA[i:], *m.Package) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Package))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xca + } + if len(m.Include) > 0 { + for iNdEx := len(m.Include) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Include[iNdEx]) + copy(dAtA[i:], m.Include[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Include[iNdEx]))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc2 + } + } + if m.DefaultHas != nil { + i-- + if *m.DefaultHas { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb8 + } + if m.SubmsgCallback != nil { + i-- + if *m.SubmsgCallback { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb0 + } + if m.Proto3SingularMsgs != nil { + i-- + if *m.Proto3SingularMsgs { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if m.Descriptorsize != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Descriptorsize)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.CallbackFunction != nil { + i -= len(*m.CallbackFunction) + copy(dAtA[i:], *m.CallbackFunction) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.CallbackFunction))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a + } + if m.CallbackDatatype != nil { + i -= len(*m.CallbackDatatype) + copy(dAtA[i:], *m.CallbackDatatype) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.CallbackDatatype))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + if m.MangleNames != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.MangleNames)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if m.FixedCount != nil { + i-- + if *m.FixedCount { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + } + if m.FixedLength != nil { + i-- + if *m.FixedLength { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } + if m.MaxLength != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.MaxLength)) + i-- + dAtA[i] = 0x70 + } + if m.EnumToString != nil { + i-- + if *m.EnumToString { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } + if m.Proto3 != nil { + i-- + if *m.Proto3 { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if m.AnonymousOneof != nil { + i-- + if *m.AnonymousOneof { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.PackedEnum != nil { + i-- + if *m.PackedEnum { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.Msgid != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Msgid)) + i-- + dAtA[i] = 0x48 + } + if m.NoUnions != nil { + i-- + if *m.NoUnions { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.IntSize != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.IntSize)) + i-- + dAtA[i] = 0x38 + } + if m.SkipMessage != nil { + i-- + if *m.SkipMessage { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.PackedStruct != nil { + i-- + if *m.PackedStruct { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.LongNames != nil { + i-- + if *m.LongNames { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.Type != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Type)) + i-- + dAtA[i] = 0x18 + } + if m.MaxCount != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.MaxCount)) + i-- + dAtA[i] = 0x10 + } + if m.MaxSize != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.MaxSize)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *NanoPBOptions) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MaxSize != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.MaxSize)) + } + if m.MaxCount != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.MaxCount)) + } + if m.Type != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Type)) + } + if m.LongNames != nil { + n += 2 + } + if m.PackedStruct != nil { + n += 2 + } + if m.SkipMessage != nil { + n += 2 + } + if m.IntSize != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.IntSize)) + } + if m.NoUnions != nil { + n += 2 + } + if m.Msgid != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Msgid)) + } + if m.PackedEnum != nil { + n += 2 + } + if m.AnonymousOneof != nil { + n += 2 + } + if m.Proto3 != nil { + n += 2 + } + if m.EnumToString != nil { + n += 2 + } + if m.MaxLength != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.MaxLength)) + } + if m.FixedLength != nil { + n += 2 + } + if m.FixedCount != nil { + n += 3 + } + if m.MangleNames != nil { + n += 2 + protohelpers.SizeOfVarint(uint64(*m.MangleNames)) + } + if m.CallbackDatatype != nil { + l = len(*m.CallbackDatatype) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CallbackFunction != nil { + l = len(*m.CallbackFunction) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Descriptorsize != nil { + n += 2 + protohelpers.SizeOfVarint(uint64(*m.Descriptorsize)) + } + if m.Proto3SingularMsgs != nil { + n += 3 + } + if m.SubmsgCallback != nil { + n += 3 + } + if m.DefaultHas != nil { + n += 3 + } + if len(m.Include) > 0 { + for _, s := range m.Include { + l = len(s) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.Package != nil { + l = len(*m.Package) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.Exclude) > 0 { + for _, s := range m.Exclude { + l = len(s) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.TypeOverride != nil { + n += 2 + protohelpers.SizeOfVarint(uint64(*m.TypeOverride)) + } + if m.SortByTag != nil { + n += 3 + } + if m.FallbackType != nil { + n += 2 + protohelpers.SizeOfVarint(uint64(*m.FallbackType)) + } + n += len(m.unknownFields) + return n +} + +func (m *NanoPBOptions) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NanoPBOptions: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NanoPBOptions: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxSize", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MaxSize = &v + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxCount", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MaxCount = &v + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + var v FieldType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= FieldType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Type = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LongNames", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.LongNames = &b + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PackedStruct", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.PackedStruct = &b + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SkipMessage", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.SkipMessage = &b + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IntSize", wireType) + } + var v IntSize + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= IntSize(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IntSize = &v + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NoUnions", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.NoUnions = &b + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Msgid", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Msgid = &v + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PackedEnum", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.PackedEnum = &b + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AnonymousOneof", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.AnonymousOneof = &b + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Proto3", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Proto3 = &b + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnumToString", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.EnumToString = &b + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxLength", wireType) + } + var v int32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MaxLength = &v + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixedLength", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.FixedLength = &b + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixedCount", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.FixedCount = &b + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MangleNames", wireType) + } + var v TypenameMangling + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= TypenameMangling(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.MangleNames = &v + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CallbackDatatype", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.CallbackDatatype = &s + iNdEx = postIndex + case 19: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CallbackFunction", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.CallbackFunction = &s + iNdEx = postIndex + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Descriptorsize", wireType) + } + var v DescriptorSize + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= DescriptorSize(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Descriptorsize = &v + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Proto3SingularMsgs", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.Proto3SingularMsgs = &b + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SubmsgCallback", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.SubmsgCallback = &b + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DefaultHas", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.DefaultHas = &b + case 24: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Include", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Include = append(m.Include, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 25: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Package", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.Package = &s + iNdEx = postIndex + case 26: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Exclude", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Exclude = append(m.Exclude, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + case 27: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TypeOverride", wireType) + } + var v descriptorpb.FieldDescriptorProto_Type + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= descriptorpb.FieldDescriptorProto_Type(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.TypeOverride = &v + case 28: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SortByTag", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.SortByTag = &b + case 29: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FallbackType", wireType) + } + var v FieldType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= FieldType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.FallbackType = &v + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/meshtastic/paxcount.pb.go b/meshtastic/paxcount.pb.go index ee3b0e0..cce20b7 100644 --- a/meshtastic/paxcount.pb.go +++ b/meshtastic/paxcount.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/paxcount.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,25 +23,22 @@ const ( // TODO: REPLACE type Paxcount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // seen Wifi devices Wifi uint32 `protobuf:"varint,1,opt,name=wifi,proto3" json:"wifi,omitempty"` // Seen BLE devices Ble uint32 `protobuf:"varint,2,opt,name=ble,proto3" json:"ble,omitempty"` // Uptime in seconds - Uptime uint32 `protobuf:"varint,3,opt,name=uptime,proto3" json:"uptime,omitempty"` + Uptime uint32 `protobuf:"varint,3,opt,name=uptime,proto3" json:"uptime,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Paxcount) Reset() { *x = Paxcount{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_paxcount_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_paxcount_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Paxcount) String() string { @@ -51,7 +49,7 @@ func (*Paxcount) ProtoMessage() {} func (x *Paxcount) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_paxcount_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -89,37 +87,30 @@ func (x *Paxcount) GetUptime() uint32 { var File_meshtastic_paxcount_proto protoreflect.FileDescriptor -var file_meshtastic_paxcount_proto_rawDesc = []byte{ - 0x0a, 0x19, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x61, 0x78, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0x48, 0x0a, 0x08, 0x50, 0x61, 0x78, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x69, 0x66, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x77, 0x69, 0x66, 0x69, 0x12, 0x10, 0x0a, 0x03, 0x62, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x42, 0x63, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, - 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0e, 0x50, 0x61, 0x78, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, - 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_paxcount_proto_rawDesc = "" + + "\n" + + "\x19meshtastic/paxcount.proto\x12\n" + + "meshtastic\"H\n" + + "\bPaxcount\x12\x12\n" + + "\x04wifi\x18\x01 \x01(\rR\x04wifi\x12\x10\n" + + "\x03ble\x18\x02 \x01(\rR\x03ble\x12\x16\n" + + "\x06uptime\x18\x03 \x01(\rR\x06uptimeBc\n" + + "\x13com.geeksville.meshB\x0ePaxcountProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_paxcount_proto_rawDescOnce sync.Once - file_meshtastic_paxcount_proto_rawDescData = file_meshtastic_paxcount_proto_rawDesc + file_meshtastic_paxcount_proto_rawDescData []byte ) func file_meshtastic_paxcount_proto_rawDescGZIP() []byte { file_meshtastic_paxcount_proto_rawDescOnce.Do(func() { - file_meshtastic_paxcount_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_paxcount_proto_rawDescData) + file_meshtastic_paxcount_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_paxcount_proto_rawDesc), len(file_meshtastic_paxcount_proto_rawDesc))) }) return file_meshtastic_paxcount_proto_rawDescData } var file_meshtastic_paxcount_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_paxcount_proto_goTypes = []interface{}{ +var file_meshtastic_paxcount_proto_goTypes = []any{ (*Paxcount)(nil), // 0: meshtastic.Paxcount } var file_meshtastic_paxcount_proto_depIdxs = []int32{ @@ -135,25 +126,11 @@ func file_meshtastic_paxcount_proto_init() { if File_meshtastic_paxcount_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_paxcount_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Paxcount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_paxcount_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_paxcount_proto_rawDesc), len(file_meshtastic_paxcount_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -164,7 +141,6 @@ func file_meshtastic_paxcount_proto_init() { MessageInfos: file_meshtastic_paxcount_proto_msgTypes, }.Build() File_meshtastic_paxcount_proto = out.File - file_meshtastic_paxcount_proto_rawDesc = nil file_meshtastic_paxcount_proto_goTypes = nil file_meshtastic_paxcount_proto_depIdxs = nil } diff --git a/meshtastic/portnums.pb.go b/meshtastic/portnums.pb.go index 69e3c76..0696160 100644 --- a/meshtastic/portnums.pb.go +++ b/meshtastic/portnums.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/portnums.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -50,19 +51,19 @@ const ( // ENCODING: Protobuf PortNum_REMOTE_HARDWARE_APP PortNum = 2 // The built-in position messaging app. - // Payload is a [Position](/docs/developers/protobufs/api#position) message + // Payload is a Position message. // ENCODING: Protobuf PortNum_POSITION_APP PortNum = 3 // The built-in user info app. - // Payload is a [User](/docs/developers/protobufs/api#user) message + // Payload is a User message. // ENCODING: Protobuf PortNum_NODEINFO_APP PortNum = 4 // Protocol control packets for mesh protocol use. - // Payload is a [Routing](/docs/developers/protobufs/api#routing) message + // Payload is a Routing message. // ENCODING: Protobuf PortNum_ROUTING_APP PortNum = 5 // Admin control packets. - // Payload is a [AdminMessage](/docs/developers/protobufs/api#adminmessage) message + // Payload is a AdminMessage message. // ENCODING: Protobuf PortNum_ADMIN_APP PortNum = 6 // Compressed TEXT_MESSAGE payloads. @@ -72,7 +73,7 @@ const ( // any incoming TEXT_MESSAGE_COMPRESSED_APP payload and convert to TEXT_MESSAGE_APP. PortNum_TEXT_MESSAGE_COMPRESSED_APP PortNum = 7 // Waypoint payloads. - // Payload is a [Waypoint](/docs/developers/protobufs/api#waypoint) message + // Payload is a Waypoint message. // ENCODING: Protobuf PortNum_WAYPOINT_APP PortNum = 8 // Audio Payloads. @@ -84,6 +85,10 @@ const ( // Same as Text Message but originating from Detection Sensor Module. // NOTE: This portnum traffic is not sent to the public MQTT starting at firmware version 2.2.9 PortNum_DETECTION_SENSOR_APP PortNum = 10 + // Same as Text Message but used for critical alerts. + PortNum_ALERT_APP PortNum = 11 + // Module/port for handling key verification requests. + PortNum_KEY_VERIFICATION_APP PortNum = 12 // Provides a 'ping' service that replies to any packet it receives. // Also serves as a small example module. // ENCODING: ASCII Plaintext @@ -125,7 +130,7 @@ const ( // ENCODING: Protobuf (?) PortNum_SIMULATOR_APP PortNum = 69 // Provides a traceroute functionality to show the route a packet towards - // a certain destination would take on the mesh. + // a certain destination would take on the mesh. Contains a RouteDiscovery message as payload. // ENCODING: Protobuf PortNum_TRACEROUTE_APP PortNum = 70 // Aggregates edge info for the network by sending out a list of each node's neighbors @@ -134,6 +139,13 @@ const ( // ATAK Plugin // Portnum for payloads from the official Meshtastic ATAK plugin PortNum_ATAK_PLUGIN PortNum = 72 + // Provides unencrypted information about a node for consumption by a map via MQTT + PortNum_MAP_REPORT_APP PortNum = 73 + // PowerStress based monitoring support (for automated power consumption testing) + PortNum_POWERSTRESS_APP PortNum = 74 + // Reticulum Network Stack Tunnel App + // ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface + PortNum_RETICULUM_TUNNEL_APP PortNum = 76 // Private applications should use portnums >= 256. // To simplify initial development and testing you can use "PRIVATE_APP" // in your code without needing to rebuild protobuf files (via [regen-protos.sh](https://github.com/meshtastic/firmware/blob/master/bin/regen-protos.sh)) @@ -159,6 +171,8 @@ var ( 8: "WAYPOINT_APP", 9: "AUDIO_APP", 10: "DETECTION_SENSOR_APP", + 11: "ALERT_APP", + 12: "KEY_VERIFICATION_APP", 32: "REPLY_APP", 33: "IP_TUNNEL_APP", 34: "PAXCOUNTER_APP", @@ -171,6 +185,9 @@ var ( 70: "TRACEROUTE_APP", 71: "NEIGHBORINFO_APP", 72: "ATAK_PLUGIN", + 73: "MAP_REPORT_APP", + 74: "POWERSTRESS_APP", + 76: "RETICULUM_TUNNEL_APP", 256: "PRIVATE_APP", 257: "ATAK_FORWARDER", 511: "MAX", @@ -187,6 +204,8 @@ var ( "WAYPOINT_APP": 8, "AUDIO_APP": 9, "DETECTION_SENSOR_APP": 10, + "ALERT_APP": 11, + "KEY_VERIFICATION_APP": 12, "REPLY_APP": 32, "IP_TUNNEL_APP": 33, "PAXCOUNTER_APP": 34, @@ -199,6 +218,9 @@ var ( "TRACEROUTE_APP": 70, "NEIGHBORINFO_APP": 71, "ATAK_PLUGIN": 72, + "MAP_REPORT_APP": 73, + "POWERSTRESS_APP": 74, + "RETICULUM_TUNNEL_APP": 76, "PRIVATE_APP": 256, "ATAK_FORWARDER": 257, "MAX": 511, @@ -234,64 +256,60 @@ func (PortNum) EnumDescriptor() ([]byte, []int) { var File_meshtastic_portnums_proto protoreflect.FileDescriptor -var file_meshtastic_portnums_proto_rawDesc = []byte{ - 0x0a, 0x19, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x6f, 0x72, - 0x74, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2a, 0xf9, 0x03, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, - 0x4e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x41, - 0x50, 0x50, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x4d, 0x45, 0x53, - 0x53, 0x41, 0x47, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, - 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x48, 0x41, 0x52, 0x44, 0x57, 0x41, 0x52, 0x45, 0x5f, 0x41, 0x50, - 0x50, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x41, 0x50, 0x50, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x44, 0x45, 0x49, 0x4e, 0x46, - 0x4f, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x54, 0x49, - 0x4e, 0x47, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x44, 0x4d, 0x49, - 0x4e, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, 0x54, 0x45, 0x58, 0x54, 0x5f, - 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, - 0x45, 0x44, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x41, 0x59, 0x50, - 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, - 0x44, 0x49, 0x4f, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x09, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x45, 0x54, - 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x5f, 0x41, 0x50, - 0x50, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x4c, 0x59, 0x5f, 0x41, 0x50, 0x50, - 0x10, 0x20, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x50, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x41, 0x50, 0x50, 0x10, 0x21, 0x12, 0x12, 0x0a, 0x0e, 0x50, 0x41, 0x58, 0x43, 0x4f, 0x55, 0x4e, - 0x54, 0x45, 0x52, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x22, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x45, 0x52, - 0x49, 0x41, 0x4c, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x40, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x4f, - 0x52, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x41, - 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x41, - 0x50, 0x50, 0x10, 0x42, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x54, 0x52, - 0x59, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x43, 0x12, 0x0b, 0x0a, 0x07, 0x5a, 0x50, 0x53, 0x5f, 0x41, - 0x50, 0x50, 0x10, 0x44, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x49, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x4f, - 0x52, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x45, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x52, 0x41, 0x43, 0x45, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x46, 0x12, 0x14, 0x0a, 0x10, 0x4e, - 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x41, 0x50, 0x50, 0x10, - 0x47, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x54, 0x41, 0x4b, 0x5f, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e, - 0x10, 0x48, 0x12, 0x10, 0x0a, 0x0b, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x50, - 0x50, 0x10, 0x80, 0x02, 0x12, 0x13, 0x0a, 0x0e, 0x41, 0x54, 0x41, 0x4b, 0x5f, 0x46, 0x4f, 0x52, - 0x57, 0x41, 0x52, 0x44, 0x45, 0x52, 0x10, 0x81, 0x02, 0x12, 0x08, 0x0a, 0x03, 0x4d, 0x41, 0x58, - 0x10, 0xff, 0x03, 0x42, 0x5d, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, - 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x08, 0x50, 0x6f, 0x72, 0x74, - 0x6e, 0x75, 0x6d, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, - 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_portnums_proto_rawDesc = "" + + "\n" + + "\x19meshtastic/portnums.proto\x12\n" + + "meshtastic*\xe5\x04\n" + + "\aPortNum\x12\x0f\n" + + "\vUNKNOWN_APP\x10\x00\x12\x14\n" + + "\x10TEXT_MESSAGE_APP\x10\x01\x12\x17\n" + + "\x13REMOTE_HARDWARE_APP\x10\x02\x12\x10\n" + + "\fPOSITION_APP\x10\x03\x12\x10\n" + + "\fNODEINFO_APP\x10\x04\x12\x0f\n" + + "\vROUTING_APP\x10\x05\x12\r\n" + + "\tADMIN_APP\x10\x06\x12\x1f\n" + + "\x1bTEXT_MESSAGE_COMPRESSED_APP\x10\a\x12\x10\n" + + "\fWAYPOINT_APP\x10\b\x12\r\n" + + "\tAUDIO_APP\x10\t\x12\x18\n" + + "\x14DETECTION_SENSOR_APP\x10\n" + + "\x12\r\n" + + "\tALERT_APP\x10\v\x12\x18\n" + + "\x14KEY_VERIFICATION_APP\x10\f\x12\r\n" + + "\tREPLY_APP\x10 \x12\x11\n" + + "\rIP_TUNNEL_APP\x10!\x12\x12\n" + + "\x0ePAXCOUNTER_APP\x10\"\x12\x0e\n" + + "\n" + + "SERIAL_APP\x10@\x12\x15\n" + + "\x11STORE_FORWARD_APP\x10A\x12\x12\n" + + "\x0eRANGE_TEST_APP\x10B\x12\x11\n" + + "\rTELEMETRY_APP\x10C\x12\v\n" + + "\aZPS_APP\x10D\x12\x11\n" + + "\rSIMULATOR_APP\x10E\x12\x12\n" + + "\x0eTRACEROUTE_APP\x10F\x12\x14\n" + + "\x10NEIGHBORINFO_APP\x10G\x12\x0f\n" + + "\vATAK_PLUGIN\x10H\x12\x12\n" + + "\x0eMAP_REPORT_APP\x10I\x12\x13\n" + + "\x0fPOWERSTRESS_APP\x10J\x12\x18\n" + + "\x14RETICULUM_TUNNEL_APP\x10L\x12\x10\n" + + "\vPRIVATE_APP\x10\x80\x02\x12\x13\n" + + "\x0eATAK_FORWARDER\x10\x81\x02\x12\b\n" + + "\x03MAX\x10\xff\x03B]\n" + + "\x13com.geeksville.meshB\bPortnumsZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_portnums_proto_rawDescOnce sync.Once - file_meshtastic_portnums_proto_rawDescData = file_meshtastic_portnums_proto_rawDesc + file_meshtastic_portnums_proto_rawDescData []byte ) func file_meshtastic_portnums_proto_rawDescGZIP() []byte { file_meshtastic_portnums_proto_rawDescOnce.Do(func() { - file_meshtastic_portnums_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_portnums_proto_rawDescData) + file_meshtastic_portnums_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_portnums_proto_rawDesc), len(file_meshtastic_portnums_proto_rawDesc))) }) return file_meshtastic_portnums_proto_rawDescData } var file_meshtastic_portnums_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_meshtastic_portnums_proto_goTypes = []interface{}{ +var file_meshtastic_portnums_proto_goTypes = []any{ (PortNum)(0), // 0: meshtastic.PortNum } var file_meshtastic_portnums_proto_depIdxs = []int32{ @@ -311,7 +329,7 @@ func file_meshtastic_portnums_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_portnums_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_portnums_proto_rawDesc), len(file_meshtastic_portnums_proto_rawDesc)), NumEnums: 1, NumMessages: 0, NumExtensions: 0, @@ -322,7 +340,6 @@ func file_meshtastic_portnums_proto_init() { EnumInfos: file_meshtastic_portnums_proto_enumTypes, }.Build() File_meshtastic_portnums_proto = out.File - file_meshtastic_portnums_proto_rawDesc = nil file_meshtastic_portnums_proto_goTypes = nil file_meshtastic_portnums_proto_depIdxs = nil } diff --git a/meshtastic/powermon.pb.go b/meshtastic/powermon.pb.go new file mode 100644 index 0000000..ba02e5f --- /dev/null +++ b/meshtastic/powermon.pb.go @@ -0,0 +1,418 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.6 +// protoc v3.21.12 +// source: meshtastic/powermon.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Any significant power changing event in meshtastic should be tagged with a powermon state transition. +// If you are making new meshtastic features feel free to add new entries at the end of this definition. +type PowerMon_State int32 + +const ( + PowerMon_None PowerMon_State = 0 + PowerMon_CPU_DeepSleep PowerMon_State = 1 + PowerMon_CPU_LightSleep PowerMon_State = 2 + // The external Vext1 power is on. Many boards have auxillary power rails that the CPU turns on only + // occasionally. In cases where that rail has multiple devices on it we usually want to have logging on + // the state of that rail as an independent record. + // For instance on the Heltec Tracker 1.1 board, this rail is the power source for the GPS and screen. + // + // The log messages will be short and complete (see PowerMon.Event in the protobufs for details). + // something like "S:PM:C,0x00001234,REASON" where the hex number is the bitmask of all current states. + // (We use a bitmask for states so that if a log message gets lost it won't be fatal) + PowerMon_Vext1_On PowerMon_State = 4 + PowerMon_Lora_RXOn PowerMon_State = 8 + PowerMon_Lora_TXOn PowerMon_State = 16 + PowerMon_Lora_RXActive PowerMon_State = 32 + PowerMon_BT_On PowerMon_State = 64 + PowerMon_LED_On PowerMon_State = 128 + PowerMon_Screen_On PowerMon_State = 256 + PowerMon_Screen_Drawing PowerMon_State = 512 + PowerMon_Wifi_On PowerMon_State = 1024 + // GPS is actively trying to find our location + // See GPSPowerState for more details + PowerMon_GPS_Active PowerMon_State = 2048 +) + +// Enum value maps for PowerMon_State. +var ( + PowerMon_State_name = map[int32]string{ + 0: "None", + 1: "CPU_DeepSleep", + 2: "CPU_LightSleep", + 4: "Vext1_On", + 8: "Lora_RXOn", + 16: "Lora_TXOn", + 32: "Lora_RXActive", + 64: "BT_On", + 128: "LED_On", + 256: "Screen_On", + 512: "Screen_Drawing", + 1024: "Wifi_On", + 2048: "GPS_Active", + } + PowerMon_State_value = map[string]int32{ + "None": 0, + "CPU_DeepSleep": 1, + "CPU_LightSleep": 2, + "Vext1_On": 4, + "Lora_RXOn": 8, + "Lora_TXOn": 16, + "Lora_RXActive": 32, + "BT_On": 64, + "LED_On": 128, + "Screen_On": 256, + "Screen_Drawing": 512, + "Wifi_On": 1024, + "GPS_Active": 2048, + } +) + +func (x PowerMon_State) Enum() *PowerMon_State { + p := new(PowerMon_State) + *p = x + return p +} + +func (x PowerMon_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PowerMon_State) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_powermon_proto_enumTypes[0].Descriptor() +} + +func (PowerMon_State) Type() protoreflect.EnumType { + return &file_meshtastic_powermon_proto_enumTypes[0] +} + +func (x PowerMon_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PowerMon_State.Descriptor instead. +func (PowerMon_State) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_powermon_proto_rawDescGZIP(), []int{0, 0} +} + +// What operation would we like the UUT to perform. +// note: senders should probably set want_response in their request packets, so that they can know when the state +// machine has started processing their request +type PowerStressMessage_Opcode int32 + +const ( + // Unset/unused + PowerStressMessage_UNSET PowerStressMessage_Opcode = 0 + PowerStressMessage_PRINT_INFO PowerStressMessage_Opcode = 1 // Print board version slog and send an ack that we are alive and ready to process commands + PowerStressMessage_FORCE_QUIET PowerStressMessage_Opcode = 2 // Try to turn off all automatic processing of packets, screen, sleeping, etc (to make it easier to measure in isolation) + PowerStressMessage_END_QUIET PowerStressMessage_Opcode = 3 // Stop powerstress processing - probably by just rebooting the board + PowerStressMessage_SCREEN_ON PowerStressMessage_Opcode = 16 // Turn the screen on + PowerStressMessage_SCREEN_OFF PowerStressMessage_Opcode = 17 // Turn the screen off + PowerStressMessage_CPU_IDLE PowerStressMessage_Opcode = 32 // Let the CPU run but we assume mostly idling for num_seconds + PowerStressMessage_CPU_DEEPSLEEP PowerStressMessage_Opcode = 33 // Force deep sleep for FIXME seconds + PowerStressMessage_CPU_FULLON PowerStressMessage_Opcode = 34 // Spin the CPU as fast as possible for num_seconds + PowerStressMessage_LED_ON PowerStressMessage_Opcode = 48 // Turn the LED on for num_seconds (and leave it on - for baseline power measurement purposes) + PowerStressMessage_LED_OFF PowerStressMessage_Opcode = 49 // Force the LED off for num_seconds + PowerStressMessage_LORA_OFF PowerStressMessage_Opcode = 64 // Completely turn off the LORA radio for num_seconds + PowerStressMessage_LORA_TX PowerStressMessage_Opcode = 65 // Send Lora packets for num_seconds + PowerStressMessage_LORA_RX PowerStressMessage_Opcode = 66 // Receive Lora packets for num_seconds (node will be mostly just listening, unless an external agent is helping stress this by sending packets on the current channel) + PowerStressMessage_BT_OFF PowerStressMessage_Opcode = 80 // Turn off the BT radio for num_seconds + PowerStressMessage_BT_ON PowerStressMessage_Opcode = 81 // Turn on the BT radio for num_seconds + PowerStressMessage_WIFI_OFF PowerStressMessage_Opcode = 96 // Turn off the WIFI radio for num_seconds + PowerStressMessage_WIFI_ON PowerStressMessage_Opcode = 97 // Turn on the WIFI radio for num_seconds + PowerStressMessage_GPS_OFF PowerStressMessage_Opcode = 112 // Turn off the GPS radio for num_seconds + PowerStressMessage_GPS_ON PowerStressMessage_Opcode = 113 // Turn on the GPS radio for num_seconds +) + +// Enum value maps for PowerStressMessage_Opcode. +var ( + PowerStressMessage_Opcode_name = map[int32]string{ + 0: "UNSET", + 1: "PRINT_INFO", + 2: "FORCE_QUIET", + 3: "END_QUIET", + 16: "SCREEN_ON", + 17: "SCREEN_OFF", + 32: "CPU_IDLE", + 33: "CPU_DEEPSLEEP", + 34: "CPU_FULLON", + 48: "LED_ON", + 49: "LED_OFF", + 64: "LORA_OFF", + 65: "LORA_TX", + 66: "LORA_RX", + 80: "BT_OFF", + 81: "BT_ON", + 96: "WIFI_OFF", + 97: "WIFI_ON", + 112: "GPS_OFF", + 113: "GPS_ON", + } + PowerStressMessage_Opcode_value = map[string]int32{ + "UNSET": 0, + "PRINT_INFO": 1, + "FORCE_QUIET": 2, + "END_QUIET": 3, + "SCREEN_ON": 16, + "SCREEN_OFF": 17, + "CPU_IDLE": 32, + "CPU_DEEPSLEEP": 33, + "CPU_FULLON": 34, + "LED_ON": 48, + "LED_OFF": 49, + "LORA_OFF": 64, + "LORA_TX": 65, + "LORA_RX": 66, + "BT_OFF": 80, + "BT_ON": 81, + "WIFI_OFF": 96, + "WIFI_ON": 97, + "GPS_OFF": 112, + "GPS_ON": 113, + } +) + +func (x PowerStressMessage_Opcode) Enum() *PowerStressMessage_Opcode { + p := new(PowerStressMessage_Opcode) + *p = x + return p +} + +func (x PowerStressMessage_Opcode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PowerStressMessage_Opcode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_powermon_proto_enumTypes[1].Descriptor() +} + +func (PowerStressMessage_Opcode) Type() protoreflect.EnumType { + return &file_meshtastic_powermon_proto_enumTypes[1] +} + +func (x PowerStressMessage_Opcode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PowerStressMessage_Opcode.Descriptor instead. +func (PowerStressMessage_Opcode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_powermon_proto_rawDescGZIP(), []int{1, 0} +} + +// Note: There are no 'PowerMon' messages normally in use (PowerMons are sent only as structured logs - slogs). +// But we wrap our State enum in this message to effectively nest a namespace (without our linter yelling at us) +type PowerMon struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PowerMon) Reset() { + *x = PowerMon{} + mi := &file_meshtastic_powermon_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PowerMon) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PowerMon) ProtoMessage() {} + +func (x *PowerMon) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_powermon_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PowerMon.ProtoReflect.Descriptor instead. +func (*PowerMon) Descriptor() ([]byte, []int) { + return file_meshtastic_powermon_proto_rawDescGZIP(), []int{0} +} + +// PowerStress testing support via the C++ PowerStress module +type PowerStressMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // What type of HardwareMessage is this? + Cmd PowerStressMessage_Opcode `protobuf:"varint,1,opt,name=cmd,proto3,enum=meshtastic.PowerStressMessage_Opcode" json:"cmd,omitempty"` + NumSeconds float32 `protobuf:"fixed32,2,opt,name=num_seconds,json=numSeconds,proto3" json:"num_seconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PowerStressMessage) Reset() { + *x = PowerStressMessage{} + mi := &file_meshtastic_powermon_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PowerStressMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PowerStressMessage) ProtoMessage() {} + +func (x *PowerStressMessage) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_powermon_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PowerStressMessage.ProtoReflect.Descriptor instead. +func (*PowerStressMessage) Descriptor() ([]byte, []int) { + return file_meshtastic_powermon_proto_rawDescGZIP(), []int{1} +} + +func (x *PowerStressMessage) GetCmd() PowerStressMessage_Opcode { + if x != nil { + return x.Cmd + } + return PowerStressMessage_UNSET +} + +func (x *PowerStressMessage) GetNumSeconds() float32 { + if x != nil { + return x.NumSeconds + } + return 0 +} + +var File_meshtastic_powermon_proto protoreflect.FileDescriptor + +const file_meshtastic_powermon_proto_rawDesc = "" + + "\n" + + "\x19meshtastic/powermon.proto\x12\n" + + "meshtastic\"\xe0\x01\n" + + "\bPowerMon\"\xd3\x01\n" + + "\x05State\x12\b\n" + + "\x04None\x10\x00\x12\x11\n" + + "\rCPU_DeepSleep\x10\x01\x12\x12\n" + + "\x0eCPU_LightSleep\x10\x02\x12\f\n" + + "\bVext1_On\x10\x04\x12\r\n" + + "\tLora_RXOn\x10\b\x12\r\n" + + "\tLora_TXOn\x10\x10\x12\x11\n" + + "\rLora_RXActive\x10 \x12\t\n" + + "\x05BT_On\x10@\x12\v\n" + + "\x06LED_On\x10\x80\x01\x12\x0e\n" + + "\tScreen_On\x10\x80\x02\x12\x13\n" + + "\x0eScreen_Drawing\x10\x80\x04\x12\f\n" + + "\aWifi_On\x10\x80\b\x12\x0f\n" + + "\n" + + "GPS_Active\x10\x80\x10\"\x90\x03\n" + + "\x12PowerStressMessage\x127\n" + + "\x03cmd\x18\x01 \x01(\x0e2%.meshtastic.PowerStressMessage.OpcodeR\x03cmd\x12\x1f\n" + + "\vnum_seconds\x18\x02 \x01(\x02R\n" + + "numSeconds\"\x9f\x02\n" + + "\x06Opcode\x12\t\n" + + "\x05UNSET\x10\x00\x12\x0e\n" + + "\n" + + "PRINT_INFO\x10\x01\x12\x0f\n" + + "\vFORCE_QUIET\x10\x02\x12\r\n" + + "\tEND_QUIET\x10\x03\x12\r\n" + + "\tSCREEN_ON\x10\x10\x12\x0e\n" + + "\n" + + "SCREEN_OFF\x10\x11\x12\f\n" + + "\bCPU_IDLE\x10 \x12\x11\n" + + "\rCPU_DEEPSLEEP\x10!\x12\x0e\n" + + "\n" + + "CPU_FULLON\x10\"\x12\n" + + "\n" + + "\x06LED_ON\x100\x12\v\n" + + "\aLED_OFF\x101\x12\f\n" + + "\bLORA_OFF\x10@\x12\v\n" + + "\aLORA_TX\x10A\x12\v\n" + + "\aLORA_RX\x10B\x12\n" + + "\n" + + "\x06BT_OFF\x10P\x12\t\n" + + "\x05BT_ON\x10Q\x12\f\n" + + "\bWIFI_OFF\x10`\x12\v\n" + + "\aWIFI_ON\x10a\x12\v\n" + + "\aGPS_OFF\x10p\x12\n" + + "\n" + + "\x06GPS_ON\x10qBc\n" + + "\x13com.geeksville.meshB\x0ePowerMonProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + +var ( + file_meshtastic_powermon_proto_rawDescOnce sync.Once + file_meshtastic_powermon_proto_rawDescData []byte +) + +func file_meshtastic_powermon_proto_rawDescGZIP() []byte { + file_meshtastic_powermon_proto_rawDescOnce.Do(func() { + file_meshtastic_powermon_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_powermon_proto_rawDesc), len(file_meshtastic_powermon_proto_rawDesc))) + }) + return file_meshtastic_powermon_proto_rawDescData +} + +var file_meshtastic_powermon_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_meshtastic_powermon_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_meshtastic_powermon_proto_goTypes = []any{ + (PowerMon_State)(0), // 0: meshtastic.PowerMon.State + (PowerStressMessage_Opcode)(0), // 1: meshtastic.PowerStressMessage.Opcode + (*PowerMon)(nil), // 2: meshtastic.PowerMon + (*PowerStressMessage)(nil), // 3: meshtastic.PowerStressMessage +} +var file_meshtastic_powermon_proto_depIdxs = []int32{ + 1, // 0: meshtastic.PowerStressMessage.cmd:type_name -> meshtastic.PowerStressMessage.Opcode + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_meshtastic_powermon_proto_init() } +func file_meshtastic_powermon_proto_init() { + if File_meshtastic_powermon_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_powermon_proto_rawDesc), len(file_meshtastic_powermon_proto_rawDesc)), + NumEnums: 2, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_powermon_proto_goTypes, + DependencyIndexes: file_meshtastic_powermon_proto_depIdxs, + EnumInfos: file_meshtastic_powermon_proto_enumTypes, + MessageInfos: file_meshtastic_powermon_proto_msgTypes, + }.Build() + File_meshtastic_powermon_proto = out.File + file_meshtastic_powermon_proto_goTypes = nil + file_meshtastic_powermon_proto_depIdxs = nil +} diff --git a/meshtastic/powermon_vtproto.pb.go b/meshtastic/powermon_vtproto.pb.go new file mode 100644 index 0000000..9f33518 --- /dev/null +++ b/meshtastic/powermon_vtproto.pb.go @@ -0,0 +1,257 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/powermon.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +func (m *PowerMon) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PowerMon) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PowerMon) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *PowerStressMessage) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PowerStressMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PowerStressMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.NumSeconds != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.NumSeconds)))) + i-- + dAtA[i] = 0x15 + } + if m.Cmd != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Cmd)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *PowerMon) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *PowerStressMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Cmd != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Cmd)) + } + if m.NumSeconds != 0 { + n += 5 + } + n += len(m.unknownFields) + return n +} + +func (m *PowerMon) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PowerMon: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PowerMon: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PowerStressMessage) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PowerStressMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PowerStressMessage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Cmd", wireType) + } + m.Cmd = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Cmd |= PowerStressMessage_Opcode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field NumSeconds", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.NumSeconds = float32(math.Float32frombits(v)) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/meshtastic/remote_hardware.pb.go b/meshtastic/remote_hardware.pb.go index f224e33..b32f1ae 100644 --- a/meshtastic/remote_hardware.pb.go +++ b/meshtastic/remote_hardware.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/remote_hardware.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -97,26 +98,23 @@ func (HardwareMessage_Type) EnumDescriptor() ([]byte, []int) { // It should be off by default and then protected based on some TBD mechanism // (a special channel once multichannel support is included?) type HardwareMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // What type of HardwareMessage is this? Type HardwareMessage_Type `protobuf:"varint,1,opt,name=type,proto3,enum=meshtastic.HardwareMessage_Type" json:"type,omitempty"` // What gpios are we changing. Not used for all MessageTypes, see MessageType for details GpioMask uint64 `protobuf:"varint,2,opt,name=gpio_mask,json=gpioMask,proto3" json:"gpio_mask,omitempty"` // For gpios that were listed in gpio_mask as valid, what are the signal levels for those gpios. // Not used for all MessageTypes, see MessageType for details - GpioValue uint64 `protobuf:"varint,3,opt,name=gpio_value,json=gpioValue,proto3" json:"gpio_value,omitempty"` + GpioValue uint64 `protobuf:"varint,3,opt,name=gpio_value,json=gpioValue,proto3" json:"gpio_value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *HardwareMessage) Reset() { *x = HardwareMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_remote_hardware_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_remote_hardware_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *HardwareMessage) String() string { @@ -127,7 +125,7 @@ func (*HardwareMessage) ProtoMessage() {} func (x *HardwareMessage) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_remote_hardware_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -165,49 +163,40 @@ func (x *HardwareMessage) GetGpioValue() uint64 { var File_meshtastic_remote_hardware_proto protoreflect.FileDescriptor -var file_meshtastic_remote_hardware_proto_rawDesc = []byte{ - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0xf1, - 0x01, 0x0a, 0x0f, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x20, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x48, 0x61, - 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x67, 0x70, 0x69, 0x6f, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x67, 0x70, 0x69, - 0x6f, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x70, 0x69, 0x6f, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x67, 0x70, 0x69, 0x6f, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, - 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x52, 0x49, 0x54, 0x45, - 0x5f, 0x47, 0x50, 0x49, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x57, 0x41, 0x54, 0x43, - 0x48, 0x5f, 0x47, 0x50, 0x49, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x50, 0x49, - 0x4f, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, - 0x52, 0x45, 0x41, 0x44, 0x5f, 0x47, 0x50, 0x49, 0x4f, 0x53, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, - 0x52, 0x45, 0x41, 0x44, 0x5f, 0x47, 0x50, 0x49, 0x4f, 0x53, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x59, - 0x10, 0x05, 0x42, 0x63, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, - 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, - 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_remote_hardware_proto_rawDesc = "" + + "\n" + + " meshtastic/remote_hardware.proto\x12\n" + + "meshtastic\"\xf1\x01\n" + + "\x0fHardwareMessage\x124\n" + + "\x04type\x18\x01 \x01(\x0e2 .meshtastic.HardwareMessage.TypeR\x04type\x12\x1b\n" + + "\tgpio_mask\x18\x02 \x01(\x04R\bgpioMask\x12\x1d\n" + + "\n" + + "gpio_value\x18\x03 \x01(\x04R\tgpioValue\"l\n" + + "\x04Type\x12\t\n" + + "\x05UNSET\x10\x00\x12\x0f\n" + + "\vWRITE_GPIOS\x10\x01\x12\x0f\n" + + "\vWATCH_GPIOS\x10\x02\x12\x11\n" + + "\rGPIOS_CHANGED\x10\x03\x12\x0e\n" + + "\n" + + "READ_GPIOS\x10\x04\x12\x14\n" + + "\x10READ_GPIOS_REPLY\x10\x05Bc\n" + + "\x13com.geeksville.meshB\x0eRemoteHardwareZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_remote_hardware_proto_rawDescOnce sync.Once - file_meshtastic_remote_hardware_proto_rawDescData = file_meshtastic_remote_hardware_proto_rawDesc + file_meshtastic_remote_hardware_proto_rawDescData []byte ) func file_meshtastic_remote_hardware_proto_rawDescGZIP() []byte { file_meshtastic_remote_hardware_proto_rawDescOnce.Do(func() { - file_meshtastic_remote_hardware_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_remote_hardware_proto_rawDescData) + file_meshtastic_remote_hardware_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_remote_hardware_proto_rawDesc), len(file_meshtastic_remote_hardware_proto_rawDesc))) }) return file_meshtastic_remote_hardware_proto_rawDescData } var file_meshtastic_remote_hardware_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_meshtastic_remote_hardware_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_remote_hardware_proto_goTypes = []interface{}{ +var file_meshtastic_remote_hardware_proto_goTypes = []any{ (HardwareMessage_Type)(0), // 0: meshtastic.HardwareMessage.Type (*HardwareMessage)(nil), // 1: meshtastic.HardwareMessage } @@ -225,25 +214,11 @@ func file_meshtastic_remote_hardware_proto_init() { if File_meshtastic_remote_hardware_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_remote_hardware_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HardwareMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_remote_hardware_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_remote_hardware_proto_rawDesc), len(file_meshtastic_remote_hardware_proto_rawDesc)), NumEnums: 1, NumMessages: 1, NumExtensions: 0, @@ -255,7 +230,6 @@ func file_meshtastic_remote_hardware_proto_init() { MessageInfos: file_meshtastic_remote_hardware_proto_msgTypes, }.Build() File_meshtastic_remote_hardware_proto = out.File - file_meshtastic_remote_hardware_proto_rawDesc = nil file_meshtastic_remote_hardware_proto_goTypes = nil file_meshtastic_remote_hardware_proto_depIdxs = nil } diff --git a/meshtastic/rtttl.pb.go b/meshtastic/rtttl.pb.go index 436d0db..25f6ea9 100644 --- a/meshtastic/rtttl.pb.go +++ b/meshtastic/rtttl.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/rtttl.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,21 +23,18 @@ const ( // Canned message module configuration. type RTTTLConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Ringtone for PWM Buzzer in RTTTL Format. - Ringtone string `protobuf:"bytes,1,opt,name=ringtone,proto3" json:"ringtone,omitempty"` + Ringtone string `protobuf:"bytes,1,opt,name=ringtone,proto3" json:"ringtone,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RTTTLConfig) Reset() { *x = RTTTLConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_rtttl_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_rtttl_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RTTTLConfig) String() string { @@ -47,7 +45,7 @@ func (*RTTTLConfig) ProtoMessage() {} func (x *RTTTLConfig) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_rtttl_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -71,35 +69,28 @@ func (x *RTTTLConfig) GetRingtone() string { var File_meshtastic_rtttl_proto protoreflect.FileDescriptor -var file_meshtastic_rtttl_proto_rawDesc = []byte{ - 0x0a, 0x16, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x72, 0x74, 0x74, - 0x74, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, - 0x73, 0x74, 0x69, 0x63, 0x22, 0x29, 0x0a, 0x0b, 0x52, 0x54, 0x54, 0x54, 0x4c, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x69, 0x6e, 0x67, 0x74, 0x6f, 0x6e, 0x65, 0x42, - 0x66, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, - 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x11, 0x52, 0x54, 0x54, 0x54, 0x4c, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, - 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, - 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_rtttl_proto_rawDesc = "" + + "\n" + + "\x16meshtastic/rtttl.proto\x12\n" + + "meshtastic\")\n" + + "\vRTTTLConfig\x12\x1a\n" + + "\bringtone\x18\x01 \x01(\tR\bringtoneBf\n" + + "\x13com.geeksville.meshB\x11RTTTLConfigProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_rtttl_proto_rawDescOnce sync.Once - file_meshtastic_rtttl_proto_rawDescData = file_meshtastic_rtttl_proto_rawDesc + file_meshtastic_rtttl_proto_rawDescData []byte ) func file_meshtastic_rtttl_proto_rawDescGZIP() []byte { file_meshtastic_rtttl_proto_rawDescOnce.Do(func() { - file_meshtastic_rtttl_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_rtttl_proto_rawDescData) + file_meshtastic_rtttl_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_rtttl_proto_rawDesc), len(file_meshtastic_rtttl_proto_rawDesc))) }) return file_meshtastic_rtttl_proto_rawDescData } var file_meshtastic_rtttl_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_rtttl_proto_goTypes = []interface{}{ +var file_meshtastic_rtttl_proto_goTypes = []any{ (*RTTTLConfig)(nil), // 0: meshtastic.RTTTLConfig } var file_meshtastic_rtttl_proto_depIdxs = []int32{ @@ -115,25 +106,11 @@ func file_meshtastic_rtttl_proto_init() { if File_meshtastic_rtttl_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_rtttl_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RTTTLConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_rtttl_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_rtttl_proto_rawDesc), len(file_meshtastic_rtttl_proto_rawDesc)), NumEnums: 0, NumMessages: 1, NumExtensions: 0, @@ -144,7 +121,6 @@ func file_meshtastic_rtttl_proto_init() { MessageInfos: file_meshtastic_rtttl_proto_msgTypes, }.Build() File_meshtastic_rtttl_proto = out.File - file_meshtastic_rtttl_proto_rawDesc = nil file_meshtastic_rtttl_proto_goTypes = nil file_meshtastic_rtttl_proto_depIdxs = nil } diff --git a/meshtastic/storeforward.pb.go b/meshtastic/storeforward.pb.go index df23d89..98fb72f 100644 --- a/meshtastic/storeforward.pb.go +++ b/meshtastic/storeforward.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/storeforward.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -130,30 +131,27 @@ func (StoreAndForward_RequestResponse) EnumDescriptor() ([]byte, []int) { // TODO: REPLACE type StoreAndForward struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // TODO: REPLACE Rr StoreAndForward_RequestResponse `protobuf:"varint,1,opt,name=rr,proto3,enum=meshtastic.StoreAndForward_RequestResponse" json:"rr,omitempty"` // TODO: REPLACE // - // Types that are assignable to Variant: + // Types that are valid to be assigned to Variant: // // *StoreAndForward_Stats // *StoreAndForward_History_ // *StoreAndForward_Heartbeat_ // *StoreAndForward_Text - Variant isStoreAndForward_Variant `protobuf_oneof:"variant"` + Variant isStoreAndForward_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StoreAndForward) Reset() { *x = StoreAndForward{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_storeforward_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_storeforward_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StoreAndForward) String() string { @@ -164,7 +162,7 @@ func (*StoreAndForward) ProtoMessage() {} func (x *StoreAndForward) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_storeforward_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -186,37 +184,45 @@ func (x *StoreAndForward) GetRr() StoreAndForward_RequestResponse { return StoreAndForward_UNSET } -func (m *StoreAndForward) GetVariant() isStoreAndForward_Variant { - if m != nil { - return m.Variant +func (x *StoreAndForward) GetVariant() isStoreAndForward_Variant { + if x != nil { + return x.Variant } return nil } func (x *StoreAndForward) GetStats() *StoreAndForward_Statistics { - if x, ok := x.GetVariant().(*StoreAndForward_Stats); ok { - return x.Stats + if x != nil { + if x, ok := x.Variant.(*StoreAndForward_Stats); ok { + return x.Stats + } } return nil } func (x *StoreAndForward) GetHistory() *StoreAndForward_History { - if x, ok := x.GetVariant().(*StoreAndForward_History_); ok { - return x.History + if x != nil { + if x, ok := x.Variant.(*StoreAndForward_History_); ok { + return x.History + } } return nil } func (x *StoreAndForward) GetHeartbeat() *StoreAndForward_Heartbeat { - if x, ok := x.GetVariant().(*StoreAndForward_Heartbeat_); ok { - return x.Heartbeat + if x != nil { + if x, ok := x.Variant.(*StoreAndForward_Heartbeat_); ok { + return x.Heartbeat + } } return nil } func (x *StoreAndForward) GetText() []byte { - if x, ok := x.GetVariant().(*StoreAndForward_Text); ok { - return x.Text + if x != nil { + if x, ok := x.Variant.(*StoreAndForward_Text); ok { + return x.Text + } } return nil } @@ -255,10 +261,7 @@ func (*StoreAndForward_Text) isStoreAndForward_Variant() {} // TODO: REPLACE type StoreAndForward_Statistics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Number of messages we have ever seen MessagesTotal uint32 `protobuf:"varint,1,opt,name=messages_total,json=messagesTotal,proto3" json:"messages_total,omitempty"` // Number of messages we have currently saved our history. @@ -276,16 +279,16 @@ type StoreAndForward_Statistics struct { // Maximum number of messages the server will return. ReturnMax uint32 `protobuf:"varint,8,opt,name=return_max,json=returnMax,proto3" json:"return_max,omitempty"` // Maximum history window in minutes the server will return messages from. - ReturnWindow uint32 `protobuf:"varint,9,opt,name=return_window,json=returnWindow,proto3" json:"return_window,omitempty"` + ReturnWindow uint32 `protobuf:"varint,9,opt,name=return_window,json=returnWindow,proto3" json:"return_window,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StoreAndForward_Statistics) Reset() { *x = StoreAndForward_Statistics{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_storeforward_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_storeforward_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StoreAndForward_Statistics) String() string { @@ -296,7 +299,7 @@ func (*StoreAndForward_Statistics) ProtoMessage() {} func (x *StoreAndForward_Statistics) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_storeforward_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -376,26 +379,23 @@ func (x *StoreAndForward_Statistics) GetReturnWindow() uint32 { // TODO: REPLACE type StoreAndForward_History struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Number of that will be sent to the client HistoryMessages uint32 `protobuf:"varint,1,opt,name=history_messages,json=historyMessages,proto3" json:"history_messages,omitempty"` // The window of messages that was used to filter the history client requested Window uint32 `protobuf:"varint,2,opt,name=window,proto3" json:"window,omitempty"` // Index in the packet history of the last message sent in a previous request to the server. // Will be sent to the client before sending the history and can be set in a subsequent request to avoid getting packets the server already sent to the client. - LastRequest uint32 `protobuf:"varint,3,opt,name=last_request,json=lastRequest,proto3" json:"last_request,omitempty"` + LastRequest uint32 `protobuf:"varint,3,opt,name=last_request,json=lastRequest,proto3" json:"last_request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StoreAndForward_History) Reset() { *x = StoreAndForward_History{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_storeforward_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_storeforward_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StoreAndForward_History) String() string { @@ -406,7 +406,7 @@ func (*StoreAndForward_History) ProtoMessage() {} func (x *StoreAndForward_History) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_storeforward_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -444,23 +444,20 @@ func (x *StoreAndForward_History) GetLastRequest() uint32 { // TODO: REPLACE type StoreAndForward_Heartbeat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` // Period in seconds that the heartbeat is sent out that will be sent to the client Period uint32 `protobuf:"varint,1,opt,name=period,proto3" json:"period,omitempty"` // If set, this is not the primary Store & Forward router on the mesh - Secondary uint32 `protobuf:"varint,2,opt,name=secondary,proto3" json:"secondary,omitempty"` + Secondary uint32 `protobuf:"varint,2,opt,name=secondary,proto3" json:"secondary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *StoreAndForward_Heartbeat) Reset() { *x = StoreAndForward_Heartbeat{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_storeforward_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_storeforward_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StoreAndForward_Heartbeat) String() string { @@ -471,7 +468,7 @@ func (*StoreAndForward_Heartbeat) ProtoMessage() {} func (x *StoreAndForward_Heartbeat) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_storeforward_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -502,105 +499,70 @@ func (x *StoreAndForward_Heartbeat) GetSecondary() uint32 { var File_meshtastic_storeforward_proto protoreflect.FileDescriptor -var file_meshtastic_storeforward_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0xec, 0x08, 0x0a, 0x0f, - 0x53, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x3b, 0x0a, 0x02, 0x72, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x6e, - 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x02, 0x72, 0x72, 0x12, 0x3e, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x6e, - 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x07, - 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, - 0x41, 0x6e, 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x48, 0x00, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x45, 0x0a, - 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53, 0x74, - 0x6f, 0x72, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x2e, 0x48, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x48, 0x00, 0x52, 0x09, 0x68, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x1a, 0xbf, 0x02, 0x0a, 0x0a, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x53, 0x61, 0x76, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x70, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, - 0x29, 0x0a, 0x10, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x68, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, - 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, - 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x4d, 0x61, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x1a, 0x6f, 0x0a, 0x07, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x0a, - 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, - 0x22, 0xbc, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x01, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x48, 0x45, 0x41, 0x52, - 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x54, 0x45, - 0x52, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4f, 0x55, - 0x54, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x53, 0x59, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x52, 0x5f, 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x06, 0x12, 0x10, - 0x0a, 0x0c, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x07, - 0x12, 0x16, 0x0a, 0x12, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, - 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x4f, 0x55, 0x54, - 0x45, 0x52, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, - 0x54, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x40, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, - 0x48, 0x49, 0x53, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x41, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x4c, 0x49, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x42, 0x12, 0x0f, 0x0a, 0x0b, 0x43, - 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x49, 0x4e, 0x47, 0x10, 0x43, 0x12, 0x0f, 0x0a, 0x0b, - 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x4f, 0x4e, 0x47, 0x10, 0x44, 0x12, 0x10, 0x0a, - 0x0c, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x42, 0x4f, 0x52, 0x54, 0x10, 0x6a, 0x42, - 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x42, 0x6a, 0x0a, 0x13, 0x63, 0x6f, - 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, - 0x68, 0x42, 0x15, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x41, 0x6e, 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, - 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, - 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_storeforward_proto_rawDesc = "" + + "\n" + + "\x1dmeshtastic/storeforward.proto\x12\n" + + "meshtastic\"\xec\b\n" + + "\x0fStoreAndForward\x12;\n" + + "\x02rr\x18\x01 \x01(\x0e2+.meshtastic.StoreAndForward.RequestResponseR\x02rr\x12>\n" + + "\x05stats\x18\x02 \x01(\v2&.meshtastic.StoreAndForward.StatisticsH\x00R\x05stats\x12?\n" + + "\ahistory\x18\x03 \x01(\v2#.meshtastic.StoreAndForward.HistoryH\x00R\ahistory\x12E\n" + + "\theartbeat\x18\x04 \x01(\v2%.meshtastic.StoreAndForward.HeartbeatH\x00R\theartbeat\x12\x14\n" + + "\x04text\x18\x05 \x01(\fH\x00R\x04text\x1a\xbf\x02\n" + + "\n" + + "Statistics\x12%\n" + + "\x0emessages_total\x18\x01 \x01(\rR\rmessagesTotal\x12%\n" + + "\x0emessages_saved\x18\x02 \x01(\rR\rmessagesSaved\x12!\n" + + "\fmessages_max\x18\x03 \x01(\rR\vmessagesMax\x12\x17\n" + + "\aup_time\x18\x04 \x01(\rR\x06upTime\x12\x1a\n" + + "\brequests\x18\x05 \x01(\rR\brequests\x12)\n" + + "\x10requests_history\x18\x06 \x01(\rR\x0frequestsHistory\x12\x1c\n" + + "\theartbeat\x18\a \x01(\bR\theartbeat\x12\x1d\n" + + "\n" + + "return_max\x18\b \x01(\rR\treturnMax\x12#\n" + + "\rreturn_window\x18\t \x01(\rR\freturnWindow\x1ao\n" + + "\aHistory\x12)\n" + + "\x10history_messages\x18\x01 \x01(\rR\x0fhistoryMessages\x12\x16\n" + + "\x06window\x18\x02 \x01(\rR\x06window\x12!\n" + + "\flast_request\x18\x03 \x01(\rR\vlastRequest\x1aA\n" + + "\tHeartbeat\x12\x16\n" + + "\x06period\x18\x01 \x01(\rR\x06period\x12\x1c\n" + + "\tsecondary\x18\x02 \x01(\rR\tsecondary\"\xbc\x02\n" + + "\x0fRequestResponse\x12\t\n" + + "\x05UNSET\x10\x00\x12\x10\n" + + "\fROUTER_ERROR\x10\x01\x12\x14\n" + + "\x10ROUTER_HEARTBEAT\x10\x02\x12\x0f\n" + + "\vROUTER_PING\x10\x03\x12\x0f\n" + + "\vROUTER_PONG\x10\x04\x12\x0f\n" + + "\vROUTER_BUSY\x10\x05\x12\x12\n" + + "\x0eROUTER_HISTORY\x10\x06\x12\x10\n" + + "\fROUTER_STATS\x10\a\x12\x16\n" + + "\x12ROUTER_TEXT_DIRECT\x10\b\x12\x19\n" + + "\x15ROUTER_TEXT_BROADCAST\x10\t\x12\x10\n" + + "\fCLIENT_ERROR\x10@\x12\x12\n" + + "\x0eCLIENT_HISTORY\x10A\x12\x10\n" + + "\fCLIENT_STATS\x10B\x12\x0f\n" + + "\vCLIENT_PING\x10C\x12\x0f\n" + + "\vCLIENT_PONG\x10D\x12\x10\n" + + "\fCLIENT_ABORT\x10jB\t\n" + + "\avariantBj\n" + + "\x13com.geeksville.meshB\x15StoreAndForwardProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_storeforward_proto_rawDescOnce sync.Once - file_meshtastic_storeforward_proto_rawDescData = file_meshtastic_storeforward_proto_rawDesc + file_meshtastic_storeforward_proto_rawDescData []byte ) func file_meshtastic_storeforward_proto_rawDescGZIP() []byte { file_meshtastic_storeforward_proto_rawDescOnce.Do(func() { - file_meshtastic_storeforward_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_storeforward_proto_rawDescData) + file_meshtastic_storeforward_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_storeforward_proto_rawDesc), len(file_meshtastic_storeforward_proto_rawDesc))) }) return file_meshtastic_storeforward_proto_rawDescData } var file_meshtastic_storeforward_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_meshtastic_storeforward_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_meshtastic_storeforward_proto_goTypes = []interface{}{ +var file_meshtastic_storeforward_proto_goTypes = []any{ (StoreAndForward_RequestResponse)(0), // 0: meshtastic.StoreAndForward.RequestResponse (*StoreAndForward)(nil), // 1: meshtastic.StoreAndForward (*StoreAndForward_Statistics)(nil), // 2: meshtastic.StoreAndForward.Statistics @@ -624,57 +586,7 @@ func file_meshtastic_storeforward_proto_init() { if File_meshtastic_storeforward_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_storeforward_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StoreAndForward); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_storeforward_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StoreAndForward_Statistics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_storeforward_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StoreAndForward_History); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_storeforward_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StoreAndForward_Heartbeat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_storeforward_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_meshtastic_storeforward_proto_msgTypes[0].OneofWrappers = []any{ (*StoreAndForward_Stats)(nil), (*StoreAndForward_History_)(nil), (*StoreAndForward_Heartbeat_)(nil), @@ -684,7 +596,7 @@ func file_meshtastic_storeforward_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_storeforward_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_storeforward_proto_rawDesc), len(file_meshtastic_storeforward_proto_rawDesc)), NumEnums: 1, NumMessages: 4, NumExtensions: 0, @@ -696,7 +608,6 @@ func file_meshtastic_storeforward_proto_init() { MessageInfos: file_meshtastic_storeforward_proto_msgTypes, }.Build() File_meshtastic_storeforward_proto = out.File - file_meshtastic_storeforward_proto_rawDesc = nil file_meshtastic_storeforward_proto_goTypes = nil file_meshtastic_storeforward_proto_depIdxs = nil } diff --git a/meshtastic/telemetry.pb.go b/meshtastic/telemetry.pb.go index 8b1358d..167c999 100644 --- a/meshtastic/telemetry.pb.go +++ b/meshtastic/telemetry.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/telemetry.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -24,51 +25,86 @@ const ( type TelemetrySensorType int32 const ( - // // No external telemetry sensor explicitly set TelemetrySensorType_SENSOR_UNSET TelemetrySensorType = 0 - // // High accuracy temperature, pressure, humidity TelemetrySensorType_BME280 TelemetrySensorType = 1 - // // High accuracy temperature, pressure, humidity, and air resistance TelemetrySensorType_BME680 TelemetrySensorType = 2 - // // Very high accuracy temperature TelemetrySensorType_MCP9808 TelemetrySensorType = 3 - // // Moderate accuracy current and voltage TelemetrySensorType_INA260 TelemetrySensorType = 4 - // // Moderate accuracy current and voltage TelemetrySensorType_INA219 TelemetrySensorType = 5 - // // High accuracy temperature and pressure TelemetrySensorType_BMP280 TelemetrySensorType = 6 - // // High accuracy temperature and humidity TelemetrySensorType_SHTC3 TelemetrySensorType = 7 - // // High accuracy pressure TelemetrySensorType_LPS22 TelemetrySensorType = 8 - // // 3-Axis magnetic sensor TelemetrySensorType_QMC6310 TelemetrySensorType = 9 - // // 6-Axis inertial measurement sensor TelemetrySensorType_QMI8658 TelemetrySensorType = 10 - // // 3-Axis magnetic sensor TelemetrySensorType_QMC5883L TelemetrySensorType = 11 - // // High accuracy temperature and humidity TelemetrySensorType_SHT31 TelemetrySensorType = 12 - // // PM2.5 air quality sensor TelemetrySensorType_PMSA003I TelemetrySensorType = 13 - // // INA3221 3 Channel Voltage / Current Sensor TelemetrySensorType_INA3221 TelemetrySensorType = 14 + // BMP085/BMP180 High accuracy temperature and pressure (older Version of BMP280) + TelemetrySensorType_BMP085 TelemetrySensorType = 15 + // RCWL-9620 Doppler Radar Distance Sensor, used for water level detection + TelemetrySensorType_RCWL9620 TelemetrySensorType = 16 + // Sensirion High accuracy temperature and humidity + TelemetrySensorType_SHT4X TelemetrySensorType = 17 + // VEML7700 high accuracy ambient light(Lux) digital 16-bit resolution sensor. + TelemetrySensorType_VEML7700 TelemetrySensorType = 18 + // MLX90632 non-contact IR temperature sensor. + TelemetrySensorType_MLX90632 TelemetrySensorType = 19 + // TI OPT3001 Ambient Light Sensor + TelemetrySensorType_OPT3001 TelemetrySensorType = 20 + // Lite On LTR-390UV-01 UV Light Sensor + TelemetrySensorType_LTR390UV TelemetrySensorType = 21 + // AMS TSL25911FN RGB Light Sensor + TelemetrySensorType_TSL25911FN TelemetrySensorType = 22 + // AHT10 Integrated temperature and humidity sensor + TelemetrySensorType_AHT10 TelemetrySensorType = 23 + // DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction) + TelemetrySensorType_DFROBOT_LARK TelemetrySensorType = 24 + // NAU7802 Scale Chip or compatible + TelemetrySensorType_NAU7802 TelemetrySensorType = 25 + // BMP3XX High accuracy temperature and pressure + TelemetrySensorType_BMP3XX TelemetrySensorType = 26 + // ICM-20948 9-Axis digital motion processor + TelemetrySensorType_ICM20948 TelemetrySensorType = 27 + // MAX17048 1S lipo battery sensor (voltage, state of charge, time to go) + TelemetrySensorType_MAX17048 TelemetrySensorType = 28 + // Custom I2C sensor implementation based on https://github.com/meshtastic/i2c-sensor + TelemetrySensorType_CUSTOM_SENSOR TelemetrySensorType = 29 + // MAX30102 Pulse Oximeter and Heart-Rate Sensor + TelemetrySensorType_MAX30102 TelemetrySensorType = 30 + // MLX90614 non-contact IR temperature sensor + TelemetrySensorType_MLX90614 TelemetrySensorType = 31 + // SCD40/SCD41 CO2, humidity, temperature sensor + TelemetrySensorType_SCD4X TelemetrySensorType = 32 + // ClimateGuard RadSens, radiation, Geiger-Muller Tube + TelemetrySensorType_RADSENS TelemetrySensorType = 33 + // High accuracy current and voltage + TelemetrySensorType_INA226 TelemetrySensorType = 34 + // DFRobot Gravity tipping bucket rain gauge + TelemetrySensorType_DFROBOT_RAIN TelemetrySensorType = 35 + // Infineon DPS310 High accuracy pressure and temperature + TelemetrySensorType_DPS310 TelemetrySensorType = 36 + // RAKWireless RAK12035 Soil Moisture Sensor Module + TelemetrySensorType_RAK12035 TelemetrySensorType = 37 + // MAX17261 lipo battery gauge + TelemetrySensorType_MAX17261 TelemetrySensorType = 38 + // PCT2075 Temperature Sensor + TelemetrySensorType_PCT2075 TelemetrySensorType = 39 ) // Enum value maps for TelemetrySensorType. @@ -89,23 +125,73 @@ var ( 12: "SHT31", 13: "PMSA003I", 14: "INA3221", + 15: "BMP085", + 16: "RCWL9620", + 17: "SHT4X", + 18: "VEML7700", + 19: "MLX90632", + 20: "OPT3001", + 21: "LTR390UV", + 22: "TSL25911FN", + 23: "AHT10", + 24: "DFROBOT_LARK", + 25: "NAU7802", + 26: "BMP3XX", + 27: "ICM20948", + 28: "MAX17048", + 29: "CUSTOM_SENSOR", + 30: "MAX30102", + 31: "MLX90614", + 32: "SCD4X", + 33: "RADSENS", + 34: "INA226", + 35: "DFROBOT_RAIN", + 36: "DPS310", + 37: "RAK12035", + 38: "MAX17261", + 39: "PCT2075", } TelemetrySensorType_value = map[string]int32{ - "SENSOR_UNSET": 0, - "BME280": 1, - "BME680": 2, - "MCP9808": 3, - "INA260": 4, - "INA219": 5, - "BMP280": 6, - "SHTC3": 7, - "LPS22": 8, - "QMC6310": 9, - "QMI8658": 10, - "QMC5883L": 11, - "SHT31": 12, - "PMSA003I": 13, - "INA3221": 14, + "SENSOR_UNSET": 0, + "BME280": 1, + "BME680": 2, + "MCP9808": 3, + "INA260": 4, + "INA219": 5, + "BMP280": 6, + "SHTC3": 7, + "LPS22": 8, + "QMC6310": 9, + "QMI8658": 10, + "QMC5883L": 11, + "SHT31": 12, + "PMSA003I": 13, + "INA3221": 14, + "BMP085": 15, + "RCWL9620": 16, + "SHT4X": 17, + "VEML7700": 18, + "MLX90632": 19, + "OPT3001": 20, + "LTR390UV": 21, + "TSL25911FN": 22, + "AHT10": 23, + "DFROBOT_LARK": 24, + "NAU7802": 25, + "BMP3XX": 26, + "ICM20948": 27, + "MAX17048": 28, + "CUSTOM_SENSOR": 29, + "MAX30102": 30, + "MLX90614": 31, + "SCD4X": 32, + "RADSENS": 33, + "INA226": 34, + "DFROBOT_RAIN": 35, + "DPS310": 36, + "RAK12035": 37, + "MAX17261": 38, + "PCT2075": 39, } ) @@ -138,31 +224,26 @@ func (TelemetrySensorType) EnumDescriptor() ([]byte, []int) { // Key native device metrics such as battery level type DeviceMetrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // + state protoimpl.MessageState `protogen:"open.v1"` // 0-100 (>100 means powered) - BatteryLevel uint32 `protobuf:"varint,1,opt,name=battery_level,json=batteryLevel,proto3" json:"battery_level,omitempty"` - // + BatteryLevel *uint32 `protobuf:"varint,1,opt,name=battery_level,json=batteryLevel,proto3,oneof" json:"battery_level,omitempty"` // Voltage measured - Voltage float32 `protobuf:"fixed32,2,opt,name=voltage,proto3" json:"voltage,omitempty"` - // + Voltage *float32 `protobuf:"fixed32,2,opt,name=voltage,proto3,oneof" json:"voltage,omitempty"` // Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise). - ChannelUtilization float32 `protobuf:"fixed32,3,opt,name=channel_utilization,json=channelUtilization,proto3" json:"channel_utilization,omitempty"` - // + ChannelUtilization *float32 `protobuf:"fixed32,3,opt,name=channel_utilization,json=channelUtilization,proto3,oneof" json:"channel_utilization,omitempty"` // Percent of airtime for transmission used within the last hour. - AirUtilTx float32 `protobuf:"fixed32,4,opt,name=air_util_tx,json=airUtilTx,proto3" json:"air_util_tx,omitempty"` + AirUtilTx *float32 `protobuf:"fixed32,4,opt,name=air_util_tx,json=airUtilTx,proto3,oneof" json:"air_util_tx,omitempty"` + // How long the device has been running since the last reboot (in seconds) + UptimeSeconds *uint32 `protobuf:"varint,5,opt,name=uptime_seconds,json=uptimeSeconds,proto3,oneof" json:"uptime_seconds,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DeviceMetrics) Reset() { *x = DeviceMetrics{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_telemetry_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_telemetry_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DeviceMetrics) String() string { @@ -173,7 +254,7 @@ func (*DeviceMetrics) ProtoMessage() {} func (x *DeviceMetrics) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_telemetry_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -189,66 +270,98 @@ func (*DeviceMetrics) Descriptor() ([]byte, []int) { } func (x *DeviceMetrics) GetBatteryLevel() uint32 { - if x != nil { - return x.BatteryLevel + if x != nil && x.BatteryLevel != nil { + return *x.BatteryLevel } return 0 } func (x *DeviceMetrics) GetVoltage() float32 { - if x != nil { - return x.Voltage + if x != nil && x.Voltage != nil { + return *x.Voltage } return 0 } func (x *DeviceMetrics) GetChannelUtilization() float32 { - if x != nil { - return x.ChannelUtilization + if x != nil && x.ChannelUtilization != nil { + return *x.ChannelUtilization } return 0 } func (x *DeviceMetrics) GetAirUtilTx() float32 { - if x != nil { - return x.AirUtilTx + if x != nil && x.AirUtilTx != nil { + return *x.AirUtilTx + } + return 0 +} + +func (x *DeviceMetrics) GetUptimeSeconds() uint32 { + if x != nil && x.UptimeSeconds != nil { + return *x.UptimeSeconds } return 0 } // Weather station or other environmental metrics type EnvironmentMetrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // + state protoimpl.MessageState `protogen:"open.v1"` // Temperature measured - Temperature float32 `protobuf:"fixed32,1,opt,name=temperature,proto3" json:"temperature,omitempty"` - // + Temperature *float32 `protobuf:"fixed32,1,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` // Relative humidity percent measured - RelativeHumidity float32 `protobuf:"fixed32,2,opt,name=relative_humidity,json=relativeHumidity,proto3" json:"relative_humidity,omitempty"` - // + RelativeHumidity *float32 `protobuf:"fixed32,2,opt,name=relative_humidity,json=relativeHumidity,proto3,oneof" json:"relative_humidity,omitempty"` // Barometric pressure in hPA measured - BarometricPressure float32 `protobuf:"fixed32,3,opt,name=barometric_pressure,json=barometricPressure,proto3" json:"barometric_pressure,omitempty"` - // + BarometricPressure *float32 `protobuf:"fixed32,3,opt,name=barometric_pressure,json=barometricPressure,proto3,oneof" json:"barometric_pressure,omitempty"` // Gas resistance in MOhm measured - GasResistance float32 `protobuf:"fixed32,4,opt,name=gas_resistance,json=gasResistance,proto3" json:"gas_resistance,omitempty"` - // + GasResistance *float32 `protobuf:"fixed32,4,opt,name=gas_resistance,json=gasResistance,proto3,oneof" json:"gas_resistance,omitempty"` // Voltage measured (To be depreciated in favor of PowerMetrics in Meshtastic 3.x) - Voltage float32 `protobuf:"fixed32,5,opt,name=voltage,proto3" json:"voltage,omitempty"` - // + Voltage *float32 `protobuf:"fixed32,5,opt,name=voltage,proto3,oneof" json:"voltage,omitempty"` // Current measured (To be depreciated in favor of PowerMetrics in Meshtastic 3.x) - Current float32 `protobuf:"fixed32,6,opt,name=current,proto3" json:"current,omitempty"` + Current *float32 `protobuf:"fixed32,6,opt,name=current,proto3,oneof" json:"current,omitempty"` + // relative scale IAQ value as measured by Bosch BME680 . value 0-500. + // Belongs to Air Quality but is not particle but VOC measurement. Other VOC values can also be put in here. + Iaq *uint32 `protobuf:"varint,7,opt,name=iaq,proto3,oneof" json:"iaq,omitempty"` + // RCWL9620 Doppler Radar Distance Sensor, used for water level detection. Float value in mm. + Distance *float32 `protobuf:"fixed32,8,opt,name=distance,proto3,oneof" json:"distance,omitempty"` + // VEML7700 high accuracy ambient light(Lux) digital 16-bit resolution sensor. + Lux *float32 `protobuf:"fixed32,9,opt,name=lux,proto3,oneof" json:"lux,omitempty"` + // VEML7700 high accuracy white light(irradiance) not calibrated digital 16-bit resolution sensor. + WhiteLux *float32 `protobuf:"fixed32,10,opt,name=white_lux,json=whiteLux,proto3,oneof" json:"white_lux,omitempty"` + // Infrared lux + IrLux *float32 `protobuf:"fixed32,11,opt,name=ir_lux,json=irLux,proto3,oneof" json:"ir_lux,omitempty"` + // Ultraviolet lux + UvLux *float32 `protobuf:"fixed32,12,opt,name=uv_lux,json=uvLux,proto3,oneof" json:"uv_lux,omitempty"` + // Wind direction in degrees + // 0 degrees = North, 90 = East, etc... + WindDirection *uint32 `protobuf:"varint,13,opt,name=wind_direction,json=windDirection,proto3,oneof" json:"wind_direction,omitempty"` + // Wind speed in m/s + WindSpeed *float32 `protobuf:"fixed32,14,opt,name=wind_speed,json=windSpeed,proto3,oneof" json:"wind_speed,omitempty"` + // Weight in KG + Weight *float32 `protobuf:"fixed32,15,opt,name=weight,proto3,oneof" json:"weight,omitempty"` + // Wind gust in m/s + WindGust *float32 `protobuf:"fixed32,16,opt,name=wind_gust,json=windGust,proto3,oneof" json:"wind_gust,omitempty"` + // Wind lull in m/s + WindLull *float32 `protobuf:"fixed32,17,opt,name=wind_lull,json=windLull,proto3,oneof" json:"wind_lull,omitempty"` + // Radiation in µR/h + Radiation *float32 `protobuf:"fixed32,18,opt,name=radiation,proto3,oneof" json:"radiation,omitempty"` + // Rainfall in the last hour in mm + Rainfall_1H *float32 `protobuf:"fixed32,19,opt,name=rainfall_1h,json=rainfall1h,proto3,oneof" json:"rainfall_1h,omitempty"` + // Rainfall in the last 24 hours in mm + Rainfall_24H *float32 `protobuf:"fixed32,20,opt,name=rainfall_24h,json=rainfall24h,proto3,oneof" json:"rainfall_24h,omitempty"` + // Soil moisture measured (% 1-100) + SoilMoisture *uint32 `protobuf:"varint,21,opt,name=soil_moisture,json=soilMoisture,proto3,oneof" json:"soil_moisture,omitempty"` + // Soil temperature measured (*C) + SoilTemperature *float32 `protobuf:"fixed32,22,opt,name=soil_temperature,json=soilTemperature,proto3,oneof" json:"soil_temperature,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *EnvironmentMetrics) Reset() { *x = EnvironmentMetrics{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_telemetry_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_telemetry_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *EnvironmentMetrics) String() string { @@ -259,7 +372,7 @@ func (*EnvironmentMetrics) ProtoMessage() {} func (x *EnvironmentMetrics) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_telemetry_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -275,80 +388,183 @@ func (*EnvironmentMetrics) Descriptor() ([]byte, []int) { } func (x *EnvironmentMetrics) GetTemperature() float32 { - if x != nil { - return x.Temperature + if x != nil && x.Temperature != nil { + return *x.Temperature } return 0 } func (x *EnvironmentMetrics) GetRelativeHumidity() float32 { - if x != nil { - return x.RelativeHumidity + if x != nil && x.RelativeHumidity != nil { + return *x.RelativeHumidity } return 0 } func (x *EnvironmentMetrics) GetBarometricPressure() float32 { - if x != nil { - return x.BarometricPressure + if x != nil && x.BarometricPressure != nil { + return *x.BarometricPressure } return 0 } func (x *EnvironmentMetrics) GetGasResistance() float32 { - if x != nil { - return x.GasResistance + if x != nil && x.GasResistance != nil { + return *x.GasResistance } return 0 } func (x *EnvironmentMetrics) GetVoltage() float32 { - if x != nil { - return x.Voltage + if x != nil && x.Voltage != nil { + return *x.Voltage } return 0 } func (x *EnvironmentMetrics) GetCurrent() float32 { - if x != nil { - return x.Current + if x != nil && x.Current != nil { + return *x.Current + } + return 0 +} + +func (x *EnvironmentMetrics) GetIaq() uint32 { + if x != nil && x.Iaq != nil { + return *x.Iaq + } + return 0 +} + +func (x *EnvironmentMetrics) GetDistance() float32 { + if x != nil && x.Distance != nil { + return *x.Distance + } + return 0 +} + +func (x *EnvironmentMetrics) GetLux() float32 { + if x != nil && x.Lux != nil { + return *x.Lux + } + return 0 +} + +func (x *EnvironmentMetrics) GetWhiteLux() float32 { + if x != nil && x.WhiteLux != nil { + return *x.WhiteLux + } + return 0 +} + +func (x *EnvironmentMetrics) GetIrLux() float32 { + if x != nil && x.IrLux != nil { + return *x.IrLux + } + return 0 +} + +func (x *EnvironmentMetrics) GetUvLux() float32 { + if x != nil && x.UvLux != nil { + return *x.UvLux + } + return 0 +} + +func (x *EnvironmentMetrics) GetWindDirection() uint32 { + if x != nil && x.WindDirection != nil { + return *x.WindDirection + } + return 0 +} + +func (x *EnvironmentMetrics) GetWindSpeed() float32 { + if x != nil && x.WindSpeed != nil { + return *x.WindSpeed + } + return 0 +} + +func (x *EnvironmentMetrics) GetWeight() float32 { + if x != nil && x.Weight != nil { + return *x.Weight + } + return 0 +} + +func (x *EnvironmentMetrics) GetWindGust() float32 { + if x != nil && x.WindGust != nil { + return *x.WindGust + } + return 0 +} + +func (x *EnvironmentMetrics) GetWindLull() float32 { + if x != nil && x.WindLull != nil { + return *x.WindLull + } + return 0 +} + +func (x *EnvironmentMetrics) GetRadiation() float32 { + if x != nil && x.Radiation != nil { + return *x.Radiation + } + return 0 +} + +func (x *EnvironmentMetrics) GetRainfall_1H() float32 { + if x != nil && x.Rainfall_1H != nil { + return *x.Rainfall_1H + } + return 0 +} + +func (x *EnvironmentMetrics) GetRainfall_24H() float32 { + if x != nil && x.Rainfall_24H != nil { + return *x.Rainfall_24H + } + return 0 +} + +func (x *EnvironmentMetrics) GetSoilMoisture() uint32 { + if x != nil && x.SoilMoisture != nil { + return *x.SoilMoisture + } + return 0 +} + +func (x *EnvironmentMetrics) GetSoilTemperature() float32 { + if x != nil && x.SoilTemperature != nil { + return *x.SoilTemperature } return 0 } // Power Metrics (voltage / current / etc) type PowerMetrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // + state protoimpl.MessageState `protogen:"open.v1"` // Voltage (Ch1) - Ch1Voltage float32 `protobuf:"fixed32,1,opt,name=ch1_voltage,json=ch1Voltage,proto3" json:"ch1_voltage,omitempty"` - // + Ch1Voltage *float32 `protobuf:"fixed32,1,opt,name=ch1_voltage,json=ch1Voltage,proto3,oneof" json:"ch1_voltage,omitempty"` // Current (Ch1) - Ch1Current float32 `protobuf:"fixed32,2,opt,name=ch1_current,json=ch1Current,proto3" json:"ch1_current,omitempty"` - // + Ch1Current *float32 `protobuf:"fixed32,2,opt,name=ch1_current,json=ch1Current,proto3,oneof" json:"ch1_current,omitempty"` // Voltage (Ch2) - Ch2Voltage float32 `protobuf:"fixed32,3,opt,name=ch2_voltage,json=ch2Voltage,proto3" json:"ch2_voltage,omitempty"` - // + Ch2Voltage *float32 `protobuf:"fixed32,3,opt,name=ch2_voltage,json=ch2Voltage,proto3,oneof" json:"ch2_voltage,omitempty"` // Current (Ch2) - Ch2Current float32 `protobuf:"fixed32,4,opt,name=ch2_current,json=ch2Current,proto3" json:"ch2_current,omitempty"` - // + Ch2Current *float32 `protobuf:"fixed32,4,opt,name=ch2_current,json=ch2Current,proto3,oneof" json:"ch2_current,omitempty"` // Voltage (Ch3) - Ch3Voltage float32 `protobuf:"fixed32,5,opt,name=ch3_voltage,json=ch3Voltage,proto3" json:"ch3_voltage,omitempty"` - // + Ch3Voltage *float32 `protobuf:"fixed32,5,opt,name=ch3_voltage,json=ch3Voltage,proto3,oneof" json:"ch3_voltage,omitempty"` // Current (Ch3) - Ch3Current float32 `protobuf:"fixed32,6,opt,name=ch3_current,json=ch3Current,proto3" json:"ch3_current,omitempty"` + Ch3Current *float32 `protobuf:"fixed32,6,opt,name=ch3_current,json=ch3Current,proto3,oneof" json:"ch3_current,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *PowerMetrics) Reset() { *x = PowerMetrics{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_telemetry_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_telemetry_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *PowerMetrics) String() string { @@ -359,7 +575,7 @@ func (*PowerMetrics) ProtoMessage() {} func (x *PowerMetrics) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_telemetry_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -375,98 +591,85 @@ func (*PowerMetrics) Descriptor() ([]byte, []int) { } func (x *PowerMetrics) GetCh1Voltage() float32 { - if x != nil { - return x.Ch1Voltage + if x != nil && x.Ch1Voltage != nil { + return *x.Ch1Voltage } return 0 } func (x *PowerMetrics) GetCh1Current() float32 { - if x != nil { - return x.Ch1Current + if x != nil && x.Ch1Current != nil { + return *x.Ch1Current } return 0 } func (x *PowerMetrics) GetCh2Voltage() float32 { - if x != nil { - return x.Ch2Voltage + if x != nil && x.Ch2Voltage != nil { + return *x.Ch2Voltage } return 0 } func (x *PowerMetrics) GetCh2Current() float32 { - if x != nil { - return x.Ch2Current + if x != nil && x.Ch2Current != nil { + return *x.Ch2Current } return 0 } func (x *PowerMetrics) GetCh3Voltage() float32 { - if x != nil { - return x.Ch3Voltage + if x != nil && x.Ch3Voltage != nil { + return *x.Ch3Voltage } return 0 } func (x *PowerMetrics) GetCh3Current() float32 { - if x != nil { - return x.Ch3Current + if x != nil && x.Ch3Current != nil { + return *x.Ch3Current } return 0 } // Air quality metrics type AirQualityMetrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // + state protoimpl.MessageState `protogen:"open.v1"` // Concentration Units Standard PM1.0 - Pm10Standard uint32 `protobuf:"varint,1,opt,name=pm10_standard,json=pm10Standard,proto3" json:"pm10_standard,omitempty"` - // + Pm10Standard *uint32 `protobuf:"varint,1,opt,name=pm10_standard,json=pm10Standard,proto3,oneof" json:"pm10_standard,omitempty"` // Concentration Units Standard PM2.5 - Pm25Standard uint32 `protobuf:"varint,2,opt,name=pm25_standard,json=pm25Standard,proto3" json:"pm25_standard,omitempty"` - // + Pm25Standard *uint32 `protobuf:"varint,2,opt,name=pm25_standard,json=pm25Standard,proto3,oneof" json:"pm25_standard,omitempty"` // Concentration Units Standard PM10.0 - Pm100Standard uint32 `protobuf:"varint,3,opt,name=pm100_standard,json=pm100Standard,proto3" json:"pm100_standard,omitempty"` - // + Pm100Standard *uint32 `protobuf:"varint,3,opt,name=pm100_standard,json=pm100Standard,proto3,oneof" json:"pm100_standard,omitempty"` // Concentration Units Environmental PM1.0 - Pm10Environmental uint32 `protobuf:"varint,4,opt,name=pm10_environmental,json=pm10Environmental,proto3" json:"pm10_environmental,omitempty"` - // + Pm10Environmental *uint32 `protobuf:"varint,4,opt,name=pm10_environmental,json=pm10Environmental,proto3,oneof" json:"pm10_environmental,omitempty"` // Concentration Units Environmental PM2.5 - Pm25Environmental uint32 `protobuf:"varint,5,opt,name=pm25_environmental,json=pm25Environmental,proto3" json:"pm25_environmental,omitempty"` - // + Pm25Environmental *uint32 `protobuf:"varint,5,opt,name=pm25_environmental,json=pm25Environmental,proto3,oneof" json:"pm25_environmental,omitempty"` // Concentration Units Environmental PM10.0 - Pm100Environmental uint32 `protobuf:"varint,6,opt,name=pm100_environmental,json=pm100Environmental,proto3" json:"pm100_environmental,omitempty"` - // + Pm100Environmental *uint32 `protobuf:"varint,6,opt,name=pm100_environmental,json=pm100Environmental,proto3,oneof" json:"pm100_environmental,omitempty"` // 0.3um Particle Count - Particles_03Um uint32 `protobuf:"varint,7,opt,name=particles_03um,json=particles03um,proto3" json:"particles_03um,omitempty"` - // + Particles_03Um *uint32 `protobuf:"varint,7,opt,name=particles_03um,json=particles03um,proto3,oneof" json:"particles_03um,omitempty"` // 0.5um Particle Count - Particles_05Um uint32 `protobuf:"varint,8,opt,name=particles_05um,json=particles05um,proto3" json:"particles_05um,omitempty"` - // + Particles_05Um *uint32 `protobuf:"varint,8,opt,name=particles_05um,json=particles05um,proto3,oneof" json:"particles_05um,omitempty"` // 1.0um Particle Count - Particles_10Um uint32 `protobuf:"varint,9,opt,name=particles_10um,json=particles10um,proto3" json:"particles_10um,omitempty"` - // + Particles_10Um *uint32 `protobuf:"varint,9,opt,name=particles_10um,json=particles10um,proto3,oneof" json:"particles_10um,omitempty"` // 2.5um Particle Count - Particles_25Um uint32 `protobuf:"varint,10,opt,name=particles_25um,json=particles25um,proto3" json:"particles_25um,omitempty"` - // + Particles_25Um *uint32 `protobuf:"varint,10,opt,name=particles_25um,json=particles25um,proto3,oneof" json:"particles_25um,omitempty"` // 5.0um Particle Count - Particles_50Um uint32 `protobuf:"varint,11,opt,name=particles_50um,json=particles50um,proto3" json:"particles_50um,omitempty"` - // + Particles_50Um *uint32 `protobuf:"varint,11,opt,name=particles_50um,json=particles50um,proto3,oneof" json:"particles_50um,omitempty"` // 10.0um Particle Count - Particles_100Um uint32 `protobuf:"varint,12,opt,name=particles_100um,json=particles100um,proto3" json:"particles_100um,omitempty"` + Particles_100Um *uint32 `protobuf:"varint,12,opt,name=particles_100um,json=particles100um,proto3,oneof" json:"particles_100um,omitempty"` + // CO2 concentration in ppm + Co2 *uint32 `protobuf:"varint,13,opt,name=co2,proto3,oneof" json:"co2,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *AirQualityMetrics) Reset() { *x = AirQualityMetrics{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_telemetry_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_telemetry_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *AirQualityMetrics) String() string { @@ -477,7 +680,7 @@ func (*AirQualityMetrics) ProtoMessage() {} func (x *AirQualityMetrics) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_telemetry_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -493,114 +696,459 @@ func (*AirQualityMetrics) Descriptor() ([]byte, []int) { } func (x *AirQualityMetrics) GetPm10Standard() uint32 { - if x != nil { - return x.Pm10Standard + if x != nil && x.Pm10Standard != nil { + return *x.Pm10Standard } return 0 } func (x *AirQualityMetrics) GetPm25Standard() uint32 { - if x != nil { - return x.Pm25Standard + if x != nil && x.Pm25Standard != nil { + return *x.Pm25Standard } return 0 } func (x *AirQualityMetrics) GetPm100Standard() uint32 { - if x != nil { - return x.Pm100Standard + if x != nil && x.Pm100Standard != nil { + return *x.Pm100Standard } return 0 } func (x *AirQualityMetrics) GetPm10Environmental() uint32 { - if x != nil { - return x.Pm10Environmental + if x != nil && x.Pm10Environmental != nil { + return *x.Pm10Environmental } return 0 } func (x *AirQualityMetrics) GetPm25Environmental() uint32 { - if x != nil { - return x.Pm25Environmental + if x != nil && x.Pm25Environmental != nil { + return *x.Pm25Environmental } return 0 } func (x *AirQualityMetrics) GetPm100Environmental() uint32 { - if x != nil { - return x.Pm100Environmental + if x != nil && x.Pm100Environmental != nil { + return *x.Pm100Environmental } return 0 } func (x *AirQualityMetrics) GetParticles_03Um() uint32 { - if x != nil { - return x.Particles_03Um + if x != nil && x.Particles_03Um != nil { + return *x.Particles_03Um } return 0 } func (x *AirQualityMetrics) GetParticles_05Um() uint32 { - if x != nil { - return x.Particles_05Um + if x != nil && x.Particles_05Um != nil { + return *x.Particles_05Um } return 0 } func (x *AirQualityMetrics) GetParticles_10Um() uint32 { - if x != nil { - return x.Particles_10Um + if x != nil && x.Particles_10Um != nil { + return *x.Particles_10Um } return 0 } func (x *AirQualityMetrics) GetParticles_25Um() uint32 { - if x != nil { - return x.Particles_25Um + if x != nil && x.Particles_25Um != nil { + return *x.Particles_25Um } return 0 } func (x *AirQualityMetrics) GetParticles_50Um() uint32 { - if x != nil { - return x.Particles_50Um + if x != nil && x.Particles_50Um != nil { + return *x.Particles_50Um } return 0 } func (x *AirQualityMetrics) GetParticles_100Um() uint32 { + if x != nil && x.Particles_100Um != nil { + return *x.Particles_100Um + } + return 0 +} + +func (x *AirQualityMetrics) GetCo2() uint32 { + if x != nil && x.Co2 != nil { + return *x.Co2 + } + return 0 +} + +// Local device mesh statistics +type LocalStats struct { + state protoimpl.MessageState `protogen:"open.v1"` + // How long the device has been running since the last reboot (in seconds) + UptimeSeconds uint32 `protobuf:"varint,1,opt,name=uptime_seconds,json=uptimeSeconds,proto3" json:"uptime_seconds,omitempty"` + // Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise). + ChannelUtilization float32 `protobuf:"fixed32,2,opt,name=channel_utilization,json=channelUtilization,proto3" json:"channel_utilization,omitempty"` + // Percent of airtime for transmission used within the last hour. + AirUtilTx float32 `protobuf:"fixed32,3,opt,name=air_util_tx,json=airUtilTx,proto3" json:"air_util_tx,omitempty"` + // Number of packets sent + NumPacketsTx uint32 `protobuf:"varint,4,opt,name=num_packets_tx,json=numPacketsTx,proto3" json:"num_packets_tx,omitempty"` + // Number of packets received (both good and bad) + NumPacketsRx uint32 `protobuf:"varint,5,opt,name=num_packets_rx,json=numPacketsRx,proto3" json:"num_packets_rx,omitempty"` + // Number of packets received that are malformed or violate the protocol + NumPacketsRxBad uint32 `protobuf:"varint,6,opt,name=num_packets_rx_bad,json=numPacketsRxBad,proto3" json:"num_packets_rx_bad,omitempty"` + // Number of nodes online (in the past 2 hours) + NumOnlineNodes uint32 `protobuf:"varint,7,opt,name=num_online_nodes,json=numOnlineNodes,proto3" json:"num_online_nodes,omitempty"` + // Number of nodes total + NumTotalNodes uint32 `protobuf:"varint,8,opt,name=num_total_nodes,json=numTotalNodes,proto3" json:"num_total_nodes,omitempty"` + // Number of received packets that were duplicates (due to multiple nodes relaying). + // If this number is high, there are nodes in the mesh relaying packets when it's unnecessary, for example due to the ROUTER/REPEATER role. + NumRxDupe uint32 `protobuf:"varint,9,opt,name=num_rx_dupe,json=numRxDupe,proto3" json:"num_rx_dupe,omitempty"` + // Number of packets we transmitted that were a relay for others (not originating from ourselves). + NumTxRelay uint32 `protobuf:"varint,10,opt,name=num_tx_relay,json=numTxRelay,proto3" json:"num_tx_relay,omitempty"` + // Number of times we canceled a packet to be relayed, because someone else did it before us. + // This will always be zero for ROUTERs/REPEATERs. If this number is high, some other node(s) is/are relaying faster than you. + NumTxRelayCanceled uint32 `protobuf:"varint,11,opt,name=num_tx_relay_canceled,json=numTxRelayCanceled,proto3" json:"num_tx_relay_canceled,omitempty"` + // Number of bytes used in the heap + HeapTotalBytes uint32 `protobuf:"varint,12,opt,name=heap_total_bytes,json=heapTotalBytes,proto3" json:"heap_total_bytes,omitempty"` + // Number of bytes free in the heap + HeapFreeBytes uint32 `protobuf:"varint,13,opt,name=heap_free_bytes,json=heapFreeBytes,proto3" json:"heap_free_bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *LocalStats) Reset() { + *x = LocalStats{} + mi := &file_meshtastic_telemetry_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *LocalStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalStats) ProtoMessage() {} + +func (x *LocalStats) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LocalStats.ProtoReflect.Descriptor instead. +func (*LocalStats) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{4} +} + +func (x *LocalStats) GetUptimeSeconds() uint32 { if x != nil { - return x.Particles_100Um + return x.UptimeSeconds } return 0 } -// Types of Measurements the telemetry module is equipped to handle -type Telemetry struct { - state protoimpl.MessageState +func (x *LocalStats) GetChannelUtilization() float32 { + if x != nil { + return x.ChannelUtilization + } + return 0 +} + +func (x *LocalStats) GetAirUtilTx() float32 { + if x != nil { + return x.AirUtilTx + } + return 0 +} + +func (x *LocalStats) GetNumPacketsTx() uint32 { + if x != nil { + return x.NumPacketsTx + } + return 0 +} + +func (x *LocalStats) GetNumPacketsRx() uint32 { + if x != nil { + return x.NumPacketsRx + } + return 0 +} + +func (x *LocalStats) GetNumPacketsRxBad() uint32 { + if x != nil { + return x.NumPacketsRxBad + } + return 0 +} + +func (x *LocalStats) GetNumOnlineNodes() uint32 { + if x != nil { + return x.NumOnlineNodes + } + return 0 +} + +func (x *LocalStats) GetNumTotalNodes() uint32 { + if x != nil { + return x.NumTotalNodes + } + return 0 +} + +func (x *LocalStats) GetNumRxDupe() uint32 { + if x != nil { + return x.NumRxDupe + } + return 0 +} + +func (x *LocalStats) GetNumTxRelay() uint32 { + if x != nil { + return x.NumTxRelay + } + return 0 +} + +func (x *LocalStats) GetNumTxRelayCanceled() uint32 { + if x != nil { + return x.NumTxRelayCanceled + } + return 0 +} + +func (x *LocalStats) GetHeapTotalBytes() uint32 { + if x != nil { + return x.HeapTotalBytes + } + return 0 +} + +func (x *LocalStats) GetHeapFreeBytes() uint32 { + if x != nil { + return x.HeapFreeBytes + } + return 0 +} + +// Health telemetry metrics +type HealthMetrics struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Heart rate (beats per minute) + HeartBpm *uint32 `protobuf:"varint,1,opt,name=heart_bpm,json=heartBpm,proto3,oneof" json:"heart_bpm,omitempty"` + // SpO2 (blood oxygen saturation) level + SpO2 *uint32 `protobuf:"varint,2,opt,name=spO2,proto3,oneof" json:"spO2,omitempty"` + // Body temperature in degrees Celsius + Temperature *float32 `protobuf:"fixed32,3,opt,name=temperature,proto3,oneof" json:"temperature,omitempty"` + unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache +} + +func (x *HealthMetrics) Reset() { + *x = HealthMetrics{} + mi := &file_meshtastic_telemetry_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HealthMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HealthMetrics) ProtoMessage() {} + +func (x *HealthMetrics) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HealthMetrics.ProtoReflect.Descriptor instead. +func (*HealthMetrics) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{5} +} + +func (x *HealthMetrics) GetHeartBpm() uint32 { + if x != nil && x.HeartBpm != nil { + return *x.HeartBpm + } + return 0 +} + +func (x *HealthMetrics) GetSpO2() uint32 { + if x != nil && x.SpO2 != nil { + return *x.SpO2 + } + return 0 +} + +func (x *HealthMetrics) GetTemperature() float32 { + if x != nil && x.Temperature != nil { + return *x.Temperature + } + return 0 +} + +// Linux host metrics +type HostMetrics struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Host system uptime + UptimeSeconds uint32 `protobuf:"varint,1,opt,name=uptime_seconds,json=uptimeSeconds,proto3" json:"uptime_seconds,omitempty"` + // Host system free memory + FreememBytes uint64 `protobuf:"varint,2,opt,name=freemem_bytes,json=freememBytes,proto3" json:"freemem_bytes,omitempty"` + // Host system disk space free for / + Diskfree1Bytes uint64 `protobuf:"varint,3,opt,name=diskfree1_bytes,json=diskfree1Bytes,proto3" json:"diskfree1_bytes,omitempty"` + // Secondary system disk space free + Diskfree2Bytes *uint64 `protobuf:"varint,4,opt,name=diskfree2_bytes,json=diskfree2Bytes,proto3,oneof" json:"diskfree2_bytes,omitempty"` + // Tertiary disk space free + Diskfree3Bytes *uint64 `protobuf:"varint,5,opt,name=diskfree3_bytes,json=diskfree3Bytes,proto3,oneof" json:"diskfree3_bytes,omitempty"` + // Host system one minute load in 1/100ths + Load1 uint32 `protobuf:"varint,6,opt,name=load1,proto3" json:"load1,omitempty"` + // Host system five minute load in 1/100ths + Load5 uint32 `protobuf:"varint,7,opt,name=load5,proto3" json:"load5,omitempty"` + // Host system fifteen minute load in 1/100ths + Load15 uint32 `protobuf:"varint,8,opt,name=load15,proto3" json:"load15,omitempty"` + // Optional User-provided string for arbitrary host system information + // that doesn't make sense as a dedicated entry. + UserString *string `protobuf:"bytes,9,opt,name=user_string,json=userString,proto3,oneof" json:"user_string,omitempty"` unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} - // +func (x *HostMetrics) Reset() { + *x = HostMetrics{} + mi := &file_meshtastic_telemetry_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HostMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HostMetrics) ProtoMessage() {} + +func (x *HostMetrics) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HostMetrics.ProtoReflect.Descriptor instead. +func (*HostMetrics) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{6} +} + +func (x *HostMetrics) GetUptimeSeconds() uint32 { + if x != nil { + return x.UptimeSeconds + } + return 0 +} + +func (x *HostMetrics) GetFreememBytes() uint64 { + if x != nil { + return x.FreememBytes + } + return 0 +} + +func (x *HostMetrics) GetDiskfree1Bytes() uint64 { + if x != nil { + return x.Diskfree1Bytes + } + return 0 +} + +func (x *HostMetrics) GetDiskfree2Bytes() uint64 { + if x != nil && x.Diskfree2Bytes != nil { + return *x.Diskfree2Bytes + } + return 0 +} + +func (x *HostMetrics) GetDiskfree3Bytes() uint64 { + if x != nil && x.Diskfree3Bytes != nil { + return *x.Diskfree3Bytes + } + return 0 +} + +func (x *HostMetrics) GetLoad1() uint32 { + if x != nil { + return x.Load1 + } + return 0 +} + +func (x *HostMetrics) GetLoad5() uint32 { + if x != nil { + return x.Load5 + } + return 0 +} + +func (x *HostMetrics) GetLoad15() uint32 { + if x != nil { + return x.Load15 + } + return 0 +} + +func (x *HostMetrics) GetUserString() string { + if x != nil && x.UserString != nil { + return *x.UserString + } + return "" +} + +// Types of Measurements the telemetry module is equipped to handle +type Telemetry struct { + state protoimpl.MessageState `protogen:"open.v1"` // Seconds since 1970 - or 0 for unknown/unset Time uint32 `protobuf:"fixed32,1,opt,name=time,proto3" json:"time,omitempty"` - // Types that are assignable to Variant: + // Types that are valid to be assigned to Variant: // // *Telemetry_DeviceMetrics // *Telemetry_EnvironmentMetrics // *Telemetry_AirQualityMetrics // *Telemetry_PowerMetrics - Variant isTelemetry_Variant `protobuf_oneof:"variant"` + // *Telemetry_LocalStats + // *Telemetry_HealthMetrics + // *Telemetry_HostMetrics + Variant isTelemetry_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Telemetry) Reset() { *x = Telemetry{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_telemetry_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_telemetry_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Telemetry) String() string { @@ -610,8 +1158,8 @@ func (x *Telemetry) String() string { func (*Telemetry) ProtoMessage() {} func (x *Telemetry) ProtoReflect() protoreflect.Message { - mi := &file_meshtastic_telemetry_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + mi := &file_meshtastic_telemetry_proto_msgTypes[7] + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -623,7 +1171,7 @@ func (x *Telemetry) ProtoReflect() protoreflect.Message { // Deprecated: Use Telemetry.ProtoReflect.Descriptor instead. func (*Telemetry) Descriptor() ([]byte, []int) { - return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{4} + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{7} } func (x *Telemetry) GetTime() uint32 { @@ -633,37 +1181,72 @@ func (x *Telemetry) GetTime() uint32 { return 0 } -func (m *Telemetry) GetVariant() isTelemetry_Variant { - if m != nil { - return m.Variant +func (x *Telemetry) GetVariant() isTelemetry_Variant { + if x != nil { + return x.Variant } return nil } func (x *Telemetry) GetDeviceMetrics() *DeviceMetrics { - if x, ok := x.GetVariant().(*Telemetry_DeviceMetrics); ok { - return x.DeviceMetrics + if x != nil { + if x, ok := x.Variant.(*Telemetry_DeviceMetrics); ok { + return x.DeviceMetrics + } } return nil } func (x *Telemetry) GetEnvironmentMetrics() *EnvironmentMetrics { - if x, ok := x.GetVariant().(*Telemetry_EnvironmentMetrics); ok { - return x.EnvironmentMetrics + if x != nil { + if x, ok := x.Variant.(*Telemetry_EnvironmentMetrics); ok { + return x.EnvironmentMetrics + } } return nil } func (x *Telemetry) GetAirQualityMetrics() *AirQualityMetrics { - if x, ok := x.GetVariant().(*Telemetry_AirQualityMetrics); ok { - return x.AirQualityMetrics + if x != nil { + if x, ok := x.Variant.(*Telemetry_AirQualityMetrics); ok { + return x.AirQualityMetrics + } } return nil } func (x *Telemetry) GetPowerMetrics() *PowerMetrics { - if x, ok := x.GetVariant().(*Telemetry_PowerMetrics); ok { - return x.PowerMetrics + if x != nil { + if x, ok := x.Variant.(*Telemetry_PowerMetrics); ok { + return x.PowerMetrics + } + } + return nil +} + +func (x *Telemetry) GetLocalStats() *LocalStats { + if x != nil { + if x, ok := x.Variant.(*Telemetry_LocalStats); ok { + return x.LocalStats + } + } + return nil +} + +func (x *Telemetry) GetHealthMetrics() *HealthMetrics { + if x != nil { + if x, ok := x.Variant.(*Telemetry_HealthMetrics); ok { + return x.HealthMetrics + } + } + return nil +} + +func (x *Telemetry) GetHostMetrics() *HostMetrics { + if x != nil { + if x, ok := x.Variant.(*Telemetry_HostMetrics); ok { + return x.HostMetrics + } } return nil } @@ -673,29 +1256,40 @@ type isTelemetry_Variant interface { } type Telemetry_DeviceMetrics struct { - // // Key native device metrics such as battery level DeviceMetrics *DeviceMetrics `protobuf:"bytes,2,opt,name=device_metrics,json=deviceMetrics,proto3,oneof"` } type Telemetry_EnvironmentMetrics struct { - // // Weather station or other environmental metrics EnvironmentMetrics *EnvironmentMetrics `protobuf:"bytes,3,opt,name=environment_metrics,json=environmentMetrics,proto3,oneof"` } type Telemetry_AirQualityMetrics struct { - // // Air quality metrics AirQualityMetrics *AirQualityMetrics `protobuf:"bytes,4,opt,name=air_quality_metrics,json=airQualityMetrics,proto3,oneof"` } type Telemetry_PowerMetrics struct { - // // Power Metrics PowerMetrics *PowerMetrics `protobuf:"bytes,5,opt,name=power_metrics,json=powerMetrics,proto3,oneof"` } +type Telemetry_LocalStats struct { + // Local device mesh statistics + LocalStats *LocalStats `protobuf:"bytes,6,opt,name=local_stats,json=localStats,proto3,oneof"` +} + +type Telemetry_HealthMetrics struct { + // Health telemetry metrics + HealthMetrics *HealthMetrics `protobuf:"bytes,7,opt,name=health_metrics,json=healthMetrics,proto3,oneof"` +} + +type Telemetry_HostMetrics struct { + // Linux host metrics + HostMetrics *HostMetrics `protobuf:"bytes,8,opt,name=host_metrics,json=hostMetrics,proto3,oneof"` +} + func (*Telemetry_DeviceMetrics) isTelemetry_Variant() {} func (*Telemetry_EnvironmentMetrics) isTelemetry_Variant() {} @@ -704,158 +1298,336 @@ func (*Telemetry_AirQualityMetrics) isTelemetry_Variant() {} func (*Telemetry_PowerMetrics) isTelemetry_Variant() {} -var File_meshtastic_telemetry_proto protoreflect.FileDescriptor +func (*Telemetry_LocalStats) isTelemetry_Variant() {} + +func (*Telemetry_HealthMetrics) isTelemetry_Variant() {} + +func (*Telemetry_HostMetrics) isTelemetry_Variant() {} + +// NAU7802 Telemetry configuration, for saving to flash +type Nau7802Config struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The offset setting for the NAU7802 + ZeroOffset int32 `protobuf:"varint,1,opt,name=zeroOffset,proto3" json:"zeroOffset,omitempty"` + // The calibration factor for the NAU7802 + CalibrationFactor float32 `protobuf:"fixed32,2,opt,name=calibrationFactor,proto3" json:"calibrationFactor,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Nau7802Config) Reset() { + *x = Nau7802Config{} + mi := &file_meshtastic_telemetry_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Nau7802Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nau7802Config) ProtoMessage() {} + +func (x *Nau7802Config) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Nau7802Config.ProtoReflect.Descriptor instead. +func (*Nau7802Config) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{8} +} + +func (x *Nau7802Config) GetZeroOffset() int32 { + if x != nil { + return x.ZeroOffset + } + return 0 +} -var file_meshtastic_telemetry_proto_rawDesc = []byte{ - 0x0a, 0x1a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x74, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0x9f, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, - 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x69, - 0x72, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x5f, 0x74, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, - 0x09, 0x61, 0x69, 0x72, 0x55, 0x74, 0x69, 0x6c, 0x54, 0x78, 0x22, 0xef, 0x01, 0x0a, 0x12, 0x45, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x10, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x48, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, - 0x12, 0x2f, 0x0a, 0x13, 0x62, 0x61, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x62, - 0x61, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, - 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x67, 0x61, 0x73, 0x52, 0x65, - 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x74, - 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x74, 0x61, - 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x22, 0xd4, 0x01, 0x0a, - 0x0c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x63, 0x68, 0x31, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x56, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x68, 0x31, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x32, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x32, 0x56, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x32, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x32, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x33, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x33, 0x56, 0x6f, 0x6c, 0x74, 0x61, - 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x33, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x33, 0x43, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x22, 0xff, 0x03, 0x0a, 0x11, 0x41, 0x69, 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, - 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6d, 0x31, - 0x30, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x70, 0x6d, 0x31, 0x30, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, 0x23, - 0x0a, 0x0d, 0x70, 0x6d, 0x32, 0x35, 0x5f, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x70, 0x6d, 0x32, 0x35, 0x53, 0x74, 0x61, 0x6e, 0x64, - 0x61, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x6d, 0x31, 0x30, 0x30, 0x5f, 0x73, 0x74, 0x61, - 0x6e, 0x64, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x6d, 0x31, - 0x30, 0x30, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6d, - 0x31, 0x30, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6d, 0x31, 0x30, 0x45, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x6d, 0x32, - 0x35, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x6d, 0x32, 0x35, 0x45, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x6d, 0x31, 0x30, - 0x30, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x70, 0x6d, 0x31, 0x30, 0x30, 0x45, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x30, 0x33, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x30, 0x33, 0x75, 0x6d, - 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x30, 0x35, - 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x6c, 0x65, 0x73, 0x30, 0x35, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x31, 0x30, 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x31, 0x30, 0x75, 0x6d, 0x12, 0x25, - 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x32, 0x35, 0x75, 0x6d, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, - 0x73, 0x32, 0x35, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, - 0x65, 0x73, 0x5f, 0x35, 0x30, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x35, 0x30, 0x75, 0x6d, 0x12, 0x27, 0x0a, 0x0f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x5f, 0x31, 0x30, 0x30, 0x75, 0x6d, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, - 0x31, 0x30, 0x30, 0x75, 0x6d, 0x22, 0xd3, 0x02, 0x0a, 0x09, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, - 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x07, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x51, 0x0a, 0x13, 0x65, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, - 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x12, 0x65, 0x6e, 0x76, 0x69, - 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4f, - 0x0a, 0x13, 0x61, 0x69, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x41, 0x69, 0x72, 0x51, 0x75, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, 0x11, 0x61, 0x69, - 0x72, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, - 0x3f, 0x0a, 0x0d, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, - 0x74, 0x69, 0x63, 0x2e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x48, 0x00, 0x52, 0x0c, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x42, 0x09, 0x0a, 0x07, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x2a, 0xd4, 0x01, 0x0a, 0x13, - 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x4e, 0x53, 0x4f, 0x52, 0x5f, 0x55, 0x4e, - 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4d, 0x45, 0x32, 0x38, 0x30, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4d, 0x45, 0x36, 0x38, 0x30, 0x10, 0x02, 0x12, 0x0b, 0x0a, - 0x07, 0x4d, 0x43, 0x50, 0x39, 0x38, 0x30, 0x38, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, - 0x41, 0x32, 0x36, 0x30, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x41, 0x32, 0x31, 0x39, - 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4d, 0x50, 0x32, 0x38, 0x30, 0x10, 0x06, 0x12, 0x09, - 0x0a, 0x05, 0x53, 0x48, 0x54, 0x43, 0x33, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x50, 0x53, - 0x32, 0x32, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x51, 0x4d, 0x43, 0x36, 0x33, 0x31, 0x30, 0x10, - 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x51, 0x4d, 0x49, 0x38, 0x36, 0x35, 0x38, 0x10, 0x0a, 0x12, 0x0c, - 0x0a, 0x08, 0x51, 0x4d, 0x43, 0x35, 0x38, 0x38, 0x33, 0x4c, 0x10, 0x0b, 0x12, 0x09, 0x0a, 0x05, - 0x53, 0x48, 0x54, 0x33, 0x31, 0x10, 0x0c, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x4d, 0x53, 0x41, 0x30, - 0x30, 0x33, 0x49, 0x10, 0x0d, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x41, 0x33, 0x32, 0x32, 0x31, - 0x10, 0x0e, 0x42, 0x64, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, - 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0f, 0x54, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, - 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +func (x *Nau7802Config) GetCalibrationFactor() float32 { + if x != nil { + return x.CalibrationFactor + } + return 0 } +var File_meshtastic_telemetry_proto protoreflect.FileDescriptor + +const file_meshtastic_telemetry_proto_rawDesc = "" + + "\n" + + "\x1ameshtastic/telemetry.proto\x12\n" + + "meshtastic\"\xb8\x02\n" + + "\rDeviceMetrics\x12(\n" + + "\rbattery_level\x18\x01 \x01(\rH\x00R\fbatteryLevel\x88\x01\x01\x12\x1d\n" + + "\avoltage\x18\x02 \x01(\x02H\x01R\avoltage\x88\x01\x01\x124\n" + + "\x13channel_utilization\x18\x03 \x01(\x02H\x02R\x12channelUtilization\x88\x01\x01\x12#\n" + + "\vair_util_tx\x18\x04 \x01(\x02H\x03R\tairUtilTx\x88\x01\x01\x12*\n" + + "\x0euptime_seconds\x18\x05 \x01(\rH\x04R\ruptimeSeconds\x88\x01\x01B\x10\n" + + "\x0e_battery_levelB\n" + + "\n" + + "\b_voltageB\x16\n" + + "\x14_channel_utilizationB\x0e\n" + + "\f_air_util_txB\x11\n" + + "\x0f_uptime_seconds\"\xfb\b\n" + + "\x12EnvironmentMetrics\x12%\n" + + "\vtemperature\x18\x01 \x01(\x02H\x00R\vtemperature\x88\x01\x01\x120\n" + + "\x11relative_humidity\x18\x02 \x01(\x02H\x01R\x10relativeHumidity\x88\x01\x01\x124\n" + + "\x13barometric_pressure\x18\x03 \x01(\x02H\x02R\x12barometricPressure\x88\x01\x01\x12*\n" + + "\x0egas_resistance\x18\x04 \x01(\x02H\x03R\rgasResistance\x88\x01\x01\x12\x1d\n" + + "\avoltage\x18\x05 \x01(\x02H\x04R\avoltage\x88\x01\x01\x12\x1d\n" + + "\acurrent\x18\x06 \x01(\x02H\x05R\acurrent\x88\x01\x01\x12\x15\n" + + "\x03iaq\x18\a \x01(\rH\x06R\x03iaq\x88\x01\x01\x12\x1f\n" + + "\bdistance\x18\b \x01(\x02H\aR\bdistance\x88\x01\x01\x12\x15\n" + + "\x03lux\x18\t \x01(\x02H\bR\x03lux\x88\x01\x01\x12 \n" + + "\twhite_lux\x18\n" + + " \x01(\x02H\tR\bwhiteLux\x88\x01\x01\x12\x1a\n" + + "\x06ir_lux\x18\v \x01(\x02H\n" + + "R\x05irLux\x88\x01\x01\x12\x1a\n" + + "\x06uv_lux\x18\f \x01(\x02H\vR\x05uvLux\x88\x01\x01\x12*\n" + + "\x0ewind_direction\x18\r \x01(\rH\fR\rwindDirection\x88\x01\x01\x12\"\n" + + "\n" + + "wind_speed\x18\x0e \x01(\x02H\rR\twindSpeed\x88\x01\x01\x12\x1b\n" + + "\x06weight\x18\x0f \x01(\x02H\x0eR\x06weight\x88\x01\x01\x12 \n" + + "\twind_gust\x18\x10 \x01(\x02H\x0fR\bwindGust\x88\x01\x01\x12 \n" + + "\twind_lull\x18\x11 \x01(\x02H\x10R\bwindLull\x88\x01\x01\x12!\n" + + "\tradiation\x18\x12 \x01(\x02H\x11R\tradiation\x88\x01\x01\x12$\n" + + "\vrainfall_1h\x18\x13 \x01(\x02H\x12R\n" + + "rainfall1h\x88\x01\x01\x12&\n" + + "\frainfall_24h\x18\x14 \x01(\x02H\x13R\vrainfall24h\x88\x01\x01\x12(\n" + + "\rsoil_moisture\x18\x15 \x01(\rH\x14R\fsoilMoisture\x88\x01\x01\x12.\n" + + "\x10soil_temperature\x18\x16 \x01(\x02H\x15R\x0fsoilTemperature\x88\x01\x01B\x0e\n" + + "\f_temperatureB\x14\n" + + "\x12_relative_humidityB\x16\n" + + "\x14_barometric_pressureB\x11\n" + + "\x0f_gas_resistanceB\n" + + "\n" + + "\b_voltageB\n" + + "\n" + + "\b_currentB\x06\n" + + "\x04_iaqB\v\n" + + "\t_distanceB\x06\n" + + "\x04_luxB\f\n" + + "\n" + + "_white_luxB\t\n" + + "\a_ir_luxB\t\n" + + "\a_uv_luxB\x11\n" + + "\x0f_wind_directionB\r\n" + + "\v_wind_speedB\t\n" + + "\a_weightB\f\n" + + "\n" + + "_wind_gustB\f\n" + + "\n" + + "_wind_lullB\f\n" + + "\n" + + "_radiationB\x0e\n" + + "\f_rainfall_1hB\x0f\n" + + "\r_rainfall_24hB\x10\n" + + "\x0e_soil_moistureB\x13\n" + + "\x11_soil_temperature\"\xd2\x02\n" + + "\fPowerMetrics\x12$\n" + + "\vch1_voltage\x18\x01 \x01(\x02H\x00R\n" + + "ch1Voltage\x88\x01\x01\x12$\n" + + "\vch1_current\x18\x02 \x01(\x02H\x01R\n" + + "ch1Current\x88\x01\x01\x12$\n" + + "\vch2_voltage\x18\x03 \x01(\x02H\x02R\n" + + "ch2Voltage\x88\x01\x01\x12$\n" + + "\vch2_current\x18\x04 \x01(\x02H\x03R\n" + + "ch2Current\x88\x01\x01\x12$\n" + + "\vch3_voltage\x18\x05 \x01(\x02H\x04R\n" + + "ch3Voltage\x88\x01\x01\x12$\n" + + "\vch3_current\x18\x06 \x01(\x02H\x05R\n" + + "ch3Current\x88\x01\x01B\x0e\n" + + "\f_ch1_voltageB\x0e\n" + + "\f_ch1_currentB\x0e\n" + + "\f_ch2_voltageB\x0e\n" + + "\f_ch2_currentB\x0e\n" + + "\f_ch3_voltageB\x0e\n" + + "\f_ch3_current\"\xca\x06\n" + + "\x11AirQualityMetrics\x12(\n" + + "\rpm10_standard\x18\x01 \x01(\rH\x00R\fpm10Standard\x88\x01\x01\x12(\n" + + "\rpm25_standard\x18\x02 \x01(\rH\x01R\fpm25Standard\x88\x01\x01\x12*\n" + + "\x0epm100_standard\x18\x03 \x01(\rH\x02R\rpm100Standard\x88\x01\x01\x122\n" + + "\x12pm10_environmental\x18\x04 \x01(\rH\x03R\x11pm10Environmental\x88\x01\x01\x122\n" + + "\x12pm25_environmental\x18\x05 \x01(\rH\x04R\x11pm25Environmental\x88\x01\x01\x124\n" + + "\x13pm100_environmental\x18\x06 \x01(\rH\x05R\x12pm100Environmental\x88\x01\x01\x12*\n" + + "\x0eparticles_03um\x18\a \x01(\rH\x06R\rparticles03um\x88\x01\x01\x12*\n" + + "\x0eparticles_05um\x18\b \x01(\rH\aR\rparticles05um\x88\x01\x01\x12*\n" + + "\x0eparticles_10um\x18\t \x01(\rH\bR\rparticles10um\x88\x01\x01\x12*\n" + + "\x0eparticles_25um\x18\n" + + " \x01(\rH\tR\rparticles25um\x88\x01\x01\x12*\n" + + "\x0eparticles_50um\x18\v \x01(\rH\n" + + "R\rparticles50um\x88\x01\x01\x12,\n" + + "\x0fparticles_100um\x18\f \x01(\rH\vR\x0eparticles100um\x88\x01\x01\x12\x15\n" + + "\x03co2\x18\r \x01(\rH\fR\x03co2\x88\x01\x01B\x10\n" + + "\x0e_pm10_standardB\x10\n" + + "\x0e_pm25_standardB\x11\n" + + "\x0f_pm100_standardB\x15\n" + + "\x13_pm10_environmentalB\x15\n" + + "\x13_pm25_environmentalB\x16\n" + + "\x14_pm100_environmentalB\x11\n" + + "\x0f_particles_03umB\x11\n" + + "\x0f_particles_05umB\x11\n" + + "\x0f_particles_10umB\x11\n" + + "\x0f_particles_25umB\x11\n" + + "\x0f_particles_50umB\x12\n" + + "\x10_particles_100umB\x06\n" + + "\x04_co2\"\x96\x04\n" + + "\n" + + "LocalStats\x12%\n" + + "\x0euptime_seconds\x18\x01 \x01(\rR\ruptimeSeconds\x12/\n" + + "\x13channel_utilization\x18\x02 \x01(\x02R\x12channelUtilization\x12\x1e\n" + + "\vair_util_tx\x18\x03 \x01(\x02R\tairUtilTx\x12$\n" + + "\x0enum_packets_tx\x18\x04 \x01(\rR\fnumPacketsTx\x12$\n" + + "\x0enum_packets_rx\x18\x05 \x01(\rR\fnumPacketsRx\x12+\n" + + "\x12num_packets_rx_bad\x18\x06 \x01(\rR\x0fnumPacketsRxBad\x12(\n" + + "\x10num_online_nodes\x18\a \x01(\rR\x0enumOnlineNodes\x12&\n" + + "\x0fnum_total_nodes\x18\b \x01(\rR\rnumTotalNodes\x12\x1e\n" + + "\vnum_rx_dupe\x18\t \x01(\rR\tnumRxDupe\x12 \n" + + "\fnum_tx_relay\x18\n" + + " \x01(\rR\n" + + "numTxRelay\x121\n" + + "\x15num_tx_relay_canceled\x18\v \x01(\rR\x12numTxRelayCanceled\x12(\n" + + "\x10heap_total_bytes\x18\f \x01(\rR\x0eheapTotalBytes\x12&\n" + + "\x0fheap_free_bytes\x18\r \x01(\rR\rheapFreeBytes\"\x98\x01\n" + + "\rHealthMetrics\x12 \n" + + "\theart_bpm\x18\x01 \x01(\rH\x00R\bheartBpm\x88\x01\x01\x12\x17\n" + + "\x04spO2\x18\x02 \x01(\rH\x01R\x04spO2\x88\x01\x01\x12%\n" + + "\vtemperature\x18\x03 \x01(\x02H\x02R\vtemperature\x88\x01\x01B\f\n" + + "\n" + + "_heart_bpmB\a\n" + + "\x05_spO2B\x0e\n" + + "\f_temperature\"\x80\x03\n" + + "\vHostMetrics\x12%\n" + + "\x0euptime_seconds\x18\x01 \x01(\rR\ruptimeSeconds\x12#\n" + + "\rfreemem_bytes\x18\x02 \x01(\x04R\ffreememBytes\x12'\n" + + "\x0fdiskfree1_bytes\x18\x03 \x01(\x04R\x0ediskfree1Bytes\x12,\n" + + "\x0fdiskfree2_bytes\x18\x04 \x01(\x04H\x00R\x0ediskfree2Bytes\x88\x01\x01\x12,\n" + + "\x0fdiskfree3_bytes\x18\x05 \x01(\x04H\x01R\x0ediskfree3Bytes\x88\x01\x01\x12\x14\n" + + "\x05load1\x18\x06 \x01(\rR\x05load1\x12\x14\n" + + "\x05load5\x18\a \x01(\rR\x05load5\x12\x16\n" + + "\x06load15\x18\b \x01(\rR\x06load15\x12$\n" + + "\vuser_string\x18\t \x01(\tH\x02R\n" + + "userString\x88\x01\x01B\x12\n" + + "\x10_diskfree2_bytesB\x12\n" + + "\x10_diskfree3_bytesB\x0e\n" + + "\f_user_string\"\x90\x04\n" + + "\tTelemetry\x12\x12\n" + + "\x04time\x18\x01 \x01(\aR\x04time\x12B\n" + + "\x0edevice_metrics\x18\x02 \x01(\v2\x19.meshtastic.DeviceMetricsH\x00R\rdeviceMetrics\x12Q\n" + + "\x13environment_metrics\x18\x03 \x01(\v2\x1e.meshtastic.EnvironmentMetricsH\x00R\x12environmentMetrics\x12O\n" + + "\x13air_quality_metrics\x18\x04 \x01(\v2\x1d.meshtastic.AirQualityMetricsH\x00R\x11airQualityMetrics\x12?\n" + + "\rpower_metrics\x18\x05 \x01(\v2\x18.meshtastic.PowerMetricsH\x00R\fpowerMetrics\x129\n" + + "\vlocal_stats\x18\x06 \x01(\v2\x16.meshtastic.LocalStatsH\x00R\n" + + "localStats\x12B\n" + + "\x0ehealth_metrics\x18\a \x01(\v2\x19.meshtastic.HealthMetricsH\x00R\rhealthMetrics\x12<\n" + + "\fhost_metrics\x18\b \x01(\v2\x17.meshtastic.HostMetricsH\x00R\vhostMetricsB\t\n" + + "\avariant\"]\n" + + "\rNau7802Config\x12\x1e\n" + + "\n" + + "zeroOffset\x18\x01 \x01(\x05R\n" + + "zeroOffset\x12,\n" + + "\x11calibrationFactor\x18\x02 \x01(\x02R\x11calibrationFactor*\xac\x04\n" + + "\x13TelemetrySensorType\x12\x10\n" + + "\fSENSOR_UNSET\x10\x00\x12\n" + + "\n" + + "\x06BME280\x10\x01\x12\n" + + "\n" + + "\x06BME680\x10\x02\x12\v\n" + + "\aMCP9808\x10\x03\x12\n" + + "\n" + + "\x06INA260\x10\x04\x12\n" + + "\n" + + "\x06INA219\x10\x05\x12\n" + + "\n" + + "\x06BMP280\x10\x06\x12\t\n" + + "\x05SHTC3\x10\a\x12\t\n" + + "\x05LPS22\x10\b\x12\v\n" + + "\aQMC6310\x10\t\x12\v\n" + + "\aQMI8658\x10\n" + + "\x12\f\n" + + "\bQMC5883L\x10\v\x12\t\n" + + "\x05SHT31\x10\f\x12\f\n" + + "\bPMSA003I\x10\r\x12\v\n" + + "\aINA3221\x10\x0e\x12\n" + + "\n" + + "\x06BMP085\x10\x0f\x12\f\n" + + "\bRCWL9620\x10\x10\x12\t\n" + + "\x05SHT4X\x10\x11\x12\f\n" + + "\bVEML7700\x10\x12\x12\f\n" + + "\bMLX90632\x10\x13\x12\v\n" + + "\aOPT3001\x10\x14\x12\f\n" + + "\bLTR390UV\x10\x15\x12\x0e\n" + + "\n" + + "TSL25911FN\x10\x16\x12\t\n" + + "\x05AHT10\x10\x17\x12\x10\n" + + "\fDFROBOT_LARK\x10\x18\x12\v\n" + + "\aNAU7802\x10\x19\x12\n" + + "\n" + + "\x06BMP3XX\x10\x1a\x12\f\n" + + "\bICM20948\x10\x1b\x12\f\n" + + "\bMAX17048\x10\x1c\x12\x11\n" + + "\rCUSTOM_SENSOR\x10\x1d\x12\f\n" + + "\bMAX30102\x10\x1e\x12\f\n" + + "\bMLX90614\x10\x1f\x12\t\n" + + "\x05SCD4X\x10 \x12\v\n" + + "\aRADSENS\x10!\x12\n" + + "\n" + + "\x06INA226\x10\"\x12\x10\n" + + "\fDFROBOT_RAIN\x10#\x12\n" + + "\n" + + "\x06DPS310\x10$\x12\f\n" + + "\bRAK12035\x10%\x12\f\n" + + "\bMAX17261\x10&\x12\v\n" + + "\aPCT2075\x10'Bd\n" + + "\x13com.geeksville.meshB\x0fTelemetryProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" + var ( file_meshtastic_telemetry_proto_rawDescOnce sync.Once - file_meshtastic_telemetry_proto_rawDescData = file_meshtastic_telemetry_proto_rawDesc + file_meshtastic_telemetry_proto_rawDescData []byte ) func file_meshtastic_telemetry_proto_rawDescGZIP() []byte { file_meshtastic_telemetry_proto_rawDescOnce.Do(func() { - file_meshtastic_telemetry_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_telemetry_proto_rawDescData) + file_meshtastic_telemetry_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_telemetry_proto_rawDesc), len(file_meshtastic_telemetry_proto_rawDesc))) }) return file_meshtastic_telemetry_proto_rawDescData } var file_meshtastic_telemetry_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_meshtastic_telemetry_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_meshtastic_telemetry_proto_goTypes = []interface{}{ +var file_meshtastic_telemetry_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_meshtastic_telemetry_proto_goTypes = []any{ (TelemetrySensorType)(0), // 0: meshtastic.TelemetrySensorType (*DeviceMetrics)(nil), // 1: meshtastic.DeviceMetrics (*EnvironmentMetrics)(nil), // 2: meshtastic.EnvironmentMetrics (*PowerMetrics)(nil), // 3: meshtastic.PowerMetrics (*AirQualityMetrics)(nil), // 4: meshtastic.AirQualityMetrics - (*Telemetry)(nil), // 5: meshtastic.Telemetry + (*LocalStats)(nil), // 5: meshtastic.LocalStats + (*HealthMetrics)(nil), // 6: meshtastic.HealthMetrics + (*HostMetrics)(nil), // 7: meshtastic.HostMetrics + (*Telemetry)(nil), // 8: meshtastic.Telemetry + (*Nau7802Config)(nil), // 9: meshtastic.Nau7802Config } var file_meshtastic_telemetry_proto_depIdxs = []int32{ 1, // 0: meshtastic.Telemetry.device_metrics:type_name -> meshtastic.DeviceMetrics 2, // 1: meshtastic.Telemetry.environment_metrics:type_name -> meshtastic.EnvironmentMetrics 4, // 2: meshtastic.Telemetry.air_quality_metrics:type_name -> meshtastic.AirQualityMetrics 3, // 3: meshtastic.Telemetry.power_metrics:type_name -> meshtastic.PowerMetrics - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 5, // 4: meshtastic.Telemetry.local_stats:type_name -> meshtastic.LocalStats + 6, // 5: meshtastic.Telemetry.health_metrics:type_name -> meshtastic.HealthMetrics + 7, // 6: meshtastic.Telemetry.host_metrics:type_name -> meshtastic.HostMetrics + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_meshtastic_telemetry_proto_init() } @@ -863,81 +1635,28 @@ func file_meshtastic_telemetry_proto_init() { if File_meshtastic_telemetry_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_telemetry_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeviceMetrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_telemetry_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnvironmentMetrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_telemetry_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PowerMetrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_telemetry_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AirQualityMetrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_meshtastic_telemetry_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Telemetry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_meshtastic_telemetry_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_meshtastic_telemetry_proto_msgTypes[0].OneofWrappers = []any{} + file_meshtastic_telemetry_proto_msgTypes[1].OneofWrappers = []any{} + file_meshtastic_telemetry_proto_msgTypes[2].OneofWrappers = []any{} + file_meshtastic_telemetry_proto_msgTypes[3].OneofWrappers = []any{} + file_meshtastic_telemetry_proto_msgTypes[5].OneofWrappers = []any{} + file_meshtastic_telemetry_proto_msgTypes[6].OneofWrappers = []any{} + file_meshtastic_telemetry_proto_msgTypes[7].OneofWrappers = []any{ (*Telemetry_DeviceMetrics)(nil), (*Telemetry_EnvironmentMetrics)(nil), (*Telemetry_AirQualityMetrics)(nil), (*Telemetry_PowerMetrics)(nil), + (*Telemetry_LocalStats)(nil), + (*Telemetry_HealthMetrics)(nil), + (*Telemetry_HostMetrics)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_telemetry_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_telemetry_proto_rawDesc), len(file_meshtastic_telemetry_proto_rawDesc)), NumEnums: 1, - NumMessages: 5, + NumMessages: 9, NumExtensions: 0, NumServices: 0, }, @@ -947,7 +1666,6 @@ func file_meshtastic_telemetry_proto_init() { MessageInfos: file_meshtastic_telemetry_proto_msgTypes, }.Build() File_meshtastic_telemetry_proto = out.File - file_meshtastic_telemetry_proto_rawDesc = nil file_meshtastic_telemetry_proto_goTypes = nil file_meshtastic_telemetry_proto_depIdxs = nil } diff --git a/meshtastic/telemetry_vtproto.pb.go b/meshtastic/telemetry_vtproto.pb.go index 1586062..cfdfcc5 100644 --- a/meshtastic/telemetry_vtproto.pb.go +++ b/meshtastic/telemetry_vtproto.pb.go @@ -50,26 +50,31 @@ func (m *DeviceMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.AirUtilTx != 0 { + if m.UptimeSeconds != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.UptimeSeconds)) + i-- + dAtA[i] = 0x28 + } + if m.AirUtilTx != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.AirUtilTx)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.AirUtilTx)))) i-- dAtA[i] = 0x25 } - if m.ChannelUtilization != 0 { + if m.ChannelUtilization != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.ChannelUtilization)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.ChannelUtilization)))) i-- dAtA[i] = 0x1d } - if m.Voltage != 0 { + if m.Voltage != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Voltage)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Voltage)))) i-- dAtA[i] = 0x15 } - if m.BatteryLevel != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BatteryLevel)) + if m.BatteryLevel != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.BatteryLevel)) i-- dAtA[i] = 0x8 } @@ -106,39 +111,146 @@ func (m *EnvironmentMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Current != 0 { + if m.SoilTemperature != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.SoilTemperature)))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb5 + } + if m.SoilMoisture != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.SoilMoisture)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if m.Rainfall_24H != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Rainfall_24H)))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa5 + } + if m.Rainfall_1H != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Rainfall_1H)))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9d + } + if m.Radiation != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Radiation)))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x95 + } + if m.WindLull != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.WindLull)))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8d + } + if m.WindGust != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.WindGust)))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x85 + } + if m.Weight != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Weight)))) + i-- + dAtA[i] = 0x7d + } + if m.WindSpeed != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.WindSpeed)))) + i-- + dAtA[i] = 0x75 + } + if m.WindDirection != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.WindDirection)) + i-- + dAtA[i] = 0x68 + } + if m.UvLux != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.UvLux)))) + i-- + dAtA[i] = 0x65 + } + if m.IrLux != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.IrLux)))) + i-- + dAtA[i] = 0x5d + } + if m.WhiteLux != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Current)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.WhiteLux)))) + i-- + dAtA[i] = 0x55 + } + if m.Lux != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Lux)))) + i-- + dAtA[i] = 0x4d + } + if m.Distance != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Distance)))) + i-- + dAtA[i] = 0x45 + } + if m.Iaq != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Iaq)) + i-- + dAtA[i] = 0x38 + } + if m.Current != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Current)))) i-- dAtA[i] = 0x35 } - if m.Voltage != 0 { + if m.Voltage != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Voltage)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Voltage)))) i-- dAtA[i] = 0x2d } - if m.GasResistance != 0 { + if m.GasResistance != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.GasResistance)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.GasResistance)))) i-- dAtA[i] = 0x25 } - if m.BarometricPressure != 0 { + if m.BarometricPressure != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.BarometricPressure)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.BarometricPressure)))) i-- dAtA[i] = 0x1d } - if m.RelativeHumidity != 0 { + if m.RelativeHumidity != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.RelativeHumidity)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.RelativeHumidity)))) i-- dAtA[i] = 0x15 } - if m.Temperature != 0 { + if m.Temperature != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Temperature)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Temperature)))) i-- dAtA[i] = 0xd } @@ -175,39 +287,39 @@ func (m *PowerMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Ch3Current != 0 { + if m.Ch3Current != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch3Current)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Ch3Current)))) i-- dAtA[i] = 0x35 } - if m.Ch3Voltage != 0 { + if m.Ch3Voltage != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch3Voltage)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Ch3Voltage)))) i-- dAtA[i] = 0x2d } - if m.Ch2Current != 0 { + if m.Ch2Current != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch2Current)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Ch2Current)))) i-- dAtA[i] = 0x25 } - if m.Ch2Voltage != 0 { + if m.Ch2Voltage != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch2Voltage)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Ch2Voltage)))) i-- dAtA[i] = 0x1d } - if m.Ch1Current != 0 { + if m.Ch1Current != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch1Current)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Ch1Current)))) i-- dAtA[i] = 0x15 } - if m.Ch1Voltage != 0 { + if m.Ch1Voltage != nil { i -= 4 - binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch1Voltage)))) + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Ch1Voltage)))) i-- dAtA[i] = 0xd } @@ -244,63 +356,297 @@ func (m *AirQualityMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Particles_100Um != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_100Um)) + if m.Co2 != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Co2)) + i-- + dAtA[i] = 0x68 + } + if m.Particles_100Um != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Particles_100Um)) + i-- + dAtA[i] = 0x60 + } + if m.Particles_50Um != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Particles_50Um)) + i-- + dAtA[i] = 0x58 + } + if m.Particles_25Um != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Particles_25Um)) + i-- + dAtA[i] = 0x50 + } + if m.Particles_10Um != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Particles_10Um)) + i-- + dAtA[i] = 0x48 + } + if m.Particles_05Um != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Particles_05Um)) + i-- + dAtA[i] = 0x40 + } + if m.Particles_03Um != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Particles_03Um)) + i-- + dAtA[i] = 0x38 + } + if m.Pm100Environmental != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Pm100Environmental)) + i-- + dAtA[i] = 0x30 + } + if m.Pm25Environmental != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Pm25Environmental)) + i-- + dAtA[i] = 0x28 + } + if m.Pm10Environmental != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Pm10Environmental)) + i-- + dAtA[i] = 0x20 + } + if m.Pm100Standard != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Pm100Standard)) + i-- + dAtA[i] = 0x18 + } + if m.Pm25Standard != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Pm25Standard)) + i-- + dAtA[i] = 0x10 + } + if m.Pm10Standard != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Pm10Standard)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *LocalStats) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LocalStats) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *LocalStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.HeapFreeBytes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HeapFreeBytes)) + i-- + dAtA[i] = 0x68 + } + if m.HeapTotalBytes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HeapTotalBytes)) i-- dAtA[i] = 0x60 } - if m.Particles_50Um != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_50Um)) + if m.NumTxRelayCanceled != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumTxRelayCanceled)) i-- dAtA[i] = 0x58 } - if m.Particles_25Um != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_25Um)) + if m.NumTxRelay != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumTxRelay)) i-- dAtA[i] = 0x50 } - if m.Particles_10Um != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_10Um)) + if m.NumRxDupe != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumRxDupe)) i-- dAtA[i] = 0x48 } - if m.Particles_05Um != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_05Um)) + if m.NumTotalNodes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumTotalNodes)) + i-- + dAtA[i] = 0x40 + } + if m.NumOnlineNodes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumOnlineNodes)) + i-- + dAtA[i] = 0x38 + } + if m.NumPacketsRxBad != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumPacketsRxBad)) + i-- + dAtA[i] = 0x30 + } + if m.NumPacketsRx != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumPacketsRx)) + i-- + dAtA[i] = 0x28 + } + if m.NumPacketsTx != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NumPacketsTx)) + i-- + dAtA[i] = 0x20 + } + if m.AirUtilTx != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.AirUtilTx)))) + i-- + dAtA[i] = 0x1d + } + if m.ChannelUtilization != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.ChannelUtilization)))) + i-- + dAtA[i] = 0x15 + } + if m.UptimeSeconds != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UptimeSeconds)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *HealthMetrics) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HealthMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *HealthMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Temperature != nil { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.Temperature)))) + i-- + dAtA[i] = 0x1d + } + if m.SpO2 != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.SpO2)) + i-- + dAtA[i] = 0x10 + } + if m.HeartBpm != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.HeartBpm)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *HostMetrics) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HostMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *HostMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.UserString != nil { + i -= len(*m.UserString) + copy(dAtA[i:], *m.UserString) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.UserString))) + i-- + dAtA[i] = 0x4a + } + if m.Load15 != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Load15)) i-- dAtA[i] = 0x40 } - if m.Particles_03Um != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_03Um)) + if m.Load5 != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Load5)) i-- dAtA[i] = 0x38 } - if m.Pm100Environmental != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm100Environmental)) + if m.Load1 != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Load1)) i-- dAtA[i] = 0x30 } - if m.Pm25Environmental != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm25Environmental)) + if m.Diskfree3Bytes != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Diskfree3Bytes)) i-- dAtA[i] = 0x28 } - if m.Pm10Environmental != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm10Environmental)) + if m.Diskfree2Bytes != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Diskfree2Bytes)) i-- dAtA[i] = 0x20 } - if m.Pm100Standard != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm100Standard)) + if m.Diskfree1Bytes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Diskfree1Bytes)) i-- dAtA[i] = 0x18 } - if m.Pm25Standard != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm25Standard)) + if m.FreememBytes != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FreememBytes)) i-- dAtA[i] = 0x10 } - if m.Pm10Standard != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm10Standard)) + if m.UptimeSeconds != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UptimeSeconds)) i-- dAtA[i] = 0x8 } @@ -431,52 +777,204 @@ func (m *Telemetry_PowerMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error } return len(dAtA) - i, nil } -func (m *DeviceMetrics) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.BatteryLevel != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.BatteryLevel)) - } - if m.Voltage != 0 { - n += 5 - } - if m.ChannelUtilization != 0 { - n += 5 - } - if m.AirUtilTx != 0 { - n += 5 - } - n += len(m.unknownFields) - return n +func (m *Telemetry_LocalStats) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *EnvironmentMetrics) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int +func (m *Telemetry_LocalStats) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.LocalStats != nil { + size, err := m.LocalStats.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + return len(dAtA) - i, nil +} +func (m *Telemetry_HealthMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Telemetry_HealthMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.HealthMetrics != nil { + size, err := m.HealthMetrics.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + return len(dAtA) - i, nil +} +func (m *Telemetry_HostMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Telemetry_HostMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.HostMetrics != nil { + size, err := m.HostMetrics.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + return len(dAtA) - i, nil +} +func (m *Nau7802Config) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Nau7802Config) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Nau7802Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.CalibrationFactor != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.CalibrationFactor)))) + i-- + dAtA[i] = 0x15 + } + if m.ZeroOffset != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ZeroOffset)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *DeviceMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.BatteryLevel != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.BatteryLevel)) + } + if m.Voltage != nil { + n += 5 + } + if m.ChannelUtilization != nil { + n += 5 + } + if m.AirUtilTx != nil { + n += 5 + } + if m.UptimeSeconds != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.UptimeSeconds)) + } + n += len(m.unknownFields) + return n +} + +func (m *EnvironmentMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int _ = l - if m.Temperature != 0 { + if m.Temperature != nil { + n += 5 + } + if m.RelativeHumidity != nil { + n += 5 + } + if m.BarometricPressure != nil { + n += 5 + } + if m.GasResistance != nil { + n += 5 + } + if m.Voltage != nil { + n += 5 + } + if m.Current != nil { + n += 5 + } + if m.Iaq != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Iaq)) + } + if m.Distance != nil { + n += 5 + } + if m.Lux != nil { n += 5 } - if m.RelativeHumidity != 0 { + if m.WhiteLux != nil { n += 5 } - if m.BarometricPressure != 0 { + if m.IrLux != nil { n += 5 } - if m.GasResistance != 0 { + if m.UvLux != nil { n += 5 } - if m.Voltage != 0 { + if m.WindDirection != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.WindDirection)) + } + if m.WindSpeed != nil { n += 5 } - if m.Current != 0 { + if m.Weight != nil { n += 5 } + if m.WindGust != nil { + n += 6 + } + if m.WindLull != nil { + n += 6 + } + if m.Radiation != nil { + n += 6 + } + if m.Rainfall_1H != nil { + n += 6 + } + if m.Rainfall_24H != nil { + n += 6 + } + if m.SoilMoisture != nil { + n += 2 + protohelpers.SizeOfVarint(uint64(*m.SoilMoisture)) + } + if m.SoilTemperature != nil { + n += 6 + } n += len(m.unknownFields) return n } @@ -487,22 +985,22 @@ func (m *PowerMetrics) SizeVT() (n int) { } var l int _ = l - if m.Ch1Voltage != 0 { + if m.Ch1Voltage != nil { n += 5 } - if m.Ch1Current != 0 { + if m.Ch1Current != nil { n += 5 } - if m.Ch2Voltage != 0 { + if m.Ch2Voltage != nil { n += 5 } - if m.Ch2Current != 0 { + if m.Ch2Current != nil { n += 5 } - if m.Ch3Voltage != 0 { + if m.Ch3Voltage != nil { n += 5 } - if m.Ch3Current != 0 { + if m.Ch3Current != nil { n += 5 } n += len(m.unknownFields) @@ -515,41 +1013,150 @@ func (m *AirQualityMetrics) SizeVT() (n int) { } var l int _ = l - if m.Pm10Standard != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm10Standard)) + if m.Pm10Standard != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Pm10Standard)) + } + if m.Pm25Standard != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Pm25Standard)) + } + if m.Pm100Standard != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Pm100Standard)) + } + if m.Pm10Environmental != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Pm10Environmental)) + } + if m.Pm25Environmental != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Pm25Environmental)) + } + if m.Pm100Environmental != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Pm100Environmental)) + } + if m.Particles_03Um != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Particles_03Um)) + } + if m.Particles_05Um != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Particles_05Um)) + } + if m.Particles_10Um != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Particles_10Um)) + } + if m.Particles_25Um != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Particles_25Um)) + } + if m.Particles_50Um != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Particles_50Um)) + } + if m.Particles_100Um != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Particles_100Um)) + } + if m.Co2 != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Co2)) + } + n += len(m.unknownFields) + return n +} + +func (m *LocalStats) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.UptimeSeconds != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.UptimeSeconds)) + } + if m.ChannelUtilization != 0 { + n += 5 + } + if m.AirUtilTx != 0 { + n += 5 + } + if m.NumPacketsTx != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumPacketsTx)) + } + if m.NumPacketsRx != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumPacketsRx)) + } + if m.NumPacketsRxBad != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumPacketsRxBad)) + } + if m.NumOnlineNodes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumOnlineNodes)) + } + if m.NumTotalNodes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumTotalNodes)) + } + if m.NumRxDupe != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumRxDupe)) + } + if m.NumTxRelay != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumTxRelay)) + } + if m.NumTxRelayCanceled != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NumTxRelayCanceled)) + } + if m.HeapTotalBytes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HeapTotalBytes)) + } + if m.HeapFreeBytes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HeapFreeBytes)) + } + n += len(m.unknownFields) + return n +} + +func (m *HealthMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.HeartBpm != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.HeartBpm)) + } + if m.SpO2 != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.SpO2)) } - if m.Pm25Standard != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm25Standard)) + if m.Temperature != nil { + n += 5 } - if m.Pm100Standard != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm100Standard)) + n += len(m.unknownFields) + return n +} + +func (m *HostMetrics) SizeVT() (n int) { + if m == nil { + return 0 } - if m.Pm10Environmental != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm10Environmental)) + var l int + _ = l + if m.UptimeSeconds != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.UptimeSeconds)) } - if m.Pm25Environmental != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm25Environmental)) + if m.FreememBytes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.FreememBytes)) } - if m.Pm100Environmental != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm100Environmental)) + if m.Diskfree1Bytes != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Diskfree1Bytes)) } - if m.Particles_03Um != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_03Um)) + if m.Diskfree2Bytes != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Diskfree2Bytes)) } - if m.Particles_05Um != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_05Um)) + if m.Diskfree3Bytes != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.Diskfree3Bytes)) } - if m.Particles_10Um != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_10Um)) + if m.Load1 != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Load1)) } - if m.Particles_25Um != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_25Um)) + if m.Load5 != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Load5)) } - if m.Particles_50Um != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_50Um)) + if m.Load15 != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Load15)) } - if m.Particles_100Um != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_100Um)) + if m.UserString != nil { + l = len(*m.UserString) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n @@ -619,6 +1226,58 @@ func (m *Telemetry_PowerMetrics) SizeVT() (n int) { } return n } +func (m *Telemetry_LocalStats) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.LocalStats != nil { + l = m.LocalStats.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Telemetry_HealthMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.HealthMetrics != nil { + l = m.HealthMetrics.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Telemetry_HostMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.HostMetrics != nil { + l = m.HostMetrics.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Nau7802Config) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ZeroOffset != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ZeroOffset)) + } + if m.CalibrationFactor != 0 { + n += 5 + } + n += len(m.unknownFields) + return n +} + func (m *DeviceMetrics) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -652,7 +1311,7 @@ func (m *DeviceMetrics) UnmarshalVT(dAtA []byte) error { if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field BatteryLevel", wireType) } - m.BatteryLevel = 0 + var v uint32 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -662,11 +1321,12 @@ func (m *DeviceMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.BatteryLevel |= uint32(b&0x7F) << shift + v |= uint32(b&0x7F) << shift if b < 0x80 { break } } + m.BatteryLevel = &v case 2: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field Voltage", wireType) @@ -677,7 +1337,8 @@ func (m *DeviceMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Voltage = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Voltage = &v2 case 3: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field ChannelUtilization", wireType) @@ -688,7 +1349,8 @@ func (m *DeviceMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.ChannelUtilization = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.ChannelUtilization = &v2 case 4: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field AirUtilTx", wireType) @@ -699,7 +1361,28 @@ func (m *DeviceMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.AirUtilTx = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.AirUtilTx = &v2 + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UptimeSeconds", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.UptimeSeconds = &v default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -761,7 +1444,8 @@ func (m *EnvironmentMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Temperature = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Temperature = &v2 case 2: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field RelativeHumidity", wireType) @@ -772,7 +1456,8 @@ func (m *EnvironmentMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.RelativeHumidity = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.RelativeHumidity = &v2 case 3: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field BarometricPressure", wireType) @@ -783,7 +1468,8 @@ func (m *EnvironmentMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.BarometricPressure = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.BarometricPressure = &v2 case 4: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field GasResistance", wireType) @@ -794,7 +1480,8 @@ func (m *EnvironmentMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.GasResistance = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.GasResistance = &v2 case 5: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field Voltage", wireType) @@ -805,7 +1492,8 @@ func (m *EnvironmentMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Voltage = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Voltage = &v2 case 6: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) @@ -816,23 +1504,240 @@ func (m *EnvironmentMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Current = float32(math.Float32frombits(v)) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + v2 := float32(math.Float32frombits(v)) + m.Current = &v2 + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Iaq", wireType) } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Iaq = &v + case 8: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Distance", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Distance = &v2 + case 9: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Lux", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Lux = &v2 + case 10: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field WhiteLux", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.WhiteLux = &v2 + case 11: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field IrLux", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.IrLux = &v2 + case 12: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field UvLux", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.UvLux = &v2 + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WindDirection", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.WindDirection = &v + case 14: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field WindSpeed", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.WindSpeed = &v2 + case 15: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Weight", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Weight = &v2 + case 16: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field WindGust", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.WindGust = &v2 + case 17: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field WindLull", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.WindLull = &v2 + case 18: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Radiation", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Radiation = &v2 + case 19: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Rainfall_1H", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Rainfall_1H = &v2 + case 20: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Rainfall_24H", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Rainfall_24H = &v2 + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SoilMoisture", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SoilMoisture = &v + case 22: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field SoilTemperature", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.SoilTemperature = &v2 + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } if iNdEx > l { return io.ErrUnexpectedEOF @@ -878,7 +1783,8 @@ func (m *PowerMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Ch1Voltage = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Ch1Voltage = &v2 case 2: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field Ch1Current", wireType) @@ -889,7 +1795,8 @@ func (m *PowerMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Ch1Current = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Ch1Current = &v2 case 3: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field Ch2Voltage", wireType) @@ -900,7 +1807,8 @@ func (m *PowerMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Ch2Voltage = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Ch2Voltage = &v2 case 4: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field Ch2Current", wireType) @@ -911,7 +1819,8 @@ func (m *PowerMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Ch2Current = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Ch2Current = &v2 case 5: if wireType != 5 { return fmt.Errorf("proto: wrong wireType = %d for field Ch3Voltage", wireType) @@ -920,12 +1829,709 @@ func (m *PowerMetrics) UnmarshalVT(dAtA []byte) error { if (iNdEx + 4) > l { return io.ErrUnexpectedEOF } - v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) - iNdEx += 4 - m.Ch3Voltage = float32(math.Float32frombits(v)) - case 6: + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Ch3Voltage = &v2 + case 6: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch3Current", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + v2 := float32(math.Float32frombits(v)) + m.Ch3Current = &v2 + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AirQualityMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AirQualityMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm10Standard", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pm10Standard = &v + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm25Standard", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pm25Standard = &v + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm100Standard", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pm100Standard = &v + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm10Environmental", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pm10Environmental = &v + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm25Environmental", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pm25Environmental = &v + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm100Environmental", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Pm100Environmental = &v + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_03Um", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Particles_03Um = &v + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_05Um", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Particles_05Um = &v + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_10Um", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Particles_10Um = &v + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_25Um", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Particles_25Um = &v + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_50Um", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Particles_50Um = &v + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_100Um", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Particles_100Um = &v + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Co2", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.Co2 = &v + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *LocalStats) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: LocalStats: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalStats: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UptimeSeconds", wireType) + } + m.UptimeSeconds = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UptimeSeconds |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelUtilization", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.ChannelUtilization = float32(math.Float32frombits(v)) + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field AirUtilTx", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.AirUtilTx = float32(math.Float32frombits(v)) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumPacketsTx", wireType) + } + m.NumPacketsTx = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumPacketsTx |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumPacketsRx", wireType) + } + m.NumPacketsRx = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumPacketsRx |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumPacketsRxBad", wireType) + } + m.NumPacketsRxBad = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumPacketsRxBad |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumOnlineNodes", wireType) + } + m.NumOnlineNodes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumOnlineNodes |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumTotalNodes", wireType) + } + m.NumTotalNodes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumTotalNodes |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumRxDupe", wireType) + } + m.NumRxDupe = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumRxDupe |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumTxRelay", wireType) + } + m.NumTxRelay = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumTxRelay |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumTxRelayCanceled", wireType) + } + m.NumTxRelayCanceled = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NumTxRelayCanceled |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HeapTotalBytes", wireType) + } + m.HeapTotalBytes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HeapTotalBytes |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HeapFreeBytes", wireType) + } + m.HeapFreeBytes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HeapFreeBytes |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *HealthMetrics) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: HealthMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HealthMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HeartBpm", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.HeartBpm = &v + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SpO2", wireType) + } + var v uint32 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.SpO2 = &v + case 3: if wireType != 5 { - return fmt.Errorf("proto: wrong wireType = %d for field Ch3Current", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Temperature", wireType) } var v uint32 if (iNdEx + 4) > l { @@ -933,7 +2539,8 @@ func (m *PowerMetrics) UnmarshalVT(dAtA []byte) error { } v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) iNdEx += 4 - m.Ch3Current = float32(math.Float32frombits(v)) + v2 := float32(math.Float32frombits(v)) + m.Temperature = &v2 default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -956,7 +2563,7 @@ func (m *PowerMetrics) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { +func (m *HostMetrics) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -979,17 +2586,17 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: AirQualityMetrics: wiretype end group for non-group") + return fmt.Errorf("proto: HostMetrics: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: AirQualityMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: HostMetrics: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Pm10Standard", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UptimeSeconds", wireType) } - m.Pm10Standard = 0 + m.UptimeSeconds = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -999,16 +2606,16 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Pm10Standard |= uint32(b&0x7F) << shift + m.UptimeSeconds |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Pm25Standard", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FreememBytes", wireType) } - m.Pm25Standard = 0 + m.FreememBytes = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1018,16 +2625,16 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Pm25Standard |= uint32(b&0x7F) << shift + m.FreememBytes |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Pm100Standard", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Diskfree1Bytes", wireType) } - m.Pm100Standard = 0 + m.Diskfree1Bytes = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1037,16 +2644,16 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Pm100Standard |= uint32(b&0x7F) << shift + m.Diskfree1Bytes |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Pm10Environmental", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Diskfree2Bytes", wireType) } - m.Pm10Environmental = 0 + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1056,16 +2663,17 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Pm10Environmental |= uint32(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } } + m.Diskfree2Bytes = &v case 5: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Pm25Environmental", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Diskfree3Bytes", wireType) } - m.Pm25Environmental = 0 + var v uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1075,16 +2683,17 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Pm25Environmental |= uint32(b&0x7F) << shift + v |= uint64(b&0x7F) << shift if b < 0x80 { break } } + m.Diskfree3Bytes = &v case 6: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Pm100Environmental", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Load1", wireType) } - m.Pm100Environmental = 0 + m.Load1 = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1094,16 +2703,16 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Pm100Environmental |= uint32(b&0x7F) << shift + m.Load1 |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Particles_03Um", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Load5", wireType) } - m.Particles_03Um = 0 + m.Load5 = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1113,16 +2722,16 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Particles_03Um |= uint32(b&0x7F) << shift + m.Load5 |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 8: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Particles_05Um", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Load15", wireType) } - m.Particles_05Um = 0 + m.Load15 = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1132,35 +2741,16 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Particles_05Um |= uint32(b&0x7F) << shift + m.Load15 |= uint32(b&0x7F) << shift if b < 0x80 { break } } case 9: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Particles_10Um", wireType) - } - m.Particles_10Um = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Particles_10Um |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 10: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Particles_25Um", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserString", wireType) } - m.Particles_25Um = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -1170,49 +2760,25 @@ func (m *AirQualityMetrics) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Particles_25Um |= uint32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Particles_50Um", wireType) - } - m.Particles_50Um = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Particles_50Um |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength } - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Particles_100Um", wireType) + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - m.Particles_100Um = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Particles_100Um |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } + if postIndex > l { + return io.ErrUnexpectedEOF } + s := string(dAtA[iNdEx:postIndex]) + m.UserString = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -1438,6 +3004,210 @@ func (m *Telemetry) UnmarshalVT(dAtA []byte) error { m.Variant = &Telemetry_PowerMetrics{PowerMetrics: v} } iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LocalStats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Variant.(*Telemetry_LocalStats); ok { + if err := oneof.LocalStats.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &LocalStats{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_LocalStats{LocalStats: v} + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HealthMetrics", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Variant.(*Telemetry_HealthMetrics); ok { + if err := oneof.HealthMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &HealthMetrics{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_HealthMetrics{HealthMetrics: v} + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field HostMetrics", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Variant.(*Telemetry_HostMetrics); ok { + if err := oneof.HostMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &HostMetrics{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_HostMetrics{HostMetrics: v} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Nau7802Config) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Nau7802Config: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Nau7802Config: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ZeroOffset", wireType) + } + m.ZeroOffset = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ZeroOffset |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field CalibrationFactor", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.CalibrationFactor = float32(math.Float32frombits(v)) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/meshtastic/xmodem.pb.go b/meshtastic/xmodem.pb.go index 40e986a..0395198 100644 --- a/meshtastic/xmodem.pb.go +++ b/meshtastic/xmodem.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 -// protoc v4.25.2 +// protoc-gen-go v1.36.6 +// protoc v3.21.12 // source: meshtastic/xmodem.proto package generated @@ -11,6 +11,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -85,23 +86,20 @@ func (XModem_Control) EnumDescriptor() ([]byte, []int) { } type XModem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Control XModem_Control `protobuf:"varint,1,opt,name=control,proto3,enum=meshtastic.XModem_Control" json:"control,omitempty"` + Seq uint32 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"` + Crc16 uint32 `protobuf:"varint,3,opt,name=crc16,proto3" json:"crc16,omitempty"` + Buffer []byte `protobuf:"bytes,4,opt,name=buffer,proto3" json:"buffer,omitempty"` unknownFields protoimpl.UnknownFields - - Control XModem_Control `protobuf:"varint,1,opt,name=control,proto3,enum=meshtastic.XModem_Control" json:"control,omitempty"` - Seq uint32 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq,omitempty"` - Crc16 uint32 `protobuf:"varint,3,opt,name=crc16,proto3" json:"crc16,omitempty"` - Buffer []byte `protobuf:"bytes,4,opt,name=buffer,proto3" json:"buffer,omitempty"` + sizeCache protoimpl.SizeCache } func (x *XModem) Reset() { *x = XModem{} - if protoimpl.UnsafeEnabled { - mi := &file_meshtastic_xmodem_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_meshtastic_xmodem_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *XModem) String() string { @@ -112,7 +110,7 @@ func (*XModem) ProtoMessage() {} func (x *XModem) ProtoReflect() protoreflect.Message { mi := &file_meshtastic_xmodem_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -157,47 +155,41 @@ func (x *XModem) GetBuffer() []byte { var File_meshtastic_xmodem_proto protoreflect.FileDescriptor -var file_meshtastic_xmodem_proto_rawDesc = []byte{ - 0x0a, 0x17, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x78, 0x6d, 0x6f, - 0x64, 0x65, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, - 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0xd3, 0x01, 0x0a, 0x06, 0x58, 0x4d, 0x6f, 0x64, 0x65, 0x6d, - 0x12, 0x34, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x58, - 0x4d, 0x6f, 0x64, 0x65, 0x6d, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x07, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x63, 0x31, - 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x72, 0x63, 0x31, 0x36, 0x12, 0x16, - 0x0a, 0x06, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, - 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, 0x53, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x4e, 0x55, 0x4c, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x4f, - 0x48, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x53, 0x54, 0x58, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, - 0x45, 0x4f, 0x54, 0x10, 0x04, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x43, 0x4b, 0x10, 0x06, 0x12, 0x07, - 0x0a, 0x03, 0x4e, 0x41, 0x4b, 0x10, 0x15, 0x12, 0x07, 0x0a, 0x03, 0x43, 0x41, 0x4e, 0x10, 0x18, - 0x12, 0x09, 0x0a, 0x05, 0x43, 0x54, 0x52, 0x4c, 0x5a, 0x10, 0x1a, 0x42, 0x61, 0x0a, 0x13, 0x63, - 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, - 0x73, 0x68, 0x42, 0x0c, 0x58, 0x6d, 0x6f, 0x64, 0x65, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, - 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x65, 0x73, - 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0xaa, 0x02, 0x14, 0x4d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, - 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0xba, 0x02, 0x00, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_meshtastic_xmodem_proto_rawDesc = "" + + "\n" + + "\x17meshtastic/xmodem.proto\x12\n" + + "meshtastic\"\xd3\x01\n" + + "\x06XModem\x124\n" + + "\acontrol\x18\x01 \x01(\x0e2\x1a.meshtastic.XModem.ControlR\acontrol\x12\x10\n" + + "\x03seq\x18\x02 \x01(\rR\x03seq\x12\x14\n" + + "\x05crc16\x18\x03 \x01(\rR\x05crc16\x12\x16\n" + + "\x06buffer\x18\x04 \x01(\fR\x06buffer\"S\n" + + "\aControl\x12\a\n" + + "\x03NUL\x10\x00\x12\a\n" + + "\x03SOH\x10\x01\x12\a\n" + + "\x03STX\x10\x02\x12\a\n" + + "\x03EOT\x10\x04\x12\a\n" + + "\x03ACK\x10\x06\x12\a\n" + + "\x03NAK\x10\x15\x12\a\n" + + "\x03CAN\x10\x18\x12\t\n" + + "\x05CTRLZ\x10\x1aBa\n" + + "\x13com.geeksville.meshB\fXmodemProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3" var ( file_meshtastic_xmodem_proto_rawDescOnce sync.Once - file_meshtastic_xmodem_proto_rawDescData = file_meshtastic_xmodem_proto_rawDesc + file_meshtastic_xmodem_proto_rawDescData []byte ) func file_meshtastic_xmodem_proto_rawDescGZIP() []byte { file_meshtastic_xmodem_proto_rawDescOnce.Do(func() { - file_meshtastic_xmodem_proto_rawDescData = protoimpl.X.CompressGZIP(file_meshtastic_xmodem_proto_rawDescData) + file_meshtastic_xmodem_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_xmodem_proto_rawDesc), len(file_meshtastic_xmodem_proto_rawDesc))) }) return file_meshtastic_xmodem_proto_rawDescData } var file_meshtastic_xmodem_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_meshtastic_xmodem_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_meshtastic_xmodem_proto_goTypes = []interface{}{ +var file_meshtastic_xmodem_proto_goTypes = []any{ (XModem_Control)(0), // 0: meshtastic.XModem.Control (*XModem)(nil), // 1: meshtastic.XModem } @@ -215,25 +207,11 @@ func file_meshtastic_xmodem_proto_init() { if File_meshtastic_xmodem_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_meshtastic_xmodem_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*XModem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_meshtastic_xmodem_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_xmodem_proto_rawDesc), len(file_meshtastic_xmodem_proto_rawDesc)), NumEnums: 1, NumMessages: 1, NumExtensions: 0, @@ -245,7 +223,6 @@ func file_meshtastic_xmodem_proto_init() { MessageInfos: file_meshtastic_xmodem_proto_msgTypes, }.Build() File_meshtastic_xmodem_proto = out.File - file_meshtastic_xmodem_proto_rawDesc = nil file_meshtastic_xmodem_proto_goTypes = nil file_meshtastic_xmodem_proto_depIdxs = nil } diff --git a/protobufs b/protobufs index 68720ed..24c7a3d 160000 --- a/protobufs +++ b/protobufs @@ -1 +1 @@ -Subproject commit 68720ed8dbcb2c055e3d1ecd4f78d60692f59493 +Subproject commit 24c7a3d287a4bd269ce191827e5dabd8ce8f57a7 -- cgit v1.2.3