diff options
| author | Smoke <[email protected]> | 2024-02-16 06:58:59 -1000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-02-16 06:58:59 -1000 |
| commit | 59d8f1e1d46abe92e114d50a7a1852bdb8baa608 (patch) | |
| tree | 13387a512fe8844f91da6c96622f5d2073459075 | |
| parent | 06f88424566478b7a8e5817fd6af3d2a76e34519 (diff) | |
feat/update-protobufs (#16)
* use meshnet-gophers protobufs
* update go.mod for meshnet-gophers protobufs
* update protos
* add gitignore
* update go.mod
* use locally generated protobufs
* add generate.go
* use meshtastic protobufs upstream
53 files changed, 78427 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ff86dbb --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +go.work* diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..4e64efd --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "protobufs"] + path = protobufs + url = https://github.com/meshtastic/protobufs diff --git a/emulated/emulated.go b/emulated/emulated.go index de62c2a..27ab820 100644 --- a/emulated/emulated.go +++ b/emulated/emulated.go @@ -1,11 +1,11 @@ package emulated import ( - pb "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" "context" "fmt" "github.com/charmbracelet/log" "github.com/crypto-smoke/meshtastic-go" + pb "github.com/crypto-smoke/meshtastic-go/meshtastic" "github.com/crypto-smoke/meshtastic-go/mqtt" "github.com/crypto-smoke/meshtastic-go/radio" "github.com/crypto-smoke/meshtastic-go/transport" diff --git a/emulated/example/main.go b/emulated/example/main.go index e2978e2..36b36c3 100644 --- a/emulated/example/main.go +++ b/emulated/example/main.go @@ -1,12 +1,12 @@ package main import ( - pb "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" "context" "fmt" "github.com/charmbracelet/log" "github.com/crypto-smoke/meshtastic-go" "github.com/crypto-smoke/meshtastic-go/emulated" + pb "github.com/crypto-smoke/meshtastic-go/meshtastic" "github.com/crypto-smoke/meshtastic-go/mqtt" "github.com/crypto-smoke/meshtastic-go/radio" "github.com/crypto-smoke/meshtastic-go/transport" diff --git a/example/main.go b/example/main.go index 884ee36..886ae92 100644 --- a/example/main.go +++ b/example/main.go @@ -1,9 +1,9 @@ package main import ( - pb "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" "context" "github.com/charmbracelet/log" + pb "github.com/crypto-smoke/meshtastic-go/meshtastic" "github.com/crypto-smoke/meshtastic-go/transport" "github.com/crypto-smoke/meshtastic-go/transport/serial" "google.golang.org/protobuf/proto" diff --git a/generate.go b/generate.go new file mode 100644 index 0000000..3e4d349 --- /dev/null +++ b/generate.go @@ -0,0 +1,2 @@ +//go:generate protoc -I protobufs\ --go_out=. --go_opt=paths=source_relative --go-vtproto_out=paths=source_relative:. protobufs\meshtastic\*.proto +package meshtastic @@ -3,9 +3,9 @@ module github.com/crypto-smoke/meshtastic-go go 1.21 require ( - buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go v1.32.0-20240211215705-89f15a9842b0.1 github.com/charmbracelet/log v0.3.1 github.com/eclipse/paho.mqtt.golang v1.4.3 + github.com/meshnet-gophers/protobufs v2.2.22+incompatible github.com/stretchr/testify v1.8.4 go.bug.st/serial v1.6.1 golang.org/x/sync v0.6.0 @@ -24,6 +24,7 @@ require ( github.com/mattn/go-runewidth v0.0.15 // indirect github.com/muesli/reflow v0.3.0 // indirect github.com/muesli/termenv v0.15.2 // indirect + github.com/planetscale/vtprotobuf v0.6.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rivo/uniseg v0.4.7 // indirect golang.org/x/exp v0.0.0-20240205201215-2c58cdc269a3 // indirect @@ -1,5 +1,3 @@ -buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go v1.32.0-20240211215705-89f15a9842b0.1 h1:XYsqzpo0wQYlLzZDsT5cdnrNrfBY0mgJd6bvfiixX9E= -buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go v1.32.0-20240211215705-89f15a9842b0.1/go.mod h1:6znL4Am/mtSqEWteEmKgLpgDI0t/Wx80bzMsTKlu2oA= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/charmbracelet/lipgloss v0.9.1 h1:PNyd3jvaJbg4jRHKWXnCj1akQm4rh8dbEzN1p/u1KWg= @@ -14,8 +12,6 @@ github.com/eclipse/paho.mqtt.golang v1.4.3 h1:2kwcUGn8seMUfWndX0hGbvH8r7crgcJguQ github.com/eclipse/paho.mqtt.golang v1.4.3/go.mod h1:CSYvoAlsMkhYOXh/oKyxa8EcBci6dVkLCbo5tTC1RIE= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= @@ -27,10 +23,16 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/meshnet-gophers/protobufs v0.0.0-20240216150730-37862814df79 h1:DGGW63VDYWFbV1pX32iQqwJ+ASWgKflp5JaU/ARyblo= +github.com/meshnet-gophers/protobufs v0.0.0-20240216150730-37862814df79/go.mod h1:1FRbeHjF+DvD6od6oedTYUP6j8nIzeXGG1q9CcLAMw8= +github.com/meshnet-gophers/protobufs v2.2.22+incompatible h1:PqhnY9Tk4ounTqx3/lqffGOwip0nvvmSKXg3DneEEOQ= +github.com/meshnet-gophers/protobufs v2.2.22+incompatible/go.mod h1:1FRbeHjF+DvD6od6oedTYUP6j8nIzeXGG1q9CcLAMw8= github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= github.com/muesli/termenv v0.15.2 h1:GohcuySI0QmI3wN8Ok9PtKGkgkFIk7y6Vpb5PvrY+Wo= github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8= +github.com/planetscale/vtprotobuf v0.6.0 h1:nBeETjudeJ5ZgBHUz1fVHvbqUKnYOXNhsIEabROxmNA= +github.com/planetscale/vtprotobuf v0.6.0/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -50,8 +52,6 @@ golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= diff --git a/meshtastic/admin.pb.go b/meshtastic/admin.pb.go new file mode 100644 index 0000000..2e4720c --- /dev/null +++ b/meshtastic/admin.pb.go @@ -0,0 +1,1298 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/admin.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// TODO: REPLACE +type AdminMessage_ConfigType int32 + +const ( + // TODO: REPLACE + AdminMessage_DEVICE_CONFIG AdminMessage_ConfigType = 0 + // TODO: REPLACE + AdminMessage_POSITION_CONFIG AdminMessage_ConfigType = 1 + // TODO: REPLACE + AdminMessage_POWER_CONFIG AdminMessage_ConfigType = 2 + // TODO: REPLACE + AdminMessage_NETWORK_CONFIG AdminMessage_ConfigType = 3 + // TODO: REPLACE + AdminMessage_DISPLAY_CONFIG AdminMessage_ConfigType = 4 + // TODO: REPLACE + AdminMessage_LORA_CONFIG AdminMessage_ConfigType = 5 + // TODO: REPLACE + AdminMessage_BLUETOOTH_CONFIG AdminMessage_ConfigType = 6 +) + +// Enum value maps for AdminMessage_ConfigType. +var ( + AdminMessage_ConfigType_name = map[int32]string{ + 0: "DEVICE_CONFIG", + 1: "POSITION_CONFIG", + 2: "POWER_CONFIG", + 3: "NETWORK_CONFIG", + 4: "DISPLAY_CONFIG", + 5: "LORA_CONFIG", + 6: "BLUETOOTH_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, + } +) + +func (x AdminMessage_ConfigType) Enum() *AdminMessage_ConfigType { + p := new(AdminMessage_ConfigType) + *p = x + return p +} + +func (x AdminMessage_ConfigType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AdminMessage_ConfigType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_admin_proto_enumTypes[0].Descriptor() +} + +func (AdminMessage_ConfigType) Type() protoreflect.EnumType { + return &file_meshtastic_admin_proto_enumTypes[0] +} + +func (x AdminMessage_ConfigType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AdminMessage_ConfigType.Descriptor instead. +func (AdminMessage_ConfigType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{0, 0} +} + +// TODO: REPLACE +type AdminMessage_ModuleConfigType int32 + +const ( + // TODO: REPLACE + AdminMessage_MQTT_CONFIG AdminMessage_ModuleConfigType = 0 + // TODO: REPLACE + AdminMessage_SERIAL_CONFIG AdminMessage_ModuleConfigType = 1 + // TODO: REPLACE + AdminMessage_EXTNOTIF_CONFIG AdminMessage_ModuleConfigType = 2 + // TODO: REPLACE + AdminMessage_STOREFORWARD_CONFIG AdminMessage_ModuleConfigType = 3 + // TODO: REPLACE + AdminMessage_RANGETEST_CONFIG AdminMessage_ModuleConfigType = 4 + // TODO: REPLACE + AdminMessage_TELEMETRY_CONFIG AdminMessage_ModuleConfigType = 5 + // TODO: REPLACE + AdminMessage_CANNEDMSG_CONFIG AdminMessage_ModuleConfigType = 6 + // TODO: REPLACE + AdminMessage_AUDIO_CONFIG AdminMessage_ModuleConfigType = 7 + // TODO: REPLACE + AdminMessage_REMOTEHARDWARE_CONFIG AdminMessage_ModuleConfigType = 8 + // TODO: REPLACE + AdminMessage_NEIGHBORINFO_CONFIG AdminMessage_ModuleConfigType = 9 + // TODO: REPLACE + AdminMessage_AMBIENTLIGHTING_CONFIG AdminMessage_ModuleConfigType = 10 + // TODO: REPLACE + AdminMessage_DETECTIONSENSOR_CONFIG AdminMessage_ModuleConfigType = 11 + // TODO: REPLACE + AdminMessage_PAXCOUNTER_CONFIG AdminMessage_ModuleConfigType = 12 +) + +// Enum value maps for AdminMessage_ModuleConfigType. +var ( + AdminMessage_ModuleConfigType_name = map[int32]string{ + 0: "MQTT_CONFIG", + 1: "SERIAL_CONFIG", + 2: "EXTNOTIF_CONFIG", + 3: "STOREFORWARD_CONFIG", + 4: "RANGETEST_CONFIG", + 5: "TELEMETRY_CONFIG", + 6: "CANNEDMSG_CONFIG", + 7: "AUDIO_CONFIG", + 8: "REMOTEHARDWARE_CONFIG", + 9: "NEIGHBORINFO_CONFIG", + 10: "AMBIENTLIGHTING_CONFIG", + 11: "DETECTIONSENSOR_CONFIG", + 12: "PAXCOUNTER_CONFIG", + } + AdminMessage_ModuleConfigType_value = map[string]int32{ + "MQTT_CONFIG": 0, + "SERIAL_CONFIG": 1, + "EXTNOTIF_CONFIG": 2, + "STOREFORWARD_CONFIG": 3, + "RANGETEST_CONFIG": 4, + "TELEMETRY_CONFIG": 5, + "CANNEDMSG_CONFIG": 6, + "AUDIO_CONFIG": 7, + "REMOTEHARDWARE_CONFIG": 8, + "NEIGHBORINFO_CONFIG": 9, + "AMBIENTLIGHTING_CONFIG": 10, + "DETECTIONSENSOR_CONFIG": 11, + "PAXCOUNTER_CONFIG": 12, + } +) + +func (x AdminMessage_ModuleConfigType) Enum() *AdminMessage_ModuleConfigType { + p := new(AdminMessage_ModuleConfigType) + *p = x + return p +} + +func (x AdminMessage_ModuleConfigType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AdminMessage_ModuleConfigType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_admin_proto_enumTypes[1].Descriptor() +} + +func (AdminMessage_ModuleConfigType) Type() protoreflect.EnumType { + return &file_meshtastic_admin_proto_enumTypes[1] +} + +func (x AdminMessage_ModuleConfigType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AdminMessage_ModuleConfigType.Descriptor instead. +func (AdminMessage_ModuleConfigType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{0, 1} +} + +// 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 + + // TODO: REPLACE + // + // Types that are assignable to PayloadVariant: + // + // *AdminMessage_GetChannelRequest + // *AdminMessage_GetChannelResponse + // *AdminMessage_GetOwnerRequest + // *AdminMessage_GetOwnerResponse + // *AdminMessage_GetConfigRequest + // *AdminMessage_GetConfigResponse + // *AdminMessage_GetModuleConfigRequest + // *AdminMessage_GetModuleConfigResponse + // *AdminMessage_GetCannedMessageModuleMessagesRequest + // *AdminMessage_GetCannedMessageModuleMessagesResponse + // *AdminMessage_GetDeviceMetadataRequest + // *AdminMessage_GetDeviceMetadataResponse + // *AdminMessage_GetRingtoneRequest + // *AdminMessage_GetRingtoneResponse + // *AdminMessage_GetDeviceConnectionStatusRequest + // *AdminMessage_GetDeviceConnectionStatusResponse + // *AdminMessage_SetHamMode + // *AdminMessage_GetNodeRemoteHardwarePinsRequest + // *AdminMessage_GetNodeRemoteHardwarePinsResponse + // *AdminMessage_EnterDfuModeRequest + // *AdminMessage_DeleteFileRequest + // *AdminMessage_SetOwner + // *AdminMessage_SetChannel + // *AdminMessage_SetConfig + // *AdminMessage_SetModuleConfig + // *AdminMessage_SetCannedMessageModuleMessages + // *AdminMessage_SetRingtoneMessage + // *AdminMessage_RemoveByNodenum + // *AdminMessage_BeginEditSettings + // *AdminMessage_CommitEditSettings + // *AdminMessage_RebootOtaSeconds + // *AdminMessage_ExitSimulator + // *AdminMessage_RebootSeconds + // *AdminMessage_ShutdownSeconds + // *AdminMessage_FactoryReset + // *AdminMessage_NodedbReset + PayloadVariant isAdminMessage_PayloadVariant `protobuf_oneof:"payload_variant"` +} + +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) + } +} + +func (x *AdminMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminMessage) ProtoMessage() {} + +func (x *AdminMessage) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_admin_proto_msgTypes[0] + 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 AdminMessage.ProtoReflect.Descriptor instead. +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 + } + return nil +} + +func (x *AdminMessage) GetGetChannelRequest() uint32 { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetChannelRequest); ok { + return x.GetChannelRequest + } + return 0 +} + +func (x *AdminMessage) GetGetChannelResponse() *Channel { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetChannelResponse); ok { + return x.GetChannelResponse + } + return nil +} + +func (x *AdminMessage) GetGetOwnerRequest() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetOwnerRequest); ok { + return x.GetOwnerRequest + } + return false +} + +func (x *AdminMessage) GetGetOwnerResponse() *User { + if x, ok := x.GetPayloadVariant().(*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 + } + return AdminMessage_DEVICE_CONFIG +} + +func (x *AdminMessage) GetGetConfigResponse() *Config { + if x, ok := x.GetPayloadVariant().(*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 + } + return AdminMessage_MQTT_CONFIG +} + +func (x *AdminMessage) GetGetModuleConfigResponse() *ModuleConfig { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetModuleConfigResponse); ok { + return x.GetModuleConfigResponse + } + return nil +} + +func (x *AdminMessage) GetGetCannedMessageModuleMessagesRequest() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetCannedMessageModuleMessagesRequest); ok { + return x.GetCannedMessageModuleMessagesRequest + } + return false +} + +func (x *AdminMessage) GetGetCannedMessageModuleMessagesResponse() string { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetCannedMessageModuleMessagesResponse); ok { + return x.GetCannedMessageModuleMessagesResponse + } + return "" +} + +func (x *AdminMessage) GetGetDeviceMetadataRequest() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceMetadataRequest); ok { + return x.GetDeviceMetadataRequest + } + return false +} + +func (x *AdminMessage) GetGetDeviceMetadataResponse() *DeviceMetadata { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceMetadataResponse); ok { + return x.GetDeviceMetadataResponse + } + return nil +} + +func (x *AdminMessage) GetGetRingtoneRequest() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetRingtoneRequest); ok { + return x.GetRingtoneRequest + } + return false +} + +func (x *AdminMessage) GetGetRingtoneResponse() string { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetRingtoneResponse); ok { + return x.GetRingtoneResponse + } + return "" +} + +func (x *AdminMessage) GetGetDeviceConnectionStatusRequest() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceConnectionStatusRequest); ok { + return x.GetDeviceConnectionStatusRequest + } + return false +} + +func (x *AdminMessage) GetGetDeviceConnectionStatusResponse() *DeviceConnectionStatus { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetDeviceConnectionStatusResponse); ok { + return x.GetDeviceConnectionStatusResponse + } + return nil +} + +func (x *AdminMessage) GetSetHamMode() *HamParameters { + if x, ok := x.GetPayloadVariant().(*AdminMessage_SetHamMode); ok { + return x.SetHamMode + } + return nil +} + +func (x *AdminMessage) GetGetNodeRemoteHardwarePinsRequest() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetNodeRemoteHardwarePinsRequest); ok { + return x.GetNodeRemoteHardwarePinsRequest + } + return false +} + +func (x *AdminMessage) GetGetNodeRemoteHardwarePinsResponse() *NodeRemoteHardwarePinsResponse { + if x, ok := x.GetPayloadVariant().(*AdminMessage_GetNodeRemoteHardwarePinsResponse); ok { + return x.GetNodeRemoteHardwarePinsResponse + } + return nil +} + +func (x *AdminMessage) GetEnterDfuModeRequest() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_EnterDfuModeRequest); ok { + return x.EnterDfuModeRequest + } + return false +} + +func (x *AdminMessage) GetDeleteFileRequest() string { + if x, ok := x.GetPayloadVariant().(*AdminMessage_DeleteFileRequest); ok { + return x.DeleteFileRequest + } + return "" +} + +func (x *AdminMessage) GetSetOwner() *User { + if x, ok := x.GetPayloadVariant().(*AdminMessage_SetOwner); ok { + return x.SetOwner + } + return nil +} + +func (x *AdminMessage) GetSetChannel() *Channel { + if x, ok := x.GetPayloadVariant().(*AdminMessage_SetChannel); ok { + return x.SetChannel + } + return nil +} + +func (x *AdminMessage) GetSetConfig() *Config { + if x, ok := x.GetPayloadVariant().(*AdminMessage_SetConfig); ok { + return x.SetConfig + } + return nil +} + +func (x *AdminMessage) GetSetModuleConfig() *ModuleConfig { + if x, ok := x.GetPayloadVariant().(*AdminMessage_SetModuleConfig); ok { + return x.SetModuleConfig + } + return nil +} + +func (x *AdminMessage) GetSetCannedMessageModuleMessages() string { + if x, ok := x.GetPayloadVariant().(*AdminMessage_SetCannedMessageModuleMessages); ok { + return x.SetCannedMessageModuleMessages + } + return "" +} + +func (x *AdminMessage) GetSetRingtoneMessage() string { + if x, ok := x.GetPayloadVariant().(*AdminMessage_SetRingtoneMessage); ok { + return x.SetRingtoneMessage + } + return "" +} + +func (x *AdminMessage) GetRemoveByNodenum() uint32 { + if x, ok := x.GetPayloadVariant().(*AdminMessage_RemoveByNodenum); ok { + return x.RemoveByNodenum + } + return 0 +} + +func (x *AdminMessage) GetBeginEditSettings() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_BeginEditSettings); ok { + return x.BeginEditSettings + } + return false +} + +func (x *AdminMessage) GetCommitEditSettings() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_CommitEditSettings); ok { + return x.CommitEditSettings + } + return false +} + +func (x *AdminMessage) GetRebootOtaSeconds() int32 { + if x, ok := x.GetPayloadVariant().(*AdminMessage_RebootOtaSeconds); ok { + return x.RebootOtaSeconds + } + return 0 +} + +func (x *AdminMessage) GetExitSimulator() bool { + if x, ok := x.GetPayloadVariant().(*AdminMessage_ExitSimulator); ok { + return x.ExitSimulator + } + return false +} + +func (x *AdminMessage) GetRebootSeconds() int32 { + if x, ok := x.GetPayloadVariant().(*AdminMessage_RebootSeconds); ok { + return x.RebootSeconds + } + return 0 +} + +func (x *AdminMessage) GetShutdownSeconds() int32 { + if x, ok := x.GetPayloadVariant().(*AdminMessage_ShutdownSeconds); ok { + return x.ShutdownSeconds + } + return 0 +} + +func (x *AdminMessage) GetFactoryReset() int32 { + if x, ok := x.GetPayloadVariant().(*AdminMessage_FactoryReset); ok { + return x.FactoryReset + } + return 0 +} + +func (x *AdminMessage) GetNodedbReset() int32 { + if x, ok := x.GetPayloadVariant().(*AdminMessage_NodedbReset); ok { + return x.NodedbReset + } + return 0 +} + +type isAdminMessage_PayloadVariant interface { + isAdminMessage_PayloadVariant() +} + +type AdminMessage_GetChannelRequest struct { + // Send the specified channel in the response to this message + // NOTE: This field is sent with the channel index + 1 (to ensure we never try to send 'zero' - which protobufs treats as not present) + GetChannelRequest uint32 `protobuf:"varint,1,opt,name=get_channel_request,json=getChannelRequest,proto3,oneof"` +} + +type AdminMessage_GetChannelResponse struct { + // TODO: REPLACE + GetChannelResponse *Channel `protobuf:"bytes,2,opt,name=get_channel_response,json=getChannelResponse,proto3,oneof"` +} + +type AdminMessage_GetOwnerRequest struct { + // Send the current owner data in the response to this message. + GetOwnerRequest bool `protobuf:"varint,3,opt,name=get_owner_request,json=getOwnerRequest,proto3,oneof"` +} + +type AdminMessage_GetOwnerResponse struct { + // TODO: REPLACE + GetOwnerResponse *User `protobuf:"bytes,4,opt,name=get_owner_response,json=getOwnerResponse,proto3,oneof"` +} + +type AdminMessage_GetConfigRequest struct { + // Ask for the following config data to be sent + GetConfigRequest AdminMessage_ConfigType `protobuf:"varint,5,opt,name=get_config_request,json=getConfigRequest,proto3,enum=meshtastic.AdminMessage_ConfigType,oneof"` +} + +type AdminMessage_GetConfigResponse struct { + // Send the current Config in the response to this message. + GetConfigResponse *Config `protobuf:"bytes,6,opt,name=get_config_response,json=getConfigResponse,proto3,oneof"` +} + +type AdminMessage_GetModuleConfigRequest struct { + // Ask for the following config data to be sent + GetModuleConfigRequest AdminMessage_ModuleConfigType `protobuf:"varint,7,opt,name=get_module_config_request,json=getModuleConfigRequest,proto3,enum=meshtastic.AdminMessage_ModuleConfigType,oneof"` +} + +type AdminMessage_GetModuleConfigResponse struct { + // Send the current Config in the response to this message. + GetModuleConfigResponse *ModuleConfig `protobuf:"bytes,8,opt,name=get_module_config_response,json=getModuleConfigResponse,proto3,oneof"` +} + +type AdminMessage_GetCannedMessageModuleMessagesRequest struct { + // Get the Canned Message Module messages in the response to this message. + GetCannedMessageModuleMessagesRequest bool `protobuf:"varint,10,opt,name=get_canned_message_module_messages_request,json=getCannedMessageModuleMessagesRequest,proto3,oneof"` +} + +type AdminMessage_GetCannedMessageModuleMessagesResponse struct { + // Get the Canned Message Module messages in the response to this message. + GetCannedMessageModuleMessagesResponse string `protobuf:"bytes,11,opt,name=get_canned_message_module_messages_response,json=getCannedMessageModuleMessagesResponse,proto3,oneof"` +} + +type AdminMessage_GetDeviceMetadataRequest struct { + // Request the node to send device metadata (firmware, protobuf version, etc) + GetDeviceMetadataRequest bool `protobuf:"varint,12,opt,name=get_device_metadata_request,json=getDeviceMetadataRequest,proto3,oneof"` +} + +type AdminMessage_GetDeviceMetadataResponse struct { + // Device metadata response + GetDeviceMetadataResponse *DeviceMetadata `protobuf:"bytes,13,opt,name=get_device_metadata_response,json=getDeviceMetadataResponse,proto3,oneof"` +} + +type AdminMessage_GetRingtoneRequest struct { + // Get the Ringtone in the response to this message. + GetRingtoneRequest bool `protobuf:"varint,14,opt,name=get_ringtone_request,json=getRingtoneRequest,proto3,oneof"` +} + +type AdminMessage_GetRingtoneResponse struct { + // Get the Ringtone in the response to this message. + GetRingtoneResponse string `protobuf:"bytes,15,opt,name=get_ringtone_response,json=getRingtoneResponse,proto3,oneof"` +} + +type AdminMessage_GetDeviceConnectionStatusRequest struct { + // Request the node to send it's connection status + GetDeviceConnectionStatusRequest bool `protobuf:"varint,16,opt,name=get_device_connection_status_request,json=getDeviceConnectionStatusRequest,proto3,oneof"` +} + +type AdminMessage_GetDeviceConnectionStatusResponse struct { + // Device connection status response + GetDeviceConnectionStatusResponse *DeviceConnectionStatus `protobuf:"bytes,17,opt,name=get_device_connection_status_response,json=getDeviceConnectionStatusResponse,proto3,oneof"` +} + +type AdminMessage_SetHamMode struct { + // Setup a node for licensed amateur (ham) radio operation + SetHamMode *HamParameters `protobuf:"bytes,18,opt,name=set_ham_mode,json=setHamMode,proto3,oneof"` +} + +type AdminMessage_GetNodeRemoteHardwarePinsRequest struct { + // Get the mesh's nodes with their available gpio pins for RemoteHardware module use + GetNodeRemoteHardwarePinsRequest bool `protobuf:"varint,19,opt,name=get_node_remote_hardware_pins_request,json=getNodeRemoteHardwarePinsRequest,proto3,oneof"` +} + +type AdminMessage_GetNodeRemoteHardwarePinsResponse struct { + // Respond with the mesh's nodes with their available gpio pins for RemoteHardware module use + GetNodeRemoteHardwarePinsResponse *NodeRemoteHardwarePinsResponse `protobuf:"bytes,20,opt,name=get_node_remote_hardware_pins_response,json=getNodeRemoteHardwarePinsResponse,proto3,oneof"` +} + +type AdminMessage_EnterDfuModeRequest struct { + // Enter (UF2) DFU mode + // Only implemented on NRF52 currently + EnterDfuModeRequest bool `protobuf:"varint,21,opt,name=enter_dfu_mode_request,json=enterDfuModeRequest,proto3,oneof"` +} + +type AdminMessage_DeleteFileRequest struct { + // Delete the file by the specified path from the device + DeleteFileRequest string `protobuf:"bytes,22,opt,name=delete_file_request,json=deleteFileRequest,proto3,oneof"` +} + +type AdminMessage_SetOwner struct { + // Set the owner for this node + SetOwner *User `protobuf:"bytes,32,opt,name=set_owner,json=setOwner,proto3,oneof"` +} + +type AdminMessage_SetChannel struct { + // Set channels (using the new API). + // A special channel is the "primary channel". + // The other records are secondary channels. + // Note: only one channel can be marked as primary. + // If the client sets a particular channel to be primary, the previous channel will be set to SECONDARY automatically. + SetChannel *Channel `protobuf:"bytes,33,opt,name=set_channel,json=setChannel,proto3,oneof"` +} + +type AdminMessage_SetConfig struct { + // Set the current Config + SetConfig *Config `protobuf:"bytes,34,opt,name=set_config,json=setConfig,proto3,oneof"` +} + +type AdminMessage_SetModuleConfig struct { + // Set the current Config + SetModuleConfig *ModuleConfig `protobuf:"bytes,35,opt,name=set_module_config,json=setModuleConfig,proto3,oneof"` +} + +type AdminMessage_SetCannedMessageModuleMessages struct { + // Set the Canned Message Module messages text. + SetCannedMessageModuleMessages string `protobuf:"bytes,36,opt,name=set_canned_message_module_messages,json=setCannedMessageModuleMessages,proto3,oneof"` +} + +type AdminMessage_SetRingtoneMessage struct { + // Set the ringtone for ExternalNotification. + SetRingtoneMessage string `protobuf:"bytes,37,opt,name=set_ringtone_message,json=setRingtoneMessage,proto3,oneof"` +} + +type AdminMessage_RemoveByNodenum struct { + // Remove the node by the specified node-num from the NodeDB on the device + RemoveByNodenum uint32 `protobuf:"varint,38,opt,name=remove_by_nodenum,json=removeByNodenum,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) + BeginEditSettings bool `protobuf:"varint,64,opt,name=begin_edit_settings,json=beginEditSettings,proto3,oneof"` +} + +type AdminMessage_CommitEditSettings struct { + // Commits an open transaction for any edits made to config, module config, owner, and channel settings + CommitEditSettings bool `protobuf:"varint,65,opt,name=commit_edit_settings,json=commitEditSettings,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. + RebootOtaSeconds int32 `protobuf:"varint,95,opt,name=reboot_ota_seconds,json=rebootOtaSeconds,proto3,oneof"` +} + +type AdminMessage_ExitSimulator struct { + // This message is only supported for the simulator Portduino build. + // If received the simulator will exit successfully. + ExitSimulator bool `protobuf:"varint,96,opt,name=exit_simulator,json=exitSimulator,proto3,oneof"` +} + +type AdminMessage_RebootSeconds struct { + // Tell the node to reboot in this many seconds (or <0 to cancel reboot) + RebootSeconds int32 `protobuf:"varint,97,opt,name=reboot_seconds,json=rebootSeconds,proto3,oneof"` +} + +type AdminMessage_ShutdownSeconds struct { + // Tell the node to shutdown in this many seconds (or <0 to cancel shutdown) + 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_NodedbReset struct { + // Tell the node to reset the nodedb. + NodedbReset int32 `protobuf:"varint,100,opt,name=nodedb_reset,json=nodedbReset,proto3,oneof"` +} + +func (*AdminMessage_GetChannelRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetChannelResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetOwnerRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetOwnerResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetConfigRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetConfigResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetModuleConfigRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetModuleConfigResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetCannedMessageModuleMessagesRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetCannedMessageModuleMessagesResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetDeviceMetadataRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetDeviceMetadataResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetRingtoneRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetRingtoneResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetDeviceConnectionStatusRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetDeviceConnectionStatusResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetHamMode) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetNodeRemoteHardwarePinsRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_GetNodeRemoteHardwarePinsResponse) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_EnterDfuModeRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_DeleteFileRequest) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetOwner) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetChannel) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetConfig) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetModuleConfig) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetCannedMessageModuleMessages) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_SetRingtoneMessage) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RemoveByNodenum) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_BeginEditSettings) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_CommitEditSettings) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RebootOtaSeconds) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_ExitSimulator) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_RebootSeconds) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_ShutdownSeconds) isAdminMessage_PayloadVariant() {} + +func (*AdminMessage_FactoryReset) 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 + + // 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 + TxPower int32 `protobuf:"varint,2,opt,name=tx_power,json=txPower,proto3" json:"tx_power,omitempty"` + // The selected frequency of LoRA operation + // Please respect your local laws, regulations, and band plans. + // 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"` +} + +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) + } +} + +func (x *HamParameters) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HamParameters) ProtoMessage() {} + +func (x *HamParameters) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_admin_proto_msgTypes[1] + 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 HamParameters.ProtoReflect.Descriptor instead. +func (*HamParameters) Descriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{1} +} + +func (x *HamParameters) GetCallSign() string { + if x != nil { + return x.CallSign + } + return "" +} + +func (x *HamParameters) GetTxPower() int32 { + if x != nil { + return x.TxPower + } + return 0 +} + +func (x *HamParameters) GetFrequency() float32 { + if x != nil { + return x.Frequency + } + return 0 +} + +func (x *HamParameters) GetShortName() string { + if x != nil { + return x.ShortName + } + return "" +} + +// Response envelope for node_remote_hardware_pins +type NodeRemoteHardwarePinsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *NodeRemoteHardwarePinsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeRemoteHardwarePinsResponse) ProtoMessage() {} + +func (x *NodeRemoteHardwarePinsResponse) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_admin_proto_msgTypes[2] + 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 NodeRemoteHardwarePinsResponse.ProtoReflect.Descriptor instead. +func (*NodeRemoteHardwarePinsResponse) Descriptor() ([]byte, []int) { + return file_meshtastic_admin_proto_rawDescGZIP(), []int{2} +} + +func (x *NodeRemoteHardwarePinsResponse) GetNodeRemoteHardwarePins() []*NodeRemoteHardwarePin { + if x != nil { + return x.NodeRemoteHardwarePins + } + return nil +} + +var File_meshtastic_admin_proto protoreflect.FileDescriptor + +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, +} + +var ( + file_meshtastic_admin_proto_rawDescOnce sync.Once + file_meshtastic_admin_proto_rawDescData = file_meshtastic_admin_proto_rawDesc +) + +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) + }) + 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{}{ + (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 +} +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 + 0, // 2: meshtastic.AdminMessage.get_config_request:type_name -> meshtastic.AdminMessage.ConfigType + 7, // 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 +} + +func init() { file_meshtastic_admin_proto_init() } +func file_meshtastic_admin_proto_init() { + if File_meshtastic_admin_proto != nil { + return + } + 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{}{ + (*AdminMessage_GetChannelRequest)(nil), + (*AdminMessage_GetChannelResponse)(nil), + (*AdminMessage_GetOwnerRequest)(nil), + (*AdminMessage_GetOwnerResponse)(nil), + (*AdminMessage_GetConfigRequest)(nil), + (*AdminMessage_GetConfigResponse)(nil), + (*AdminMessage_GetModuleConfigRequest)(nil), + (*AdminMessage_GetModuleConfigResponse)(nil), + (*AdminMessage_GetCannedMessageModuleMessagesRequest)(nil), + (*AdminMessage_GetCannedMessageModuleMessagesResponse)(nil), + (*AdminMessage_GetDeviceMetadataRequest)(nil), + (*AdminMessage_GetDeviceMetadataResponse)(nil), + (*AdminMessage_GetRingtoneRequest)(nil), + (*AdminMessage_GetRingtoneResponse)(nil), + (*AdminMessage_GetDeviceConnectionStatusRequest)(nil), + (*AdminMessage_GetDeviceConnectionStatusResponse)(nil), + (*AdminMessage_SetHamMode)(nil), + (*AdminMessage_GetNodeRemoteHardwarePinsRequest)(nil), + (*AdminMessage_GetNodeRemoteHardwarePinsResponse)(nil), + (*AdminMessage_EnterDfuModeRequest)(nil), + (*AdminMessage_DeleteFileRequest)(nil), + (*AdminMessage_SetOwner)(nil), + (*AdminMessage_SetChannel)(nil), + (*AdminMessage_SetConfig)(nil), + (*AdminMessage_SetModuleConfig)(nil), + (*AdminMessage_SetCannedMessageModuleMessages)(nil), + (*AdminMessage_SetRingtoneMessage)(nil), + (*AdminMessage_RemoveByNodenum)(nil), + (*AdminMessage_BeginEditSettings)(nil), + (*AdminMessage_CommitEditSettings)(nil), + (*AdminMessage_RebootOtaSeconds)(nil), + (*AdminMessage_ExitSimulator)(nil), + (*AdminMessage_RebootSeconds)(nil), + (*AdminMessage_ShutdownSeconds)(nil), + (*AdminMessage_FactoryReset)(nil), + (*AdminMessage_NodedbReset)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_admin_proto_rawDesc, + NumEnums: 2, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_admin_proto_goTypes, + DependencyIndexes: file_meshtastic_admin_proto_depIdxs, + EnumInfos: file_meshtastic_admin_proto_enumTypes, + 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 new file mode 100644 index 0000000..3a4f86a --- /dev/null +++ b/meshtastic/admin_vtproto.pb.go @@ -0,0 +1,6074 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/admin.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" + 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) +) + +func (m *AdminMessage) CloneVT() *AdminMessage { + if m == nil { + return (*AdminMessage)(nil) + } + r := new(AdminMessage) + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isAdminMessage_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *AdminMessage) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *AdminMessage_GetChannelRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetChannelRequest)(nil) + } + r := new(AdminMessage_GetChannelRequest) + r.GetChannelRequest = m.GetChannelRequest + return r +} + +func (m *AdminMessage_GetChannelResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetChannelResponse)(nil) + } + r := new(AdminMessage_GetChannelResponse) + r.GetChannelResponse = m.GetChannelResponse.CloneVT() + return r +} + +func (m *AdminMessage_GetOwnerRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetOwnerRequest)(nil) + } + r := new(AdminMessage_GetOwnerRequest) + r.GetOwnerRequest = m.GetOwnerRequest + return r +} + +func (m *AdminMessage_GetOwnerResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetOwnerResponse)(nil) + } + r := new(AdminMessage_GetOwnerResponse) + r.GetOwnerResponse = m.GetOwnerResponse.CloneVT() + return r +} + +func (m *AdminMessage_GetConfigRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetConfigRequest)(nil) + } + r := new(AdminMessage_GetConfigRequest) + r.GetConfigRequest = m.GetConfigRequest + return r +} + +func (m *AdminMessage_GetConfigResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetConfigResponse)(nil) + } + r := new(AdminMessage_GetConfigResponse) + r.GetConfigResponse = m.GetConfigResponse.CloneVT() + return r +} + +func (m *AdminMessage_GetModuleConfigRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetModuleConfigRequest)(nil) + } + r := new(AdminMessage_GetModuleConfigRequest) + r.GetModuleConfigRequest = m.GetModuleConfigRequest + return r +} + +func (m *AdminMessage_GetModuleConfigResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetModuleConfigResponse)(nil) + } + r := new(AdminMessage_GetModuleConfigResponse) + r.GetModuleConfigResponse = m.GetModuleConfigResponse.CloneVT() + return r +} + +func (m *AdminMessage_GetCannedMessageModuleMessagesRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetCannedMessageModuleMessagesRequest)(nil) + } + r := new(AdminMessage_GetCannedMessageModuleMessagesRequest) + r.GetCannedMessageModuleMessagesRequest = m.GetCannedMessageModuleMessagesRequest + return r +} + +func (m *AdminMessage_GetCannedMessageModuleMessagesResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetCannedMessageModuleMessagesResponse)(nil) + } + r := new(AdminMessage_GetCannedMessageModuleMessagesResponse) + r.GetCannedMessageModuleMessagesResponse = m.GetCannedMessageModuleMessagesResponse + return r +} + +func (m *AdminMessage_GetDeviceMetadataRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetDeviceMetadataRequest)(nil) + } + r := new(AdminMessage_GetDeviceMetadataRequest) + r.GetDeviceMetadataRequest = m.GetDeviceMetadataRequest + return r +} + +func (m *AdminMessage_GetDeviceMetadataResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetDeviceMetadataResponse)(nil) + } + r := new(AdminMessage_GetDeviceMetadataResponse) + r.GetDeviceMetadataResponse = m.GetDeviceMetadataResponse.CloneVT() + return r +} + +func (m *AdminMessage_GetRingtoneRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetRingtoneRequest)(nil) + } + r := new(AdminMessage_GetRingtoneRequest) + r.GetRingtoneRequest = m.GetRingtoneRequest + return r +} + +func (m *AdminMessage_GetRingtoneResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetRingtoneResponse)(nil) + } + r := new(AdminMessage_GetRingtoneResponse) + r.GetRingtoneResponse = m.GetRingtoneResponse + return r +} + +func (m *AdminMessage_GetDeviceConnectionStatusRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetDeviceConnectionStatusRequest)(nil) + } + r := new(AdminMessage_GetDeviceConnectionStatusRequest) + r.GetDeviceConnectionStatusRequest = m.GetDeviceConnectionStatusRequest + return r +} + +func (m *AdminMessage_GetDeviceConnectionStatusResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetDeviceConnectionStatusResponse)(nil) + } + r := new(AdminMessage_GetDeviceConnectionStatusResponse) + r.GetDeviceConnectionStatusResponse = m.GetDeviceConnectionStatusResponse.CloneVT() + return r +} + +func (m *AdminMessage_SetHamMode) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_SetHamMode)(nil) + } + r := new(AdminMessage_SetHamMode) + r.SetHamMode = m.SetHamMode.CloneVT() + return r +} + +func (m *AdminMessage_GetNodeRemoteHardwarePinsRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetNodeRemoteHardwarePinsRequest)(nil) + } + r := new(AdminMessage_GetNodeRemoteHardwarePinsRequest) + r.GetNodeRemoteHardwarePinsRequest = m.GetNodeRemoteHardwarePinsRequest + return r +} + +func (m *AdminMessage_GetNodeRemoteHardwarePinsResponse) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_GetNodeRemoteHardwarePinsResponse)(nil) + } + r := new(AdminMessage_GetNodeRemoteHardwarePinsResponse) + r.GetNodeRemoteHardwarePinsResponse = m.GetNodeRemoteHardwarePinsResponse.CloneVT() + return r +} + +func (m *AdminMessage_EnterDfuModeRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_EnterDfuModeRequest)(nil) + } + r := new(AdminMessage_EnterDfuModeRequest) + r.EnterDfuModeRequest = m.EnterDfuModeRequest + return r +} + +func (m *AdminMessage_DeleteFileRequest) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_DeleteFileRequest)(nil) + } + r := new(AdminMessage_DeleteFileRequest) + r.DeleteFileRequest = m.DeleteFileRequest + return r +} + +func (m *AdminMessage_SetOwner) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_SetOwner)(nil) + } + r := new(AdminMessage_SetOwner) + r.SetOwner = m.SetOwner.CloneVT() + return r +} + +func (m *AdminMessage_SetChannel) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_SetChannel)(nil) + } + r := new(AdminMessage_SetChannel) + r.SetChannel = m.SetChannel.CloneVT() + return r +} + +func (m *AdminMessage_SetConfig) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_SetConfig)(nil) + } + r := new(AdminMessage_SetConfig) + r.SetConfig = m.SetConfig.CloneVT() + return r +} + +func (m *AdminMessage_SetModuleConfig) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_SetModuleConfig)(nil) + } + r := new(AdminMessage_SetModuleConfig) + r.SetModuleConfig = m.SetModuleConfig.CloneVT() + return r +} + +func (m *AdminMessage_SetCannedMessageModuleMessages) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_SetCannedMessageModuleMessages)(nil) + } + r := new(AdminMessage_SetCannedMessageModuleMessages) + r.SetCannedMessageModuleMessages = m.SetCannedMessageModuleMessages + return r +} + +func (m *AdminMessage_SetRingtoneMessage) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_SetRingtoneMessage)(nil) + } + r := new(AdminMessage_SetRingtoneMessage) + r.SetRingtoneMessage = m.SetRingtoneMessage + return r +} + +func (m *AdminMessage_RemoveByNodenum) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_RemoveByNodenum)(nil) + } + r := new(AdminMessage_RemoveByNodenum) + r.RemoveByNodenum = m.RemoveByNodenum + return r +} + +func (m *AdminMessage_BeginEditSettings) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_BeginEditSettings)(nil) + } + r := new(AdminMessage_BeginEditSettings) + r.BeginEditSettings = m.BeginEditSettings + return r +} + +func (m *AdminMessage_CommitEditSettings) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_CommitEditSettings)(nil) + } + r := new(AdminMessage_CommitEditSettings) + r.CommitEditSettings = m.CommitEditSettings + return r +} + +func (m *AdminMessage_RebootOtaSeconds) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_RebootOtaSeconds)(nil) + } + r := new(AdminMessage_RebootOtaSeconds) + r.RebootOtaSeconds = m.RebootOtaSeconds + return r +} + +func (m *AdminMessage_ExitSimulator) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_ExitSimulator)(nil) + } + r := new(AdminMessage_ExitSimulator) + r.ExitSimulator = m.ExitSimulator + return r +} + +func (m *AdminMessage_RebootSeconds) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_RebootSeconds)(nil) + } + r := new(AdminMessage_RebootSeconds) + r.RebootSeconds = m.RebootSeconds + return r +} + +func (m *AdminMessage_ShutdownSeconds) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_ShutdownSeconds)(nil) + } + r := new(AdminMessage_ShutdownSeconds) + r.ShutdownSeconds = m.ShutdownSeconds + return r +} + +func (m *AdminMessage_FactoryReset) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_FactoryReset)(nil) + } + r := new(AdminMessage_FactoryReset) + r.FactoryReset = m.FactoryReset + return r +} + +func (m *AdminMessage_NodedbReset) CloneVT() isAdminMessage_PayloadVariant { + if m == nil { + return (*AdminMessage_NodedbReset)(nil) + } + r := new(AdminMessage_NodedbReset) + r.NodedbReset = m.NodedbReset + return r +} + +func (m *HamParameters) CloneVT() *HamParameters { + if m == nil { + return (*HamParameters)(nil) + } + r := new(HamParameters) + r.CallSign = m.CallSign + r.TxPower = m.TxPower + r.Frequency = m.Frequency + r.ShortName = m.ShortName + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *HamParameters) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *NodeRemoteHardwarePinsResponse) CloneVT() *NodeRemoteHardwarePinsResponse { + if m == nil { + return (*NodeRemoteHardwarePinsResponse)(nil) + } + r := new(NodeRemoteHardwarePinsResponse) + if rhs := m.NodeRemoteHardwarePins; rhs != nil { + tmpContainer := make([]*NodeRemoteHardwarePin, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.NodeRemoteHardwarePins = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *NodeRemoteHardwarePinsResponse) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *AdminMessage) EqualVT(that *AdminMessage) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isAdminMessage_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *AdminMessage) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*AdminMessage) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *AdminMessage_GetChannelRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetChannelRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetChannelRequest != that.GetChannelRequest { + return false + } + return true +} + +func (this *AdminMessage_GetChannelResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetChannelResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.GetChannelResponse, that.GetChannelResponse; p != q { + if p == nil { + p = &Channel{} + } + if q == nil { + q = &Channel{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_GetOwnerRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetOwnerRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetOwnerRequest != that.GetOwnerRequest { + return false + } + return true +} + +func (this *AdminMessage_GetOwnerResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetOwnerResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.GetOwnerResponse, that.GetOwnerResponse; p != q { + if p == nil { + p = &User{} + } + if q == nil { + q = &User{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_GetConfigRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetConfigRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetConfigRequest != that.GetConfigRequest { + return false + } + return true +} + +func (this *AdminMessage_GetConfigResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetConfigResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.GetConfigResponse, that.GetConfigResponse; p != q { + if p == nil { + p = &Config{} + } + if q == nil { + q = &Config{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_GetModuleConfigRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetModuleConfigRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetModuleConfigRequest != that.GetModuleConfigRequest { + return false + } + return true +} + +func (this *AdminMessage_GetModuleConfigResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetModuleConfigResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.GetModuleConfigResponse, that.GetModuleConfigResponse; p != q { + if p == nil { + p = &ModuleConfig{} + } + if q == nil { + q = &ModuleConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_GetCannedMessageModuleMessagesRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetCannedMessageModuleMessagesRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetCannedMessageModuleMessagesRequest != that.GetCannedMessageModuleMessagesRequest { + return false + } + return true +} + +func (this *AdminMessage_GetCannedMessageModuleMessagesResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetCannedMessageModuleMessagesResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetCannedMessageModuleMessagesResponse != that.GetCannedMessageModuleMessagesResponse { + return false + } + return true +} + +func (this *AdminMessage_GetDeviceMetadataRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetDeviceMetadataRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetDeviceMetadataRequest != that.GetDeviceMetadataRequest { + return false + } + return true +} + +func (this *AdminMessage_GetDeviceMetadataResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetDeviceMetadataResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.GetDeviceMetadataResponse, that.GetDeviceMetadataResponse; p != q { + if p == nil { + p = &DeviceMetadata{} + } + if q == nil { + q = &DeviceMetadata{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_GetRingtoneRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetRingtoneRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetRingtoneRequest != that.GetRingtoneRequest { + return false + } + return true +} + +func (this *AdminMessage_GetRingtoneResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetRingtoneResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetRingtoneResponse != that.GetRingtoneResponse { + return false + } + return true +} + +func (this *AdminMessage_GetDeviceConnectionStatusRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetDeviceConnectionStatusRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetDeviceConnectionStatusRequest != that.GetDeviceConnectionStatusRequest { + return false + } + return true +} + +func (this *AdminMessage_GetDeviceConnectionStatusResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetDeviceConnectionStatusResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.GetDeviceConnectionStatusResponse, that.GetDeviceConnectionStatusResponse; p != q { + if p == nil { + p = &DeviceConnectionStatus{} + } + if q == nil { + q = &DeviceConnectionStatus{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_SetHamMode) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_SetHamMode) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.SetHamMode, that.SetHamMode; p != q { + if p == nil { + p = &HamParameters{} + } + if q == nil { + q = &HamParameters{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_GetNodeRemoteHardwarePinsRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetNodeRemoteHardwarePinsRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.GetNodeRemoteHardwarePinsRequest != that.GetNodeRemoteHardwarePinsRequest { + return false + } + return true +} + +func (this *AdminMessage_GetNodeRemoteHardwarePinsResponse) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_GetNodeRemoteHardwarePinsResponse) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.GetNodeRemoteHardwarePinsResponse, that.GetNodeRemoteHardwarePinsResponse; p != q { + if p == nil { + p = &NodeRemoteHardwarePinsResponse{} + } + if q == nil { + q = &NodeRemoteHardwarePinsResponse{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_EnterDfuModeRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_EnterDfuModeRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.EnterDfuModeRequest != that.EnterDfuModeRequest { + return false + } + return true +} + +func (this *AdminMessage_DeleteFileRequest) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_DeleteFileRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.DeleteFileRequest != that.DeleteFileRequest { + return false + } + return true +} + +func (this *AdminMessage_SetOwner) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_SetOwner) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.SetOwner, that.SetOwner; p != q { + if p == nil { + p = &User{} + } + if q == nil { + q = &User{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_SetChannel) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_SetChannel) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.SetChannel, that.SetChannel; p != q { + if p == nil { + p = &Channel{} + } + if q == nil { + q = &Channel{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_SetConfig) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_SetConfig) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.SetConfig, that.SetConfig; p != q { + if p == nil { + p = &Config{} + } + if q == nil { + q = &Config{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_SetModuleConfig) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_SetModuleConfig) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.SetModuleConfig, that.SetModuleConfig; p != q { + if p == nil { + p = &ModuleConfig{} + } + if q == nil { + q = &ModuleConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *AdminMessage_SetCannedMessageModuleMessages) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_SetCannedMessageModuleMessages) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.SetCannedMessageModuleMessages != that.SetCannedMessageModuleMessages { + return false + } + return true +} + +func (this *AdminMessage_SetRingtoneMessage) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_SetRingtoneMessage) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.SetRingtoneMessage != that.SetRingtoneMessage { + return false + } + return true +} + +func (this *AdminMessage_RemoveByNodenum) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_RemoveByNodenum) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.RemoveByNodenum != that.RemoveByNodenum { + return false + } + return true +} + +func (this *AdminMessage_BeginEditSettings) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_BeginEditSettings) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.BeginEditSettings != that.BeginEditSettings { + return false + } + return true +} + +func (this *AdminMessage_CommitEditSettings) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_CommitEditSettings) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.CommitEditSettings != that.CommitEditSettings { + return false + } + return true +} + +func (this *AdminMessage_RebootOtaSeconds) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_RebootOtaSeconds) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.RebootOtaSeconds != that.RebootOtaSeconds { + return false + } + return true +} + +func (this *AdminMessage_ExitSimulator) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_ExitSimulator) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.ExitSimulator != that.ExitSimulator { + return false + } + return true +} + +func (this *AdminMessage_RebootSeconds) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_RebootSeconds) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.RebootSeconds != that.RebootSeconds { + return false + } + return true +} + +func (this *AdminMessage_ShutdownSeconds) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_ShutdownSeconds) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.ShutdownSeconds != that.ShutdownSeconds { + return false + } + return true +} + +func (this *AdminMessage_FactoryReset) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_FactoryReset) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.FactoryReset != that.FactoryReset { + return false + } + return true +} + +func (this *AdminMessage_NodedbReset) EqualVT(thatIface isAdminMessage_PayloadVariant) bool { + that, ok := thatIface.(*AdminMessage_NodedbReset) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.NodedbReset != that.NodedbReset { + return false + } + return true +} + +func (this *HamParameters) EqualVT(that *HamParameters) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.CallSign != that.CallSign { + return false + } + if this.TxPower != that.TxPower { + return false + } + if this.Frequency != that.Frequency { + return false + } + if this.ShortName != that.ShortName { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *HamParameters) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*HamParameters) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *NodeRemoteHardwarePinsResponse) EqualVT(that *NodeRemoteHardwarePinsResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.NodeRemoteHardwarePins) != len(that.NodeRemoteHardwarePins) { + return false + } + for i, vx := range this.NodeRemoteHardwarePins { + vy := that.NodeRemoteHardwarePins[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &NodeRemoteHardwarePin{} + } + if q == nil { + q = &NodeRemoteHardwarePin{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *NodeRemoteHardwarePinsResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*NodeRemoteHardwarePinsResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *AdminMessage) 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 *AdminMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage) 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.PayloadVariant.(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 *AdminMessage_GetChannelRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetChannelRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GetChannelRequest)) + i-- + dAtA[i] = 0x8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetChannelResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetChannelResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetChannelResponse != nil { + size, err := m.GetChannelResponse.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 *AdminMessage_GetOwnerRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetOwnerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetOwnerRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetOwnerResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetOwnerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetOwnerResponse != nil { + size, err := m.GetOwnerResponse.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 *AdminMessage_GetConfigRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GetConfigRequest)) + i-- + dAtA[i] = 0x28 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetConfigResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetConfigResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetConfigResponse != nil { + size, err := m.GetConfigResponse.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 *AdminMessage_GetModuleConfigRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetModuleConfigRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GetModuleConfigRequest)) + i-- + dAtA[i] = 0x38 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetModuleConfigResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetModuleConfigResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetModuleConfigResponse != nil { + size, err := m.GetModuleConfigResponse.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 *AdminMessage_GetCannedMessageModuleMessagesRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetCannedMessageModuleMessagesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetCannedMessageModuleMessagesRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetCannedMessageModuleMessagesResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetCannedMessageModuleMessagesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.GetCannedMessageModuleMessagesResponse) + copy(dAtA[i:], m.GetCannedMessageModuleMessagesResponse) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GetCannedMessageModuleMessagesResponse))) + i-- + dAtA[i] = 0x5a + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceMetadataRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceMetadataRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetDeviceMetadataRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceMetadataResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceMetadataResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetDeviceMetadataResponse != nil { + size, err := m.GetDeviceMetadataResponse.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetRingtoneRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetRingtoneRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetRingtoneRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetRingtoneResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetRingtoneResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.GetRingtoneResponse) + copy(dAtA[i:], m.GetRingtoneResponse) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GetRingtoneResponse))) + i-- + dAtA[i] = 0x7a + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceConnectionStatusRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceConnectionStatusRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetDeviceConnectionStatusRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceConnectionStatusResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceConnectionStatusResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetDeviceConnectionStatusResponse != nil { + size, err := m.GetDeviceConnectionStatusResponse.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 *AdminMessage_SetHamMode) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetHamMode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetHamMode != nil { + size, err := m.SetHamMode.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] = 0x92 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetNodeRemoteHardwarePinsRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetNodeRemoteHardwarePinsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetNodeRemoteHardwarePinsRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetNodeRemoteHardwarePinsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_GetNodeRemoteHardwarePinsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetNodeRemoteHardwarePinsResponse != nil { + size, err := m.GetNodeRemoteHardwarePinsResponse.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] = 0xa2 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_EnterDfuModeRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_EnterDfuModeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.EnterDfuModeRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_DeleteFileRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_DeleteFileRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.DeleteFileRequest) + copy(dAtA[i:], m.DeleteFileRequest) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DeleteFileRequest))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb2 + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetOwner) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetOwner) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetOwner != nil { + size, err := m.SetOwner.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] = 0x82 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetChannel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetChannel != nil { + size, err := m.SetChannel.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] = 0x8a + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetConfig != nil { + size, err := m.SetConfig.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] = 0x92 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetModuleConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetModuleConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetModuleConfig != nil { + size, err := m.SetModuleConfig.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] = 0x9a + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetCannedMessageModuleMessages) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetCannedMessageModuleMessages) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.SetCannedMessageModuleMessages) + copy(dAtA[i:], m.SetCannedMessageModuleMessages) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SetCannedMessageModuleMessages))) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xa2 + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetRingtoneMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_SetRingtoneMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.SetRingtoneMessage) + copy(dAtA[i:], m.SetRingtoneMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SetRingtoneMessage))) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xaa + return len(dAtA) - i, nil +} +func (m *AdminMessage_RemoveByNodenum) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RemoveByNodenum) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoveByNodenum)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xb0 + return len(dAtA) - i, nil +} +func (m *AdminMessage_BeginEditSettings) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_BeginEditSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.BeginEditSettings { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x80 + return len(dAtA) - i, nil +} +func (m *AdminMessage_CommitEditSettings) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_CommitEditSettings) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.CommitEditSettings { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x88 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RebootOtaSeconds) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RebootOtaSeconds) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebootOtaSeconds)) + i-- + dAtA[i] = 0x5 + i-- + dAtA[i] = 0xf8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_ExitSimulator) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_ExitSimulator) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.ExitSimulator { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x80 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RebootSeconds) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_RebootSeconds) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebootSeconds)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x88 + return len(dAtA) - i, nil +} +func (m *AdminMessage_ShutdownSeconds) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_ShutdownSeconds) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ShutdownSeconds)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x90 + return len(dAtA) - i, nil +} +func (m *AdminMessage_FactoryReset) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_FactoryReset) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FactoryReset)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x98 + return len(dAtA) - i, nil +} +func (m *AdminMessage_NodedbReset) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AdminMessage_NodedbReset) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodedbReset)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xa0 + return len(dAtA) - i, nil +} +func (m *HamParameters) 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 *HamParameters) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *HamParameters) 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.ShortName) > 0 { + i -= len(m.ShortName) + copy(dAtA[i:], m.ShortName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ShortName))) + i-- + dAtA[i] = 0x22 + } + if m.Frequency != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Frequency)))) + i-- + dAtA[i] = 0x1d + } + if m.TxPower != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TxPower)) + i-- + dAtA[i] = 0x10 + } + if len(m.CallSign) > 0 { + i -= len(m.CallSign) + copy(dAtA[i:], m.CallSign) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CallSign))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *NodeRemoteHardwarePinsResponse) 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 *NodeRemoteHardwarePinsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NodeRemoteHardwarePinsResponse) 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.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] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *AdminMessage) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AdminMessage) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage) MarshalToSizedBufferVTStrict(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 msg, ok := m.PayloadVariant.(*AdminMessage_NodedbReset); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_FactoryReset); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_ShutdownSeconds); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_RebootSeconds); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_ExitSimulator); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_RebootOtaSeconds); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_CommitEditSettings); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_BeginEditSettings); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_RemoveByNodenum); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_SetRingtoneMessage); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_SetCannedMessageModuleMessages); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_SetModuleConfig); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_SetConfig); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_SetChannel); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_SetOwner); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_DeleteFileRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_EnterDfuModeRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetNodeRemoteHardwarePinsResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetNodeRemoteHardwarePinsRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_SetHamMode); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetDeviceConnectionStatusResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetDeviceConnectionStatusRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetRingtoneResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetRingtoneRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetDeviceMetadataResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetDeviceMetadataRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetCannedMessageModuleMessagesResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetCannedMessageModuleMessagesRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetModuleConfigResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetModuleConfigRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetConfigResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetConfigRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetOwnerResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetOwnerRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetChannelResponse); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*AdminMessage_GetChannelRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *AdminMessage_GetChannelRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetChannelRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GetChannelRequest)) + i-- + dAtA[i] = 0x8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetChannelResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetChannelResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetChannelResponse != nil { + size, err := m.GetChannelResponse.MarshalToSizedBufferVTStrict(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 *AdminMessage_GetOwnerRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetOwnerRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetOwnerRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetOwnerResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetOwnerResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetOwnerResponse != nil { + size, err := m.GetOwnerResponse.MarshalToSizedBufferVTStrict(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 *AdminMessage_GetConfigRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetConfigRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GetConfigRequest)) + i-- + dAtA[i] = 0x28 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetConfigResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetConfigResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetConfigResponse != nil { + size, err := m.GetConfigResponse.MarshalToSizedBufferVTStrict(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 *AdminMessage_GetModuleConfigRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetModuleConfigRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GetModuleConfigRequest)) + i-- + dAtA[i] = 0x38 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetModuleConfigResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetModuleConfigResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetModuleConfigResponse != nil { + size, err := m.GetModuleConfigResponse.MarshalToSizedBufferVTStrict(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 *AdminMessage_GetCannedMessageModuleMessagesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetCannedMessageModuleMessagesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetCannedMessageModuleMessagesRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetCannedMessageModuleMessagesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetCannedMessageModuleMessagesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.GetCannedMessageModuleMessagesResponse) + copy(dAtA[i:], m.GetCannedMessageModuleMessagesResponse) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GetCannedMessageModuleMessagesResponse))) + i-- + dAtA[i] = 0x5a + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceMetadataRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceMetadataRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetDeviceMetadataRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceMetadataResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceMetadataResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetDeviceMetadataResponse != nil { + size, err := m.GetDeviceMetadataResponse.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetRingtoneRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetRingtoneRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetRingtoneRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetRingtoneResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetRingtoneResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.GetRingtoneResponse) + copy(dAtA[i:], m.GetRingtoneResponse) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GetRingtoneResponse))) + i-- + dAtA[i] = 0x7a + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceConnectionStatusRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceConnectionStatusRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetDeviceConnectionStatusRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetDeviceConnectionStatusResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetDeviceConnectionStatusResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetDeviceConnectionStatusResponse != nil { + size, err := m.GetDeviceConnectionStatusResponse.MarshalToSizedBufferVTStrict(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 *AdminMessage_SetHamMode) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_SetHamMode) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetHamMode != nil { + size, err := m.SetHamMode.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetNodeRemoteHardwarePinsRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetNodeRemoteHardwarePinsRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.GetNodeRemoteHardwarePinsRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + return len(dAtA) - i, nil +} +func (m *AdminMessage_GetNodeRemoteHardwarePinsResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_GetNodeRemoteHardwarePinsResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.GetNodeRemoteHardwarePinsResponse != nil { + size, err := m.GetNodeRemoteHardwarePinsResponse.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa2 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_EnterDfuModeRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_EnterDfuModeRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.EnterDfuModeRequest { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_DeleteFileRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_DeleteFileRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.DeleteFileRequest) + copy(dAtA[i:], m.DeleteFileRequest) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DeleteFileRequest))) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb2 + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetOwner) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_SetOwner) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetOwner != nil { + size, err := m.SetOwner.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x82 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_SetChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetChannel != nil { + size, err := m.SetChannel.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x8a + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_SetConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetConfig != nil { + size, err := m.SetConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x92 + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetModuleConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_SetModuleConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SetModuleConfig != nil { + size, err := m.SetModuleConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x9a + } + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetCannedMessageModuleMessages) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_SetCannedMessageModuleMessages) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.SetCannedMessageModuleMessages) + copy(dAtA[i:], m.SetCannedMessageModuleMessages) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SetCannedMessageModuleMessages))) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xa2 + return len(dAtA) - i, nil +} +func (m *AdminMessage_SetRingtoneMessage) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_SetRingtoneMessage) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.SetRingtoneMessage) + copy(dAtA[i:], m.SetRingtoneMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SetRingtoneMessage))) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xaa + return len(dAtA) - i, nil +} +func (m *AdminMessage_RemoveByNodenum) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_RemoveByNodenum) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoveByNodenum)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xb0 + return len(dAtA) - i, nil +} +func (m *AdminMessage_BeginEditSettings) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_BeginEditSettings) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.BeginEditSettings { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x80 + return len(dAtA) - i, nil +} +func (m *AdminMessage_CommitEditSettings) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_CommitEditSettings) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.CommitEditSettings { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x4 + i-- + dAtA[i] = 0x88 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RebootOtaSeconds) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_RebootOtaSeconds) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebootOtaSeconds)) + i-- + dAtA[i] = 0x5 + i-- + dAtA[i] = 0xf8 + return len(dAtA) - i, nil +} +func (m *AdminMessage_ExitSimulator) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_ExitSimulator) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.ExitSimulator { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x80 + return len(dAtA) - i, nil +} +func (m *AdminMessage_RebootSeconds) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_RebootSeconds) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebootSeconds)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x88 + return len(dAtA) - i, nil +} +func (m *AdminMessage_ShutdownSeconds) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_ShutdownSeconds) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ShutdownSeconds)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x90 + return len(dAtA) - i, nil +} +func (m *AdminMessage_FactoryReset) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_FactoryReset) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FactoryReset)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0x98 + return len(dAtA) - i, nil +} +func (m *AdminMessage_NodedbReset) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AdminMessage_NodedbReset) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodedbReset)) + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xa0 + return len(dAtA) - i, nil +} +func (m *HamParameters) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HamParameters) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *HamParameters) MarshalToSizedBufferVTStrict(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.ShortName) > 0 { + i -= len(m.ShortName) + copy(dAtA[i:], m.ShortName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ShortName))) + i-- + dAtA[i] = 0x22 + } + if m.Frequency != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Frequency)))) + i-- + dAtA[i] = 0x1d + } + if m.TxPower != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TxPower)) + i-- + dAtA[i] = 0x10 + } + if len(m.CallSign) > 0 { + i -= len(m.CallSign) + copy(dAtA[i:], m.CallSign) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CallSign))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *NodeRemoteHardwarePinsResponse) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NodeRemoteHardwarePinsResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *NodeRemoteHardwarePinsResponse) MarshalToSizedBufferVTStrict(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.NodeRemoteHardwarePins) > 0 { + for iNdEx := len(m.NodeRemoteHardwarePins) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.NodeRemoteHardwarePins[iNdEx].MarshalToSizedBufferVTStrict(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 *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() + } + 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 + n += 2 + return n +} +func (m *AdminMessage_GetOwnerResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetOwnerResponse != nil { + l = m.GetOwnerResponse.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_GetConfigRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 1 + protohelpers.SizeOfVarint(uint64(m.GetConfigRequest)) + return n +} +func (m *AdminMessage_GetConfigResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetConfigResponse != nil { + l = m.GetConfigResponse.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_GetModuleConfigRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 1 + protohelpers.SizeOfVarint(uint64(m.GetModuleConfigRequest)) + return n +} +func (m *AdminMessage_GetModuleConfigResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetModuleConfigResponse != nil { + l = m.GetModuleConfigResponse.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_GetCannedMessageModuleMessagesRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *AdminMessage_GetCannedMessageModuleMessagesResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.GetCannedMessageModuleMessagesResponse) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *AdminMessage_GetDeviceMetadataRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *AdminMessage_GetDeviceMetadataResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetDeviceMetadataResponse != nil { + l = m.GetDeviceMetadataResponse.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_GetRingtoneRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + return n +} +func (m *AdminMessage_GetRingtoneResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.GetRingtoneResponse) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *AdminMessage_GetDeviceConnectionStatusRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_GetDeviceConnectionStatusResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetDeviceConnectionStatusResponse != nil { + l = m.GetDeviceConnectionStatusResponse.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_SetHamMode) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SetHamMode != nil { + l = m.SetHamMode.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_GetNodeRemoteHardwarePinsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_GetNodeRemoteHardwarePinsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GetNodeRemoteHardwarePinsResponse != nil { + l = m.GetNodeRemoteHardwarePinsResponse.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_EnterDfuModeRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_DeleteFileRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DeleteFileRequest) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *AdminMessage_SetOwner) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SetOwner != nil { + l = m.SetOwner.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_SetChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SetChannel != nil { + l = m.SetChannel.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_SetConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SetConfig != nil { + l = m.SetConfig.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_SetModuleConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SetModuleConfig != nil { + l = m.SetModuleConfig.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *AdminMessage_SetCannedMessageModuleMessages) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.SetCannedMessageModuleMessages) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *AdminMessage_SetRingtoneMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.SetRingtoneMessage) + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *AdminMessage_RemoveByNodenum) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.RemoveByNodenum)) + return n +} +func (m *AdminMessage_BeginEditSettings) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_CommitEditSettings) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_RebootOtaSeconds) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.RebootOtaSeconds)) + return n +} +func (m *AdminMessage_ExitSimulator) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 3 + return n +} +func (m *AdminMessage_RebootSeconds) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.RebootSeconds)) + return n +} +func (m *AdminMessage_ShutdownSeconds) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.ShutdownSeconds)) + return n +} +func (m *AdminMessage_FactoryReset) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.FactoryReset)) + return n +} +func (m *AdminMessage_NodedbReset) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 2 + protohelpers.SizeOfVarint(uint64(m.NodedbReset)) + return n +} +func (m *HamParameters) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CallSign) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TxPower != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.TxPower)) + } + if m.Frequency != 0 { + n += 5 + } + l = len(m.ShortName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *NodeRemoteHardwarePinsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = 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 *AdminMessage) 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: AdminMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AdminMessage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetChannelRequest", 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.PayloadVariant = &AdminMessage_GetChannelRequest{GetChannelRequest: v} + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetChannelResponse", 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_GetChannelResponse); ok { + if err := oneof.GetChannelResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Channel{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetChannelResponse{GetChannelResponse: v} + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetOwnerRequest", 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_GetOwnerRequest{GetOwnerRequest: b} + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetOwnerResponse", 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_GetOwnerResponse); ok { + if err := oneof.GetOwnerResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &User{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetOwnerResponse{GetOwnerResponse: v} + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetConfigRequest", wireType) + } + var v AdminMessage_ConfigType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= AdminMessage_ConfigType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_GetConfigRequest{GetConfigRequest: v} + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetConfigResponse", 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_GetConfigResponse); ok { + if err := oneof.GetConfigResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetConfigResponse{GetConfigResponse: v} + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetModuleConfigRequest", wireType) + } + var v AdminMessage_ModuleConfigType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= AdminMessage_ModuleConfigType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_GetModuleConfigRequest{GetModuleConfigRequest: v} + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetModuleConfigResponse", 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_GetModuleConfigResponse); ok { + if err := oneof.GetModuleConfigResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetModuleConfigResponse{GetModuleConfigResponse: v} + } + iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetCannedMessageModuleMessagesRequest", 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_GetCannedMessageModuleMessagesRequest{GetCannedMessageModuleMessagesRequest: b} + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetCannedMessageModuleMessagesResponse", 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 = &AdminMessage_GetCannedMessageModuleMessagesResponse{GetCannedMessageModuleMessagesResponse: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceMetadataRequest", 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_GetDeviceMetadataRequest{GetDeviceMetadataRequest: b} + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceMetadataResponse", 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_GetDeviceMetadataResponse); ok { + if err := oneof.GetDeviceMetadataResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceMetadata{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetDeviceMetadataResponse{GetDeviceMetadataResponse: v} + } + iNdEx = postIndex + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetRingtoneRequest", 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_GetRingtoneRequest{GetRingtoneRequest: b} + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetRingtoneResponse", 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 = &AdminMessage_GetRingtoneResponse{GetRingtoneResponse: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceConnectionStatusRequest", 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_GetDeviceConnectionStatusRequest{GetDeviceConnectionStatusRequest: b} + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceConnectionStatusResponse", 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_GetDeviceConnectionStatusResponse); ok { + if err := oneof.GetDeviceConnectionStatusResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceConnectionStatus{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetDeviceConnectionStatusResponse{GetDeviceConnectionStatusResponse: v} + } + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetHamMode", 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_SetHamMode); ok { + if err := oneof.SetHamMode.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &HamParameters{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetHamMode{SetHamMode: v} + } + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetNodeRemoteHardwarePinsRequest", 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_GetNodeRemoteHardwarePinsRequest{GetNodeRemoteHardwarePinsRequest: b} + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetNodeRemoteHardwarePinsResponse", 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_GetNodeRemoteHardwarePinsResponse); ok { + if err := oneof.GetNodeRemoteHardwarePinsResponse.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &NodeRemoteHardwarePinsResponse{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetNodeRemoteHardwarePinsResponse{GetNodeRemoteHardwarePinsResponse: v} + } + iNdEx = postIndex + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnterDfuModeRequest", 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_EnterDfuModeRequest{EnterDfuModeRequest: b} + case 22: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeleteFileRequest", 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 = &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) + } + 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_SetOwner); ok { + if err := oneof.SetOwner.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &User{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetOwner{SetOwner: v} + } + iNdEx = postIndex + case 33: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetChannel", 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_SetChannel); ok { + if err := oneof.SetChannel.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Channel{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetChannel{SetChannel: v} + } + iNdEx = postIndex + case 34: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetConfig", 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_SetConfig); ok { + if err := oneof.SetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetConfig{SetConfig: v} + } + iNdEx = postIndex + case 35: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetModuleConfig", 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_SetModuleConfig); ok { + if err := oneof.SetModuleConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetModuleConfig{SetModuleConfig: v} + } + iNdEx = postIndex + case 36: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetCannedMessageModuleMessages", 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 = &AdminMessage_SetCannedMessageModuleMessages{SetCannedMessageModuleMessages: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 37: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetRingtoneMessage", 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 = &AdminMessage_SetRingtoneMessage{SetRingtoneMessage: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 38: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoveByNodenum", 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.PayloadVariant = &AdminMessage_RemoveByNodenum{RemoveByNodenum: 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 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 FactoryReset", 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_FactoryReset{FactoryReset: 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} + 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 + } + } + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Frequency", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Frequency = float32(math.Float32frombits(v)) + case 4: + 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 + 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 *NodeRemoteHardwarePinsResponse) 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: NodeRemoteHardwarePinsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NodeRemoteHardwarePinsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeRemoteHardwarePins", 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 + } + 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:]) + 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 *AdminMessage) UnmarshalVTUnsafe(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: AdminMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AdminMessage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetChannelRequest", 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.PayloadVariant = &AdminMessage_GetChannelRequest{GetChannelRequest: v} + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetChannelResponse", 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_GetChannelResponse); ok { + if err := oneof.GetChannelResponse.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Channel{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetChannelResponse{GetChannelResponse: v} + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetOwnerRequest", 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_GetOwnerRequest{GetOwnerRequest: b} + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetOwnerResponse", 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_GetOwnerResponse); ok { + if err := oneof.GetOwnerResponse.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &User{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetOwnerResponse{GetOwnerResponse: v} + } + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetConfigRequest", wireType) + } + var v AdminMessage_ConfigType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= AdminMessage_ConfigType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_GetConfigRequest{GetConfigRequest: v} + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetConfigResponse", 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_GetConfigResponse); ok { + if err := oneof.GetConfigResponse.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetConfigResponse{GetConfigResponse: v} + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetModuleConfigRequest", wireType) + } + var v AdminMessage_ModuleConfigType + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= AdminMessage_ModuleConfigType(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PayloadVariant = &AdminMessage_GetModuleConfigRequest{GetModuleConfigRequest: v} + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetModuleConfigResponse", 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_GetModuleConfigResponse); ok { + if err := oneof.GetModuleConfigResponse.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetModuleConfigResponse{GetModuleConfigResponse: v} + } + iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetCannedMessageModuleMessagesRequest", 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_GetCannedMessageModuleMessagesRequest{GetCannedMessageModuleMessagesRequest: b} + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetCannedMessageModuleMessagesResponse", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.PayloadVariant = &AdminMessage_GetCannedMessageModuleMessagesResponse{GetCannedMessageModuleMessagesResponse: stringValue} + iNdEx = postIndex + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceMetadataRequest", 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_GetDeviceMetadataRequest{GetDeviceMetadataRequest: b} + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceMetadataResponse", 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_GetDeviceMetadataResponse); ok { + if err := oneof.GetDeviceMetadataResponse.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceMetadata{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetDeviceMetadataResponse{GetDeviceMetadataResponse: v} + } + iNdEx = postIndex + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetRingtoneRequest", 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_GetRingtoneRequest{GetRingtoneRequest: b} + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetRingtoneResponse", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.PayloadVariant = &AdminMessage_GetRingtoneResponse{GetRingtoneResponse: stringValue} + iNdEx = postIndex + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceConnectionStatusRequest", 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_GetDeviceConnectionStatusRequest{GetDeviceConnectionStatusRequest: b} + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetDeviceConnectionStatusResponse", 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_GetDeviceConnectionStatusResponse); ok { + if err := oneof.GetDeviceConnectionStatusResponse.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceConnectionStatus{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetDeviceConnectionStatusResponse{GetDeviceConnectionStatusResponse: v} + } + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetHamMode", 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_SetHamMode); ok { + if err := oneof.SetHamMode.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &HamParameters{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetHamMode{SetHamMode: v} + } + iNdEx = postIndex + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GetNodeRemoteHardwarePinsRequest", 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_GetNodeRemoteHardwarePinsRequest{GetNodeRemoteHardwarePinsRequest: b} + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GetNodeRemoteHardwarePinsResponse", 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_GetNodeRemoteHardwarePinsResponse); ok { + if err := oneof.GetNodeRemoteHardwarePinsResponse.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &NodeRemoteHardwarePinsResponse{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_GetNodeRemoteHardwarePinsResponse{GetNodeRemoteHardwarePinsResponse: v} + } + iNdEx = postIndex + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnterDfuModeRequest", 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_EnterDfuModeRequest{EnterDfuModeRequest: b} + case 22: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeleteFileRequest", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.PayloadVariant = &AdminMessage_DeleteFileRequest{DeleteFileRequest: stringValue} + iNdEx = postIndex + 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 + } + } + 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_SetOwner); ok { + if err := oneof.SetOwner.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &User{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetOwner{SetOwner: v} + } + iNdEx = postIndex + case 33: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetChannel", 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_SetChannel); ok { + if err := oneof.SetChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Channel{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetChannel{SetChannel: v} + } + iNdEx = postIndex + case 34: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetConfig", 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_SetConfig); ok { + if err := oneof.SetConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetConfig{SetConfig: v} + } + iNdEx = postIndex + case 35: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetModuleConfig", 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_SetModuleConfig); ok { + if err := oneof.SetModuleConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &AdminMessage_SetModuleConfig{SetModuleConfig: v} + } + iNdEx = postIndex + case 36: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetCannedMessageModuleMessages", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.PayloadVariant = &AdminMessage_SetCannedMessageModuleMessages{SetCannedMessageModuleMessages: stringValue} + iNdEx = postIndex + case 37: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SetRingtoneMessage", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.PayloadVariant = &AdminMessage_SetRingtoneMessage{SetRingtoneMessage: stringValue} + iNdEx = postIndex + case 38: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoveByNodenum", 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.PayloadVariant = &AdminMessage_RemoveByNodenum{RemoveByNodenum: 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 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 FactoryReset", 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_FactoryReset{FactoryReset: 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} + 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) UnmarshalVTUnsafe(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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.CallSign = stringValue + 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 + } + } + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Frequency", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Frequency = float32(math.Float32frombits(v)) + case 4: + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ShortName = stringValue + 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 *NodeRemoteHardwarePinsResponse) UnmarshalVTUnsafe(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: NodeRemoteHardwarePinsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NodeRemoteHardwarePinsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeRemoteHardwarePins", 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 + } + m.NodeRemoteHardwarePins = append(m.NodeRemoteHardwarePins, &NodeRemoteHardwarePin{}) + if err := m.NodeRemoteHardwarePins[len(m.NodeRemoteHardwarePins)-1].UnmarshalVTUnsafe(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 +} diff --git a/meshtastic/apponly.pb.go b/meshtastic/apponly.pb.go new file mode 100644 index 0000000..247ca9c --- /dev/null +++ b/meshtastic/apponly.pb.go @@ -0,0 +1,178 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/apponly.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// This is the most compact possible representation for a set of channels. +// It includes only one PRIMARY channel (which must be first) and +// any SECONDARY channels. +// No DISABLED channels are included. +// This abstraction is used only on the the 'app side' of the world (ie python, javascript and android etc) to show a group of Channels as a (long) URL +type ChannelSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *ChannelSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelSet) ProtoMessage() {} + +func (x *ChannelSet) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_apponly_proto_msgTypes[0] + 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 ChannelSet.ProtoReflect.Descriptor instead. +func (*ChannelSet) Descriptor() ([]byte, []int) { + return file_meshtastic_apponly_proto_rawDescGZIP(), []int{0} +} + +func (x *ChannelSet) GetSettings() []*ChannelSettings { + if x != nil { + return x.Settings + } + return nil +} + +func (x *ChannelSet) GetLoraConfig() *Config_LoRaConfig { + if x != nil { + return x.LoraConfig + } + return nil +} + +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, +} + +var ( + file_meshtastic_apponly_proto_rawDescOnce sync.Once + file_meshtastic_apponly_proto_rawDescData = file_meshtastic_apponly_proto_rawDesc +) + +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) + }) + return file_meshtastic_apponly_proto_rawDescData +} + +var file_meshtastic_apponly_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_meshtastic_apponly_proto_goTypes = []interface{}{ + (*ChannelSet)(nil), // 0: meshtastic.ChannelSet + (*ChannelSettings)(nil), // 1: meshtastic.ChannelSettings + (*Config_LoRaConfig)(nil), // 2: meshtastic.Config.LoRaConfig +} +var file_meshtastic_apponly_proto_depIdxs = []int32{ + 1, // 0: meshtastic.ChannelSet.settings:type_name -> meshtastic.ChannelSettings + 2, // 1: meshtastic.ChannelSet.lora_config:type_name -> meshtastic.Config.LoRaConfig + 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_apponly_proto_init() } +func file_meshtastic_apponly_proto_init() { + if File_meshtastic_apponly_proto != nil { + return + } + 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, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_apponly_proto_goTypes, + DependencyIndexes: file_meshtastic_apponly_proto_depIdxs, + 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/apponly_vtproto.pb.go b/meshtastic/apponly_vtproto.pb.go new file mode 100644 index 0000000..fa47558 --- /dev/null +++ b/meshtastic/apponly_vtproto.pb.go @@ -0,0 +1,453 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/apponly.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + 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 *ChannelSet) CloneVT() *ChannelSet { + if m == nil { + return (*ChannelSet)(nil) + } + r := new(ChannelSet) + r.LoraConfig = m.LoraConfig.CloneVT() + if rhs := m.Settings; rhs != nil { + tmpContainer := make([]*ChannelSettings, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Settings = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ChannelSet) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *ChannelSet) EqualVT(that *ChannelSet) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Settings) != len(that.Settings) { + return false + } + for i, vx := range this.Settings { + vy := that.Settings[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ChannelSettings{} + } + if q == nil { + q = &ChannelSettings{} + } + if !p.EqualVT(q) { + return false + } + } + } + if !this.LoraConfig.EqualVT(that.LoraConfig) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ChannelSet) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ChannelSet) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *ChannelSet) 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 *ChannelSet) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ChannelSet) 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.LoraConfig != nil { + size, err := m.LoraConfig.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.Settings) > 0 { + for iNdEx := len(m.Settings) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Settings[iNdEx].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 *ChannelSet) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ChannelSet) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ChannelSet) MarshalToSizedBufferVTStrict(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.LoraConfig != nil { + size, err := m.LoraConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.Settings) > 0 { + for iNdEx := len(m.Settings) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Settings[iNdEx].MarshalToSizedBufferVTStrict(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 *ChannelSet) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Settings) > 0 { + for _, e := range m.Settings { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.LoraConfig != nil { + l = m.LoraConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ChannelSet) 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: ChannelSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ChannelSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Settings", 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 + } + m.Settings = append(m.Settings, &ChannelSettings{}) + if err := m.Settings[len(m.Settings)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LoraConfig", 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.LoraConfig == nil { + m.LoraConfig = &Config_LoRaConfig{} + } + if err := m.LoraConfig.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 *ChannelSet) UnmarshalVTUnsafe(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: ChannelSet: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ChannelSet: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Settings", 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 + } + m.Settings = append(m.Settings, &ChannelSettings{}) + if err := m.Settings[len(m.Settings)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LoraConfig", 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.LoraConfig == nil { + m.LoraConfig = &Config_LoRaConfig{} + } + if err := m.LoraConfig.UnmarshalVTUnsafe(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 +} diff --git a/meshtastic/atak.pb.go b/meshtastic/atak.pb.go new file mode 100644 index 0000000..9f89ba7 --- /dev/null +++ b/meshtastic/atak.pb.go @@ -0,0 +1,856 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/atak.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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 Team int32 + +const ( + // Unspecifed + Team_Unspecifed_Color Team = 0 + // White + Team_White Team = 1 + // Yellow + Team_Yellow Team = 2 + // Orange + Team_Orange Team = 3 + // Magenta + Team_Magenta Team = 4 + // Red + Team_Red Team = 5 + // Maroon + Team_Maroon Team = 6 + // Purple + Team_Purple Team = 7 + // Dark Blue + Team_Dark_Blue Team = 8 + // Blue + Team_Blue Team = 9 + // Cyan + Team_Cyan Team = 10 + // Teal + Team_Teal Team = 11 + // Green + Team_Green Team = 12 + // Dark Green + Team_Dark_Green Team = 13 + // Brown + Team_Brown Team = 14 +) + +// Enum value maps for Team. +var ( + Team_name = map[int32]string{ + 0: "Unspecifed_Color", + 1: "White", + 2: "Yellow", + 3: "Orange", + 4: "Magenta", + 5: "Red", + 6: "Maroon", + 7: "Purple", + 8: "Dark_Blue", + 9: "Blue", + 10: "Cyan", + 11: "Teal", + 12: "Green", + 13: "Dark_Green", + 14: "Brown", + } + Team_value = map[string]int32{ + "Unspecifed_Color": 0, + "White": 1, + "Yellow": 2, + "Orange": 3, + "Magenta": 4, + "Red": 5, + "Maroon": 6, + "Purple": 7, + "Dark_Blue": 8, + "Blue": 9, + "Cyan": 10, + "Teal": 11, + "Green": 12, + "Dark_Green": 13, + "Brown": 14, + } +) + +func (x Team) Enum() *Team { + p := new(Team) + *p = x + return p +} + +func (x Team) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Team) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_atak_proto_enumTypes[0].Descriptor() +} + +func (Team) Type() protoreflect.EnumType { + return &file_meshtastic_atak_proto_enumTypes[0] +} + +func (x Team) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Team.Descriptor instead. +func (Team) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{0} +} + +// Role of the group member +type MemberRole int32 + +const ( + // Unspecifed + MemberRole_Unspecifed MemberRole = 0 + // Team Member + MemberRole_TeamMember MemberRole = 1 + // Team Lead + MemberRole_TeamLead MemberRole = 2 + // Headquarters + MemberRole_HQ MemberRole = 3 + // Airsoft enthusiast + MemberRole_Sniper MemberRole = 4 + // Medic + MemberRole_Medic MemberRole = 5 + // ForwardObserver + MemberRole_ForwardObserver MemberRole = 6 + // Radio Telephone Operator + MemberRole_RTO MemberRole = 7 + // Doggo + MemberRole_K9 MemberRole = 8 +) + +// Enum value maps for MemberRole. +var ( + MemberRole_name = map[int32]string{ + 0: "Unspecifed", + 1: "TeamMember", + 2: "TeamLead", + 3: "HQ", + 4: "Sniper", + 5: "Medic", + 6: "ForwardObserver", + 7: "RTO", + 8: "K9", + } + MemberRole_value = map[string]int32{ + "Unspecifed": 0, + "TeamMember": 1, + "TeamLead": 2, + "HQ": 3, + "Sniper": 4, + "Medic": 5, + "ForwardObserver": 6, + "RTO": 7, + "K9": 8, + } +) + +func (x MemberRole) Enum() *MemberRole { + p := new(MemberRole) + *p = x + return p +} + +func (x MemberRole) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MemberRole) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_atak_proto_enumTypes[1].Descriptor() +} + +func (MemberRole) Type() protoreflect.EnumType { + return &file_meshtastic_atak_proto_enumTypes[1] +} + +func (x MemberRole) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MemberRole.Descriptor instead. +func (MemberRole) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{1} +} + +// Packets for the official ATAK Plugin +type TAKPacket struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + Contact *Contact `protobuf:"bytes,2,opt,name=contact,proto3" json:"contact,omitempty"` + // The group for ATAK user + Group *Group `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"` + // The status of the ATAK EUD + Status *Status `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + // The payload of the packet + // + // Types that are assignable to PayloadVariant: + // + // *TAKPacket_Pli + // *TAKPacket_Chat + PayloadVariant isTAKPacket_PayloadVariant `protobuf_oneof:"payload_variant"` +} + +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) + } +} + +func (x *TAKPacket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TAKPacket) ProtoMessage() {} + +func (x *TAKPacket) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_atak_proto_msgTypes[0] + 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 TAKPacket.ProtoReflect.Descriptor instead. +func (*TAKPacket) Descriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{0} +} + +func (x *TAKPacket) GetIsCompressed() bool { + if x != nil { + return x.IsCompressed + } + return false +} + +func (x *TAKPacket) GetContact() *Contact { + if x != nil { + return x.Contact + } + return nil +} + +func (x *TAKPacket) GetGroup() *Group { + if x != nil { + return x.Group + } + return nil +} + +func (x *TAKPacket) GetStatus() *Status { + if x != nil { + return x.Status + } + return nil +} + +func (m *TAKPacket) GetPayloadVariant() isTAKPacket_PayloadVariant { + if m != nil { + return m.PayloadVariant + } + return nil +} + +func (x *TAKPacket) GetPli() *PLI { + if x, ok := x.GetPayloadVariant().(*TAKPacket_Pli); ok { + return x.Pli + } + return nil +} + +func (x *TAKPacket) GetChat() *GeoChat { + if x, ok := x.GetPayloadVariant().(*TAKPacket_Chat); ok { + return x.Chat + } + return nil +} + +type isTAKPacket_PayloadVariant interface { + isTAKPacket_PayloadVariant() +} + +type TAKPacket_Pli struct { + // TAK position report + Pli *PLI `protobuf:"bytes,5,opt,name=pli,proto3,oneof"` +} + +type TAKPacket_Chat struct { + // ATAK GeoChat message + Chat *GeoChat `protobuf:"bytes,6,opt,name=chat,proto3,oneof"` +} + +func (*TAKPacket_Pli) isTAKPacket_PayloadVariant() {} + +func (*TAKPacket_Chat) isTAKPacket_PayloadVariant() {} + +// ATAK GeoChat message +type GeoChat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *GeoChat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GeoChat) ProtoMessage() {} + +func (x *GeoChat) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_atak_proto_msgTypes[1] + 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 GeoChat.ProtoReflect.Descriptor instead. +func (*GeoChat) Descriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{1} +} + +func (x *GeoChat) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GeoChat) GetTo() string { + if x != nil && x.To != nil { + return *x.To + } + return "" +} + +// ATAK Group +// <__group role='Team Member' name='Cyan'/> +type Group struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *Group) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Group) ProtoMessage() {} + +func (x *Group) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_atak_proto_msgTypes[2] + 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 Group.ProtoReflect.Descriptor instead. +func (*Group) Descriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{2} +} + +func (x *Group) GetRole() MemberRole { + if x != nil { + return x.Role + } + return MemberRole_Unspecifed +} + +func (x *Group) GetTeam() Team { + if x != nil { + return x.Team + } + return Team_Unspecifed_Color +} + +// ATAK EUD Status +// <status battery='100' /> +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Battery level + Battery uint32 `protobuf:"varint,1,opt,name=battery,proto3" json:"battery,omitempty"` +} + +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) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_atak_proto_msgTypes[3] + 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 Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{3} +} + +func (x *Status) GetBattery() uint32 { + if x != nil { + return x.Battery + } + return 0 +} + +// ATAK Contact +// <contact endpoint='0.0.0.0:4242:tcp' phone='+12345678' callsign='FALKE'/> +type Contact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *Contact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Contact) ProtoMessage() {} + +func (x *Contact) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_atak_proto_msgTypes[4] + 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 Contact.ProtoReflect.Descriptor instead. +func (*Contact) Descriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{4} +} + +func (x *Contact) GetCallsign() string { + if x != nil { + return x.Callsign + } + return "" +} + +func (x *Contact) GetDeviceCallsign() string { + if x != nil { + return x.DeviceCallsign + } + return "" +} + +// Position Location Information from ATAK +type PLI struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // The new preferred location encoding, multiply by 1e-7 to get degrees + // in floating point + LongitudeI int32 `protobuf:"fixed32,2,opt,name=longitude_i,json=longitudeI,proto3" json:"longitude_i,omitempty"` + // Altitude (ATAK prefers HAE) + Altitude uint32 `protobuf:"varint,3,opt,name=altitude,proto3" json:"altitude,omitempty"` + // 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"` +} + +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) + } +} + +func (x *PLI) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PLI) ProtoMessage() {} + +func (x *PLI) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_atak_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 PLI.ProtoReflect.Descriptor instead. +func (*PLI) Descriptor() ([]byte, []int) { + return file_meshtastic_atak_proto_rawDescGZIP(), []int{5} +} + +func (x *PLI) GetLatitudeI() int32 { + if x != nil { + return x.LatitudeI + } + return 0 +} + +func (x *PLI) GetLongitudeI() int32 { + if x != nil { + return x.LongitudeI + } + return 0 +} + +func (x *PLI) GetAltitude() uint32 { + if x != nil { + return x.Altitude + } + return 0 +} + +func (x *PLI) GetSpeed() uint32 { + if x != nil { + return x.Speed + } + return 0 +} + +func (x *PLI) GetCourse() uint32 { + if x != nil { + return x.Course + } + return 0 +} + +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, 0x0d, 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, +} + +var ( + file_meshtastic_atak_proto_rawDescOnce sync.Once + file_meshtastic_atak_proto_rawDescData = file_meshtastic_atak_proto_rawDesc +) + +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) + }) + 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{}{ + (Team)(0), // 0: meshtastic.Team + (MemberRole)(0), // 1: meshtastic.MemberRole + (*TAKPacket)(nil), // 2: meshtastic.TAKPacket + (*GeoChat)(nil), // 3: meshtastic.GeoChat + (*Group)(nil), // 4: meshtastic.Group + (*Status)(nil), // 5: meshtastic.Status + (*Contact)(nil), // 6: meshtastic.Contact + (*PLI)(nil), // 7: meshtastic.PLI +} +var file_meshtastic_atak_proto_depIdxs = []int32{ + 6, // 0: meshtastic.TAKPacket.contact:type_name -> meshtastic.Contact + 4, // 1: meshtastic.TAKPacket.group:type_name -> meshtastic.Group + 5, // 2: meshtastic.TAKPacket.status:type_name -> meshtastic.Status + 7, // 3: meshtastic.TAKPacket.pli:type_name -> meshtastic.PLI + 3, // 4: meshtastic.TAKPacket.chat:type_name -> meshtastic.GeoChat + 1, // 5: meshtastic.Group.role:type_name -> meshtastic.MemberRole + 0, // 6: meshtastic.Group.team:type_name -> meshtastic.Team + 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_atak_proto_init() } +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{}{ + (*TAKPacket_Pli)(nil), + (*TAKPacket_Chat)(nil), + } + file_meshtastic_atak_proto_msgTypes[1].OneofWrappers = []interface{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_atak_proto_rawDesc, + NumEnums: 2, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_atak_proto_goTypes, + DependencyIndexes: file_meshtastic_atak_proto_depIdxs, + EnumInfos: file_meshtastic_atak_proto_enumTypes, + 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 new file mode 100644 index 0000000..24bfb18 --- /dev/null +++ b/meshtastic/atak_vtproto.pb.go @@ -0,0 +1,2798 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/atak.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *TAKPacket) CloneVT() *TAKPacket { + if m == nil { + return (*TAKPacket)(nil) + } + r := new(TAKPacket) + r.IsCompressed = m.IsCompressed + r.Contact = m.Contact.CloneVT() + r.Group = m.Group.CloneVT() + r.Status = m.Status.CloneVT() + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isTAKPacket_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *TAKPacket) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *TAKPacket_Pli) CloneVT() isTAKPacket_PayloadVariant { + if m == nil { + return (*TAKPacket_Pli)(nil) + } + r := new(TAKPacket_Pli) + r.Pli = m.Pli.CloneVT() + return r +} + +func (m *TAKPacket_Chat) CloneVT() isTAKPacket_PayloadVariant { + if m == nil { + return (*TAKPacket_Chat)(nil) + } + r := new(TAKPacket_Chat) + r.Chat = m.Chat.CloneVT() + return r +} + +func (m *GeoChat) CloneVT() *GeoChat { + if m == nil { + return (*GeoChat)(nil) + } + r := new(GeoChat) + r.Message = m.Message + if rhs := m.To; rhs != nil { + tmpVal := *rhs + r.To = &tmpVal + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *GeoChat) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Group) CloneVT() *Group { + if m == nil { + return (*Group)(nil) + } + r := new(Group) + r.Role = m.Role + r.Team = m.Team + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Group) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Status) CloneVT() *Status { + if m == nil { + return (*Status)(nil) + } + r := new(Status) + r.Battery = m.Battery + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Status) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Contact) CloneVT() *Contact { + if m == nil { + return (*Contact)(nil) + } + r := new(Contact) + r.Callsign = m.Callsign + r.DeviceCallsign = m.DeviceCallsign + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Contact) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *PLI) CloneVT() *PLI { + if m == nil { + return (*PLI)(nil) + } + r := new(PLI) + r.LatitudeI = m.LatitudeI + r.LongitudeI = m.LongitudeI + r.Altitude = m.Altitude + r.Speed = m.Speed + r.Course = m.Course + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *PLI) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *TAKPacket) EqualVT(that *TAKPacket) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isTAKPacket_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + if this.IsCompressed != that.IsCompressed { + return false + } + if !this.Contact.EqualVT(that.Contact) { + return false + } + if !this.Group.EqualVT(that.Group) { + return false + } + if !this.Status.EqualVT(that.Status) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *TAKPacket) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*TAKPacket) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *TAKPacket_Pli) EqualVT(thatIface isTAKPacket_PayloadVariant) bool { + that, ok := thatIface.(*TAKPacket_Pli) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Pli, that.Pli; p != q { + if p == nil { + p = &PLI{} + } + if q == nil { + q = &PLI{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *TAKPacket_Chat) EqualVT(thatIface isTAKPacket_PayloadVariant) bool { + that, ok := thatIface.(*TAKPacket_Chat) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Chat, that.Chat; p != q { + if p == nil { + p = &GeoChat{} + } + if q == nil { + q = &GeoChat{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *GeoChat) EqualVT(that *GeoChat) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Message != that.Message { + return false + } + if p, q := this.To, that.To; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *GeoChat) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*GeoChat) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Group) EqualVT(that *Group) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Role != that.Role { + return false + } + if this.Team != that.Team { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Group) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Group) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Status) EqualVT(that *Status) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Battery != that.Battery { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Status) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Status) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Contact) EqualVT(that *Contact) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Callsign != that.Callsign { + return false + } + if this.DeviceCallsign != that.DeviceCallsign { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Contact) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Contact) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *PLI) EqualVT(that *PLI) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.LatitudeI != that.LatitudeI { + return false + } + if this.LongitudeI != that.LongitudeI { + return false + } + if this.Altitude != that.Altitude { + return false + } + if this.Speed != that.Speed { + return false + } + if this.Course != that.Course { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *PLI) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*PLI) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *TAKPacket) 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 *TAKPacket) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *TAKPacket) 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.PayloadVariant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Status != nil { + size, err := m.Status.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Group != nil { + size, err := m.Group.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Contact != nil { + size, err := m.Contact.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.IsCompressed { + i-- + if m.IsCompressed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *TAKPacket_Pli) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *TAKPacket_Pli) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Pli != nil { + size, err := m.Pli.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *TAKPacket_Chat) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *TAKPacket_Chat) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Chat != nil { + size, err := m.Chat.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 *GeoChat) 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 *GeoChat) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *GeoChat) 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.To != nil { + i -= len(*m.To) + copy(dAtA[i:], *m.To) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.To))) + i-- + dAtA[i] = 0x12 + } + 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] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Group) 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 *Group) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Group) 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.Team != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Team)) + i-- + dAtA[i] = 0x10 + } + if m.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Status) 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 *Status) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Status) 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.Battery != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Battery)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Contact) 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 *Contact) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Contact) 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.DeviceCallsign) > 0 { + i -= len(m.DeviceCallsign) + copy(dAtA[i:], m.DeviceCallsign) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DeviceCallsign))) + i-- + dAtA[i] = 0x12 + } + if len(m.Callsign) > 0 { + i -= len(m.Callsign) + copy(dAtA[i:], m.Callsign) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Callsign))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *PLI) 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 *PLI) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PLI) 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.Course != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Course)) + i-- + dAtA[i] = 0x28 + } + if m.Speed != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Speed)) + i-- + dAtA[i] = 0x20 + } + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + i-- + dAtA[i] = 0x18 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *TAKPacket) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *TAKPacket) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *TAKPacket) MarshalToSizedBufferVTStrict(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 msg, ok := m.PayloadVariant.(*TAKPacket_Chat); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*TAKPacket_Pli); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Status != nil { + size, err := m.Status.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Group != nil { + size, err := m.Group.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Contact != nil { + size, err := m.Contact.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.IsCompressed { + i-- + if m.IsCompressed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *TAKPacket_Pli) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *TAKPacket_Pli) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Pli != nil { + size, err := m.Pli.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *TAKPacket_Chat) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *TAKPacket_Chat) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Chat != nil { + size, err := m.Chat.MarshalToSizedBufferVTStrict(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 *GeoChat) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GeoChat) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GeoChat) MarshalToSizedBufferVTStrict(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.To != nil { + i -= len(*m.To) + copy(dAtA[i:], *m.To) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.To))) + i-- + dAtA[i] = 0x12 + } + 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] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Group) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Group) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Group) MarshalToSizedBufferVTStrict(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.Team != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Team)) + i-- + dAtA[i] = 0x10 + } + if m.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Status) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Status) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Status) MarshalToSizedBufferVTStrict(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.Battery != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Battery)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Contact) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Contact) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Contact) MarshalToSizedBufferVTStrict(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.DeviceCallsign) > 0 { + i -= len(m.DeviceCallsign) + copy(dAtA[i:], m.DeviceCallsign) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DeviceCallsign))) + i-- + dAtA[i] = 0x12 + } + if len(m.Callsign) > 0 { + i -= len(m.Callsign) + copy(dAtA[i:], m.Callsign) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Callsign))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *PLI) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PLI) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *PLI) MarshalToSizedBufferVTStrict(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.Course != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Course)) + i-- + dAtA[i] = 0x28 + } + if m.Speed != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Speed)) + i-- + dAtA[i] = 0x20 + } + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + i-- + dAtA[i] = 0x18 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *TAKPacket) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.IsCompressed { + n += 2 + } + if m.Contact != nil { + l = m.Contact.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Group != nil { + l = m.Group.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Status != nil { + l = m.Status.SizeVT() + 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 *TAKPacket_Pli) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pli != nil { + l = m.Pli.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *TAKPacket_Chat) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Chat != nil { + l = m.Chat.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *GeoChat) 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.To != nil { + l = len(*m.To) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Group) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Role != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) + } + if m.Team != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Team)) + } + n += len(m.unknownFields) + return n +} + +func (m *Status) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Battery != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Battery)) + } + n += len(m.unknownFields) + return n +} + +func (m *Contact) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Callsign) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.DeviceCallsign) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *PLI) 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.Speed != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Speed)) + } + if m.Course != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Course)) + } + n += len(m.unknownFields) + return n +} + +func (m *TAKPacket) 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: TAKPacket: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TAKPacket: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsCompressed", 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.IsCompressed = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Contact", 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.Contact == nil { + m.Contact = &Contact{} + } + if err := m.Contact.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", 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.Group == nil { + m.Group = &Group{} + } + if err := m.Group.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status == nil { + m.Status = &Status{} + } + if err := m.Status.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pli", 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.(*TAKPacket_Pli); ok { + if err := oneof.Pli.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &PLI{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &TAKPacket_Pli{Pli: v} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Chat", 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.(*TAKPacket_Chat); ok { + if err := oneof.Chat.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &GeoChat{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &TAKPacket_Chat{Chat: 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 *GeoChat) 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: GeoChat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GeoChat: 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) + } + 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.Message = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", 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.To = &s + 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 *Group) 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: Group: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Group: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 |= MemberRole(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Team", wireType) + } + m.Team = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Team |= Team(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 *Status) 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: Status: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Status: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Battery", wireType) + } + m.Battery = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Battery |= 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 *Contact) 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: Contact: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Contact: 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 != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceCallsign", 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.DeviceCallsign = 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 *PLI) 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: PLI: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PLI: 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 |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Speed", wireType) + } + m.Speed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Speed |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Course", wireType) + } + m.Course = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Course |= 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 *TAKPacket) UnmarshalVTUnsafe(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: TAKPacket: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TAKPacket: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsCompressed", 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.IsCompressed = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Contact", 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.Contact == nil { + m.Contact = &Contact{} + } + if err := m.Contact.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Group", 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.Group == nil { + m.Group = &Group{} + } + if err := m.Group.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status == nil { + m.Status = &Status{} + } + if err := m.Status.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pli", 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.(*TAKPacket_Pli); ok { + if err := oneof.Pli.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &PLI{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &TAKPacket_Pli{Pli: v} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Chat", 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.(*TAKPacket_Chat); ok { + if err := oneof.Chat.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &GeoChat{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &TAKPacket_Chat{Chat: 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 *GeoChat) UnmarshalVTUnsafe(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: GeoChat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GeoChat: 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) + } + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Message = stringValue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field To", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + s := stringValue + m.To = &s + 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 *Group) UnmarshalVTUnsafe(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: Group: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Group: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 |= MemberRole(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Team", wireType) + } + m.Team = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Team |= Team(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 *Status) UnmarshalVTUnsafe(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: Status: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Status: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Battery", wireType) + } + m.Battery = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Battery |= 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 *Contact) UnmarshalVTUnsafe(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: Contact: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Contact: 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Callsign = stringValue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceCallsign", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.DeviceCallsign = stringValue + 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 *PLI) UnmarshalVTUnsafe(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: PLI: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PLI: 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 |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Speed", wireType) + } + m.Speed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Speed |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Course", wireType) + } + m.Course = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Course |= 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 +} diff --git a/meshtastic/cannedmessages.pb.go b/meshtastic/cannedmessages.pb.go new file mode 100644 index 0000000..b577cf9 --- /dev/null +++ b/meshtastic/cannedmessages.pb.go @@ -0,0 +1,152 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/cannedmessages.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Canned message module configuration. +type CannedMessageModuleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Predefined messages for canned message module separated by '|' characters. + Messages string `protobuf:"bytes,1,opt,name=messages,proto3" json:"messages,omitempty"` +} + +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) + } +} + +func (x *CannedMessageModuleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CannedMessageModuleConfig) ProtoMessage() {} + +func (x *CannedMessageModuleConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_cannedmessages_proto_msgTypes[0] + 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 CannedMessageModuleConfig.ProtoReflect.Descriptor instead. +func (*CannedMessageModuleConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_cannedmessages_proto_rawDescGZIP(), []int{0} +} + +func (x *CannedMessageModuleConfig) GetMessages() string { + if x != nil { + return x.Messages + } + return "" +} + +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, +} + +var ( + file_meshtastic_cannedmessages_proto_rawDescOnce sync.Once + file_meshtastic_cannedmessages_proto_rawDescData = file_meshtastic_cannedmessages_proto_rawDesc +) + +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) + }) + return file_meshtastic_cannedmessages_proto_rawDescData +} + +var file_meshtastic_cannedmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_meshtastic_cannedmessages_proto_goTypes = []interface{}{ + (*CannedMessageModuleConfig)(nil), // 0: meshtastic.CannedMessageModuleConfig +} +var file_meshtastic_cannedmessages_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_meshtastic_cannedmessages_proto_init() } +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, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_cannedmessages_proto_goTypes, + DependencyIndexes: file_meshtastic_cannedmessages_proto_depIdxs, + 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/cannedmessages_vtproto.pb.go b/meshtastic/cannedmessages_vtproto.pb.go new file mode 100644 index 0000000..00879f4 --- /dev/null +++ b/meshtastic/cannedmessages_vtproto.pb.go @@ -0,0 +1,322 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/cannedmessages.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *CannedMessageModuleConfig) CloneVT() *CannedMessageModuleConfig { + if m == nil { + return (*CannedMessageModuleConfig)(nil) + } + r := new(CannedMessageModuleConfig) + r.Messages = m.Messages + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *CannedMessageModuleConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *CannedMessageModuleConfig) EqualVT(that *CannedMessageModuleConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Messages != that.Messages { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *CannedMessageModuleConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*CannedMessageModuleConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *CannedMessageModuleConfig) 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 *CannedMessageModuleConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CannedMessageModuleConfig) 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.Messages) > 0 { + i -= len(m.Messages) + copy(dAtA[i:], m.Messages) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Messages))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CannedMessageModuleConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CannedMessageModuleConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CannedMessageModuleConfig) MarshalToSizedBufferVTStrict(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.Messages) > 0 { + i -= len(m.Messages) + copy(dAtA[i:], m.Messages) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Messages))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CannedMessageModuleConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Messages) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *CannedMessageModuleConfig) 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: CannedMessageModuleConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CannedMessageModuleConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Messages", 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.Messages = 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 *CannedMessageModuleConfig) UnmarshalVTUnsafe(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: CannedMessageModuleConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CannedMessageModuleConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Messages", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Messages = stringValue + 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/channel.pb.go b/meshtastic/channel.pb.go new file mode 100644 index 0000000..6437ea0 --- /dev/null +++ b/meshtastic/channel.pb.go @@ -0,0 +1,408 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/channel.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// How this channel is being used (or not). +// Note: this field is an enum to give us options for the future. +// In particular, someday we might make a 'SCANNING' option. +// SCANNING channels could have different frequencies and the radio would +// occasionally check that freq to see if anything is being transmitted. +// For devices that have multiple physical radios attached, we could keep multiple PRIMARY/SCANNING channels active at once to allow +// cross band routing as needed. +// If a device has only a single radio (the common case) only one channel can be PRIMARY at a time +// (but any number of SECONDARY channels can't be sent received on that common frequency) +type Channel_Role int32 + +const ( + // This channel is not in use right now + Channel_DISABLED Channel_Role = 0 + // This channel is used to set the frequency for the radio - all other enabled channels must be SECONDARY + Channel_PRIMARY Channel_Role = 1 + // Secondary channels are only used for encryption/decryption/authentication purposes. + // Their radio settings (freq etc) are ignored, only psk is used. + Channel_SECONDARY Channel_Role = 2 +) + +// Enum value maps for Channel_Role. +var ( + Channel_Role_name = map[int32]string{ + 0: "DISABLED", + 1: "PRIMARY", + 2: "SECONDARY", + } + Channel_Role_value = map[string]int32{ + "DISABLED": 0, + "PRIMARY": 1, + "SECONDARY": 2, + } +) + +func (x Channel_Role) Enum() *Channel_Role { + p := new(Channel_Role) + *p = x + return p +} + +func (x Channel_Role) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Channel_Role) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_channel_proto_enumTypes[0].Descriptor() +} + +func (Channel_Role) Type() protoreflect.EnumType { + return &file_meshtastic_channel_proto_enumTypes[0] +} + +func (x Channel_Role) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Channel_Role.Descriptor instead. +func (Channel_Role) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_channel_proto_rawDescGZIP(), []int{1, 0} +} + +// This information can be encoded as a QRcode/url so that other users can configure +// their radio to join the same channel. +// A note about how channel names are shown to users: channelname-X +// poundsymbol is a prefix used to indicate this is a channel name (idea from @professr). +// Where X is a letter from A-Z (base 26) representing a hash of the PSK for this +// channel - so that if the user changes anything about the channel (which does +// force a new PSK) this letter will also change. Thus preventing user confusion if +// two friends try to type in a channel name of "BobsChan" and then can't talk +// because their PSKs will be different. +// The PSK is hashed into this letter by "0x41 + [xor all bytes of the psk ] modulo 26" +// This also allows the option of someday if people have the PSK off (zero), the +// users COULD type in a channel name and be able to talk. +// FIXME: Add description of multi-channel support and how primary vs secondary channels are used. +// FIXME: explain how apps use channels for security. +// explain how remote settings and remote gpio are managed as an example +type ChannelSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated in favor of LoraConfig.channel_num + // + // Deprecated: Marked as deprecated in meshtastic/channel.proto. + ChannelNum uint32 `protobuf:"varint,1,opt,name=channel_num,json=channelNum,proto3" json:"channel_num,omitempty"` + // A simple pre-shared key for now for crypto. + // Must be either 0 bytes (no crypto), 16 bytes (AES128), or 32 bytes (AES256). + // A special shorthand is used for 1 byte long psks. + // These psks should be treated as only minimally secure, + // because they are listed in this source code. + // Those bytes are mapped using the following scheme: + // `0` = No crypto + // `1` = The special "default" channel key: {0xd4, 0xf1, 0xbb, 0x3a, 0x20, 0x29, 0x07, 0x59, 0xf0, 0xbc, 0xff, 0xab, 0xcf, 0x4e, 0x69, 0x01} + // `2` through 10 = The default channel key, except with 1 through 9 added to the last byte. + // Shown to user as simple1 through 10 + Psk []byte `protobuf:"bytes,2,opt,name=psk,proto3" json:"psk,omitempty"` + // A SHORT name that will be packed into the URL. + // Less than 12 bytes. + // Something for end users to call the channel + // If this is the empty string it is assumed that this channel + // is the special (minimally secure) "Default"channel. + // In user interfaces it should be rendered as a local language translation of "X". + // For channel_num hashing empty string will be treated as "X". + // Where "X" is selected based on the English words listed above for ModemPreset + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // Used to construct a globally unique channel ID. + // The full globally unique ID will be: "name.id" where ID is shown as base36. + // Assuming that the number of meshtastic users is below 20K (true for a long time) + // the chance of this 64 bit random number colliding with anyone else is super low. + // And the penalty for collision is low as well, it just means that anyone trying to decrypt channel messages might need to + // try multiple candidate channels. + // Any time a non wire compatible change is made to a channel, this field should be regenerated. + // There are a small number of 'special' globally known (and fairly) insecure standard channels. + // Those channels do not have a numeric id included in the settings, but instead it is pulled from + // a table of well known IDs. + // (see Well Known Channels FIXME) + Id uint32 `protobuf:"fixed32,4,opt,name=id,proto3" json:"id,omitempty"` + // If true, messages on the mesh will be sent to the *public* internet by any gateway ndoe + UplinkEnabled bool `protobuf:"varint,5,opt,name=uplink_enabled,json=uplinkEnabled,proto3" json:"uplink_enabled,omitempty"` + // If true, messages seen on the internet will be forwarded to the local mesh. + DownlinkEnabled bool `protobuf:"varint,6,opt,name=downlink_enabled,json=downlinkEnabled,proto3" json:"downlink_enabled,omitempty"` +} + +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) + } +} + +func (x *ChannelSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelSettings) ProtoMessage() {} + +func (x *ChannelSettings) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_channel_proto_msgTypes[0] + 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 ChannelSettings.ProtoReflect.Descriptor instead. +func (*ChannelSettings) Descriptor() ([]byte, []int) { + return file_meshtastic_channel_proto_rawDescGZIP(), []int{0} +} + +// Deprecated: Marked as deprecated in meshtastic/channel.proto. +func (x *ChannelSettings) GetChannelNum() uint32 { + if x != nil { + return x.ChannelNum + } + return 0 +} + +func (x *ChannelSettings) GetPsk() []byte { + if x != nil { + return x.Psk + } + return nil +} + +func (x *ChannelSettings) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ChannelSettings) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ChannelSettings) GetUplinkEnabled() bool { + if x != nil { + return x.UplinkEnabled + } + return false +} + +func (x *ChannelSettings) GetDownlinkEnabled() bool { + if x != nil { + return x.DownlinkEnabled + } + 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 + + // 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. + Index int32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + // 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"` +} + +func (x *Channel) Reset() { + *x = Channel{} + if protoimpl.UnsafeEnabled { + mi := &file_meshtastic_channel_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Channel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Channel) ProtoMessage() {} + +func (x *Channel) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_channel_proto_msgTypes[1] + 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 Channel.ProtoReflect.Descriptor instead. +func (*Channel) Descriptor() ([]byte, []int) { + return file_meshtastic_channel_proto_rawDescGZIP(), []int{1} +} + +func (x *Channel) GetIndex() int32 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *Channel) GetSettings() *ChannelSettings { + if x != nil { + return x.Settings + } + return nil +} + +func (x *Channel) GetRole() Channel_Role { + if x != nil { + return x.Role + } + return Channel_DISABLED +} + +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, 0xbe, 0x01, 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, 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, +} + +var ( + file_meshtastic_channel_proto_rawDescOnce sync.Once + file_meshtastic_channel_proto_rawDescData = file_meshtastic_channel_proto_rawDesc +) + +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) + }) + 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, 2) +var file_meshtastic_channel_proto_goTypes = []interface{}{ + (Channel_Role)(0), // 0: meshtastic.Channel.Role + (*ChannelSettings)(nil), // 1: meshtastic.ChannelSettings + (*Channel)(nil), // 2: meshtastic.Channel +} +var file_meshtastic_channel_proto_depIdxs = []int32{ + 1, // 0: meshtastic.Channel.settings:type_name -> meshtastic.ChannelSettings + 0, // 1: meshtastic.Channel.role:type_name -> meshtastic.Channel.Role + 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_channel_proto_init() } +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.(*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, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_channel_proto_goTypes, + DependencyIndexes: file_meshtastic_channel_proto_depIdxs, + EnumInfos: file_meshtastic_channel_proto_enumTypes, + 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 new file mode 100644 index 0000000..b01d469 --- /dev/null +++ b/meshtastic/channel_vtproto.pb.go @@ -0,0 +1,1062 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/channel.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *ChannelSettings) CloneVT() *ChannelSettings { + if m == nil { + return (*ChannelSettings)(nil) + } + r := new(ChannelSettings) + r.ChannelNum = m.ChannelNum + r.Name = m.Name + r.Id = m.Id + r.UplinkEnabled = m.UplinkEnabled + r.DownlinkEnabled = m.DownlinkEnabled + if rhs := m.Psk; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Psk = tmpBytes + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ChannelSettings) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Channel) CloneVT() *Channel { + if m == nil { + return (*Channel)(nil) + } + r := new(Channel) + r.Index = m.Index + r.Settings = m.Settings.CloneVT() + r.Role = m.Role + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Channel) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *ChannelSettings) EqualVT(that *ChannelSettings) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.ChannelNum != that.ChannelNum { + return false + } + if string(this.Psk) != string(that.Psk) { + return false + } + if this.Name != that.Name { + return false + } + if this.Id != that.Id { + return false + } + if this.UplinkEnabled != that.UplinkEnabled { + return false + } + if this.DownlinkEnabled != that.DownlinkEnabled { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ChannelSettings) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ChannelSettings) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Channel) EqualVT(that *Channel) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Index != that.Index { + return false + } + if !this.Settings.EqualVT(that.Settings) { + return false + } + if this.Role != that.Role { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Channel) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Channel) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *ChannelSettings) 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 *ChannelSettings) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ChannelSettings) 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.DownlinkEnabled { + i-- + if m.DownlinkEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.UplinkEnabled { + i-- + if m.UplinkEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.Id != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Id)) + i-- + dAtA[i] = 0x25 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x1a + } + if len(m.Psk) > 0 { + i -= len(m.Psk) + copy(dAtA[i:], m.Psk) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Psk))) + i-- + dAtA[i] = 0x12 + } + if m.ChannelNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ChannelNum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Channel) 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 *Channel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Channel) 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.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x18 + } + if m.Settings != nil { + size, err := m.Settings.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Index != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Index)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ChannelSettings) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ChannelSettings) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ChannelSettings) MarshalToSizedBufferVTStrict(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.DownlinkEnabled { + i-- + if m.DownlinkEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.UplinkEnabled { + i-- + if m.UplinkEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.Id != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Id)) + i-- + dAtA[i] = 0x25 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x1a + } + if len(m.Psk) > 0 { + i -= len(m.Psk) + copy(dAtA[i:], m.Psk) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Psk))) + i-- + dAtA[i] = 0x12 + } + if m.ChannelNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ChannelNum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Channel) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Channel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Channel) MarshalToSizedBufferVTStrict(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.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x18 + } + if m.Settings != nil { + size, err := m.Settings.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Index != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Index)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ChannelSettings) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ChannelNum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ChannelNum)) + } + l = len(m.Psk) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Id != 0 { + n += 5 + } + if m.UplinkEnabled { + n += 2 + } + if m.DownlinkEnabled { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *Channel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Index != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Index)) + } + if m.Settings != nil { + l = m.Settings.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Role != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) + } + n += len(m.unknownFields) + return n +} + +func (m *ChannelSettings) 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: ChannelSettings: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ChannelSettings: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelNum", wireType) + } + m.ChannelNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ChannelNum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Psk", 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.Psk = append(m.Psk[:0], dAtA[iNdEx:postIndex]...) + if m.Psk == nil { + m.Psk = []byte{} + } + iNdEx = postIndex + case 3: + 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 4: + 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 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UplinkEnabled", 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.UplinkEnabled = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DownlinkEnabled", 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.DownlinkEnabled = 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 *Channel) 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: Channel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Channel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + m.Index = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Index |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Settings", 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.Settings == nil { + m.Settings = &ChannelSettings{} + } + if err := m.Settings.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 |= Channel_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 *ChannelSettings) UnmarshalVTUnsafe(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: ChannelSettings: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ChannelSettings: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelNum", wireType) + } + m.ChannelNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ChannelNum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Psk", 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.Psk = dAtA[iNdEx:postIndex] + iNdEx = postIndex + case 3: + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Name = stringValue + iNdEx = postIndex + case 4: + 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 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UplinkEnabled", 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.UplinkEnabled = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DownlinkEnabled", 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.DownlinkEnabled = 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 *Channel) UnmarshalVTUnsafe(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: Channel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Channel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType) + } + m.Index = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Index |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Settings", 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.Settings == nil { + m.Settings = &ChannelSettings{} + } + if err := m.Settings.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 |= Channel_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 +} diff --git a/meshtastic/clientonly.pb.go b/meshtastic/clientonly.pb.go new file mode 100644 index 0000000..a0f9a5f --- /dev/null +++ b/meshtastic/clientonly.pb.go @@ -0,0 +1,213 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/clientonly.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// 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 + + // 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 + ShortName *string `protobuf:"bytes,2,opt,name=short_name,json=shortName,proto3,oneof" json:"short_name,omitempty"` + // The url of the channels from our node + ChannelUrl *string `protobuf:"bytes,3,opt,name=channel_url,json=channelUrl,proto3,oneof" json:"channel_url,omitempty"` + // The Config of the node + 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"` +} + +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) + } +} + +func (x *DeviceProfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceProfile) ProtoMessage() {} + +func (x *DeviceProfile) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_clientonly_proto_msgTypes[0] + 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 DeviceProfile.ProtoReflect.Descriptor instead. +func (*DeviceProfile) Descriptor() ([]byte, []int) { + return file_meshtastic_clientonly_proto_rawDescGZIP(), []int{0} +} + +func (x *DeviceProfile) GetLongName() string { + if x != nil && x.LongName != nil { + return *x.LongName + } + return "" +} + +func (x *DeviceProfile) GetShortName() string { + if x != nil && x.ShortName != nil { + return *x.ShortName + } + return "" +} + +func (x *DeviceProfile) GetChannelUrl() string { + if x != nil && x.ChannelUrl != nil { + return *x.ChannelUrl + } + return "" +} + +func (x *DeviceProfile) GetConfig() *LocalConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *DeviceProfile) GetModuleConfig() *LocalModuleConfig { + if x != nil { + return x.ModuleConfig + } + return nil +} + +var File_meshtastic_clientonly_proto protoreflect.FileDescriptor + +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, +} + +var ( + file_meshtastic_clientonly_proto_rawDescOnce sync.Once + file_meshtastic_clientonly_proto_rawDescData = file_meshtastic_clientonly_proto_rawDesc +) + +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) + }) + return file_meshtastic_clientonly_proto_rawDescData +} + +var file_meshtastic_clientonly_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_meshtastic_clientonly_proto_goTypes = []interface{}{ + (*DeviceProfile)(nil), // 0: meshtastic.DeviceProfile + (*LocalConfig)(nil), // 1: meshtastic.LocalConfig + (*LocalModuleConfig)(nil), // 2: meshtastic.LocalModuleConfig +} +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 +} + +func init() { file_meshtastic_clientonly_proto_init() } +func file_meshtastic_clientonly_proto_init() { + if File_meshtastic_clientonly_proto != nil { + 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{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_clientonly_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_clientonly_proto_goTypes, + DependencyIndexes: file_meshtastic_clientonly_proto_depIdxs, + 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 new file mode 100644 index 0000000..3cde9a4 --- /dev/null +++ b/meshtastic/clientonly_vtproto.pb.go @@ -0,0 +1,717 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/clientonly.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *DeviceProfile) CloneVT() *DeviceProfile { + if m == nil { + return (*DeviceProfile)(nil) + } + r := new(DeviceProfile) + r.Config = m.Config.CloneVT() + r.ModuleConfig = m.ModuleConfig.CloneVT() + if rhs := m.LongName; rhs != nil { + tmpVal := *rhs + r.LongName = &tmpVal + } + if rhs := m.ShortName; rhs != nil { + tmpVal := *rhs + r.ShortName = &tmpVal + } + if rhs := m.ChannelUrl; rhs != nil { + tmpVal := *rhs + r.ChannelUrl = &tmpVal + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *DeviceProfile) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *DeviceProfile) EqualVT(that *DeviceProfile) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if p, q := this.LongName, that.LongName; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } + if p, q := this.ShortName, that.ShortName; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } + if p, q := this.ChannelUrl, that.ChannelUrl; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } + if !this.Config.EqualVT(that.Config) { + return false + } + if !this.ModuleConfig.EqualVT(that.ModuleConfig) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *DeviceProfile) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*DeviceProfile) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *DeviceProfile) 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 *DeviceProfile) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DeviceProfile) 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.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] = 0x2a + } + 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] = 0x22 + } + if m.ChannelUrl != nil { + i -= len(*m.ChannelUrl) + copy(dAtA[i:], *m.ChannelUrl) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ChannelUrl))) + i-- + dAtA[i] = 0x1a + } + if m.ShortName != nil { + i -= len(*m.ShortName) + copy(dAtA[i:], *m.ShortName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ShortName))) + i-- + dAtA[i] = 0x12 + } + if m.LongName != nil { + 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 *DeviceProfile) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeviceProfile) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *DeviceProfile) MarshalToSizedBufferVTStrict(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.ModuleConfig != nil { + size, err := m.ModuleConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.ChannelUrl != nil { + i -= len(*m.ChannelUrl) + copy(dAtA[i:], *m.ChannelUrl) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ChannelUrl))) + i-- + dAtA[i] = 0x1a + } + if m.ShortName != nil { + i -= len(*m.ShortName) + copy(dAtA[i:], *m.ShortName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ShortName))) + i-- + dAtA[i] = 0x12 + } + if m.LongName != nil { + 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 *DeviceProfile) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.LongName != nil { + l = len(*m.LongName) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ShortName != nil { + l = len(*m.ShortName) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ChannelUrl != nil { + l = len(*m.ChannelUrl) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + 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)) + } + n += len(m.unknownFields) + return n +} + +func (m *DeviceProfile) 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: DeviceProfile: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceProfile: 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 + } + s := string(dAtA[iNdEx:postIndex]) + m.LongName = &s + 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 + } + s := string(dAtA[iNdEx:postIndex]) + m.ShortName = &s + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelUrl", 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.ChannelUrl = &s + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", 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.Config == nil { + m.Config = &LocalConfig{} + } + if err := m.Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModuleConfig", 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.ModuleConfig == nil { + m.ModuleConfig = &LocalModuleConfig{} + } + if err := m.ModuleConfig.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 *DeviceProfile) UnmarshalVTUnsafe(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: DeviceProfile: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceProfile: 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + s := stringValue + m.LongName = &s + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + s := stringValue + m.ShortName = &s + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelUrl", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + s := stringValue + m.ChannelUrl = &s + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", 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.Config == nil { + m.Config = &LocalConfig{} + } + if err := m.Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModuleConfig", 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.ModuleConfig == nil { + m.ModuleConfig = &LocalModuleConfig{} + } + if err := m.ModuleConfig.UnmarshalVTUnsafe(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 +} diff --git a/meshtastic/config.pb.go b/meshtastic/config.pb.go new file mode 100644 index 0000000..b004d48 --- /dev/null +++ b/meshtastic/config.pb.go @@ -0,0 +1,2612 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/config.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Defines the device's role on the Mesh network +type Config_DeviceConfig_Role int32 + +const ( + // Description: App connected or stand alone messaging device. + // Technical Details: Default Role + Config_DeviceConfig_CLIENT Config_DeviceConfig_Role = 0 + // Description: Device that does not forward packets from other devices. + Config_DeviceConfig_CLIENT_MUTE Config_DeviceConfig_Role = 1 + // Description: Infrastructure node for extending network coverage by relaying messages. Visible in Nodes list. + // Technical Details: Mesh packets will prefer to be routed over this node. This node will not be used by client apps. + // + // 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. + 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 + // + // or any other packet type. They will simply rebroadcast any mesh packets on the same frequency, channel num, spread factor, and coding rate. + Config_DeviceConfig_REPEATER Config_DeviceConfig_Role = 4 + // Description: Broadcasts GPS position packets as priority. + // Technical Details: Position Mesh packets will be prioritized higher and sent more frequently by default. + // + // When used in conjunction with power.is_power_saving = true, nodes will wake up, + // send position, and then sleep for position.position_broadcast_secs seconds. + Config_DeviceConfig_TRACKER Config_DeviceConfig_Role = 5 + // Description: Broadcasts telemetry packets as priority. + // Technical Details: Telemetry Mesh packets will be prioritized higher and sent more frequently by default. + // + // When used in conjunction with power.is_power_saving = true, nodes will wake up, + // send environment telemetry, and then sleep for telemetry.environment_update_interval seconds. + Config_DeviceConfig_SENSOR Config_DeviceConfig_Role = 6 + // Description: Optimized for ATAK system communication and reduces routine broadcasts. + // Technical Details: Used for nodes dedicated for connection to an ATAK EUD. + // + // Turns off many of the routine broadcasts to favor CoT packet stream + // from the Meshtastic ATAK plugin -> IMeshService -> Node + Config_DeviceConfig_TAK Config_DeviceConfig_Role = 7 + // Description: Device that only broadcasts as needed for stealth or power savings. + // Technical Details: Used for nodes that "only speak when spoken to" + // + // Turns all of the routine broadcasts but allows for ad-hoc communication + // Still rebroadcasts, but with local only rebroadcast mode (known meshes only) + // Can be used for clandestine operation or to dramatically reduce airtime / power consumption + Config_DeviceConfig_CLIENT_HIDDEN Config_DeviceConfig_Role = 8 + // Description: Broadcasts location as message to default channel regularly for to assist with device recovery. + // Technical Details: Used to automatically send a text message to the mesh + // + // with the current position of the device on a frequent interval: + // "I'm lost! Position: lat / long" + Config_DeviceConfig_LOST_AND_FOUND Config_DeviceConfig_Role = 9 + // Description: Enables automatic TAK PLI broadcasts and reduces routine broadcasts. + // Technical Details: Turns off many of the routine broadcasts to favor ATAK CoT packet stream + // + // 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 +) + +// Enum value maps for Config_DeviceConfig_Role. +var ( + Config_DeviceConfig_Role_name = map[int32]string{ + 0: "CLIENT", + 1: "CLIENT_MUTE", + 2: "ROUTER", + 3: "ROUTER_CLIENT", + 4: "REPEATER", + 5: "TRACKER", + 6: "SENSOR", + 7: "TAK", + 8: "CLIENT_HIDDEN", + 9: "LOST_AND_FOUND", + 10: "TAK_TRACKER", + } + Config_DeviceConfig_Role_value = map[string]int32{ + "CLIENT": 0, + "CLIENT_MUTE": 1, + "ROUTER": 2, + "ROUTER_CLIENT": 3, + "REPEATER": 4, + "TRACKER": 5, + "SENSOR": 6, + "TAK": 7, + "CLIENT_HIDDEN": 8, + "LOST_AND_FOUND": 9, + "TAK_TRACKER": 10, + } +) + +func (x Config_DeviceConfig_Role) Enum() *Config_DeviceConfig_Role { + p := new(Config_DeviceConfig_Role) + *p = x + return p +} + +func (x Config_DeviceConfig_Role) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_DeviceConfig_Role) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[0].Descriptor() +} + +func (Config_DeviceConfig_Role) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[0] +} + +func (x Config_DeviceConfig_Role) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_DeviceConfig_Role.Descriptor instead. +func (Config_DeviceConfig_Role) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 0, 0} +} + +// Defines the device's behavior for how messages are rebroadcast +type Config_DeviceConfig_RebroadcastMode int32 + +const ( + // Default behavior. + // Rebroadcast any observed message, if it was on our private channel or from another mesh with the same lora params. + Config_DeviceConfig_ALL Config_DeviceConfig_RebroadcastMode = 0 + // Same as behavior as ALL but skips packet decoding and simply rebroadcasts them. + // Only available in Repeater role. Setting this on any other roles will result in ALL behavior. + Config_DeviceConfig_ALL_SKIP_DECODING Config_DeviceConfig_RebroadcastMode = 1 + // Ignores observed messages from foreign meshes that are open or those which it cannot decrypt. + // Only rebroadcasts message on the nodes local primary / secondary channels. + Config_DeviceConfig_LOCAL_ONLY Config_DeviceConfig_RebroadcastMode = 2 + // 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 +) + +// Enum value maps for Config_DeviceConfig_RebroadcastMode. +var ( + Config_DeviceConfig_RebroadcastMode_name = map[int32]string{ + 0: "ALL", + 1: "ALL_SKIP_DECODING", + 2: "LOCAL_ONLY", + 3: "KNOWN_ONLY", + } + Config_DeviceConfig_RebroadcastMode_value = map[string]int32{ + "ALL": 0, + "ALL_SKIP_DECODING": 1, + "LOCAL_ONLY": 2, + "KNOWN_ONLY": 3, + } +) + +func (x Config_DeviceConfig_RebroadcastMode) Enum() *Config_DeviceConfig_RebroadcastMode { + p := new(Config_DeviceConfig_RebroadcastMode) + *p = x + return p +} + +func (x Config_DeviceConfig_RebroadcastMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_DeviceConfig_RebroadcastMode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[1].Descriptor() +} + +func (Config_DeviceConfig_RebroadcastMode) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[1] +} + +func (x Config_DeviceConfig_RebroadcastMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_DeviceConfig_RebroadcastMode.Descriptor instead. +func (Config_DeviceConfig_RebroadcastMode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 0, 1} +} + +// Bit field of boolean configuration options, indicating which optional +// fields to include when assembling POSITION messages. +// Longitude, latitude, altitude, speed, heading, and DOP +// are always included (also time if GPS-synced) +// NOTE: the more fields are included, the larger the message will be - +// +// leading to longer airtime and a higher risk of packet loss +type Config_PositionConfig_PositionFlags int32 + +const ( + // Required for compilation + Config_PositionConfig_UNSET Config_PositionConfig_PositionFlags = 0 + // Include an altitude value (if available) + Config_PositionConfig_ALTITUDE Config_PositionConfig_PositionFlags = 1 + // Altitude value is MSL + Config_PositionConfig_ALTITUDE_MSL Config_PositionConfig_PositionFlags = 2 + // Include geoidal separation + Config_PositionConfig_GEOIDAL_SEPARATION Config_PositionConfig_PositionFlags = 4 + // Include the DOP value ; PDOP used by default, see below + Config_PositionConfig_DOP Config_PositionConfig_PositionFlags = 8 + // If POS_DOP set, send separate HDOP / VDOP values instead of PDOP + Config_PositionConfig_HVDOP Config_PositionConfig_PositionFlags = 16 + // Include number of "satellites in view" + Config_PositionConfig_SATINVIEW Config_PositionConfig_PositionFlags = 32 + // Include a sequence number incremented per packet + Config_PositionConfig_SEQ_NO Config_PositionConfig_PositionFlags = 64 + // Include positional timestamp (from GPS solution) + Config_PositionConfig_TIMESTAMP Config_PositionConfig_PositionFlags = 128 + // Include positional heading + // Intended for use with vehicle not walking speeds + // walking speeds are likely to be error prone like the compass + Config_PositionConfig_HEADING Config_PositionConfig_PositionFlags = 256 + // Include positional speed + // Intended for use with vehicle not walking speeds + // walking speeds are likely to be error prone like the compass + Config_PositionConfig_SPEED Config_PositionConfig_PositionFlags = 512 +) + +// Enum value maps for Config_PositionConfig_PositionFlags. +var ( + Config_PositionConfig_PositionFlags_name = map[int32]string{ + 0: "UNSET", + 1: "ALTITUDE", + 2: "ALTITUDE_MSL", + 4: "GEOIDAL_SEPARATION", + 8: "DOP", + 16: "HVDOP", + 32: "SATINVIEW", + 64: "SEQ_NO", + 128: "TIMESTAMP", + 256: "HEADING", + 512: "SPEED", + } + Config_PositionConfig_PositionFlags_value = map[string]int32{ + "UNSET": 0, + "ALTITUDE": 1, + "ALTITUDE_MSL": 2, + "GEOIDAL_SEPARATION": 4, + "DOP": 8, + "HVDOP": 16, + "SATINVIEW": 32, + "SEQ_NO": 64, + "TIMESTAMP": 128, + "HEADING": 256, + "SPEED": 512, + } +) + +func (x Config_PositionConfig_PositionFlags) Enum() *Config_PositionConfig_PositionFlags { + p := new(Config_PositionConfig_PositionFlags) + *p = x + return p +} + +func (x Config_PositionConfig_PositionFlags) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_PositionConfig_PositionFlags) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[2].Descriptor() +} + +func (Config_PositionConfig_PositionFlags) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[2] +} + +func (x Config_PositionConfig_PositionFlags) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_PositionConfig_PositionFlags.Descriptor instead. +func (Config_PositionConfig_PositionFlags) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 1, 0} +} + +type Config_PositionConfig_GpsMode int32 + +const ( + // GPS is present but disabled + Config_PositionConfig_DISABLED Config_PositionConfig_GpsMode = 0 + // GPS is present and enabled + Config_PositionConfig_ENABLED Config_PositionConfig_GpsMode = 1 + // GPS is not present on the device + Config_PositionConfig_NOT_PRESENT Config_PositionConfig_GpsMode = 2 +) + +// Enum value maps for Config_PositionConfig_GpsMode. +var ( + Config_PositionConfig_GpsMode_name = map[int32]string{ + 0: "DISABLED", + 1: "ENABLED", + 2: "NOT_PRESENT", + } + Config_PositionConfig_GpsMode_value = map[string]int32{ + "DISABLED": 0, + "ENABLED": 1, + "NOT_PRESENT": 2, + } +) + +func (x Config_PositionConfig_GpsMode) Enum() *Config_PositionConfig_GpsMode { + p := new(Config_PositionConfig_GpsMode) + *p = x + return p +} + +func (x Config_PositionConfig_GpsMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_PositionConfig_GpsMode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[3].Descriptor() +} + +func (Config_PositionConfig_GpsMode) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[3] +} + +func (x Config_PositionConfig_GpsMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_PositionConfig_GpsMode.Descriptor instead. +func (Config_PositionConfig_GpsMode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 1, 1} +} + +type Config_NetworkConfig_AddressMode int32 + +const ( + // obtain ip address via DHCP + Config_NetworkConfig_DHCP Config_NetworkConfig_AddressMode = 0 + // use static ip address + Config_NetworkConfig_STATIC Config_NetworkConfig_AddressMode = 1 +) + +// Enum value maps for Config_NetworkConfig_AddressMode. +var ( + Config_NetworkConfig_AddressMode_name = map[int32]string{ + 0: "DHCP", + 1: "STATIC", + } + Config_NetworkConfig_AddressMode_value = map[string]int32{ + "DHCP": 0, + "STATIC": 1, + } +) + +func (x Config_NetworkConfig_AddressMode) Enum() *Config_NetworkConfig_AddressMode { + p := new(Config_NetworkConfig_AddressMode) + *p = x + return p +} + +func (x Config_NetworkConfig_AddressMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_NetworkConfig_AddressMode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[4].Descriptor() +} + +func (Config_NetworkConfig_AddressMode) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[4] +} + +func (x Config_NetworkConfig_AddressMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_NetworkConfig_AddressMode.Descriptor instead. +func (Config_NetworkConfig_AddressMode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 3, 0} +} + +// How the GPS coordinates are displayed on the OLED screen. +type Config_DisplayConfig_GpsCoordinateFormat int32 + +const ( + // GPS coordinates are displayed in the normal decimal degrees format: + // DD.DDDDDD DDD.DDDDDD + Config_DisplayConfig_DEC Config_DisplayConfig_GpsCoordinateFormat = 0 + // GPS coordinates are displayed in the degrees minutes seconds format: + // DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant + Config_DisplayConfig_DMS Config_DisplayConfig_GpsCoordinateFormat = 1 + // Universal Transverse Mercator format: + // ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing + Config_DisplayConfig_UTM Config_DisplayConfig_GpsCoordinateFormat = 2 + // Military Grid Reference System format: + // ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square, + // E is easting, N is northing + Config_DisplayConfig_MGRS Config_DisplayConfig_GpsCoordinateFormat = 3 + // Open Location Code (aka Plus Codes). + Config_DisplayConfig_OLC Config_DisplayConfig_GpsCoordinateFormat = 4 + // Ordnance Survey Grid Reference (the National Grid System of the UK). + // Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square, + // E is the easting, N is the northing + Config_DisplayConfig_OSGR Config_DisplayConfig_GpsCoordinateFormat = 5 +) + +// Enum value maps for Config_DisplayConfig_GpsCoordinateFormat. +var ( + Config_DisplayConfig_GpsCoordinateFormat_name = map[int32]string{ + 0: "DEC", + 1: "DMS", + 2: "UTM", + 3: "MGRS", + 4: "OLC", + 5: "OSGR", + } + Config_DisplayConfig_GpsCoordinateFormat_value = map[string]int32{ + "DEC": 0, + "DMS": 1, + "UTM": 2, + "MGRS": 3, + "OLC": 4, + "OSGR": 5, + } +) + +func (x Config_DisplayConfig_GpsCoordinateFormat) Enum() *Config_DisplayConfig_GpsCoordinateFormat { + p := new(Config_DisplayConfig_GpsCoordinateFormat) + *p = x + return p +} + +func (x Config_DisplayConfig_GpsCoordinateFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_DisplayConfig_GpsCoordinateFormat) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[5].Descriptor() +} + +func (Config_DisplayConfig_GpsCoordinateFormat) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[5] +} + +func (x Config_DisplayConfig_GpsCoordinateFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_DisplayConfig_GpsCoordinateFormat.Descriptor instead. +func (Config_DisplayConfig_GpsCoordinateFormat) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 4, 0} +} + +// Unit display preference +type Config_DisplayConfig_DisplayUnits int32 + +const ( + // Metric (Default) + Config_DisplayConfig_METRIC Config_DisplayConfig_DisplayUnits = 0 + // Imperial + Config_DisplayConfig_IMPERIAL Config_DisplayConfig_DisplayUnits = 1 +) + +// Enum value maps for Config_DisplayConfig_DisplayUnits. +var ( + Config_DisplayConfig_DisplayUnits_name = map[int32]string{ + 0: "METRIC", + 1: "IMPERIAL", + } + Config_DisplayConfig_DisplayUnits_value = map[string]int32{ + "METRIC": 0, + "IMPERIAL": 1, + } +) + +func (x Config_DisplayConfig_DisplayUnits) Enum() *Config_DisplayConfig_DisplayUnits { + p := new(Config_DisplayConfig_DisplayUnits) + *p = x + return p +} + +func (x Config_DisplayConfig_DisplayUnits) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_DisplayConfig_DisplayUnits) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[6].Descriptor() +} + +func (Config_DisplayConfig_DisplayUnits) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[6] +} + +func (x Config_DisplayConfig_DisplayUnits) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_DisplayConfig_DisplayUnits.Descriptor instead. +func (Config_DisplayConfig_DisplayUnits) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 4, 1} +} + +// Override OLED outo detect with this if it fails. +type Config_DisplayConfig_OledType int32 + +const ( + // Default / Auto + Config_DisplayConfig_OLED_AUTO Config_DisplayConfig_OledType = 0 + // Default / Auto + Config_DisplayConfig_OLED_SSD1306 Config_DisplayConfig_OledType = 1 + // Default / Auto + 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 +) + +// Enum value maps for Config_DisplayConfig_OledType. +var ( + Config_DisplayConfig_OledType_name = map[int32]string{ + 0: "OLED_AUTO", + 1: "OLED_SSD1306", + 2: "OLED_SH1106", + 3: "OLED_SH1107", + } + Config_DisplayConfig_OledType_value = map[string]int32{ + "OLED_AUTO": 0, + "OLED_SSD1306": 1, + "OLED_SH1106": 2, + "OLED_SH1107": 3, + } +) + +func (x Config_DisplayConfig_OledType) Enum() *Config_DisplayConfig_OledType { + p := new(Config_DisplayConfig_OledType) + *p = x + return p +} + +func (x Config_DisplayConfig_OledType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_DisplayConfig_OledType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[7].Descriptor() +} + +func (Config_DisplayConfig_OledType) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[7] +} + +func (x Config_DisplayConfig_OledType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_DisplayConfig_OledType.Descriptor instead. +func (Config_DisplayConfig_OledType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 4, 2} +} + +type Config_DisplayConfig_DisplayMode int32 + +const ( + // Default. The old style for the 128x64 OLED screen + Config_DisplayConfig_DEFAULT Config_DisplayConfig_DisplayMode = 0 + // Rearrange display elements to cater for bicolor OLED displays + Config_DisplayConfig_TWOCOLOR Config_DisplayConfig_DisplayMode = 1 + // Same as TwoColor, but with inverted top bar. Not so good for Epaper displays + Config_DisplayConfig_INVERTED Config_DisplayConfig_DisplayMode = 2 + // TFT Full Color Displays (not implemented yet) + Config_DisplayConfig_COLOR Config_DisplayConfig_DisplayMode = 3 +) + +// Enum value maps for Config_DisplayConfig_DisplayMode. +var ( + Config_DisplayConfig_DisplayMode_name = map[int32]string{ + 0: "DEFAULT", + 1: "TWOCOLOR", + 2: "INVERTED", + 3: "COLOR", + } + Config_DisplayConfig_DisplayMode_value = map[string]int32{ + "DEFAULT": 0, + "TWOCOLOR": 1, + "INVERTED": 2, + "COLOR": 3, + } +) + +func (x Config_DisplayConfig_DisplayMode) Enum() *Config_DisplayConfig_DisplayMode { + p := new(Config_DisplayConfig_DisplayMode) + *p = x + return p +} + +func (x Config_DisplayConfig_DisplayMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_DisplayConfig_DisplayMode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[8].Descriptor() +} + +func (Config_DisplayConfig_DisplayMode) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[8] +} + +func (x Config_DisplayConfig_DisplayMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_DisplayConfig_DisplayMode.Descriptor instead. +func (Config_DisplayConfig_DisplayMode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 4, 3} +} + +type Config_LoRaConfig_RegionCode int32 + +const ( + // Region is not set + Config_LoRaConfig_UNSET Config_LoRaConfig_RegionCode = 0 + // United States + Config_LoRaConfig_US Config_LoRaConfig_RegionCode = 1 + // European Union 433mhz + Config_LoRaConfig_EU_433 Config_LoRaConfig_RegionCode = 2 + // European Union 868mhz + Config_LoRaConfig_EU_868 Config_LoRaConfig_RegionCode = 3 + // China + Config_LoRaConfig_CN Config_LoRaConfig_RegionCode = 4 + // Japan + Config_LoRaConfig_JP Config_LoRaConfig_RegionCode = 5 + // Australia / New Zealand + Config_LoRaConfig_ANZ Config_LoRaConfig_RegionCode = 6 + // Korea + Config_LoRaConfig_KR Config_LoRaConfig_RegionCode = 7 + // Taiwan + Config_LoRaConfig_TW Config_LoRaConfig_RegionCode = 8 + // Russia + Config_LoRaConfig_RU Config_LoRaConfig_RegionCode = 9 + // India + Config_LoRaConfig_IN Config_LoRaConfig_RegionCode = 10 + // New Zealand 865mhz + Config_LoRaConfig_NZ_865 Config_LoRaConfig_RegionCode = 11 + // Thailand + Config_LoRaConfig_TH Config_LoRaConfig_RegionCode = 12 + // WLAN Band + Config_LoRaConfig_LORA_24 Config_LoRaConfig_RegionCode = 13 + // Ukraine 433mhz + Config_LoRaConfig_UA_433 Config_LoRaConfig_RegionCode = 14 + // Ukraine 868mhz + Config_LoRaConfig_UA_868 Config_LoRaConfig_RegionCode = 15 + // Malaysia 433mhz + Config_LoRaConfig_MY_433 Config_LoRaConfig_RegionCode = 16 + // Malaysia 919mhz + Config_LoRaConfig_MY_919 Config_LoRaConfig_RegionCode = 17 + // Singapore 923mhz + Config_LoRaConfig_SG_923 Config_LoRaConfig_RegionCode = 18 +) + +// Enum value maps for Config_LoRaConfig_RegionCode. +var ( + Config_LoRaConfig_RegionCode_name = map[int32]string{ + 0: "UNSET", + 1: "US", + 2: "EU_433", + 3: "EU_868", + 4: "CN", + 5: "JP", + 6: "ANZ", + 7: "KR", + 8: "TW", + 9: "RU", + 10: "IN", + 11: "NZ_865", + 12: "TH", + 13: "LORA_24", + 14: "UA_433", + 15: "UA_868", + 16: "MY_433", + 17: "MY_919", + 18: "SG_923", + } + Config_LoRaConfig_RegionCode_value = map[string]int32{ + "UNSET": 0, + "US": 1, + "EU_433": 2, + "EU_868": 3, + "CN": 4, + "JP": 5, + "ANZ": 6, + "KR": 7, + "TW": 8, + "RU": 9, + "IN": 10, + "NZ_865": 11, + "TH": 12, + "LORA_24": 13, + "UA_433": 14, + "UA_868": 15, + "MY_433": 16, + "MY_919": 17, + "SG_923": 18, + } +) + +func (x Config_LoRaConfig_RegionCode) Enum() *Config_LoRaConfig_RegionCode { + p := new(Config_LoRaConfig_RegionCode) + *p = x + return p +} + +func (x Config_LoRaConfig_RegionCode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_LoRaConfig_RegionCode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[9].Descriptor() +} + +func (Config_LoRaConfig_RegionCode) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[9] +} + +func (x Config_LoRaConfig_RegionCode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_LoRaConfig_RegionCode.Descriptor instead. +func (Config_LoRaConfig_RegionCode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 5, 0} +} + +// Standard predefined channel settings +// Note: these mappings must match ModemPreset Choice in the device code. +type Config_LoRaConfig_ModemPreset int32 + +const ( + // Long Range - Fast + Config_LoRaConfig_LONG_FAST Config_LoRaConfig_ModemPreset = 0 + // Long Range - Slow + Config_LoRaConfig_LONG_SLOW Config_LoRaConfig_ModemPreset = 1 + // Very Long Range - Slow + Config_LoRaConfig_VERY_LONG_SLOW Config_LoRaConfig_ModemPreset = 2 + // Medium Range - Slow + Config_LoRaConfig_MEDIUM_SLOW Config_LoRaConfig_ModemPreset = 3 + // Medium Range - Fast + Config_LoRaConfig_MEDIUM_FAST Config_LoRaConfig_ModemPreset = 4 + // Short Range - Slow + Config_LoRaConfig_SHORT_SLOW Config_LoRaConfig_ModemPreset = 5 + // Short Range - Fast + Config_LoRaConfig_SHORT_FAST Config_LoRaConfig_ModemPreset = 6 + // Long Range - Moderately Fast + Config_LoRaConfig_LONG_MODERATE Config_LoRaConfig_ModemPreset = 7 +) + +// Enum value maps for Config_LoRaConfig_ModemPreset. +var ( + Config_LoRaConfig_ModemPreset_name = map[int32]string{ + 0: "LONG_FAST", + 1: "LONG_SLOW", + 2: "VERY_LONG_SLOW", + 3: "MEDIUM_SLOW", + 4: "MEDIUM_FAST", + 5: "SHORT_SLOW", + 6: "SHORT_FAST", + 7: "LONG_MODERATE", + } + Config_LoRaConfig_ModemPreset_value = map[string]int32{ + "LONG_FAST": 0, + "LONG_SLOW": 1, + "VERY_LONG_SLOW": 2, + "MEDIUM_SLOW": 3, + "MEDIUM_FAST": 4, + "SHORT_SLOW": 5, + "SHORT_FAST": 6, + "LONG_MODERATE": 7, + } +) + +func (x Config_LoRaConfig_ModemPreset) Enum() *Config_LoRaConfig_ModemPreset { + p := new(Config_LoRaConfig_ModemPreset) + *p = x + return p +} + +func (x Config_LoRaConfig_ModemPreset) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_LoRaConfig_ModemPreset) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[10].Descriptor() +} + +func (Config_LoRaConfig_ModemPreset) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[10] +} + +func (x Config_LoRaConfig_ModemPreset) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_LoRaConfig_ModemPreset.Descriptor instead. +func (Config_LoRaConfig_ModemPreset) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 5, 1} +} + +type Config_BluetoothConfig_PairingMode int32 + +const ( + // Device generates a random PIN that will be shown on the screen of the device for pairing + Config_BluetoothConfig_RANDOM_PIN Config_BluetoothConfig_PairingMode = 0 + // Device requires a specified fixed PIN for pairing + Config_BluetoothConfig_FIXED_PIN Config_BluetoothConfig_PairingMode = 1 + // Device requires no PIN for pairing + Config_BluetoothConfig_NO_PIN Config_BluetoothConfig_PairingMode = 2 +) + +// Enum value maps for Config_BluetoothConfig_PairingMode. +var ( + Config_BluetoothConfig_PairingMode_name = map[int32]string{ + 0: "RANDOM_PIN", + 1: "FIXED_PIN", + 2: "NO_PIN", + } + Config_BluetoothConfig_PairingMode_value = map[string]int32{ + "RANDOM_PIN": 0, + "FIXED_PIN": 1, + "NO_PIN": 2, + } +) + +func (x Config_BluetoothConfig_PairingMode) Enum() *Config_BluetoothConfig_PairingMode { + p := new(Config_BluetoothConfig_PairingMode) + *p = x + return p +} + +func (x Config_BluetoothConfig_PairingMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Config_BluetoothConfig_PairingMode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_config_proto_enumTypes[11].Descriptor() +} + +func (Config_BluetoothConfig_PairingMode) Type() protoreflect.EnumType { + return &file_meshtastic_config_proto_enumTypes[11] +} + +func (x Config_BluetoothConfig_PairingMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Config_BluetoothConfig_PairingMode.Descriptor instead. +func (Config_BluetoothConfig_PairingMode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 6, 0} +} + +type Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Payload Variant + // + // Types that are assignable to PayloadVariant: + // + // *Config_Device + // *Config_Position + // *Config_Power + // *Config_Network + // *Config_Display + // *Config_Lora + // *Config_Bluetooth + PayloadVariant isConfig_PayloadVariant `protobuf_oneof:"payload_variant"` +} + +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) + } +} + +func (x *Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config) ProtoMessage() {} + +func (x *Config) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[0] + 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 Config.ProtoReflect.Descriptor instead. +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 + } + return nil +} + +func (x *Config) GetDevice() *Config_DeviceConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *Config) GetPower() *Config_PowerConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *Config) GetDisplay() *Config_DisplayConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *Config) GetBluetooth() *Config_BluetoothConfig { + if x, ok := x.GetPayloadVariant().(*Config_Bluetooth); ok { + return x.Bluetooth + } + return nil +} + +type isConfig_PayloadVariant interface { + isConfig_PayloadVariant() +} + +type Config_Device struct { + Device *Config_DeviceConfig `protobuf:"bytes,1,opt,name=device,proto3,oneof"` +} + +type Config_Position struct { + Position *Config_PositionConfig `protobuf:"bytes,2,opt,name=position,proto3,oneof"` +} + +type Config_Power struct { + Power *Config_PowerConfig `protobuf:"bytes,3,opt,name=power,proto3,oneof"` +} + +type Config_Network struct { + Network *Config_NetworkConfig `protobuf:"bytes,4,opt,name=network,proto3,oneof"` +} + +type Config_Display struct { + Display *Config_DisplayConfig `protobuf:"bytes,5,opt,name=display,proto3,oneof"` +} + +type Config_Lora struct { + Lora *Config_LoRaConfig `protobuf:"bytes,6,opt,name=lora,proto3,oneof"` +} + +type Config_Bluetooth struct { + Bluetooth *Config_BluetoothConfig `protobuf:"bytes,7,opt,name=bluetooth,proto3,oneof"` +} + +func (*Config_Device) isConfig_PayloadVariant() {} + +func (*Config_Position) isConfig_PayloadVariant() {} + +func (*Config_Power) isConfig_PayloadVariant() {} + +func (*Config_Network) isConfig_PayloadVariant() {} + +func (*Config_Display) isConfig_PayloadVariant() {} + +func (*Config_Lora) isConfig_PayloadVariant() {} + +func (*Config_Bluetooth) isConfig_PayloadVariant() {} + +// Configuration +type Config_DeviceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + 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"` + // For boards without a PWM buzzer, this is the pin number that will be used + // Defaults to PIN_BUZZER if defined. + BuzzerGpio uint32 `protobuf:"varint,5,opt,name=buzzer_gpio,json=buzzerGpio,proto3" json:"buzzer_gpio,omitempty"` + // Sets the role of node + RebroadcastMode Config_DeviceConfig_RebroadcastMode `protobuf:"varint,6,opt,name=rebroadcast_mode,json=rebroadcastMode,proto3,enum=meshtastic.Config_DeviceConfig_RebroadcastMode" json:"rebroadcast_mode,omitempty"` + // Send our nodeinfo this often + // Defaults to 900 Seconds (15 minutes) + NodeInfoBroadcastSecs uint32 `protobuf:"varint,7,opt,name=node_info_broadcast_secs,json=nodeInfoBroadcastSecs,proto3" json:"node_info_broadcast_secs,omitempty"` + // Treat double tap interrupt on supported accelerometers as a button press if set to true + 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 + 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"` +} + +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) + } +} + +func (x *Config_DeviceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_DeviceConfig) ProtoMessage() {} + +func (x *Config_DeviceConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[1] + 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 Config_DeviceConfig.ProtoReflect.Descriptor instead. +func (*Config_DeviceConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Config_DeviceConfig) GetRole() Config_DeviceConfig_Role { + if x != nil { + return x.Role + } + return Config_DeviceConfig_CLIENT +} + +func (x *Config_DeviceConfig) GetSerialEnabled() bool { + if x != nil { + return x.SerialEnabled + } + 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 + } + return 0 +} + +func (x *Config_DeviceConfig) GetBuzzerGpio() uint32 { + if x != nil { + return x.BuzzerGpio + } + return 0 +} + +func (x *Config_DeviceConfig) GetRebroadcastMode() Config_DeviceConfig_RebroadcastMode { + if x != nil { + return x.RebroadcastMode + } + return Config_DeviceConfig_ALL +} + +func (x *Config_DeviceConfig) GetNodeInfoBroadcastSecs() uint32 { + if x != nil { + return x.NodeInfoBroadcastSecs + } + return 0 +} + +func (x *Config_DeviceConfig) GetDoubleTapAsButtonPress() bool { + if x != nil { + return x.DoubleTapAsButtonPress + } + return false +} + +func (x *Config_DeviceConfig) GetIsManaged() bool { + if x != nil { + return x.IsManaged + } + return false +} + +func (x *Config_DeviceConfig) GetDisableTripleClick() bool { + if x != nil { + return x.DisableTripleClick + } + return false +} + +// Position Config +type Config_PositionConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // Adaptive position braoadcast, which is now the default. + PositionBroadcastSmartEnabled bool `protobuf:"varint,2,opt,name=position_broadcast_smart_enabled,json=positionBroadcastSmartEnabled,proto3" json:"position_broadcast_smart_enabled,omitempty"` + // If set, this node is at a fixed position. + // We will generate GPS position updates at the regular interval, but use whatever the last lat/lon/alt we have for the node. + // The lat/lon/alt can be set by an internal GPS or with the help of the app. + FixedPosition bool `protobuf:"varint,3,opt,name=fixed_position,json=fixedPosition,proto3" json:"fixed_position,omitempty"` + // Is GPS enabled for this node? + // + // Deprecated: Marked as deprecated in meshtastic/config.proto. + GpsEnabled bool `protobuf:"varint,4,opt,name=gps_enabled,json=gpsEnabled,proto3" json:"gps_enabled,omitempty"` + // How often should we try to get GPS position (in seconds) + // or zero for the default of once every 30 seconds + // or a very large value (maxint) to update only once at boot. + GpsUpdateInterval uint32 `protobuf:"varint,5,opt,name=gps_update_interval,json=gpsUpdateInterval,proto3" json:"gps_update_interval,omitempty"` + // Deprecated in favor of using smart / regular broadcast intervals as implicit attempt time + // + // Deprecated: Marked as deprecated in meshtastic/config.proto. + GpsAttemptTime uint32 `protobuf:"varint,6,opt,name=gps_attempt_time,json=gpsAttemptTime,proto3" json:"gps_attempt_time,omitempty"` + // Bit field of boolean configuration options for POSITION messages + // (bitwise OR of PositionFlags) + PositionFlags uint32 `protobuf:"varint,7,opt,name=position_flags,json=positionFlags,proto3" json:"position_flags,omitempty"` + // (Re)define GPS_RX_PIN for your board. + RxGpio uint32 `protobuf:"varint,8,opt,name=rx_gpio,json=rxGpio,proto3" json:"rx_gpio,omitempty"` + // (Re)define GPS_TX_PIN for your board. + TxGpio uint32 `protobuf:"varint,9,opt,name=tx_gpio,json=txGpio,proto3" json:"tx_gpio,omitempty"` + // The minimum distance in meters traveled (since the last send) before we can send a position to the mesh if position_broadcast_smart_enabled + BroadcastSmartMinimumDistance uint32 `protobuf:"varint,10,opt,name=broadcast_smart_minimum_distance,json=broadcastSmartMinimumDistance,proto3" json:"broadcast_smart_minimum_distance,omitempty"` + // The minimum number of seconds (since the last send) before we can send a position to the mesh if position_broadcast_smart_enabled + BroadcastSmartMinimumIntervalSecs uint32 `protobuf:"varint,11,opt,name=broadcast_smart_minimum_interval_secs,json=broadcastSmartMinimumIntervalSecs,proto3" json:"broadcast_smart_minimum_interval_secs,omitempty"` + // (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"` + // Set GPS precision in bits per channel, or 0 for disabled + ChannelPrecision []uint32 `protobuf:"varint,14,rep,packed,name=channel_precision,json=channelPrecision,proto3" json:"channel_precision,omitempty"` +} + +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) + } +} + +func (x *Config_PositionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_PositionConfig) ProtoMessage() {} + +func (x *Config_PositionConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[2] + 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 Config_PositionConfig.ProtoReflect.Descriptor instead. +func (*Config_PositionConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Config_PositionConfig) GetPositionBroadcastSecs() uint32 { + if x != nil { + return x.PositionBroadcastSecs + } + return 0 +} + +func (x *Config_PositionConfig) GetPositionBroadcastSmartEnabled() bool { + if x != nil { + return x.PositionBroadcastSmartEnabled + } + return false +} + +func (x *Config_PositionConfig) GetFixedPosition() bool { + if x != nil { + return x.FixedPosition + } + return false +} + +// Deprecated: Marked as deprecated in meshtastic/config.proto. +func (x *Config_PositionConfig) GetGpsEnabled() bool { + if x != nil { + return x.GpsEnabled + } + return false +} + +func (x *Config_PositionConfig) GetGpsUpdateInterval() uint32 { + if x != nil { + return x.GpsUpdateInterval + } + return 0 +} + +// Deprecated: Marked as deprecated in meshtastic/config.proto. +func (x *Config_PositionConfig) GetGpsAttemptTime() uint32 { + if x != nil { + return x.GpsAttemptTime + } + return 0 +} + +func (x *Config_PositionConfig) GetPositionFlags() uint32 { + if x != nil { + return x.PositionFlags + } + return 0 +} + +func (x *Config_PositionConfig) GetRxGpio() uint32 { + if x != nil { + return x.RxGpio + } + return 0 +} + +func (x *Config_PositionConfig) GetTxGpio() uint32 { + if x != nil { + return x.TxGpio + } + return 0 +} + +func (x *Config_PositionConfig) GetBroadcastSmartMinimumDistance() uint32 { + if x != nil { + return x.BroadcastSmartMinimumDistance + } + return 0 +} + +func (x *Config_PositionConfig) GetBroadcastSmartMinimumIntervalSecs() uint32 { + if x != nil { + return x.BroadcastSmartMinimumIntervalSecs + } + return 0 +} + +func (x *Config_PositionConfig) GetGpsEnGpio() uint32 { + if x != nil { + return x.GpsEnGpio + } + return 0 +} + +func (x *Config_PositionConfig) GetGpsMode() Config_PositionConfig_GpsMode { + if x != nil { + return x.GpsMode + } + return Config_PositionConfig_DISABLED +} + +func (x *Config_PositionConfig) GetChannelPrecision() []uint32 { + if x != nil { + return x.ChannelPrecision + } + return nil +} + +// 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 + 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. + 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 + 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 + 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 + 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 + 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"` +} + +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) + } +} + +func (x *Config_PowerConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_PowerConfig) ProtoMessage() {} + +func (x *Config_PowerConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[3] + 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 Config_PowerConfig.ProtoReflect.Descriptor instead. +func (*Config_PowerConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *Config_PowerConfig) GetIsPowerSaving() bool { + if x != nil { + return x.IsPowerSaving + } + return false +} + +func (x *Config_PowerConfig) GetOnBatteryShutdownAfterSecs() uint32 { + if x != nil { + return x.OnBatteryShutdownAfterSecs + } + return 0 +} + +func (x *Config_PowerConfig) GetAdcMultiplierOverride() float32 { + if x != nil { + return x.AdcMultiplierOverride + } + return 0 +} + +func (x *Config_PowerConfig) GetWaitBluetoothSecs() uint32 { + if x != nil { + return x.WaitBluetoothSecs + } + return 0 +} + +func (x *Config_PowerConfig) GetSdsSecs() uint32 { + if x != nil { + return x.SdsSecs + } + return 0 +} + +func (x *Config_PowerConfig) GetLsSecs() uint32 { + if x != nil { + return x.LsSecs + } + return 0 +} + +func (x *Config_PowerConfig) GetMinWakeSecs() uint32 { + if x != nil { + return x.MinWakeSecs + } + return 0 +} + +func (x *Config_PowerConfig) GetDeviceBatteryInaAddress() uint32 { + if x != nil { + return x.DeviceBatteryInaAddress + } + return 0 +} + +// Network Config +type Config_NetworkConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + // acquire an address via DHCP + 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` + 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"` + // acquire an address via DHCP or assign static + AddressMode Config_NetworkConfig_AddressMode `protobuf:"varint,7,opt,name=address_mode,json=addressMode,proto3,enum=meshtastic.Config_NetworkConfig_AddressMode" json:"address_mode,omitempty"` + // struct to keep static address + 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"` +} + +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) + } +} + +func (x *Config_NetworkConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_NetworkConfig) ProtoMessage() {} + +func (x *Config_NetworkConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[4] + 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 Config_NetworkConfig.ProtoReflect.Descriptor instead. +func (*Config_NetworkConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *Config_NetworkConfig) GetWifiEnabled() bool { + if x != nil { + return x.WifiEnabled + } + return false +} + +func (x *Config_NetworkConfig) GetWifiSsid() string { + if x != nil { + return x.WifiSsid + } + return "" +} + +func (x *Config_NetworkConfig) GetWifiPsk() string { + if x != nil { + return x.WifiPsk + } + return "" +} + +func (x *Config_NetworkConfig) GetNtpServer() string { + if x != nil { + return x.NtpServer + } + return "" +} + +func (x *Config_NetworkConfig) GetEthEnabled() bool { + if x != nil { + return x.EthEnabled + } + return false +} + +func (x *Config_NetworkConfig) GetAddressMode() Config_NetworkConfig_AddressMode { + if x != nil { + return x.AddressMode + } + return Config_NetworkConfig_DHCP +} + +func (x *Config_NetworkConfig) GetIpv4Config() *Config_NetworkConfig_IpV4Config { + if x != nil { + return x.Ipv4Config + } + return nil +} + +func (x *Config_NetworkConfig) GetRsyslogServer() string { + if x != nil { + return x.RsyslogServer + } + return "" +} + +// Display Config +type Config_DisplayConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // How the GPS coordinates are formatted on the OLED screen. + GpsFormat Config_DisplayConfig_GpsCoordinateFormat `protobuf:"varint,2,opt,name=gps_format,json=gpsFormat,proto3,enum=meshtastic.Config_DisplayConfig_GpsCoordinateFormat" json:"gps_format,omitempty"` + // Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds. + // Potentially useful for devices without user buttons. + AutoScreenCarouselSecs uint32 `protobuf:"varint,3,opt,name=auto_screen_carousel_secs,json=autoScreenCarouselSecs,proto3" json:"auto_screen_carousel_secs,omitempty"` + // If this is set, the displayed compass will always point north. if unset, the old behaviour + // (top of display is heading direction) is used. + CompassNorthTop bool `protobuf:"varint,4,opt,name=compass_north_top,json=compassNorthTop,proto3" json:"compass_north_top,omitempty"` + // Flip screen vertically, for cases that mount the screen upside down + FlipScreen bool `protobuf:"varint,5,opt,name=flip_screen,json=flipScreen,proto3" json:"flip_screen,omitempty"` + // Perferred display units + Units Config_DisplayConfig_DisplayUnits `protobuf:"varint,6,opt,name=units,proto3,enum=meshtastic.Config_DisplayConfig_DisplayUnits" json:"units,omitempty"` + // Override auto-detect in screen + Oled Config_DisplayConfig_OledType `protobuf:"varint,7,opt,name=oled,proto3,enum=meshtastic.Config_DisplayConfig_OledType" json:"oled,omitempty"` + // Display Mode + Displaymode Config_DisplayConfig_DisplayMode `protobuf:"varint,8,opt,name=displaymode,proto3,enum=meshtastic.Config_DisplayConfig_DisplayMode" json:"displaymode,omitempty"` + // Print first line in pseudo-bold? FALSE is original style, TRUE is bold + 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"` +} + +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) + } +} + +func (x *Config_DisplayConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_DisplayConfig) ProtoMessage() {} + +func (x *Config_DisplayConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_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 Config_DisplayConfig.ProtoReflect.Descriptor instead. +func (*Config_DisplayConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *Config_DisplayConfig) GetScreenOnSecs() uint32 { + if x != nil { + return x.ScreenOnSecs + } + return 0 +} + +func (x *Config_DisplayConfig) GetGpsFormat() Config_DisplayConfig_GpsCoordinateFormat { + if x != nil { + return x.GpsFormat + } + return Config_DisplayConfig_DEC +} + +func (x *Config_DisplayConfig) GetAutoScreenCarouselSecs() uint32 { + if x != nil { + return x.AutoScreenCarouselSecs + } + return 0 +} + +func (x *Config_DisplayConfig) GetCompassNorthTop() bool { + if x != nil { + return x.CompassNorthTop + } + return false +} + +func (x *Config_DisplayConfig) GetFlipScreen() bool { + if x != nil { + return x.FlipScreen + } + return false +} + +func (x *Config_DisplayConfig) GetUnits() Config_DisplayConfig_DisplayUnits { + if x != nil { + return x.Units + } + return Config_DisplayConfig_METRIC +} + +func (x *Config_DisplayConfig) GetOled() Config_DisplayConfig_OledType { + if x != nil { + return x.Oled + } + return Config_DisplayConfig_OLED_AUTO +} + +func (x *Config_DisplayConfig) GetDisplaymode() Config_DisplayConfig_DisplayMode { + if x != nil { + return x.Displaymode + } + return Config_DisplayConfig_DEFAULT +} + +func (x *Config_DisplayConfig) GetHeadingBold() bool { + if x != nil { + return x.HeadingBold + } + return false +} + +func (x *Config_DisplayConfig) GetWakeOnTapOrMotion() bool { + if x != nil { + return x.WakeOnTapOrMotion + } + return false +} + +// Lora Config +type Config_LoRaConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // Either modem_config or bandwidth/spreading/coding will be specified - NOT BOTH. + // As a heuristic: If bandwidth is specified, do not use modem_config. + // Because protobufs take ZERO space when the value is zero this works out nicely. + // This value is replaced by bandwidth/spread_factor/coding_rate. + // If you'd like to experiment with other options add them to MeshRadio.cpp in the device code. + ModemPreset Config_LoRaConfig_ModemPreset `protobuf:"varint,2,opt,name=modem_preset,json=modemPreset,proto3,enum=meshtastic.Config_LoRaConfig_ModemPreset" json:"modem_preset,omitempty"` + // Bandwidth in MHz + // Certain bandwidth numbers are 'special' and will be converted to the + // appropriate floating point value: 31 -> 31.25MHz + Bandwidth uint32 `protobuf:"varint,3,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"` + // A number from 7 to 12. + // Indicates number of chirps per symbol as 1<<spread_factor. + SpreadFactor uint32 `protobuf:"varint,4,opt,name=spread_factor,json=spreadFactor,proto3" json:"spread_factor,omitempty"` + // The denominator of the coding rate. + // ie for 4/5, the value is 5. 4/8 the value is 8. + CodingRate uint32 `protobuf:"varint,5,opt,name=coding_rate,json=codingRate,proto3" json:"coding_rate,omitempty"` + // This parameter is for advanced users with advanced test equipment, we do not recommend most users use it. + // A frequency offset that is added to to the calculated band center frequency. + // Used to correct for crystal calibration errors. + FrequencyOffset float32 `protobuf:"fixed32,6,opt,name=frequency_offset,json=frequencyOffset,proto3" json:"frequency_offset,omitempty"` + // The region code for the radio (US, CN, EU433, etc...) + Region Config_LoRaConfig_RegionCode `protobuf:"varint,7,opt,name=region,proto3,enum=meshtastic.Config_LoRaConfig_RegionCode" json:"region,omitempty"` + // Maximum number of hops. This can't be greater than 7. + // Default of 3 + // Attempting to set a value > 7 results in the default + HopLimit uint32 `protobuf:"varint,8,opt,name=hop_limit,json=hopLimit,proto3" json:"hop_limit,omitempty"` + // Disable TX from the LoRa radio. Useful for hot-swapping antennas and other tests. + // Defaults to false + TxEnabled bool `protobuf:"varint,9,opt,name=tx_enabled,json=txEnabled,proto3" json:"tx_enabled,omitempty"` + // If zero, then use default max legal continuous power (ie. something that won't + // burn out the radio hardware) + // In most cases you should use zero here. + // Units are in dBm. + TxPower int32 `protobuf:"varint,10,opt,name=tx_power,json=txPower,proto3" json:"tx_power,omitempty"` + // This controls the actual hardware frequency the radio transmits on. + // Most users should never need to be exposed to this field/concept. + // A channel number between 1 and NUM_CHANNELS (whatever the max is in the current region). + // If ZERO then the rule is "use the old channel name hash based + // algorithm to derive the channel number") + // If using the hash algorithm the channel number will be: hash(channel_name) % + // NUM_CHANNELS (Where num channels depends on the regulatory region). + ChannelNum uint32 `protobuf:"varint,11,opt,name=channel_num,json=channelNum,proto3" json:"channel_num,omitempty"` + // If true, duty cycle limits will be exceeded and thus you're possibly not following + // the local regulations if you're not a HAM. + // Has no effect if the duty cycle of the used region is 100%. + OverrideDutyCycle bool `protobuf:"varint,12,opt,name=override_duty_cycle,json=overrideDutyCycle,proto3" json:"override_duty_cycle,omitempty"` + // If true, sets RX boosted gain mode on SX126X based radios + Sx126XRxBoostedGain bool `protobuf:"varint,13,opt,name=sx126x_rx_boosted_gain,json=sx126xRxBoostedGain,proto3" json:"sx126x_rx_boosted_gain,omitempty"` + // This parameter is for advanced users and licensed HAM radio operators. + // Ignore Channel Calculation and use this frequency instead. The frequency_offset + // will still be applied. This will allow you to use out-of-band frequencies. + // 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"` + // 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"` +} + +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) + } +} + +func (x *Config_LoRaConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_LoRaConfig) ProtoMessage() {} + +func (x *Config_LoRaConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[6] + 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 Config_LoRaConfig.ProtoReflect.Descriptor instead. +func (*Config_LoRaConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *Config_LoRaConfig) GetUsePreset() bool { + if x != nil { + return x.UsePreset + } + return false +} + +func (x *Config_LoRaConfig) GetModemPreset() Config_LoRaConfig_ModemPreset { + if x != nil { + return x.ModemPreset + } + return Config_LoRaConfig_LONG_FAST +} + +func (x *Config_LoRaConfig) GetBandwidth() uint32 { + if x != nil { + return x.Bandwidth + } + return 0 +} + +func (x *Config_LoRaConfig) GetSpreadFactor() uint32 { + if x != nil { + return x.SpreadFactor + } + return 0 +} + +func (x *Config_LoRaConfig) GetCodingRate() uint32 { + if x != nil { + return x.CodingRate + } + return 0 +} + +func (x *Config_LoRaConfig) GetFrequencyOffset() float32 { + if x != nil { + return x.FrequencyOffset + } + return 0 +} + +func (x *Config_LoRaConfig) GetRegion() Config_LoRaConfig_RegionCode { + if x != nil { + return x.Region + } + return Config_LoRaConfig_UNSET +} + +func (x *Config_LoRaConfig) GetHopLimit() uint32 { + if x != nil { + return x.HopLimit + } + return 0 +} + +func (x *Config_LoRaConfig) GetTxEnabled() bool { + if x != nil { + return x.TxEnabled + } + return false +} + +func (x *Config_LoRaConfig) GetTxPower() int32 { + if x != nil { + return x.TxPower + } + return 0 +} + +func (x *Config_LoRaConfig) GetChannelNum() uint32 { + if x != nil { + return x.ChannelNum + } + return 0 +} + +func (x *Config_LoRaConfig) GetOverrideDutyCycle() bool { + if x != nil { + return x.OverrideDutyCycle + } + return false +} + +func (x *Config_LoRaConfig) GetSx126XRxBoostedGain() bool { + if x != nil { + return x.Sx126XRxBoostedGain + } + return false +} + +func (x *Config_LoRaConfig) GetOverrideFrequency() float32 { + if x != nil { + return x.OverrideFrequency + } + return 0 +} + +func (x *Config_LoRaConfig) GetIgnoreIncoming() []uint32 { + if x != nil { + return x.IgnoreIncoming + } + return nil +} + +func (x *Config_LoRaConfig) GetIgnoreMqtt() bool { + if x != nil { + return x.IgnoreMqtt + } + return false +} + +type Config_BluetoothConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *Config_BluetoothConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Config_BluetoothConfig) ProtoMessage() {} + +func (x *Config_BluetoothConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_config_proto_msgTypes[7] + 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 Config_BluetoothConfig.ProtoReflect.Descriptor instead. +func (*Config_BluetoothConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *Config_BluetoothConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *Config_BluetoothConfig) GetMode() Config_BluetoothConfig_PairingMode { + if x != nil { + return x.Mode + } + return Config_BluetoothConfig_RANDOM_PIN +} + +func (x *Config_BluetoothConfig) GetFixedPin() uint32 { + if x != nil { + return x.FixedPin + } + return 0 +} + +type Config_NetworkConfig_IpV4Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Static IP address + Ip uint32 `protobuf:"fixed32,1,opt,name=ip,proto3" json:"ip,omitempty"` + // Static gateway address + Gateway uint32 `protobuf:"fixed32,2,opt,name=gateway,proto3" json:"gateway,omitempty"` + // 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"` +} + +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) + } +} + +func (x *Config_NetworkConfig_IpV4Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +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 { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Config_NetworkConfig_IpV4Config.ProtoReflect.Descriptor instead. +func (*Config_NetworkConfig_IpV4Config) Descriptor() ([]byte, []int) { + return file_meshtastic_config_proto_rawDescGZIP(), []int{0, 3, 0} +} + +func (x *Config_NetworkConfig_IpV4Config) GetIp() uint32 { + if x != nil { + return x.Ip + } + return 0 +} + +func (x *Config_NetworkConfig_IpV4Config) GetGateway() uint32 { + if x != nil { + return x.Gateway + } + return 0 +} + +func (x *Config_NetworkConfig_IpV4Config) GetSubnet() uint32 { + if x != nil { + return x.Subnet + } + return 0 +} + +func (x *Config_NetworkConfig_IpV4Config) GetDns() uint32 { + if x != nil { + return x.Dns + } + return 0 +} + +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, 0xff, 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, 0xa7, 0x07, 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, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, + 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x10, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 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, +} + +var ( + file_meshtastic_config_proto_rawDescOnce sync.Once + file_meshtastic_config_proto_rawDescData = file_meshtastic_config_proto_rawDesc +) + +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) + }) + 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{}{ + (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 +} +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 +} + +func init() { file_meshtastic_config_proto_init() } +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{}{ + (*Config_Device)(nil), + (*Config_Position)(nil), + (*Config_Power)(nil), + (*Config_Network)(nil), + (*Config_Display)(nil), + (*Config_Lora)(nil), + (*Config_Bluetooth)(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, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_config_proto_goTypes, + DependencyIndexes: file_meshtastic_config_proto_depIdxs, + EnumInfos: file_meshtastic_config_proto_enumTypes, + 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 new file mode 100644 index 0000000..1827ad9 --- /dev/null +++ b/meshtastic/config_vtproto.pb.go @@ -0,0 +1,7824 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/config.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" + 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) +) + +func (m *Config_DeviceConfig) CloneVT() *Config_DeviceConfig { + if m == nil { + return (*Config_DeviceConfig)(nil) + } + r := new(Config_DeviceConfig) + r.Role = m.Role + r.SerialEnabled = m.SerialEnabled + r.DebugLogEnabled = m.DebugLogEnabled + r.ButtonGpio = m.ButtonGpio + r.BuzzerGpio = m.BuzzerGpio + r.RebroadcastMode = m.RebroadcastMode + r.NodeInfoBroadcastSecs = m.NodeInfoBroadcastSecs + r.DoubleTapAsButtonPress = m.DoubleTapAsButtonPress + r.IsManaged = m.IsManaged + r.DisableTripleClick = m.DisableTripleClick + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_DeviceConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_PositionConfig) CloneVT() *Config_PositionConfig { + if m == nil { + return (*Config_PositionConfig)(nil) + } + r := new(Config_PositionConfig) + r.PositionBroadcastSecs = m.PositionBroadcastSecs + r.PositionBroadcastSmartEnabled = m.PositionBroadcastSmartEnabled + r.FixedPosition = m.FixedPosition + r.GpsEnabled = m.GpsEnabled + r.GpsUpdateInterval = m.GpsUpdateInterval + r.GpsAttemptTime = m.GpsAttemptTime + r.PositionFlags = m.PositionFlags + r.RxGpio = m.RxGpio + r.TxGpio = m.TxGpio + r.BroadcastSmartMinimumDistance = m.BroadcastSmartMinimumDistance + r.BroadcastSmartMinimumIntervalSecs = m.BroadcastSmartMinimumIntervalSecs + r.GpsEnGpio = m.GpsEnGpio + r.GpsMode = m.GpsMode + if rhs := m.ChannelPrecision; rhs != nil { + tmpContainer := make([]uint32, len(rhs)) + copy(tmpContainer, rhs) + r.ChannelPrecision = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_PositionConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_PowerConfig) CloneVT() *Config_PowerConfig { + if m == nil { + return (*Config_PowerConfig)(nil) + } + r := new(Config_PowerConfig) + r.IsPowerSaving = m.IsPowerSaving + r.OnBatteryShutdownAfterSecs = m.OnBatteryShutdownAfterSecs + r.AdcMultiplierOverride = m.AdcMultiplierOverride + r.WaitBluetoothSecs = m.WaitBluetoothSecs + r.SdsSecs = m.SdsSecs + r.LsSecs = m.LsSecs + r.MinWakeSecs = m.MinWakeSecs + r.DeviceBatteryInaAddress = m.DeviceBatteryInaAddress + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_PowerConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_NetworkConfig_IpV4Config) CloneVT() *Config_NetworkConfig_IpV4Config { + if m == nil { + return (*Config_NetworkConfig_IpV4Config)(nil) + } + r := new(Config_NetworkConfig_IpV4Config) + r.Ip = m.Ip + r.Gateway = m.Gateway + r.Subnet = m.Subnet + r.Dns = m.Dns + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_NetworkConfig_IpV4Config) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_NetworkConfig) CloneVT() *Config_NetworkConfig { + if m == nil { + return (*Config_NetworkConfig)(nil) + } + r := new(Config_NetworkConfig) + r.WifiEnabled = m.WifiEnabled + r.WifiSsid = m.WifiSsid + r.WifiPsk = m.WifiPsk + r.NtpServer = m.NtpServer + r.EthEnabled = m.EthEnabled + r.AddressMode = m.AddressMode + r.Ipv4Config = m.Ipv4Config.CloneVT() + r.RsyslogServer = m.RsyslogServer + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_NetworkConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_DisplayConfig) CloneVT() *Config_DisplayConfig { + if m == nil { + return (*Config_DisplayConfig)(nil) + } + r := new(Config_DisplayConfig) + r.ScreenOnSecs = m.ScreenOnSecs + r.GpsFormat = m.GpsFormat + r.AutoScreenCarouselSecs = m.AutoScreenCarouselSecs + r.CompassNorthTop = m.CompassNorthTop + r.FlipScreen = m.FlipScreen + r.Units = m.Units + r.Oled = m.Oled + r.Displaymode = m.Displaymode + r.HeadingBold = m.HeadingBold + r.WakeOnTapOrMotion = m.WakeOnTapOrMotion + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_DisplayConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_LoRaConfig) CloneVT() *Config_LoRaConfig { + if m == nil { + return (*Config_LoRaConfig)(nil) + } + r := new(Config_LoRaConfig) + r.UsePreset = m.UsePreset + r.ModemPreset = m.ModemPreset + r.Bandwidth = m.Bandwidth + r.SpreadFactor = m.SpreadFactor + r.CodingRate = m.CodingRate + r.FrequencyOffset = m.FrequencyOffset + r.Region = m.Region + r.HopLimit = m.HopLimit + r.TxEnabled = m.TxEnabled + r.TxPower = m.TxPower + r.ChannelNum = m.ChannelNum + r.OverrideDutyCycle = m.OverrideDutyCycle + r.Sx126XRxBoostedGain = m.Sx126XRxBoostedGain + r.OverrideFrequency = m.OverrideFrequency + r.IgnoreMqtt = m.IgnoreMqtt + if rhs := m.IgnoreIncoming; rhs != nil { + tmpContainer := make([]uint32, len(rhs)) + copy(tmpContainer, rhs) + r.IgnoreIncoming = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_LoRaConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_BluetoothConfig) CloneVT() *Config_BluetoothConfig { + if m == nil { + return (*Config_BluetoothConfig)(nil) + } + r := new(Config_BluetoothConfig) + r.Enabled = m.Enabled + r.Mode = m.Mode + r.FixedPin = m.FixedPin + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config_BluetoothConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config) CloneVT() *Config { + if m == nil { + return (*Config)(nil) + } + r := new(Config) + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isConfig_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Config) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Config_Device) CloneVT() isConfig_PayloadVariant { + if m == nil { + return (*Config_Device)(nil) + } + r := new(Config_Device) + r.Device = m.Device.CloneVT() + return r +} + +func (m *Config_Position) CloneVT() isConfig_PayloadVariant { + if m == nil { + return (*Config_Position)(nil) + } + r := new(Config_Position) + r.Position = m.Position.CloneVT() + return r +} + +func (m *Config_Power) CloneVT() isConfig_PayloadVariant { + if m == nil { + return (*Config_Power)(nil) + } + r := new(Config_Power) + r.Power = m.Power.CloneVT() + return r +} + +func (m *Config_Network) CloneVT() isConfig_PayloadVariant { + if m == nil { + return (*Config_Network)(nil) + } + r := new(Config_Network) + r.Network = m.Network.CloneVT() + return r +} + +func (m *Config_Display) CloneVT() isConfig_PayloadVariant { + if m == nil { + return (*Config_Display)(nil) + } + r := new(Config_Display) + r.Display = m.Display.CloneVT() + return r +} + +func (m *Config_Lora) CloneVT() isConfig_PayloadVariant { + if m == nil { + return (*Config_Lora)(nil) + } + r := new(Config_Lora) + r.Lora = m.Lora.CloneVT() + return r +} + +func (m *Config_Bluetooth) CloneVT() isConfig_PayloadVariant { + if m == nil { + return (*Config_Bluetooth)(nil) + } + r := new(Config_Bluetooth) + r.Bluetooth = m.Bluetooth.CloneVT() + return r +} + +func (this *Config_DeviceConfig) EqualVT(that *Config_DeviceConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Role != that.Role { + return false + } + if this.SerialEnabled != that.SerialEnabled { + return false + } + if this.DebugLogEnabled != that.DebugLogEnabled { + return false + } + if this.ButtonGpio != that.ButtonGpio { + return false + } + if this.BuzzerGpio != that.BuzzerGpio { + return false + } + if this.RebroadcastMode != that.RebroadcastMode { + return false + } + if this.NodeInfoBroadcastSecs != that.NodeInfoBroadcastSecs { + return false + } + if this.DoubleTapAsButtonPress != that.DoubleTapAsButtonPress { + return false + } + if this.IsManaged != that.IsManaged { + return false + } + if this.DisableTripleClick != that.DisableTripleClick { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_DeviceConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_DeviceConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_PositionConfig) EqualVT(that *Config_PositionConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PositionBroadcastSecs != that.PositionBroadcastSecs { + return false + } + if this.PositionBroadcastSmartEnabled != that.PositionBroadcastSmartEnabled { + return false + } + if this.FixedPosition != that.FixedPosition { + return false + } + if this.GpsEnabled != that.GpsEnabled { + return false + } + if this.GpsUpdateInterval != that.GpsUpdateInterval { + return false + } + if this.GpsAttemptTime != that.GpsAttemptTime { + return false + } + if this.PositionFlags != that.PositionFlags { + return false + } + if this.RxGpio != that.RxGpio { + return false + } + if this.TxGpio != that.TxGpio { + return false + } + if this.BroadcastSmartMinimumDistance != that.BroadcastSmartMinimumDistance { + return false + } + if this.BroadcastSmartMinimumIntervalSecs != that.BroadcastSmartMinimumIntervalSecs { + return false + } + if this.GpsEnGpio != that.GpsEnGpio { + return false + } + if this.GpsMode != that.GpsMode { + return false + } + if len(this.ChannelPrecision) != len(that.ChannelPrecision) { + return false + } + for i, vx := range this.ChannelPrecision { + vy := that.ChannelPrecision[i] + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_PositionConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_PositionConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_PowerConfig) EqualVT(that *Config_PowerConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.IsPowerSaving != that.IsPowerSaving { + return false + } + if this.OnBatteryShutdownAfterSecs != that.OnBatteryShutdownAfterSecs { + return false + } + if this.AdcMultiplierOverride != that.AdcMultiplierOverride { + return false + } + if this.WaitBluetoothSecs != that.WaitBluetoothSecs { + return false + } + if this.SdsSecs != that.SdsSecs { + return false + } + if this.LsSecs != that.LsSecs { + return false + } + if this.MinWakeSecs != that.MinWakeSecs { + return false + } + if this.DeviceBatteryInaAddress != that.DeviceBatteryInaAddress { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_PowerConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_PowerConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_NetworkConfig_IpV4Config) EqualVT(that *Config_NetworkConfig_IpV4Config) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Ip != that.Ip { + return false + } + if this.Gateway != that.Gateway { + return false + } + if this.Subnet != that.Subnet { + return false + } + if this.Dns != that.Dns { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_NetworkConfig_IpV4Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_NetworkConfig_IpV4Config) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_NetworkConfig) EqualVT(that *Config_NetworkConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.WifiEnabled != that.WifiEnabled { + return false + } + if this.WifiSsid != that.WifiSsid { + return false + } + if this.WifiPsk != that.WifiPsk { + return false + } + if this.NtpServer != that.NtpServer { + return false + } + if this.EthEnabled != that.EthEnabled { + return false + } + if this.AddressMode != that.AddressMode { + return false + } + if !this.Ipv4Config.EqualVT(that.Ipv4Config) { + return false + } + if this.RsyslogServer != that.RsyslogServer { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_NetworkConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_NetworkConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_DisplayConfig) EqualVT(that *Config_DisplayConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.ScreenOnSecs != that.ScreenOnSecs { + return false + } + if this.GpsFormat != that.GpsFormat { + return false + } + if this.AutoScreenCarouselSecs != that.AutoScreenCarouselSecs { + return false + } + if this.CompassNorthTop != that.CompassNorthTop { + return false + } + if this.FlipScreen != that.FlipScreen { + return false + } + if this.Units != that.Units { + return false + } + if this.Oled != that.Oled { + return false + } + if this.Displaymode != that.Displaymode { + return false + } + if this.HeadingBold != that.HeadingBold { + return false + } + if this.WakeOnTapOrMotion != that.WakeOnTapOrMotion { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_DisplayConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_DisplayConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_LoRaConfig) EqualVT(that *Config_LoRaConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.UsePreset != that.UsePreset { + return false + } + if this.ModemPreset != that.ModemPreset { + return false + } + if this.Bandwidth != that.Bandwidth { + return false + } + if this.SpreadFactor != that.SpreadFactor { + return false + } + if this.CodingRate != that.CodingRate { + return false + } + if this.FrequencyOffset != that.FrequencyOffset { + return false + } + if this.Region != that.Region { + return false + } + if this.HopLimit != that.HopLimit { + return false + } + if this.TxEnabled != that.TxEnabled { + return false + } + if this.TxPower != that.TxPower { + return false + } + if this.ChannelNum != that.ChannelNum { + return false + } + if this.OverrideDutyCycle != that.OverrideDutyCycle { + return false + } + if this.Sx126XRxBoostedGain != that.Sx126XRxBoostedGain { + return false + } + if this.OverrideFrequency != that.OverrideFrequency { + return false + } + if len(this.IgnoreIncoming) != len(that.IgnoreIncoming) { + return false + } + for i, vx := range this.IgnoreIncoming { + vy := that.IgnoreIncoming[i] + if vx != vy { + return false + } + } + if this.IgnoreMqtt != that.IgnoreMqtt { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_LoRaConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_LoRaConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_BluetoothConfig) EqualVT(that *Config_BluetoothConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.Mode != that.Mode { + return false + } + if this.FixedPin != that.FixedPin { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config_BluetoothConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config_BluetoothConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config) EqualVT(that *Config) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isConfig_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Config) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Config_Device) EqualVT(thatIface isConfig_PayloadVariant) bool { + that, ok := thatIface.(*Config_Device) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Device, that.Device; p != q { + if p == nil { + p = &Config_DeviceConfig{} + } + if q == nil { + q = &Config_DeviceConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Config_Position) EqualVT(thatIface isConfig_PayloadVariant) bool { + that, ok := thatIface.(*Config_Position) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Position, that.Position; p != q { + if p == nil { + p = &Config_PositionConfig{} + } + if q == nil { + q = &Config_PositionConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Config_Power) EqualVT(thatIface isConfig_PayloadVariant) bool { + that, ok := thatIface.(*Config_Power) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Power, that.Power; p != q { + if p == nil { + p = &Config_PowerConfig{} + } + if q == nil { + q = &Config_PowerConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Config_Network) EqualVT(thatIface isConfig_PayloadVariant) bool { + that, ok := thatIface.(*Config_Network) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Network, that.Network; p != q { + if p == nil { + p = &Config_NetworkConfig{} + } + if q == nil { + q = &Config_NetworkConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Config_Display) EqualVT(thatIface isConfig_PayloadVariant) bool { + that, ok := thatIface.(*Config_Display) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Display, that.Display; p != q { + if p == nil { + p = &Config_DisplayConfig{} + } + if q == nil { + q = &Config_DisplayConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Config_Lora) EqualVT(thatIface isConfig_PayloadVariant) bool { + that, ok := thatIface.(*Config_Lora) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Lora, that.Lora; p != q { + if p == nil { + p = &Config_LoRaConfig{} + } + if q == nil { + q = &Config_LoRaConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Config_Bluetooth) EqualVT(thatIface isConfig_PayloadVariant) bool { + that, ok := thatIface.(*Config_Bluetooth) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Bluetooth, that.Bluetooth; p != q { + if p == nil { + p = &Config_BluetoothConfig{} + } + if q == nil { + q = &Config_BluetoothConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (m *Config_DeviceConfig) 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_DeviceConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_DeviceConfig) 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.DisableTripleClick { + i-- + if m.DisableTripleClick { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.IsManaged { + i-- + if m.IsManaged { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.DoubleTapAsButtonPress { + i-- + if m.DoubleTapAsButtonPress { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.NodeInfoBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeInfoBroadcastSecs)) + i-- + dAtA[i] = 0x38 + } + if m.RebroadcastMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebroadcastMode)) + i-- + dAtA[i] = 0x30 + } + if m.BuzzerGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BuzzerGpio)) + i-- + dAtA[i] = 0x28 + } + if m.ButtonGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ButtonGpio)) + 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 { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_PositionConfig) 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_PositionConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_PositionConfig) 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.ChannelPrecision) > 0 { + var pksize2 int + for _, num := range m.ChannelPrecision { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range m.ChannelPrecision { + 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] = 0x72 + } + if m.GpsMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsMode)) + i-- + dAtA[i] = 0x68 + } + if m.GpsEnGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsEnGpio)) + i-- + dAtA[i] = 0x60 + } + if m.BroadcastSmartMinimumIntervalSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BroadcastSmartMinimumIntervalSecs)) + i-- + dAtA[i] = 0x58 + } + if m.BroadcastSmartMinimumDistance != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BroadcastSmartMinimumDistance)) + i-- + dAtA[i] = 0x50 + } + if m.TxGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TxGpio)) + i-- + dAtA[i] = 0x48 + } + if m.RxGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RxGpio)) + i-- + dAtA[i] = 0x40 + } + if m.PositionFlags != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionFlags)) + i-- + dAtA[i] = 0x38 + } + if m.GpsAttemptTime != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsAttemptTime)) + i-- + dAtA[i] = 0x30 + } + if m.GpsUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsUpdateInterval)) + i-- + dAtA[i] = 0x28 + } + if m.GpsEnabled { + i-- + if m.GpsEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.FixedPosition { + i-- + if m.FixedPosition { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.PositionBroadcastSmartEnabled { + i-- + if m.PositionBroadcastSmartEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.PositionBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionBroadcastSecs)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_PowerConfig) 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_PowerConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_PowerConfig) 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.DeviceBatteryInaAddress != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DeviceBatteryInaAddress)) + i-- + dAtA[i] = 0x48 + } + if m.MinWakeSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinWakeSecs)) + i-- + dAtA[i] = 0x40 + } + if m.LsSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LsSecs)) + i-- + dAtA[i] = 0x38 + } + if m.SdsSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SdsSecs)) + i-- + dAtA[i] = 0x30 + } + if m.WaitBluetoothSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WaitBluetoothSecs)) + i-- + dAtA[i] = 0x20 + } + if m.AdcMultiplierOverride != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.AdcMultiplierOverride)))) + i-- + dAtA[i] = 0x1d + } + if m.OnBatteryShutdownAfterSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OnBatteryShutdownAfterSecs)) + i-- + dAtA[i] = 0x10 + } + if m.IsPowerSaving { + i-- + if m.IsPowerSaving { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_NetworkConfig_IpV4Config) 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_NetworkConfig_IpV4Config) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_NetworkConfig_IpV4Config) 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.Dns != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Dns)) + i-- + dAtA[i] = 0x25 + } + if m.Subnet != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Subnet)) + i-- + dAtA[i] = 0x1d + } + if m.Gateway != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Gateway)) + i-- + dAtA[i] = 0x15 + } + if m.Ip != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Ip)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *Config_NetworkConfig) 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_NetworkConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_NetworkConfig) 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.RsyslogServer) > 0 { + i -= len(m.RsyslogServer) + copy(dAtA[i:], m.RsyslogServer) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RsyslogServer))) + i-- + dAtA[i] = 0x4a + } + if m.Ipv4Config != nil { + size, err := m.Ipv4Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.AddressMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AddressMode)) + i-- + dAtA[i] = 0x38 + } + if m.EthEnabled { + i-- + if m.EthEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if len(m.NtpServer) > 0 { + i -= len(m.NtpServer) + copy(dAtA[i:], m.NtpServer) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NtpServer))) + i-- + dAtA[i] = 0x2a + } + if len(m.WifiPsk) > 0 { + i -= len(m.WifiPsk) + copy(dAtA[i:], m.WifiPsk) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WifiPsk))) + i-- + dAtA[i] = 0x22 + } + if len(m.WifiSsid) > 0 { + i -= len(m.WifiSsid) + copy(dAtA[i:], m.WifiSsid) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WifiSsid))) + i-- + dAtA[i] = 0x1a + } + if m.WifiEnabled { + i-- + if m.WifiEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_DisplayConfig) 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_DisplayConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_DisplayConfig) 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.WakeOnTapOrMotion { + i-- + if m.WakeOnTapOrMotion { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.HeadingBold { + i-- + if m.HeadingBold { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.Displaymode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Displaymode)) + i-- + dAtA[i] = 0x40 + } + if m.Oled != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Oled)) + i-- + dAtA[i] = 0x38 + } + if m.Units != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Units)) + i-- + dAtA[i] = 0x30 + } + if m.FlipScreen { + i-- + if m.FlipScreen { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.CompassNorthTop { + i-- + if m.CompassNorthTop { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.AutoScreenCarouselSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AutoScreenCarouselSecs)) + i-- + dAtA[i] = 0x18 + } + if m.GpsFormat != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsFormat)) + i-- + dAtA[i] = 0x10 + } + if m.ScreenOnSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ScreenOnSecs)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_LoRaConfig) 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_LoRaConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_LoRaConfig) 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.IgnoreMqtt { + i-- + if m.IgnoreMqtt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xc0 + } + if len(m.IgnoreIncoming) > 0 { + var pksize2 int + for _, num := range m.IgnoreIncoming { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range m.IgnoreIncoming { + 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] = 0x6 + i-- + dAtA[i] = 0xba + } + if m.OverrideFrequency != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.OverrideFrequency)))) + i-- + dAtA[i] = 0x75 + } + if m.Sx126XRxBoostedGain { + i-- + if m.Sx126XRxBoostedGain { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } + if m.OverrideDutyCycle { + i-- + if m.OverrideDutyCycle { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if m.ChannelNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ChannelNum)) + i-- + dAtA[i] = 0x58 + } + if m.TxPower != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TxPower)) + i-- + dAtA[i] = 0x50 + } + if m.TxEnabled { + i-- + if m.TxEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.HopLimit != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HopLimit)) + i-- + dAtA[i] = 0x40 + } + if m.Region != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Region)) + i-- + dAtA[i] = 0x38 + } + if m.FrequencyOffset != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FrequencyOffset)))) + i-- + dAtA[i] = 0x35 + } + if m.CodingRate != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.CodingRate)) + i-- + dAtA[i] = 0x28 + } + if m.SpreadFactor != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SpreadFactor)) + i-- + dAtA[i] = 0x20 + } + if m.Bandwidth != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Bandwidth)) + i-- + dAtA[i] = 0x18 + } + if m.ModemPreset != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ModemPreset)) + i-- + dAtA[i] = 0x10 + } + if m.UsePreset { + i-- + if m.UsePreset { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_BluetoothConfig) 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_BluetoothConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_BluetoothConfig) 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.FixedPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FixedPin)) + i-- + dAtA[i] = 0x18 + } + if m.Mode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Mode)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config) 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) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config) 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.PayloadVariant.(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 *Config_Device) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Device) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Device != nil { + size, err := m.Device.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 *Config_Position) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Position) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Position != nil { + size, err := m.Position.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 *Config_Power) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Power) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Power != nil { + size, err := m.Power.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *Config_Network) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Network) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Network != nil { + size, err := m.Network.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 *Config_Display) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Display) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Display != nil { + size, err := m.Display.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *Config_Lora) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Lora) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Lora != nil { + size, err := m.Lora.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 *Config_Bluetooth) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Config_Bluetooth) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Bluetooth != nil { + size, err := m.Bluetooth.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 *Config_DeviceConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_DeviceConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_DeviceConfig) MarshalToSizedBufferVTStrict(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.DisableTripleClick { + i-- + if m.DisableTripleClick { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.IsManaged { + i-- + if m.IsManaged { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.DoubleTapAsButtonPress { + i-- + if m.DoubleTapAsButtonPress { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.NodeInfoBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeInfoBroadcastSecs)) + i-- + dAtA[i] = 0x38 + } + if m.RebroadcastMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebroadcastMode)) + i-- + dAtA[i] = 0x30 + } + if m.BuzzerGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BuzzerGpio)) + i-- + dAtA[i] = 0x28 + } + if m.ButtonGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ButtonGpio)) + 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 { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_PositionConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_PositionConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_PositionConfig) MarshalToSizedBufferVTStrict(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.ChannelPrecision) > 0 { + var pksize2 int + for _, num := range m.ChannelPrecision { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range m.ChannelPrecision { + 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] = 0x72 + } + if m.GpsMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsMode)) + i-- + dAtA[i] = 0x68 + } + if m.GpsEnGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsEnGpio)) + i-- + dAtA[i] = 0x60 + } + if m.BroadcastSmartMinimumIntervalSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BroadcastSmartMinimumIntervalSecs)) + i-- + dAtA[i] = 0x58 + } + if m.BroadcastSmartMinimumDistance != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BroadcastSmartMinimumDistance)) + i-- + dAtA[i] = 0x50 + } + if m.TxGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TxGpio)) + i-- + dAtA[i] = 0x48 + } + if m.RxGpio != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RxGpio)) + i-- + dAtA[i] = 0x40 + } + if m.PositionFlags != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionFlags)) + i-- + dAtA[i] = 0x38 + } + if m.GpsAttemptTime != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsAttemptTime)) + i-- + dAtA[i] = 0x30 + } + if m.GpsUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsUpdateInterval)) + i-- + dAtA[i] = 0x28 + } + if m.GpsEnabled { + i-- + if m.GpsEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.FixedPosition { + i-- + if m.FixedPosition { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.PositionBroadcastSmartEnabled { + i-- + if m.PositionBroadcastSmartEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.PositionBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PositionBroadcastSecs)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_PowerConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_PowerConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_PowerConfig) MarshalToSizedBufferVTStrict(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.DeviceBatteryInaAddress != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DeviceBatteryInaAddress)) + i-- + dAtA[i] = 0x48 + } + if m.MinWakeSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinWakeSecs)) + i-- + dAtA[i] = 0x40 + } + if m.LsSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LsSecs)) + i-- + dAtA[i] = 0x38 + } + if m.SdsSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SdsSecs)) + i-- + dAtA[i] = 0x30 + } + if m.WaitBluetoothSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.WaitBluetoothSecs)) + i-- + dAtA[i] = 0x20 + } + if m.AdcMultiplierOverride != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.AdcMultiplierOverride)))) + i-- + dAtA[i] = 0x1d + } + if m.OnBatteryShutdownAfterSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OnBatteryShutdownAfterSecs)) + i-- + dAtA[i] = 0x10 + } + if m.IsPowerSaving { + i-- + if m.IsPowerSaving { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_NetworkConfig_IpV4Config) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_NetworkConfig_IpV4Config) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_NetworkConfig_IpV4Config) MarshalToSizedBufferVTStrict(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.Dns != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Dns)) + i-- + dAtA[i] = 0x25 + } + if m.Subnet != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Subnet)) + i-- + dAtA[i] = 0x1d + } + if m.Gateway != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Gateway)) + i-- + dAtA[i] = 0x15 + } + if m.Ip != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Ip)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *Config_NetworkConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_NetworkConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_NetworkConfig) MarshalToSizedBufferVTStrict(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.RsyslogServer) > 0 { + i -= len(m.RsyslogServer) + copy(dAtA[i:], m.RsyslogServer) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RsyslogServer))) + i-- + dAtA[i] = 0x4a + } + if m.Ipv4Config != nil { + size, err := m.Ipv4Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.AddressMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AddressMode)) + i-- + dAtA[i] = 0x38 + } + if m.EthEnabled { + i-- + if m.EthEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if len(m.NtpServer) > 0 { + i -= len(m.NtpServer) + copy(dAtA[i:], m.NtpServer) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NtpServer))) + i-- + dAtA[i] = 0x2a + } + if len(m.WifiPsk) > 0 { + i -= len(m.WifiPsk) + copy(dAtA[i:], m.WifiPsk) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WifiPsk))) + i-- + dAtA[i] = 0x22 + } + if len(m.WifiSsid) > 0 { + i -= len(m.WifiSsid) + copy(dAtA[i:], m.WifiSsid) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.WifiSsid))) + i-- + dAtA[i] = 0x1a + } + if m.WifiEnabled { + i-- + if m.WifiEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_DisplayConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_DisplayConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_DisplayConfig) MarshalToSizedBufferVTStrict(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.WakeOnTapOrMotion { + i-- + if m.WakeOnTapOrMotion { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.HeadingBold { + i-- + if m.HeadingBold { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.Displaymode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Displaymode)) + i-- + dAtA[i] = 0x40 + } + if m.Oled != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Oled)) + i-- + dAtA[i] = 0x38 + } + if m.Units != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Units)) + i-- + dAtA[i] = 0x30 + } + if m.FlipScreen { + i-- + if m.FlipScreen { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.CompassNorthTop { + i-- + if m.CompassNorthTop { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.AutoScreenCarouselSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AutoScreenCarouselSecs)) + i-- + dAtA[i] = 0x18 + } + if m.GpsFormat != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsFormat)) + i-- + dAtA[i] = 0x10 + } + if m.ScreenOnSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ScreenOnSecs)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_LoRaConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_LoRaConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_LoRaConfig) MarshalToSizedBufferVTStrict(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.IgnoreMqtt { + i-- + if m.IgnoreMqtt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x6 + i-- + dAtA[i] = 0xc0 + } + if len(m.IgnoreIncoming) > 0 { + var pksize2 int + for _, num := range m.IgnoreIncoming { + pksize2 += protohelpers.SizeOfVarint(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range m.IgnoreIncoming { + 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] = 0x6 + i-- + dAtA[i] = 0xba + } + if m.OverrideFrequency != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.OverrideFrequency)))) + i-- + dAtA[i] = 0x75 + } + if m.Sx126XRxBoostedGain { + i-- + if m.Sx126XRxBoostedGain { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } + if m.OverrideDutyCycle { + i-- + if m.OverrideDutyCycle { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if m.ChannelNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ChannelNum)) + i-- + dAtA[i] = 0x58 + } + if m.TxPower != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TxPower)) + i-- + dAtA[i] = 0x50 + } + if m.TxEnabled { + i-- + if m.TxEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.HopLimit != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HopLimit)) + i-- + dAtA[i] = 0x40 + } + if m.Region != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Region)) + i-- + dAtA[i] = 0x38 + } + if m.FrequencyOffset != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.FrequencyOffset)))) + i-- + dAtA[i] = 0x35 + } + if m.CodingRate != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.CodingRate)) + i-- + dAtA[i] = 0x28 + } + if m.SpreadFactor != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SpreadFactor)) + i-- + dAtA[i] = 0x20 + } + if m.Bandwidth != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Bandwidth)) + i-- + dAtA[i] = 0x18 + } + if m.ModemPreset != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ModemPreset)) + i-- + dAtA[i] = 0x10 + } + if m.UsePreset { + i-- + if m.UsePreset { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config_BluetoothConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config_BluetoothConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_BluetoothConfig) MarshalToSizedBufferVTStrict(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.FixedPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FixedPin)) + i-- + dAtA[i] = 0x18 + } + if m.Mode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Mode)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Config) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Config) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config) MarshalToSizedBufferVTStrict(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 msg, ok := m.PayloadVariant.(*Config_Bluetooth); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*Config_Lora); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*Config_Display); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*Config_Network); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*Config_Power); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*Config_Position); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*Config_Device); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *Config_Device) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_Device) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Device != nil { + size, err := m.Device.MarshalToSizedBufferVTStrict(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 *Config_Position) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_Position) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Position != nil { + size, err := m.Position.MarshalToSizedBufferVTStrict(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 *Config_Power) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_Power) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Power != nil { + size, err := m.Power.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *Config_Network) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_Network) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Network != nil { + size, err := m.Network.MarshalToSizedBufferVTStrict(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 *Config_Display) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_Display) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Display != nil { + size, err := m.Display.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *Config_Lora) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_Lora) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Lora != nil { + size, err := m.Lora.MarshalToSizedBufferVTStrict(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 *Config_Bluetooth) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Config_Bluetooth) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Bluetooth != nil { + size, err := m.Bluetooth.MarshalToSizedBufferVTStrict(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 *Config_DeviceConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Role != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Role)) + } + if m.SerialEnabled { + n += 2 + } + if m.DebugLogEnabled { + n += 2 + } + if m.ButtonGpio != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ButtonGpio)) + } + if m.BuzzerGpio != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.BuzzerGpio)) + } + if m.RebroadcastMode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RebroadcastMode)) + } + if m.NodeInfoBroadcastSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NodeInfoBroadcastSecs)) + } + if m.DoubleTapAsButtonPress { + n += 2 + } + if m.IsManaged { + n += 2 + } + if m.DisableTripleClick { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *Config_PositionConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PositionBroadcastSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PositionBroadcastSecs)) + } + if m.PositionBroadcastSmartEnabled { + n += 2 + } + if m.FixedPosition { + n += 2 + } + if m.GpsEnabled { + n += 2 + } + if m.GpsUpdateInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpsUpdateInterval)) + } + if m.GpsAttemptTime != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpsAttemptTime)) + } + if m.PositionFlags != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PositionFlags)) + } + if m.RxGpio != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RxGpio)) + } + if m.TxGpio != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.TxGpio)) + } + if m.BroadcastSmartMinimumDistance != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.BroadcastSmartMinimumDistance)) + } + if m.BroadcastSmartMinimumIntervalSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.BroadcastSmartMinimumIntervalSecs)) + } + if m.GpsEnGpio != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpsEnGpio)) + } + if m.GpsMode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpsMode)) + } + if len(m.ChannelPrecision) > 0 { + l = 0 + for _, e := range m.ChannelPrecision { + l += protohelpers.SizeOfVarint(uint64(e)) + } + n += 1 + protohelpers.SizeOfVarint(uint64(l)) + l + } + n += len(m.unknownFields) + return n +} + +func (m *Config_PowerConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.IsPowerSaving { + n += 2 + } + if m.OnBatteryShutdownAfterSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.OnBatteryShutdownAfterSecs)) + } + if m.AdcMultiplierOverride != 0 { + n += 5 + } + if m.WaitBluetoothSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.WaitBluetoothSecs)) + } + if m.SdsSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.SdsSecs)) + } + if m.LsSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.LsSecs)) + } + if m.MinWakeSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MinWakeSecs)) + } + if m.DeviceBatteryInaAddress != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.DeviceBatteryInaAddress)) + } + n += len(m.unknownFields) + return n +} + +func (m *Config_NetworkConfig_IpV4Config) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Ip != 0 { + n += 5 + } + if m.Gateway != 0 { + n += 5 + } + if m.Subnet != 0 { + n += 5 + } + if m.Dns != 0 { + n += 5 + } + n += len(m.unknownFields) + return n +} + +func (m *Config_NetworkConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.WifiEnabled { + n += 2 + } + l = len(m.WifiSsid) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.WifiPsk) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.NtpServer) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.EthEnabled { + n += 2 + } + if m.AddressMode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.AddressMode)) + } + if m.Ipv4Config != nil { + l = m.Ipv4Config.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RsyslogServer) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Config_DisplayConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ScreenOnSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ScreenOnSecs)) + } + if m.GpsFormat != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpsFormat)) + } + if m.AutoScreenCarouselSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.AutoScreenCarouselSecs)) + } + if m.CompassNorthTop { + n += 2 + } + if m.FlipScreen { + n += 2 + } + if m.Units != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Units)) + } + if m.Oled != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Oled)) + } + if m.Displaymode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Displaymode)) + } + if m.HeadingBold { + n += 2 + } + if m.WakeOnTapOrMotion { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *Config_LoRaConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.UsePreset { + n += 2 + } + if m.ModemPreset != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ModemPreset)) + } + if m.Bandwidth != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Bandwidth)) + } + if m.SpreadFactor != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.SpreadFactor)) + } + if m.CodingRate != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.CodingRate)) + } + if m.FrequencyOffset != 0 { + n += 5 + } + if m.Region != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Region)) + } + if m.HopLimit != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HopLimit)) + } + if m.TxEnabled { + n += 2 + } + if m.TxPower != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.TxPower)) + } + if m.ChannelNum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ChannelNum)) + } + if m.OverrideDutyCycle { + n += 2 + } + if m.Sx126XRxBoostedGain { + n += 2 + } + if m.OverrideFrequency != 0 { + n += 5 + } + if len(m.IgnoreIncoming) > 0 { + l = 0 + for _, e := range m.IgnoreIncoming { + l += protohelpers.SizeOfVarint(uint64(e)) + } + n += 2 + protohelpers.SizeOfVarint(uint64(l)) + l + } + if m.IgnoreMqtt { + n += 3 + } + n += len(m.unknownFields) + return n +} + +func (m *Config_BluetoothConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.Mode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Mode)) + } + if m.FixedPin != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.FixedPin)) + } + n += len(m.unknownFields) + return n +} + +func (m *Config) 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 *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 +} +func (m *Config_Power) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Power != nil { + l = m.Power.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_Network) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Network != nil { + l = m.Network.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_Display) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Display != nil { + l = m.Display.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_Lora) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Lora != nil { + l = m.Lora.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_Bluetooth) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Bluetooth != nil { + l = m.Bluetooth.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Config_DeviceConfig) 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_DeviceConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_DeviceConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 2: + 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 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) + } + m.ButtonGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ButtonGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BuzzerGpio", wireType) + } + m.BuzzerGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BuzzerGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RebroadcastMode", wireType) + } + m.RebroadcastMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RebroadcastMode |= Config_DeviceConfig_RebroadcastMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeInfoBroadcastSecs", wireType) + } + m.NodeInfoBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeInfoBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DoubleTapAsButtonPress", 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.DoubleTapAsButtonPress = bool(v != 0) + case 9: + 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 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DisableTripleClick", 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.DisableTripleClick = 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_PositionConfig) 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_PositionConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_PositionConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionBroadcastSecs", wireType) + } + m.PositionBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionBroadcastSmartEnabled", 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.PositionBroadcastSmartEnabled = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixedPosition", 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.FixedPosition = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsEnabled", 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.GpsEnabled = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsUpdateInterval", wireType) + } + m.GpsUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsAttemptTime", wireType) + } + m.GpsAttemptTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsAttemptTime |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionFlags", wireType) + } + m.PositionFlags = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionFlags |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxGpio", wireType) + } + m.RxGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxGpio", wireType) + } + m.TxGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TxGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BroadcastSmartMinimumDistance", wireType) + } + m.BroadcastSmartMinimumDistance = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BroadcastSmartMinimumDistance |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BroadcastSmartMinimumIntervalSecs", wireType) + } + m.BroadcastSmartMinimumIntervalSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BroadcastSmartMinimumIntervalSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsEnGpio", wireType) + } + m.GpsEnGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsEnGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsMode", wireType) + } + m.GpsMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsMode |= Config_PositionConfig_GpsMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + 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 + } + } + m.ChannelPrecision = append(m.ChannelPrecision, 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.ChannelPrecision) == 0 { + m.ChannelPrecision = 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.ChannelPrecision = append(m.ChannelPrecision, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelPrecision", 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 *Config_PowerConfig) 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_PowerConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_PowerConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsPowerSaving", 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.IsPowerSaving = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OnBatteryShutdownAfterSecs", wireType) + } + m.OnBatteryShutdownAfterSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OnBatteryShutdownAfterSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field AdcMultiplierOverride", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.AdcMultiplierOverride = float32(math.Float32frombits(v)) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WaitBluetoothSecs", wireType) + } + m.WaitBluetoothSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.WaitBluetoothSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SdsSecs", wireType) + } + m.SdsSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SdsSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LsSecs", wireType) + } + m.LsSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LsSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinWakeSecs", wireType) + } + m.MinWakeSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinWakeSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceBatteryInaAddress", wireType) + } + m.DeviceBatteryInaAddress = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DeviceBatteryInaAddress |= 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 *Config_NetworkConfig_IpV4Config) 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_NetworkConfig_IpV4Config: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_NetworkConfig_IpV4Config: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ip", wireType) + } + m.Ip = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Ip = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Gateway", wireType) + } + m.Gateway = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Gateway = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Subnet", wireType) + } + m.Subnet = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Subnet = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Dns", wireType) + } + m.Dns = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Dns = 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 *Config_NetworkConfig) 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_NetworkConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_NetworkConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WifiEnabled", 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.WifiEnabled = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WifiSsid", 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.WifiSsid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WifiPsk", 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.WifiPsk = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NtpServer", 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.NtpServer = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EthEnabled", 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.EthEnabled = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressMode", wireType) + } + m.AddressMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AddressMode |= Config_NetworkConfig_AddressMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ipv4Config", 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.Ipv4Config == nil { + m.Ipv4Config = &Config_NetworkConfig_IpV4Config{} + } + if err := m.Ipv4Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RsyslogServer", 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.RsyslogServer = 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 *Config_DisplayConfig) 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_DisplayConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_DisplayConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScreenOnSecs", wireType) + } + m.ScreenOnSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ScreenOnSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsFormat", wireType) + } + m.GpsFormat = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsFormat |= Config_DisplayConfig_GpsCoordinateFormat(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AutoScreenCarouselSecs", wireType) + } + m.AutoScreenCarouselSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AutoScreenCarouselSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CompassNorthTop", 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.CompassNorthTop = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FlipScreen", 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.FlipScreen = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Units", wireType) + } + m.Units = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Units |= Config_DisplayConfig_DisplayUnits(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Oled", wireType) + } + m.Oled = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Oled |= Config_DisplayConfig_OledType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Displaymode", wireType) + } + m.Displaymode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Displaymode |= Config_DisplayConfig_DisplayMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HeadingBold", 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.HeadingBold = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WakeOnTapOrMotion", 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.WakeOnTapOrMotion = 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_LoRaConfig) 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_LoRaConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_LoRaConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsePreset", 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.UsePreset = bool(v != 0) + case 2: + 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 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Bandwidth", wireType) + } + m.Bandwidth = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Bandwidth |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SpreadFactor", wireType) + } + m.SpreadFactor = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SpreadFactor |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CodingRate", wireType) + } + m.CodingRate = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CodingRate |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field FrequencyOffset", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.FrequencyOffset = float32(math.Float32frombits(v)) + case 7: + 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 8: + 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 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxEnabled", 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.TxEnabled = bool(v != 0) + case 10: + 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 + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelNum", wireType) + } + m.ChannelNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ChannelNum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OverrideDutyCycle", 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.OverrideDutyCycle = bool(v != 0) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Sx126XRxBoostedGain", 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.Sx126XRxBoostedGain = bool(v != 0) + case 14: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field OverrideFrequency", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.OverrideFrequency = float32(math.Float32frombits(v)) + case 103: + 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 + } + } + m.IgnoreIncoming = append(m.IgnoreIncoming, 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.IgnoreIncoming) == 0 { + m.IgnoreIncoming = 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.IgnoreIncoming = append(m.IgnoreIncoming, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field IgnoreIncoming", wireType) + } + case 104: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IgnoreMqtt", 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.IgnoreMqtt = 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_BluetoothConfig) 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_BluetoothConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_BluetoothConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType) + } + m.Mode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Mode |= Config_BluetoothConfig_PairingMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixedPin", wireType) + } + m.FixedPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FixedPin |= 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 *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 { + 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_Position); ok { + if err := oneof.Position.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_PositionConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Position{Position: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Power", 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_Power); ok { + if err := oneof.Power.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_PowerConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Power{Power: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Network", 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_Network); ok { + if err := oneof.Network.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_NetworkConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Network{Network: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Display", 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_Display); ok { + if err := oneof.Display.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_DisplayConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Display{Display: v} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Lora", 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_Lora); ok { + if err := oneof.Lora.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_LoRaConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Lora{Lora: v} + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bluetooth", 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_Bluetooth); ok { + if err := oneof.Bluetooth.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_BluetoothConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Bluetooth{Bluetooth: 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 *Config_DeviceConfig) UnmarshalVTUnsafe(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_DeviceConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_DeviceConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 2: + 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 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) + } + m.ButtonGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ButtonGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BuzzerGpio", wireType) + } + m.BuzzerGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BuzzerGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RebroadcastMode", wireType) + } + m.RebroadcastMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RebroadcastMode |= Config_DeviceConfig_RebroadcastMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeInfoBroadcastSecs", wireType) + } + m.NodeInfoBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeInfoBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DoubleTapAsButtonPress", 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.DoubleTapAsButtonPress = bool(v != 0) + case 9: + 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 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DisableTripleClick", 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.DisableTripleClick = 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_PositionConfig) UnmarshalVTUnsafe(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_PositionConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_PositionConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionBroadcastSecs", wireType) + } + m.PositionBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionBroadcastSmartEnabled", 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.PositionBroadcastSmartEnabled = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixedPosition", 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.FixedPosition = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsEnabled", 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.GpsEnabled = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsUpdateInterval", wireType) + } + m.GpsUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsAttemptTime", wireType) + } + m.GpsAttemptTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsAttemptTime |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PositionFlags", wireType) + } + m.PositionFlags = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionFlags |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxGpio", wireType) + } + m.RxGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxGpio", wireType) + } + m.TxGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TxGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BroadcastSmartMinimumDistance", wireType) + } + m.BroadcastSmartMinimumDistance = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BroadcastSmartMinimumDistance |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BroadcastSmartMinimumIntervalSecs", wireType) + } + m.BroadcastSmartMinimumIntervalSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BroadcastSmartMinimumIntervalSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsEnGpio", wireType) + } + m.GpsEnGpio = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsEnGpio |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsMode", wireType) + } + m.GpsMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsMode |= Config_PositionConfig_GpsMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + 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 + } + } + m.ChannelPrecision = append(m.ChannelPrecision, 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.ChannelPrecision) == 0 { + m.ChannelPrecision = 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.ChannelPrecision = append(m.ChannelPrecision, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelPrecision", 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 *Config_PowerConfig) UnmarshalVTUnsafe(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_PowerConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_PowerConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsPowerSaving", 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.IsPowerSaving = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OnBatteryShutdownAfterSecs", wireType) + } + m.OnBatteryShutdownAfterSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OnBatteryShutdownAfterSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field AdcMultiplierOverride", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.AdcMultiplierOverride = float32(math.Float32frombits(v)) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WaitBluetoothSecs", wireType) + } + m.WaitBluetoothSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.WaitBluetoothSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SdsSecs", wireType) + } + m.SdsSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SdsSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LsSecs", wireType) + } + m.LsSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LsSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinWakeSecs", wireType) + } + m.MinWakeSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinWakeSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceBatteryInaAddress", wireType) + } + m.DeviceBatteryInaAddress = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DeviceBatteryInaAddress |= 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 *Config_NetworkConfig_IpV4Config) UnmarshalVTUnsafe(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_NetworkConfig_IpV4Config: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_NetworkConfig_IpV4Config: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ip", wireType) + } + m.Ip = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Ip = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Gateway", wireType) + } + m.Gateway = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Gateway = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Subnet", wireType) + } + m.Subnet = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Subnet = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Dns", wireType) + } + m.Dns = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.Dns = 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 *Config_NetworkConfig) UnmarshalVTUnsafe(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_NetworkConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_NetworkConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WifiEnabled", 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.WifiEnabled = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WifiSsid", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.WifiSsid = stringValue + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field WifiPsk", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.WifiPsk = stringValue + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NtpServer", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.NtpServer = stringValue + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EthEnabled", 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.EthEnabled = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AddressMode", wireType) + } + m.AddressMode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AddressMode |= Config_NetworkConfig_AddressMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ipv4Config", 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.Ipv4Config == nil { + m.Ipv4Config = &Config_NetworkConfig_IpV4Config{} + } + if err := m.Ipv4Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RsyslogServer", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.RsyslogServer = stringValue + 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 *Config_DisplayConfig) UnmarshalVTUnsafe(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_DisplayConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_DisplayConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScreenOnSecs", wireType) + } + m.ScreenOnSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ScreenOnSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpsFormat", wireType) + } + m.GpsFormat = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpsFormat |= Config_DisplayConfig_GpsCoordinateFormat(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AutoScreenCarouselSecs", wireType) + } + m.AutoScreenCarouselSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AutoScreenCarouselSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CompassNorthTop", 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.CompassNorthTop = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FlipScreen", 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.FlipScreen = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Units", wireType) + } + m.Units = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Units |= Config_DisplayConfig_DisplayUnits(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Oled", wireType) + } + m.Oled = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Oled |= Config_DisplayConfig_OledType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Displaymode", wireType) + } + m.Displaymode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Displaymode |= Config_DisplayConfig_DisplayMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HeadingBold", 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.HeadingBold = bool(v != 0) + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WakeOnTapOrMotion", 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.WakeOnTapOrMotion = 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_LoRaConfig) UnmarshalVTUnsafe(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_LoRaConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_LoRaConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsePreset", 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.UsePreset = bool(v != 0) + case 2: + 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 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Bandwidth", wireType) + } + m.Bandwidth = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Bandwidth |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SpreadFactor", wireType) + } + m.SpreadFactor = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.SpreadFactor |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CodingRate", wireType) + } + m.CodingRate = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.CodingRate |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field FrequencyOffset", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.FrequencyOffset = float32(math.Float32frombits(v)) + case 7: + 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 8: + 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 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxEnabled", 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.TxEnabled = bool(v != 0) + case 10: + 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 + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelNum", wireType) + } + m.ChannelNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ChannelNum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OverrideDutyCycle", 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.OverrideDutyCycle = bool(v != 0) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Sx126XRxBoostedGain", 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.Sx126XRxBoostedGain = bool(v != 0) + case 14: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field OverrideFrequency", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.OverrideFrequency = float32(math.Float32frombits(v)) + case 103: + 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 + } + } + m.IgnoreIncoming = append(m.IgnoreIncoming, 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.IgnoreIncoming) == 0 { + m.IgnoreIncoming = 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.IgnoreIncoming = append(m.IgnoreIncoming, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field IgnoreIncoming", wireType) + } + case 104: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IgnoreMqtt", 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.IgnoreMqtt = 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_BluetoothConfig) UnmarshalVTUnsafe(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_BluetoothConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Config_BluetoothConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType) + } + m.Mode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Mode |= Config_BluetoothConfig_PairingMode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FixedPin", wireType) + } + m.FixedPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FixedPin |= 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 *Config) UnmarshalVTUnsafe(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.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_DeviceConfig{} + if err := v.UnmarshalVTUnsafe(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 { + 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_Position); ok { + if err := oneof.Position.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_PositionConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Position{Position: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Power", 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_Power); ok { + if err := oneof.Power.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_PowerConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Power{Power: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Network", 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_Network); ok { + if err := oneof.Network.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_NetworkConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Network{Network: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Display", 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_Display); ok { + if err := oneof.Display.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_DisplayConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Display{Display: v} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Lora", 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_Lora); ok { + if err := oneof.Lora.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_LoRaConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Lora{Lora: v} + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bluetooth", 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_Bluetooth); ok { + if err := oneof.Bluetooth.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config_BluetoothConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &Config_Bluetooth{Bluetooth: 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/connection_status.pb.go b/meshtastic/connection_status.pb.go new file mode 100644 index 0000000..abe4d5b --- /dev/null +++ b/meshtastic/connection_status.pb.go @@ -0,0 +1,621 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/connection_status.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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 DeviceConnectionStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // WiFi Status + Wifi *WifiConnectionStatus `protobuf:"bytes,1,opt,name=wifi,proto3,oneof" json:"wifi,omitempty"` + // WiFi Status + Ethernet *EthernetConnectionStatus `protobuf:"bytes,2,opt,name=ethernet,proto3,oneof" json:"ethernet,omitempty"` + // 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"` +} + +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) + } +} + +func (x *DeviceConnectionStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceConnectionStatus) ProtoMessage() {} + +func (x *DeviceConnectionStatus) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_connection_status_proto_msgTypes[0] + 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 DeviceConnectionStatus.ProtoReflect.Descriptor instead. +func (*DeviceConnectionStatus) Descriptor() ([]byte, []int) { + return file_meshtastic_connection_status_proto_rawDescGZIP(), []int{0} +} + +func (x *DeviceConnectionStatus) GetWifi() *WifiConnectionStatus { + if x != nil { + return x.Wifi + } + return nil +} + +func (x *DeviceConnectionStatus) GetEthernet() *EthernetConnectionStatus { + if x != nil { + return x.Ethernet + } + return nil +} + +func (x *DeviceConnectionStatus) GetBluetooth() *BluetoothConnectionStatus { + if x != nil { + return x.Bluetooth + } + return nil +} + +func (x *DeviceConnectionStatus) GetSerial() *SerialConnectionStatus { + if x != nil { + return x.Serial + } + return nil +} + +// WiFi connection status +type WifiConnectionStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *WifiConnectionStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WifiConnectionStatus) ProtoMessage() {} + +func (x *WifiConnectionStatus) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_connection_status_proto_msgTypes[1] + 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 WifiConnectionStatus.ProtoReflect.Descriptor instead. +func (*WifiConnectionStatus) Descriptor() ([]byte, []int) { + return file_meshtastic_connection_status_proto_rawDescGZIP(), []int{1} +} + +func (x *WifiConnectionStatus) GetStatus() *NetworkConnectionStatus { + if x != nil { + return x.Status + } + return nil +} + +func (x *WifiConnectionStatus) GetSsid() string { + if x != nil { + return x.Ssid + } + return "" +} + +func (x *WifiConnectionStatus) GetRssi() int32 { + if x != nil { + return x.Rssi + } + return 0 +} + +// Ethernet connection status +type EthernetConnectionStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Connection status + Status *NetworkConnectionStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +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) + } +} + +func (x *EthernetConnectionStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EthernetConnectionStatus) ProtoMessage() {} + +func (x *EthernetConnectionStatus) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_connection_status_proto_msgTypes[2] + 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 EthernetConnectionStatus.ProtoReflect.Descriptor instead. +func (*EthernetConnectionStatus) Descriptor() ([]byte, []int) { + return file_meshtastic_connection_status_proto_rawDescGZIP(), []int{2} +} + +func (x *EthernetConnectionStatus) GetStatus() *NetworkConnectionStatus { + if x != nil { + return x.Status + } + return nil +} + +// Ethernet or WiFi connection status +type NetworkConnectionStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + IsConnected bool `protobuf:"varint,2,opt,name=is_connected,json=isConnected,proto3" json:"is_connected,omitempty"` + // Whether the device has an active connection to an MQTT broker or not + 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"` +} + +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) + } +} + +func (x *NetworkConnectionStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NetworkConnectionStatus) ProtoMessage() {} + +func (x *NetworkConnectionStatus) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_connection_status_proto_msgTypes[3] + 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 NetworkConnectionStatus.ProtoReflect.Descriptor instead. +func (*NetworkConnectionStatus) Descriptor() ([]byte, []int) { + return file_meshtastic_connection_status_proto_rawDescGZIP(), []int{3} +} + +func (x *NetworkConnectionStatus) GetIpAddress() uint32 { + if x != nil { + return x.IpAddress + } + return 0 +} + +func (x *NetworkConnectionStatus) GetIsConnected() bool { + if x != nil { + return x.IsConnected + } + return false +} + +func (x *NetworkConnectionStatus) GetIsMqttConnected() bool { + if x != nil { + return x.IsMqttConnected + } + return false +} + +func (x *NetworkConnectionStatus) GetIsSyslogConnected() bool { + if x != nil { + return x.IsSyslogConnected + } + return false +} + +// Bluetooth connection status +type BluetoothConnectionStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *BluetoothConnectionStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BluetoothConnectionStatus) ProtoMessage() {} + +func (x *BluetoothConnectionStatus) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_connection_status_proto_msgTypes[4] + 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 BluetoothConnectionStatus.ProtoReflect.Descriptor instead. +func (*BluetoothConnectionStatus) Descriptor() ([]byte, []int) { + return file_meshtastic_connection_status_proto_rawDescGZIP(), []int{4} +} + +func (x *BluetoothConnectionStatus) GetPin() uint32 { + if x != nil { + return x.Pin + } + return 0 +} + +func (x *BluetoothConnectionStatus) GetRssi() int32 { + if x != nil { + return x.Rssi + } + return 0 +} + +func (x *BluetoothConnectionStatus) GetIsConnected() bool { + if x != nil { + return x.IsConnected + } + return false +} + +// Serial connection status +type SerialConnectionStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *SerialConnectionStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SerialConnectionStatus) ProtoMessage() {} + +func (x *SerialConnectionStatus) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_connection_status_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 SerialConnectionStatus.ProtoReflect.Descriptor instead. +func (*SerialConnectionStatus) Descriptor() ([]byte, []int) { + return file_meshtastic_connection_status_proto_rawDescGZIP(), []int{5} +} + +func (x *SerialConnectionStatus) GetBaud() uint32 { + if x != nil { + return x.Baud + } + return 0 +} + +func (x *SerialConnectionStatus) GetIsConnected() bool { + if x != nil { + return x.IsConnected + } + return false +} + +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, +} + +var ( + file_meshtastic_connection_status_proto_rawDescOnce sync.Once + file_meshtastic_connection_status_proto_rawDescData = file_meshtastic_connection_status_proto_rawDesc +) + +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) + }) + 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{}{ + (*DeviceConnectionStatus)(nil), // 0: meshtastic.DeviceConnectionStatus + (*WifiConnectionStatus)(nil), // 1: meshtastic.WifiConnectionStatus + (*EthernetConnectionStatus)(nil), // 2: meshtastic.EthernetConnectionStatus + (*NetworkConnectionStatus)(nil), // 3: meshtastic.NetworkConnectionStatus + (*BluetoothConnectionStatus)(nil), // 4: meshtastic.BluetoothConnectionStatus + (*SerialConnectionStatus)(nil), // 5: meshtastic.SerialConnectionStatus +} +var file_meshtastic_connection_status_proto_depIdxs = []int32{ + 1, // 0: meshtastic.DeviceConnectionStatus.wifi:type_name -> meshtastic.WifiConnectionStatus + 2, // 1: meshtastic.DeviceConnectionStatus.ethernet:type_name -> meshtastic.EthernetConnectionStatus + 4, // 2: meshtastic.DeviceConnectionStatus.bluetooth:type_name -> meshtastic.BluetoothConnectionStatus + 5, // 3: meshtastic.DeviceConnectionStatus.serial:type_name -> meshtastic.SerialConnectionStatus + 3, // 4: meshtastic.WifiConnectionStatus.status:type_name -> meshtastic.NetworkConnectionStatus + 3, // 5: meshtastic.EthernetConnectionStatus.status:type_name -> meshtastic.NetworkConnectionStatus + 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_connection_status_proto_init() } +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{}{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_connection_status_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_connection_status_proto_goTypes, + DependencyIndexes: file_meshtastic_connection_status_proto_depIdxs, + 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/connection_status_vtproto.pb.go b/meshtastic/connection_status_vtproto.pb.go new file mode 100644 index 0000000..a3918ea --- /dev/null +++ b/meshtastic/connection_status_vtproto.pb.go @@ -0,0 +1,2567 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/connection_status.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *DeviceConnectionStatus) CloneVT() *DeviceConnectionStatus { + if m == nil { + return (*DeviceConnectionStatus)(nil) + } + r := new(DeviceConnectionStatus) + r.Wifi = m.Wifi.CloneVT() + r.Ethernet = m.Ethernet.CloneVT() + r.Bluetooth = m.Bluetooth.CloneVT() + r.Serial = m.Serial.CloneVT() + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *DeviceConnectionStatus) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *WifiConnectionStatus) CloneVT() *WifiConnectionStatus { + if m == nil { + return (*WifiConnectionStatus)(nil) + } + r := new(WifiConnectionStatus) + r.Status = m.Status.CloneVT() + r.Ssid = m.Ssid + r.Rssi = m.Rssi + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *WifiConnectionStatus) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *EthernetConnectionStatus) CloneVT() *EthernetConnectionStatus { + if m == nil { + return (*EthernetConnectionStatus)(nil) + } + r := new(EthernetConnectionStatus) + r.Status = m.Status.CloneVT() + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *EthernetConnectionStatus) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *NetworkConnectionStatus) CloneVT() *NetworkConnectionStatus { + if m == nil { + return (*NetworkConnectionStatus)(nil) + } + r := new(NetworkConnectionStatus) + r.IpAddress = m.IpAddress + r.IsConnected = m.IsConnected + r.IsMqttConnected = m.IsMqttConnected + r.IsSyslogConnected = m.IsSyslogConnected + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *NetworkConnectionStatus) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *BluetoothConnectionStatus) CloneVT() *BluetoothConnectionStatus { + if m == nil { + return (*BluetoothConnectionStatus)(nil) + } + r := new(BluetoothConnectionStatus) + r.Pin = m.Pin + r.Rssi = m.Rssi + r.IsConnected = m.IsConnected + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *BluetoothConnectionStatus) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *SerialConnectionStatus) CloneVT() *SerialConnectionStatus { + if m == nil { + return (*SerialConnectionStatus)(nil) + } + r := new(SerialConnectionStatus) + r.Baud = m.Baud + r.IsConnected = m.IsConnected + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *SerialConnectionStatus) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *DeviceConnectionStatus) EqualVT(that *DeviceConnectionStatus) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Wifi.EqualVT(that.Wifi) { + return false + } + if !this.Ethernet.EqualVT(that.Ethernet) { + return false + } + if !this.Bluetooth.EqualVT(that.Bluetooth) { + return false + } + if !this.Serial.EqualVT(that.Serial) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *DeviceConnectionStatus) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*DeviceConnectionStatus) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *WifiConnectionStatus) EqualVT(that *WifiConnectionStatus) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Status.EqualVT(that.Status) { + return false + } + if this.Ssid != that.Ssid { + return false + } + if this.Rssi != that.Rssi { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *WifiConnectionStatus) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*WifiConnectionStatus) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *EthernetConnectionStatus) EqualVT(that *EthernetConnectionStatus) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Status.EqualVT(that.Status) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *EthernetConnectionStatus) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*EthernetConnectionStatus) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *NetworkConnectionStatus) EqualVT(that *NetworkConnectionStatus) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.IpAddress != that.IpAddress { + return false + } + if this.IsConnected != that.IsConnected { + return false + } + if this.IsMqttConnected != that.IsMqttConnected { + return false + } + if this.IsSyslogConnected != that.IsSyslogConnected { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *NetworkConnectionStatus) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*NetworkConnectionStatus) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *BluetoothConnectionStatus) EqualVT(that *BluetoothConnectionStatus) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Pin != that.Pin { + return false + } + if this.Rssi != that.Rssi { + return false + } + if this.IsConnected != that.IsConnected { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *BluetoothConnectionStatus) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*BluetoothConnectionStatus) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *SerialConnectionStatus) EqualVT(that *SerialConnectionStatus) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Baud != that.Baud { + return false + } + if this.IsConnected != that.IsConnected { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *SerialConnectionStatus) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*SerialConnectionStatus) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *DeviceConnectionStatus) 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 *DeviceConnectionStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DeviceConnectionStatus) 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.Serial != nil { + size, err := m.Serial.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Bluetooth != nil { + size, err := m.Bluetooth.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Ethernet != nil { + size, err := m.Ethernet.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Wifi != nil { + size, err := m.Wifi.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 *WifiConnectionStatus) 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 *WifiConnectionStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *WifiConnectionStatus) 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.Rssi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rssi)) + i-- + dAtA[i] = 0x18 + } + if len(m.Ssid) > 0 { + i -= len(m.Ssid) + copy(dAtA[i:], m.Ssid) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Ssid))) + i-- + dAtA[i] = 0x12 + } + if m.Status != nil { + size, err := m.Status.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 *EthernetConnectionStatus) 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 *EthernetConnectionStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *EthernetConnectionStatus) 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.Status != nil { + size, err := m.Status.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 *NetworkConnectionStatus) 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 *NetworkConnectionStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NetworkConnectionStatus) 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.IsSyslogConnected { + i-- + if m.IsSyslogConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.IsMqttConnected { + i-- + if m.IsMqttConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.IsConnected { + i-- + if m.IsConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.IpAddress != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.IpAddress)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *BluetoothConnectionStatus) 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 *BluetoothConnectionStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *BluetoothConnectionStatus) 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.IsConnected { + i-- + if m.IsConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Rssi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rssi)) + i-- + dAtA[i] = 0x10 + } + if m.Pin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pin)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *SerialConnectionStatus) 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 *SerialConnectionStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SerialConnectionStatus) 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.IsConnected { + i-- + if m.IsConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Baud != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Baud)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *DeviceConnectionStatus) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeviceConnectionStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *DeviceConnectionStatus) MarshalToSizedBufferVTStrict(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.Serial != nil { + size, err := m.Serial.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Bluetooth != nil { + size, err := m.Bluetooth.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Ethernet != nil { + size, err := m.Ethernet.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Wifi != nil { + size, err := m.Wifi.MarshalToSizedBufferVTStrict(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 *WifiConnectionStatus) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *WifiConnectionStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *WifiConnectionStatus) MarshalToSizedBufferVTStrict(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.Rssi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rssi)) + i-- + dAtA[i] = 0x18 + } + if len(m.Ssid) > 0 { + i -= len(m.Ssid) + copy(dAtA[i:], m.Ssid) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Ssid))) + i-- + dAtA[i] = 0x12 + } + if m.Status != nil { + size, err := m.Status.MarshalToSizedBufferVTStrict(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 *EthernetConnectionStatus) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EthernetConnectionStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *EthernetConnectionStatus) MarshalToSizedBufferVTStrict(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.Status != nil { + size, err := m.Status.MarshalToSizedBufferVTStrict(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 *NetworkConnectionStatus) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NetworkConnectionStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *NetworkConnectionStatus) MarshalToSizedBufferVTStrict(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.IsSyslogConnected { + i-- + if m.IsSyslogConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.IsMqttConnected { + i-- + if m.IsMqttConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.IsConnected { + i-- + if m.IsConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.IpAddress != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.IpAddress)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *BluetoothConnectionStatus) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BluetoothConnectionStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *BluetoothConnectionStatus) MarshalToSizedBufferVTStrict(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.IsConnected { + i-- + if m.IsConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Rssi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rssi)) + i-- + dAtA[i] = 0x10 + } + if m.Pin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pin)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *SerialConnectionStatus) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *SerialConnectionStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *SerialConnectionStatus) MarshalToSizedBufferVTStrict(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.IsConnected { + i-- + if m.IsConnected { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Baud != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Baud)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *DeviceConnectionStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Wifi != nil { + l = m.Wifi.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Ethernet != nil { + l = m.Ethernet.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Bluetooth != nil { + l = m.Bluetooth.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Serial != nil { + l = m.Serial.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *WifiConnectionStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Status != nil { + l = m.Status.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Ssid) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Rssi != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Rssi)) + } + n += len(m.unknownFields) + return n +} + +func (m *EthernetConnectionStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Status != nil { + l = m.Status.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *NetworkConnectionStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.IpAddress != 0 { + n += 5 + } + if m.IsConnected { + n += 2 + } + if m.IsMqttConnected { + n += 2 + } + if m.IsSyslogConnected { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *BluetoothConnectionStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pin != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Pin)) + } + if m.Rssi != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Rssi)) + } + if m.IsConnected { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *SerialConnectionStatus) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Baud != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Baud)) + } + if m.IsConnected { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *DeviceConnectionStatus) 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: DeviceConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Wifi", 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.Wifi == nil { + m.Wifi = &WifiConnectionStatus{} + } + if err := m.Wifi.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ethernet", 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.Ethernet == nil { + m.Ethernet = &EthernetConnectionStatus{} + } + if err := m.Ethernet.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bluetooth", 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.Bluetooth == nil { + m.Bluetooth = &BluetoothConnectionStatus{} + } + if err := m.Bluetooth.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Serial", 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.Serial == nil { + m.Serial = &SerialConnectionStatus{} + } + if err := m.Serial.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 *WifiConnectionStatus) 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: WifiConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: WifiConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status == nil { + m.Status = &NetworkConnectionStatus{} + } + if err := m.Status.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ssid", 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.Ssid = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rssi", wireType) + } + m.Rssi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rssi |= 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 *EthernetConnectionStatus) 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: EthernetConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EthernetConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status == nil { + m.Status = &NetworkConnectionStatus{} + } + if err := m.Status.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 *NetworkConnectionStatus) 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: NetworkConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NetworkConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field IpAddress", wireType) + } + m.IpAddress = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.IpAddress = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsConnected", 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.IsConnected = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsMqttConnected", 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.IsMqttConnected = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsSyslogConnected", 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.IsSyslogConnected = 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 *BluetoothConnectionStatus) 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: BluetoothConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BluetoothConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pin", wireType) + } + m.Pin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rssi", wireType) + } + m.Rssi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rssi |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsConnected", 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.IsConnected = 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 *SerialConnectionStatus) 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: SerialConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SerialConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Baud", wireType) + } + m.Baud = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Baud |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsConnected", 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.IsConnected = 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 *DeviceConnectionStatus) UnmarshalVTUnsafe(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: DeviceConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Wifi", 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.Wifi == nil { + m.Wifi = &WifiConnectionStatus{} + } + if err := m.Wifi.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ethernet", 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.Ethernet == nil { + m.Ethernet = &EthernetConnectionStatus{} + } + if err := m.Ethernet.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bluetooth", 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.Bluetooth == nil { + m.Bluetooth = &BluetoothConnectionStatus{} + } + if err := m.Bluetooth.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Serial", 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.Serial == nil { + m.Serial = &SerialConnectionStatus{} + } + if err := m.Serial.UnmarshalVTUnsafe(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 *WifiConnectionStatus) UnmarshalVTUnsafe(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: WifiConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: WifiConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status == nil { + m.Status = &NetworkConnectionStatus{} + } + if err := m.Status.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ssid", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Ssid = stringValue + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rssi", wireType) + } + m.Rssi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rssi |= 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 *EthernetConnectionStatus) UnmarshalVTUnsafe(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: EthernetConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EthernetConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status == nil { + m.Status = &NetworkConnectionStatus{} + } + if err := m.Status.UnmarshalVTUnsafe(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 *NetworkConnectionStatus) UnmarshalVTUnsafe(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: NetworkConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NetworkConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field IpAddress", wireType) + } + m.IpAddress = 0 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + m.IpAddress = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsConnected", 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.IsConnected = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsMqttConnected", 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.IsMqttConnected = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsSyslogConnected", 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.IsSyslogConnected = 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 *BluetoothConnectionStatus) UnmarshalVTUnsafe(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: BluetoothConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BluetoothConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pin", wireType) + } + m.Pin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rssi", wireType) + } + m.Rssi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rssi |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsConnected", 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.IsConnected = 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 *SerialConnectionStatus) UnmarshalVTUnsafe(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: SerialConnectionStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SerialConnectionStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Baud", wireType) + } + m.Baud = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Baud |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsConnected", 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.IsConnected = 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 new file mode 100644 index 0000000..fe7bdc6 --- /dev/null +++ b/meshtastic/deviceonly.pb.go @@ -0,0 +1,927 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/deviceonly.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// TODO: REPLACE +type ScreenFonts int32 + +const ( + // TODO: REPLACE + ScreenFonts_FONT_SMALL ScreenFonts = 0 + // TODO: REPLACE + ScreenFonts_FONT_MEDIUM ScreenFonts = 1 + // 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, + } +) + +func (x ScreenFonts) Enum() *ScreenFonts { + p := new(ScreenFonts) + *p = x + return p +} + +func (x ScreenFonts) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ScreenFonts) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_deviceonly_proto_enumTypes[0].Descriptor() +} + +func (ScreenFonts) Type() protoreflect.EnumType { + return &file_meshtastic_deviceonly_proto_enumTypes[0] +} + +func (x ScreenFonts) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ScreenFonts.Descriptor instead. +func (ScreenFonts) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{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 + + // 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 *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 *DeviceState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceState) ProtoMessage() {} + +func (x *DeviceState) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[0] + 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 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 +} + +func (x *DeviceState) GetReceiveQueue() []*MeshPacket { + if x != nil { + return x.ReceiveQueue + } + return nil +} + +func (x *DeviceState) GetVersion() uint32 { + if x != nil { + return x.Version + } + return 0 +} + +func (x *DeviceState) GetRxTextMessage() *MeshPacket { + if x != nil { + return x.RxTextMessage + } + return nil +} + +func (x *DeviceState) GetNoSave() bool { + if x != nil { + return x.NoSave + } + return false +} + +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 +} + +func (x *DeviceState) GetNodeDbLite() []*NodeInfoLite { + if x != nil { + return x.NodeDbLite + } + return nil +} + +type NodeInfoLite struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // 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"` + // Returns the Signal-to-noise ratio (SNR) of the last received message, + // as measured by the receiver. Return SNR of the last received message in dB + Snr float32 `protobuf:"fixed32,4,opt,name=snr,proto3" json:"snr,omitempty"` + // Set to indicate the last time we received a packet from this node + LastHeard uint32 `protobuf:"fixed32,5,opt,name=last_heard,json=lastHeard,proto3" json:"last_heard,omitempty"` + // The latest device metrics for the node. + 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"` +} + +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) + } +} + +func (x *NodeInfoLite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeInfoLite) ProtoMessage() {} + +func (x *NodeInfoLite) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[1] + 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 NodeInfoLite.ProtoReflect.Descriptor instead. +func (*NodeInfoLite) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{1} +} + +func (x *NodeInfoLite) GetNum() uint32 { + if x != nil { + return x.Num + } + return 0 +} + +func (x *NodeInfoLite) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *NodeInfoLite) GetPosition() *PositionLite { + if x != nil { + return x.Position + } + return nil +} + +func (x *NodeInfoLite) GetSnr() float32 { + if x != nil { + return x.Snr + } + return 0 +} + +func (x *NodeInfoLite) GetLastHeard() uint32 { + if x != nil { + return x.LastHeard + } + return 0 +} + +func (x *NodeInfoLite) GetDeviceMetrics() *DeviceMetrics { + if x != nil { + return x.DeviceMetrics + } + return nil +} + +func (x *NodeInfoLite) GetChannel() uint32 { + if x != nil { + return x.Channel + } + return 0 +} + +// Position with static location information only for NodeDBLite +type PositionLite struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 *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 *PositionLite) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionLite) ProtoMessage() {} + +func (x *PositionLite) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[2] + 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 PositionLite.ProtoReflect.Descriptor instead. +func (*PositionLite) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{2} +} + +func (x *PositionLite) GetLatitudeI() int32 { + if x != nil { + return x.LatitudeI + } + return 0 +} + +func (x *PositionLite) GetLongitudeI() int32 { + if x != nil { + return x.LongitudeI + } + return 0 +} + +func (x *PositionLite) GetAltitude() int32 { + if x != nil { + return x.Altitude + } + return 0 +} + +func (x *PositionLite) GetTime() uint32 { + if x != nil { + return x.Time + } + return 0 +} + +func (x *PositionLite) GetLocationSource() Position_LocSource { + if x != nil { + return x.LocationSource + } + return Position_LOC_UNSET +} + +// The on-disk saved channels +type ChannelFile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *ChannelFile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelFile) ProtoMessage() {} + +func (x *ChannelFile) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[3] + 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 ChannelFile.ProtoReflect.Descriptor instead. +func (*ChannelFile) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{3} +} + +func (x *ChannelFile) GetChannels() []*Channel { + if x != nil { + return x.Channels + } + return nil +} + +func (x *ChannelFile) GetVersion() uint32 { + if x != nil { + return x.Version + } + 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 + unknownFields protoimpl.UnknownFields + + // 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 *OEMStore) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OEMStore) ProtoMessage() {} + +func (x *OEMStore) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_deviceonly_proto_msgTypes[4] + 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 OEMStore.ProtoReflect.Descriptor instead. +func (*OEMStore) Descriptor() ([]byte, []int) { + return file_meshtastic_deviceonly_proto_rawDescGZIP(), []int{4} +} + +func (x *OEMStore) GetOemIconWidth() uint32 { + if x != nil { + return x.OemIconWidth + } + return 0 +} + +func (x *OEMStore) GetOemIconHeight() uint32 { + if x != nil { + return x.OemIconHeight + } + 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 { + if x != nil { + return x.OemText + } + return "" +} + +func (x *OEMStore) GetOemAesKey() []byte { + if x != nil { + return x.OemAesKey + } + return nil +} + +func (x *OEMStore) GetOemLocalConfig() *LocalConfig { + if x != nil { + return x.OemLocalConfig + } + return nil +} + +func (x *OEMStore) GetOemLocalModuleConfig() *LocalModuleConfig { + if x != nil { + return x.OemLocalModuleConfig + } + 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 { + if x != nil { + return x.NodeNum + } + return 0 +} + +func (x *NodeRemoteHardwarePin) GetPin() *RemoteHardwarePin { + if x != nil { + return x.Pin + } + 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, +} + +var ( + file_meshtastic_deviceonly_proto_rawDescOnce sync.Once + file_meshtastic_deviceonly_proto_rawDescData = file_meshtastic_deviceonly_proto_rawDesc +) + +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) + }) + 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 + (*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 + (*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 +} +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 +} + +func init() { file_meshtastic_deviceonly_proto_init() } +func file_meshtastic_deviceonly_proto_init() { + if File_meshtastic_deviceonly_proto != nil { + 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 + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_deviceonly_proto_rawDesc, + NumEnums: 1, + NumMessages: 6, + 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 new file mode 100644 index 0000000..b54d608 --- /dev/null +++ b/meshtastic/deviceonly_vtproto.pb.go @@ -0,0 +1,3925 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/deviceonly.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" + 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) +) + +func (m *DeviceState) CloneVT() *DeviceState { + if m == nil { + return (*DeviceState)(nil) + } + r := new(DeviceState) + r.MyNode = m.MyNode.CloneVT() + r.Owner = m.Owner.CloneVT() + r.Version = m.Version + r.RxTextMessage = m.RxTextMessage.CloneVT() + r.NoSave = m.NoSave + r.DidGpsReset = m.DidGpsReset + r.RxWaypoint = m.RxWaypoint.CloneVT() + if rhs := m.ReceiveQueue; rhs != nil { + tmpContainer := make([]*MeshPacket, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.ReceiveQueue = tmpContainer + } + if rhs := m.NodeRemoteHardwarePins; rhs != nil { + tmpContainer := make([]*NodeRemoteHardwarePin, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.NodeRemoteHardwarePins = tmpContainer + } + if rhs := m.NodeDbLite; rhs != nil { + tmpContainer := make([]*NodeInfoLite, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.NodeDbLite = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *DeviceState) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *NodeInfoLite) CloneVT() *NodeInfoLite { + if m == nil { + return (*NodeInfoLite)(nil) + } + r := new(NodeInfoLite) + r.Num = m.Num + r.User = m.User.CloneVT() + r.Position = m.Position.CloneVT() + r.Snr = m.Snr + r.LastHeard = m.LastHeard + r.DeviceMetrics = m.DeviceMetrics.CloneVT() + r.Channel = m.Channel + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *NodeInfoLite) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *PositionLite) CloneVT() *PositionLite { + if m == nil { + return (*PositionLite)(nil) + } + r := new(PositionLite) + r.LatitudeI = m.LatitudeI + r.LongitudeI = m.LongitudeI + r.Altitude = m.Altitude + r.Time = m.Time + r.LocationSource = m.LocationSource + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *PositionLite) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ChannelFile) CloneVT() *ChannelFile { + if m == nil { + return (*ChannelFile)(nil) + } + r := new(ChannelFile) + r.Version = m.Version + if rhs := m.Channels; rhs != nil { + tmpContainer := make([]*Channel, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Channels = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ChannelFile) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *OEMStore) CloneVT() *OEMStore { + if m == nil { + return (*OEMStore)(nil) + } + r := new(OEMStore) + r.OemIconWidth = m.OemIconWidth + r.OemIconHeight = m.OemIconHeight + r.OemFont = m.OemFont + r.OemText = m.OemText + r.OemLocalConfig = m.OemLocalConfig.CloneVT() + r.OemLocalModuleConfig = m.OemLocalModuleConfig.CloneVT() + if rhs := m.OemIconBits; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.OemIconBits = tmpBytes + } + if rhs := m.OemAesKey; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.OemAesKey = tmpBytes + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *OEMStore) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *NodeRemoteHardwarePin) CloneVT() *NodeRemoteHardwarePin { + if m == nil { + return (*NodeRemoteHardwarePin)(nil) + } + r := new(NodeRemoteHardwarePin) + r.NodeNum = m.NodeNum + r.Pin = m.Pin.CloneVT() + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *NodeRemoteHardwarePin) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *DeviceState) EqualVT(that *DeviceState) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.MyNode.EqualVT(that.MyNode) { + return false + } + if !this.Owner.EqualVT(that.Owner) { + return false + } + if len(this.ReceiveQueue) != len(that.ReceiveQueue) { + return false + } + for i, vx := range this.ReceiveQueue { + vy := that.ReceiveQueue[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &MeshPacket{} + } + if q == nil { + q = &MeshPacket{} + } + if !p.EqualVT(q) { + return false + } + } + } + if !this.RxTextMessage.EqualVT(that.RxTextMessage) { + return false + } + if this.Version != that.Version { + return false + } + if this.NoSave != that.NoSave { + return false + } + if this.DidGpsReset != that.DidGpsReset { + return false + } + if !this.RxWaypoint.EqualVT(that.RxWaypoint) { + return false + } + if len(this.NodeRemoteHardwarePins) != len(that.NodeRemoteHardwarePins) { + return false + } + for i, vx := range this.NodeRemoteHardwarePins { + vy := that.NodeRemoteHardwarePins[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &NodeRemoteHardwarePin{} + } + if q == nil { + q = &NodeRemoteHardwarePin{} + } + if !p.EqualVT(q) { + return false + } + } + } + if len(this.NodeDbLite) != len(that.NodeDbLite) { + return false + } + for i, vx := range this.NodeDbLite { + vy := that.NodeDbLite[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &NodeInfoLite{} + } + if q == nil { + q = &NodeInfoLite{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *DeviceState) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*DeviceState) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *NodeInfoLite) EqualVT(that *NodeInfoLite) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Num != that.Num { + return false + } + if !this.User.EqualVT(that.User) { + return false + } + if !this.Position.EqualVT(that.Position) { + return false + } + if this.Snr != that.Snr { + return false + } + if this.LastHeard != that.LastHeard { + return false + } + if !this.DeviceMetrics.EqualVT(that.DeviceMetrics) { + return false + } + if this.Channel != that.Channel { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *NodeInfoLite) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*NodeInfoLite) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *PositionLite) EqualVT(that *PositionLite) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.LatitudeI != that.LatitudeI { + return false + } + if this.LongitudeI != that.LongitudeI { + return false + } + if this.Altitude != that.Altitude { + return false + } + if this.Time != that.Time { + return false + } + if this.LocationSource != that.LocationSource { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *PositionLite) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*PositionLite) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ChannelFile) EqualVT(that *ChannelFile) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Channels) != len(that.Channels) { + return false + } + for i, vx := range this.Channels { + vy := that.Channels[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Channel{} + } + if q == nil { + q = &Channel{} + } + if !p.EqualVT(q) { + return false + } + } + } + if this.Version != that.Version { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ChannelFile) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ChannelFile) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *OEMStore) EqualVT(that *OEMStore) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.OemIconWidth != that.OemIconWidth { + return false + } + if this.OemIconHeight != that.OemIconHeight { + return false + } + if string(this.OemIconBits) != string(that.OemIconBits) { + return false + } + if this.OemFont != that.OemFont { + return false + } + if this.OemText != that.OemText { + return false + } + if string(this.OemAesKey) != string(that.OemAesKey) { + return false + } + if !this.OemLocalConfig.EqualVT(that.OemLocalConfig) { + return false + } + if !this.OemLocalModuleConfig.EqualVT(that.OemLocalModuleConfig) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *OEMStore) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*OEMStore) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *NodeRemoteHardwarePin) EqualVT(that *NodeRemoteHardwarePin) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.NodeNum != that.NodeNum { + return false + } + if !this.Pin.EqualVT(that.Pin) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *NodeRemoteHardwarePin) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*NodeRemoteHardwarePin) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *DeviceState) 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 *DeviceState) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DeviceState) 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.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 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.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] = 0x62 + } + if m.DidGpsReset { + i-- + if m.DidGpsReset { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.NoSave { + i-- + if m.NoSave { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x40 + } + 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 + } + 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 *NodeInfoLite) 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 *NodeInfoLite) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NodeInfoLite) 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 m.DeviceMetrics != nil { + size, err := m.DeviceMetrics.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.LastHeard != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LastHeard)) + i-- + dAtA[i] = 0x2d + } + if m.Snr != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Snr)))) + i-- + dAtA[i] = 0x25 + } + if m.Position != nil { + size, err := m.Position.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + 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.Num != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Num)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *PositionLite) 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 *PositionLite) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PositionLite) 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.LocationSource != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LocationSource)) + i-- + dAtA[i] = 0x28 + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x25 + } + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + i-- + dAtA[i] = 0x18 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0xd + } + 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]) +} + +func (m *ChannelFile) 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.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x10 + } + if len(m.Channels) > 0 { + for iNdEx := len(m.Channels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Channels[iNdEx].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 *OEMStore) 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 *OEMStore) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *OEMStore) 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.OemLocalModuleConfig != nil { + size, err := m.OemLocalModuleConfig.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.OemLocalConfig != nil { + size, err := m.OemLocalConfig.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)) + i-- + dAtA[i] = 0x20 + } + if len(m.OemIconBits) > 0 { + i -= len(m.OemIconBits) + copy(dAtA[i:], m.OemIconBits) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OemIconBits))) + i-- + dAtA[i] = 0x1a + } + if m.OemIconHeight != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OemIconHeight)) + i-- + dAtA[i] = 0x10 + } + if m.OemIconWidth != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OemIconWidth)) + 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) { + 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.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 *DeviceState) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeviceState) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *DeviceState) MarshalToSizedBufferVTStrict(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.NodeDbLite) > 0 { + for iNdEx := len(m.NodeDbLite) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.NodeDbLite[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x72 + } + } + if len(m.NodeRemoteHardwarePins) > 0 { + for iNdEx := len(m.NodeRemoteHardwarePins) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.NodeRemoteHardwarePins[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + } + if m.RxWaypoint != nil { + size, err := m.RxWaypoint.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + if m.DidGpsReset { + i-- + if m.DidGpsReset { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.NoSave { + i-- + if m.NoSave { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x40 + } + if m.RxTextMessage != nil { + size, err := m.RxTextMessage.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if len(m.ReceiveQueue) > 0 { + for iNdEx := len(m.ReceiveQueue) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.ReceiveQueue[iNdEx].MarshalToSizedBufferVTStrict(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.MarshalToSizedBufferVTStrict(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.MarshalToSizedBufferVTStrict(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 *NodeInfoLite) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NodeInfoLite) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *NodeInfoLite) MarshalToSizedBufferVTStrict(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 m.DeviceMetrics != nil { + size, err := m.DeviceMetrics.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.LastHeard != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LastHeard)) + i-- + dAtA[i] = 0x2d + } + if m.Snr != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Snr)))) + i-- + dAtA[i] = 0x25 + } + if m.Position != nil { + size, err := m.Position.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.User != nil { + size, err := m.User.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Num != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Num)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *PositionLite) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PositionLite) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *PositionLite) MarshalToSizedBufferVTStrict(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.LocationSource != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LocationSource)) + i-- + dAtA[i] = 0x28 + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x25 + } + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + i-- + dAtA[i] = 0x18 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *ChannelFile) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ChannelFile) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ChannelFile) MarshalToSizedBufferVTStrict(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.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x10 + } + if len(m.Channels) > 0 { + for iNdEx := len(m.Channels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Channels[iNdEx].MarshalToSizedBufferVTStrict(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 *OEMStore) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OEMStore) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *OEMStore) MarshalToSizedBufferVTStrict(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.OemLocalModuleConfig != nil { + size, err := m.OemLocalModuleConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.OemLocalConfig != nil { + size, err := m.OemLocalConfig.MarshalToSizedBufferVTStrict(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)) + i-- + dAtA[i] = 0x20 + } + if len(m.OemIconBits) > 0 { + i -= len(m.OemIconBits) + copy(dAtA[i:], m.OemIconBits) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OemIconBits))) + i-- + dAtA[i] = 0x1a + } + if m.OemIconHeight != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OemIconHeight)) + i-- + dAtA[i] = 0x10 + } + if m.OemIconWidth != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OemIconWidth)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *NodeRemoteHardwarePin) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NodeRemoteHardwarePin) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *NodeRemoteHardwarePin) MarshalToSizedBufferVTStrict(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.Pin != nil { + size, err := m.Pin.MarshalToSizedBufferVTStrict(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 *DeviceState) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + 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)) + } + } + if len(m.NodeDbLite) > 0 { + for _, e := range m.NodeDbLite { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *NodeInfoLite) 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.User != nil { + l = m.User.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + 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)) + } + n += len(m.unknownFields) + return n +} + +func (m *PositionLite) 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)) + } + n += len(m.unknownFields) + return n +} + +func (m *ChannelFile) SizeVT() (n int) { + if m == nil { + return 0 + } + 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.Version != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) + } + n += len(m.unknownFields) + return n +} + +func (m *OEMStore) 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.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)) + } + l = len(m.OemAesKey) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.OemLocalConfig != nil { + l = m.OemLocalConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.OemLocalModuleConfig != nil { + l = m.OemLocalModuleConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(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 *DeviceState) 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: DeviceState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MyNode", 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.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 Owner", 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.Owner == nil { + m.Owner = &User{} + } + if err := m.Owner.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceiveQueue", 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 + } + 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 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RxTextMessage", 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.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 RxWaypoint", 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.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) + } + 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 + } + 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) + } + 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 + } + 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:]) + 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 { + 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 + 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 + } + 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.Position == nil { + m.Position = &PositionLite{} + } + 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) + } + 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.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) + } + 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 + } + } + 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 *PositionLite) 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: PositionLite: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 *ChannelFile) 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: ChannelFile: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ChannelFile: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Channels", 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 + } + m.Channels = append(m.Channels, &Channel{}) + if err := m.Channels[len(m.Channels)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + 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 + } + } + 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 *OEMStore) 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: OEMStore: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OEMStore: 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) + } + m.OemIconWidth = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OemIconWidth |= 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 postIndex > 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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OemText", 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.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 + } + m.OemAesKey = append(m.OemAesKey[:0], dAtA[iNdEx:postIndex]...) + if m.OemAesKey == nil { + m.OemAesKey = []byte{} + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OemLocalConfig", 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.OemLocalConfig == nil { + m.OemLocalConfig = &LocalConfig{} + } + if err := m.OemLocalConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OemLocalModuleConfig", 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.OemLocalModuleConfig == nil { + m.OemLocalModuleConfig = &LocalModuleConfig{} + } + if err := m.OemLocalModuleConfig.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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pin", 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.Pin == nil { + m.Pin = &RemoteHardwarePin{} + } + if err := m.Pin.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 *DeviceState) UnmarshalVTUnsafe(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: DeviceState: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceState: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MyNode", 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.MyNode == nil { + m.MyNode = &MyNodeInfo{} + } + if err := m.MyNode.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Owner", 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.Owner == nil { + m.Owner = &User{} + } + if err := m.Owner.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ReceiveQueue", 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 + } + m.ReceiveQueue = append(m.ReceiveQueue, &MeshPacket{}) + if err := m.ReceiveQueue[len(m.ReceiveQueue)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RxTextMessage", 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.RxTextMessage == nil { + m.RxTextMessage = &MeshPacket{} + } + if err := m.RxTextMessage.UnmarshalVTUnsafe(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 RxWaypoint", 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.RxWaypoint == nil { + m.RxWaypoint = &MeshPacket{} + } + if err := m.RxWaypoint.UnmarshalVTUnsafe(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) + } + 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 + } + m.NodeRemoteHardwarePins = append(m.NodeRemoteHardwarePins, &NodeRemoteHardwarePin{}) + if err := m.NodeRemoteHardwarePins[len(m.NodeRemoteHardwarePins)-1].UnmarshalVTUnsafe(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) + } + 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 + } + m.NodeDbLite = append(m.NodeDbLite, &NodeInfoLite{}) + if err := m.NodeDbLite[len(m.NodeDbLite)-1].UnmarshalVTUnsafe(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 *NodeInfoLite) UnmarshalVTUnsafe(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 { + 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.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 + } + 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.Position == nil { + m.Position = &PositionLite{} + } + if err := m.Position.UnmarshalVTUnsafe(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) + } + 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.DeviceMetrics == nil { + m.DeviceMetrics = &DeviceMetrics{} + } + if err := m.DeviceMetrics.UnmarshalVTUnsafe(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 + } + } + 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 *PositionLite) UnmarshalVTUnsafe(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: PositionLite: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 *ChannelFile) UnmarshalVTUnsafe(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: ChannelFile: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ChannelFile: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Channels", 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 + } + m.Channels = append(m.Channels, &Channel{}) + if err := m.Channels[len(m.Channels)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + 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 + } + } + 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 *OEMStore) UnmarshalVTUnsafe(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: OEMStore: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: OEMStore: 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) + } + m.OemIconWidth = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OemIconWidth |= 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 postIndex > l { + return io.ErrUnexpectedEOF + } + m.OemIconBits = dAtA[iNdEx:postIndex] + 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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OemText", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.OemText = stringValue + 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 + } + m.OemAesKey = dAtA[iNdEx:postIndex] + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OemLocalConfig", 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.OemLocalConfig == nil { + m.OemLocalConfig = &LocalConfig{} + } + if err := m.OemLocalConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OemLocalModuleConfig", 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.OemLocalModuleConfig == nil { + m.OemLocalModuleConfig = &LocalModuleConfig{} + } + if err := m.OemLocalModuleConfig.UnmarshalVTUnsafe(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) UnmarshalVTUnsafe(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: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pin", 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.Pin == nil { + m.Pin = &RemoteHardwarePin{} + } + if err := m.Pin.UnmarshalVTUnsafe(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 +} diff --git a/meshtastic/localonly.pb.go b/meshtastic/localonly.pb.go new file mode 100644 index 0000000..9cf211c --- /dev/null +++ b/meshtastic/localonly.pb.go @@ -0,0 +1,533 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/localonly.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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 LocalConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + Position *Config_PositionConfig `protobuf:"bytes,2,opt,name=position,proto3" json:"position,omitempty"` + // The part of the config that is specific to the Power settings + Power *Config_PowerConfig `protobuf:"bytes,3,opt,name=power,proto3" json:"power,omitempty"` + // The part of the config that is specific to the Wifi Settings + Network *Config_NetworkConfig `protobuf:"bytes,4,opt,name=network,proto3" json:"network,omitempty"` + // The part of the config that is specific to the Display + Display *Config_DisplayConfig `protobuf:"bytes,5,opt,name=display,proto3" json:"display,omitempty"` + // The part of the config that is specific to the Lora Radio + Lora *Config_LoRaConfig `protobuf:"bytes,6,opt,name=lora,proto3" json:"lora,omitempty"` + // The part of the config that is specific to the Bluetooth settings + Bluetooth *Config_BluetoothConfig `protobuf:"bytes,7,opt,name=bluetooth,proto3" json:"bluetooth,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"` +} + +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) + } +} + +func (x *LocalConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalConfig) ProtoMessage() {} + +func (x *LocalConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_localonly_proto_msgTypes[0] + 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 LocalConfig.ProtoReflect.Descriptor instead. +func (*LocalConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_localonly_proto_rawDescGZIP(), []int{0} +} + +func (x *LocalConfig) GetDevice() *Config_DeviceConfig { + if x != nil { + return x.Device + } + return nil +} + +func (x *LocalConfig) GetPosition() *Config_PositionConfig { + if x != nil { + return x.Position + } + return nil +} + +func (x *LocalConfig) GetPower() *Config_PowerConfig { + if x != nil { + return x.Power + } + return nil +} + +func (x *LocalConfig) GetNetwork() *Config_NetworkConfig { + if x != nil { + return x.Network + } + return nil +} + +func (x *LocalConfig) GetDisplay() *Config_DisplayConfig { + if x != nil { + return x.Display + } + return nil +} + +func (x *LocalConfig) GetLora() *Config_LoRaConfig { + if x != nil { + return x.Lora + } + return nil +} + +func (x *LocalConfig) GetBluetooth() *Config_BluetoothConfig { + if x != nil { + return x.Bluetooth + } + return nil +} + +func (x *LocalConfig) GetVersion() uint32 { + if x != nil { + return x.Version + } + return 0 +} + +type LocalModuleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + Serial *ModuleConfig_SerialConfig `protobuf:"bytes,2,opt,name=serial,proto3" json:"serial,omitempty"` + // The part of the config that is specific to the ExternalNotification module + ExternalNotification *ModuleConfig_ExternalNotificationConfig `protobuf:"bytes,3,opt,name=external_notification,json=externalNotification,proto3" json:"external_notification,omitempty"` + // The part of the config that is specific to the Store & Forward module + StoreForward *ModuleConfig_StoreForwardConfig `protobuf:"bytes,4,opt,name=store_forward,json=storeForward,proto3" json:"store_forward,omitempty"` + // The part of the config that is specific to the RangeTest module + RangeTest *ModuleConfig_RangeTestConfig `protobuf:"bytes,5,opt,name=range_test,json=rangeTest,proto3" json:"range_test,omitempty"` + // The part of the config that is specific to the Telemetry module + Telemetry *ModuleConfig_TelemetryConfig `protobuf:"bytes,6,opt,name=telemetry,proto3" json:"telemetry,omitempty"` + // The part of the config that is specific to the Canned Message module + CannedMessage *ModuleConfig_CannedMessageConfig `protobuf:"bytes,7,opt,name=canned_message,json=cannedMessage,proto3" json:"canned_message,omitempty"` + // The part of the config that is specific to the Audio module + Audio *ModuleConfig_AudioConfig `protobuf:"bytes,9,opt,name=audio,proto3" json:"audio,omitempty"` + // The part of the config that is specific to the Remote Hardware module + RemoteHardware *ModuleConfig_RemoteHardwareConfig `protobuf:"bytes,10,opt,name=remote_hardware,json=remoteHardware,proto3" json:"remote_hardware,omitempty"` + // The part of the config that is specific to the Neighbor Info module + NeighborInfo *ModuleConfig_NeighborInfoConfig `protobuf:"bytes,11,opt,name=neighbor_info,json=neighborInfo,proto3" json:"neighbor_info,omitempty"` + // The part of the config that is specific to the Ambient Lighting module + AmbientLighting *ModuleConfig_AmbientLightingConfig `protobuf:"bytes,12,opt,name=ambient_lighting,json=ambientLighting,proto3" json:"ambient_lighting,omitempty"` + // The part of the config that is specific to the Detection Sensor module + DetectionSensor *ModuleConfig_DetectionSensorConfig `protobuf:"bytes,13,opt,name=detection_sensor,json=detectionSensor,proto3" json:"detection_sensor,omitempty"` + // Paxcounter Config + Paxcounter *ModuleConfig_PaxcounterConfig `protobuf:"bytes,14,opt,name=paxcounter,proto3" json:"paxcounter,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"` +} + +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) + } +} + +func (x *LocalModuleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LocalModuleConfig) ProtoMessage() {} + +func (x *LocalModuleConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_localonly_proto_msgTypes[1] + 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 LocalModuleConfig.ProtoReflect.Descriptor instead. +func (*LocalModuleConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_localonly_proto_rawDescGZIP(), []int{1} +} + +func (x *LocalModuleConfig) GetMqtt() *ModuleConfig_MQTTConfig { + if x != nil { + return x.Mqtt + } + return nil +} + +func (x *LocalModuleConfig) GetSerial() *ModuleConfig_SerialConfig { + if x != nil { + return x.Serial + } + return nil +} + +func (x *LocalModuleConfig) GetExternalNotification() *ModuleConfig_ExternalNotificationConfig { + if x != nil { + return x.ExternalNotification + } + return nil +} + +func (x *LocalModuleConfig) GetStoreForward() *ModuleConfig_StoreForwardConfig { + if x != nil { + return x.StoreForward + } + return nil +} + +func (x *LocalModuleConfig) GetRangeTest() *ModuleConfig_RangeTestConfig { + if x != nil { + return x.RangeTest + } + return nil +} + +func (x *LocalModuleConfig) GetTelemetry() *ModuleConfig_TelemetryConfig { + if x != nil { + return x.Telemetry + } + return nil +} + +func (x *LocalModuleConfig) GetCannedMessage() *ModuleConfig_CannedMessageConfig { + if x != nil { + return x.CannedMessage + } + return nil +} + +func (x *LocalModuleConfig) GetAudio() *ModuleConfig_AudioConfig { + if x != nil { + return x.Audio + } + return nil +} + +func (x *LocalModuleConfig) GetRemoteHardware() *ModuleConfig_RemoteHardwareConfig { + if x != nil { + return x.RemoteHardware + } + return nil +} + +func (x *LocalModuleConfig) GetNeighborInfo() *ModuleConfig_NeighborInfoConfig { + if x != nil { + return x.NeighborInfo + } + return nil +} + +func (x *LocalModuleConfig) GetAmbientLighting() *ModuleConfig_AmbientLightingConfig { + if x != nil { + return x.AmbientLighting + } + return nil +} + +func (x *LocalModuleConfig) GetDetectionSensor() *ModuleConfig_DetectionSensorConfig { + if x != nil { + return x.DetectionSensor + } + return nil +} + +func (x *LocalModuleConfig) GetPaxcounter() *ModuleConfig_PaxcounterConfig { + if x != nil { + return x.Paxcounter + } + return nil +} + +func (x *LocalModuleConfig) GetVersion() uint32 { + if x != nil { + return x.Version + } + return 0 +} + +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, +} + +var ( + file_meshtastic_localonly_proto_rawDescOnce sync.Once + file_meshtastic_localonly_proto_rawDescData = file_meshtastic_localonly_proto_rawDesc +) + +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) + }) + return file_meshtastic_localonly_proto_rawDescData +} + +var file_meshtastic_localonly_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_meshtastic_localonly_proto_goTypes = []interface{}{ + (*LocalConfig)(nil), // 0: meshtastic.LocalConfig + (*LocalModuleConfig)(nil), // 1: meshtastic.LocalModuleConfig + (*Config_DeviceConfig)(nil), // 2: meshtastic.Config.DeviceConfig + (*Config_PositionConfig)(nil), // 3: meshtastic.Config.PositionConfig + (*Config_PowerConfig)(nil), // 4: meshtastic.Config.PowerConfig + (*Config_NetworkConfig)(nil), // 5: meshtastic.Config.NetworkConfig + (*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 +} +var file_meshtastic_localonly_proto_depIdxs = []int32{ + 2, // 0: meshtastic.LocalConfig.device:type_name -> meshtastic.Config.DeviceConfig + 3, // 1: meshtastic.LocalConfig.position:type_name -> meshtastic.Config.PositionConfig + 4, // 2: meshtastic.LocalConfig.power:type_name -> meshtastic.Config.PowerConfig + 5, // 3: meshtastic.LocalConfig.network:type_name -> meshtastic.Config.NetworkConfig + 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 +} + +func init() { file_meshtastic_localonly_proto_init() } +func file_meshtastic_localonly_proto_init() { + if File_meshtastic_localonly_proto != nil { + return + } + 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, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_localonly_proto_goTypes, + DependencyIndexes: file_meshtastic_localonly_proto_depIdxs, + 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 new file mode 100644 index 0000000..a682c0b --- /dev/null +++ b/meshtastic/localonly_vtproto.pb.go @@ -0,0 +1,2551 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/localonly.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + 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 *LocalConfig) CloneVT() *LocalConfig { + if m == nil { + return (*LocalConfig)(nil) + } + r := new(LocalConfig) + r.Device = m.Device.CloneVT() + r.Position = m.Position.CloneVT() + r.Power = m.Power.CloneVT() + r.Network = m.Network.CloneVT() + r.Display = m.Display.CloneVT() + r.Lora = m.Lora.CloneVT() + r.Bluetooth = m.Bluetooth.CloneVT() + r.Version = m.Version + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *LocalConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *LocalModuleConfig) CloneVT() *LocalModuleConfig { + if m == nil { + return (*LocalModuleConfig)(nil) + } + r := new(LocalModuleConfig) + r.Mqtt = m.Mqtt.CloneVT() + r.Serial = m.Serial.CloneVT() + r.ExternalNotification = m.ExternalNotification.CloneVT() + r.StoreForward = m.StoreForward.CloneVT() + r.RangeTest = m.RangeTest.CloneVT() + r.Telemetry = m.Telemetry.CloneVT() + r.CannedMessage = m.CannedMessage.CloneVT() + r.Audio = m.Audio.CloneVT() + r.RemoteHardware = m.RemoteHardware.CloneVT() + r.NeighborInfo = m.NeighborInfo.CloneVT() + r.AmbientLighting = m.AmbientLighting.CloneVT() + r.DetectionSensor = m.DetectionSensor.CloneVT() + r.Paxcounter = m.Paxcounter.CloneVT() + r.Version = m.Version + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *LocalModuleConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *LocalConfig) EqualVT(that *LocalConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Device.EqualVT(that.Device) { + return false + } + if !this.Position.EqualVT(that.Position) { + return false + } + if !this.Power.EqualVT(that.Power) { + return false + } + if !this.Network.EqualVT(that.Network) { + return false + } + if !this.Display.EqualVT(that.Display) { + return false + } + if !this.Lora.EqualVT(that.Lora) { + return false + } + if !this.Bluetooth.EqualVT(that.Bluetooth) { + return false + } + if this.Version != that.Version { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *LocalConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*LocalConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *LocalModuleConfig) EqualVT(that *LocalModuleConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Mqtt.EqualVT(that.Mqtt) { + return false + } + if !this.Serial.EqualVT(that.Serial) { + return false + } + if !this.ExternalNotification.EqualVT(that.ExternalNotification) { + return false + } + if !this.StoreForward.EqualVT(that.StoreForward) { + return false + } + if !this.RangeTest.EqualVT(that.RangeTest) { + return false + } + if !this.Telemetry.EqualVT(that.Telemetry) { + return false + } + if !this.CannedMessage.EqualVT(that.CannedMessage) { + return false + } + if this.Version != that.Version { + return false + } + if !this.Audio.EqualVT(that.Audio) { + return false + } + if !this.RemoteHardware.EqualVT(that.RemoteHardware) { + return false + } + if !this.NeighborInfo.EqualVT(that.NeighborInfo) { + return false + } + if !this.AmbientLighting.EqualVT(that.AmbientLighting) { + return false + } + if !this.DetectionSensor.EqualVT(that.DetectionSensor) { + return false + } + if !this.Paxcounter.EqualVT(that.Paxcounter) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *LocalModuleConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*LocalModuleConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *LocalConfig) 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 *LocalConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *LocalConfig) 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.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x40 + } + if m.Bluetooth != nil { + size, err := m.Bluetooth.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.Lora != nil { + size, err := m.Lora.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.Display != nil { + size, err := m.Display.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Network != nil { + size, err := m.Network.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Power != nil { + size, err := m.Power.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Position != nil { + size, err := m.Position.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Device != nil { + size, err := m.Device.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 *LocalModuleConfig) 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 *LocalModuleConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *LocalModuleConfig) 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.Paxcounter != nil { + size, err := m.Paxcounter.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x72 + } + if m.DetectionSensor != nil { + size, err := m.DetectionSensor.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + if m.AmbientLighting != nil { + size, err := m.AmbientLighting.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + if m.NeighborInfo != nil { + size, err := m.NeighborInfo.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + if m.RemoteHardware != nil { + size, err := m.RemoteHardware.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + if m.Audio != nil { + size, err := m.Audio.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-- + dAtA[i] = 0x40 + } + if m.CannedMessage != nil { + size, err := m.CannedMessage.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.Telemetry != nil { + size, err := m.Telemetry.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.RangeTest != nil { + size, err := m.RangeTest.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.StoreForward != nil { + size, err := m.StoreForward.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.ExternalNotification != nil { + size, err := m.ExternalNotification.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Serial != nil { + size, err := m.Serial.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Mqtt != nil { + size, err := m.Mqtt.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 *LocalConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LocalConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *LocalConfig) MarshalToSizedBufferVTStrict(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.Version != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Version)) + i-- + dAtA[i] = 0x40 + } + if m.Bluetooth != nil { + size, err := m.Bluetooth.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.Lora != nil { + size, err := m.Lora.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.Display != nil { + size, err := m.Display.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Network != nil { + size, err := m.Network.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Power != nil { + size, err := m.Power.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Position != nil { + size, err := m.Position.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Device != nil { + size, err := m.Device.MarshalToSizedBufferVTStrict(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 *LocalModuleConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LocalModuleConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *LocalModuleConfig) MarshalToSizedBufferVTStrict(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.Paxcounter != nil { + size, err := m.Paxcounter.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x72 + } + if m.DetectionSensor != nil { + size, err := m.DetectionSensor.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + if m.AmbientLighting != nil { + size, err := m.AmbientLighting.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + if m.NeighborInfo != nil { + size, err := m.NeighborInfo.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + if m.RemoteHardware != nil { + size, err := m.RemoteHardware.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + if m.Audio != nil { + size, err := m.Audio.MarshalToSizedBufferVTStrict(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-- + dAtA[i] = 0x40 + } + if m.CannedMessage != nil { + size, err := m.CannedMessage.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.Telemetry != nil { + size, err := m.Telemetry.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.RangeTest != nil { + size, err := m.RangeTest.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.StoreForward != nil { + size, err := m.StoreForward.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.ExternalNotification != nil { + size, err := m.ExternalNotification.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Serial != nil { + size, err := m.Serial.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Mqtt != nil { + size, err := m.Mqtt.MarshalToSizedBufferVTStrict(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 *LocalConfig) 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)) + } + if m.Position != nil { + l = m.Position.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Power != nil { + l = m.Power.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Network != nil { + l = m.Network.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Display != nil { + l = m.Display.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Lora != nil { + l = m.Lora.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Bluetooth != nil { + l = m.Bluetooth.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 *LocalModuleConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Mqtt != nil { + l = m.Mqtt.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Serial != nil { + l = m.Serial.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ExternalNotification != nil { + l = m.ExternalNotification.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StoreForward != nil { + l = m.StoreForward.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.RangeTest != nil { + l = m.RangeTest.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Telemetry != nil { + l = m.Telemetry.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CannedMessage != nil { + l = m.CannedMessage.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Version != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) + } + if m.Audio != nil { + l = m.Audio.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.RemoteHardware != nil { + l = m.RemoteHardware.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.NeighborInfo != nil { + l = m.NeighborInfo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.AmbientLighting != nil { + l = m.AmbientLighting.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DetectionSensor != nil { + l = m.DetectionSensor.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Paxcounter != nil { + l = m.Paxcounter.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *LocalConfig) 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: LocalConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalConfig: 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 m.Device == nil { + m.Device = &Config_DeviceConfig{} + } + if err := m.Device.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 { + 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.Position == nil { + m.Position = &Config_PositionConfig{} + } + if err := m.Position.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Power", 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.Power == nil { + m.Power = &Config_PowerConfig{} + } + if err := m.Power.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Network", 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.Network == nil { + m.Network = &Config_NetworkConfig{} + } + if err := m.Network.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Display", 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.Display == nil { + m.Display = &Config_DisplayConfig{} + } + if err := m.Display.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Lora", 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.Lora == nil { + m.Lora = &Config_LoRaConfig{} + } + if err := m.Lora.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bluetooth", 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.Bluetooth == nil { + m.Bluetooth = &Config_BluetoothConfig{} + } + if err := m.Bluetooth.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 + } + } + 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 *LocalModuleConfig) 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: LocalModuleConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalModuleConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Mqtt", 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.Mqtt == nil { + m.Mqtt = &ModuleConfig_MQTTConfig{} + } + if err := m.Mqtt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Serial", 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.Serial == nil { + m.Serial = &ModuleConfig_SerialConfig{} + } + if err := m.Serial.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExternalNotification", 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.ExternalNotification == nil { + m.ExternalNotification = &ModuleConfig_ExternalNotificationConfig{} + } + if err := m.ExternalNotification.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoreForward", 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.StoreForward == nil { + m.StoreForward = &ModuleConfig_StoreForwardConfig{} + } + if err := m.StoreForward.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RangeTest", 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.RangeTest == nil { + m.RangeTest = &ModuleConfig_RangeTestConfig{} + } + if err := m.RangeTest.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Telemetry", 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.Telemetry == nil { + m.Telemetry = &ModuleConfig_TelemetryConfig{} + } + if err := m.Telemetry.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CannedMessage", 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.CannedMessage == nil { + m.CannedMessage = &ModuleConfig_CannedMessageConfig{} + } + if err := m.CannedMessage.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 != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Audio", 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.Audio == nil { + m.Audio = &ModuleConfig_AudioConfig{} + } + if err := m.Audio.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteHardware", 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.RemoteHardware == nil { + m.RemoteHardware = &ModuleConfig_RemoteHardwareConfig{} + } + if err := m.RemoteHardware.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NeighborInfo", 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.NeighborInfo == nil { + m.NeighborInfo = &ModuleConfig_NeighborInfoConfig{} + } + if err := m.NeighborInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AmbientLighting", 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.AmbientLighting == nil { + m.AmbientLighting = &ModuleConfig_AmbientLightingConfig{} + } + if err := m.AmbientLighting.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DetectionSensor", 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.DetectionSensor == nil { + m.DetectionSensor = &ModuleConfig_DetectionSensorConfig{} + } + if err := m.DetectionSensor.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Paxcounter", 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.Paxcounter == nil { + m.Paxcounter = &ModuleConfig_PaxcounterConfig{} + } + if err := m.Paxcounter.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 *LocalConfig) UnmarshalVTUnsafe(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: LocalConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalConfig: 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 m.Device == nil { + m.Device = &Config_DeviceConfig{} + } + if err := m.Device.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 { + 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.Position == nil { + m.Position = &Config_PositionConfig{} + } + if err := m.Position.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Power", 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.Power == nil { + m.Power = &Config_PowerConfig{} + } + if err := m.Power.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Network", 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.Network == nil { + m.Network = &Config_NetworkConfig{} + } + if err := m.Network.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Display", 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.Display == nil { + m.Display = &Config_DisplayConfig{} + } + if err := m.Display.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Lora", 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.Lora == nil { + m.Lora = &Config_LoRaConfig{} + } + if err := m.Lora.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Bluetooth", 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.Bluetooth == nil { + m.Bluetooth = &Config_BluetoothConfig{} + } + if err := m.Bluetooth.UnmarshalVTUnsafe(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 + } + } + 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 *LocalModuleConfig) UnmarshalVTUnsafe(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: LocalModuleConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LocalModuleConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Mqtt", 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.Mqtt == nil { + m.Mqtt = &ModuleConfig_MQTTConfig{} + } + if err := m.Mqtt.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Serial", 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.Serial == nil { + m.Serial = &ModuleConfig_SerialConfig{} + } + if err := m.Serial.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExternalNotification", 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.ExternalNotification == nil { + m.ExternalNotification = &ModuleConfig_ExternalNotificationConfig{} + } + if err := m.ExternalNotification.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoreForward", 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.StoreForward == nil { + m.StoreForward = &ModuleConfig_StoreForwardConfig{} + } + if err := m.StoreForward.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RangeTest", 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.RangeTest == nil { + m.RangeTest = &ModuleConfig_RangeTestConfig{} + } + if err := m.RangeTest.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Telemetry", 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.Telemetry == nil { + m.Telemetry = &ModuleConfig_TelemetryConfig{} + } + if err := m.Telemetry.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CannedMessage", 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.CannedMessage == nil { + m.CannedMessage = &ModuleConfig_CannedMessageConfig{} + } + if err := m.CannedMessage.UnmarshalVTUnsafe(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 != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Audio", 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.Audio == nil { + m.Audio = &ModuleConfig_AudioConfig{} + } + if err := m.Audio.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteHardware", 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.RemoteHardware == nil { + m.RemoteHardware = &ModuleConfig_RemoteHardwareConfig{} + } + if err := m.RemoteHardware.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NeighborInfo", 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.NeighborInfo == nil { + m.NeighborInfo = &ModuleConfig_NeighborInfoConfig{} + } + if err := m.NeighborInfo.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AmbientLighting", 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.AmbientLighting == nil { + m.AmbientLighting = &ModuleConfig_AmbientLightingConfig{} + } + if err := m.AmbientLighting.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DetectionSensor", 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.DetectionSensor == nil { + m.DetectionSensor = &ModuleConfig_DetectionSensorConfig{} + } + if err := m.DetectionSensor.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Paxcounter", 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.Paxcounter == nil { + m.Paxcounter = &ModuleConfig_PaxcounterConfig{} + } + if err := m.Paxcounter.UnmarshalVTUnsafe(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 +} diff --git a/meshtastic/mesh.pb.go b/meshtastic/mesh.pb.go new file mode 100644 index 0000000..d0284bb --- /dev/null +++ b/meshtastic/mesh.pb.go @@ -0,0 +1,3914 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/mesh.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Note: these enum names must EXACTLY match the string used in the device +// bin/build-all.sh script. +// Because they will be used to find firmware filenames in the android app for OTA updates. +// To match the old style filenames, _ is converted to -, p is converted to . +type HardwareModel int32 + +const ( + // TODO: REPLACE + HardwareModel_UNSET HardwareModel = 0 + // TODO: REPLACE + HardwareModel_TLORA_V2 HardwareModel = 1 + // TODO: REPLACE + HardwareModel_TLORA_V1 HardwareModel = 2 + // TODO: REPLACE + HardwareModel_TLORA_V2_1_1P6 HardwareModel = 3 + // TODO: REPLACE + HardwareModel_TBEAM HardwareModel = 4 + // The original heltec WiFi_Lora_32_V2, which had battery voltage sensing hooked to GPIO 13 + // (see HELTEC_V2 for the new version). + HardwareModel_HELTEC_V2_0 HardwareModel = 5 + // TODO: REPLACE + HardwareModel_TBEAM_V0P7 HardwareModel = 6 + // TODO: REPLACE + HardwareModel_T_ECHO HardwareModel = 7 + // TODO: REPLACE + HardwareModel_TLORA_V1_1P3 HardwareModel = 8 + // TODO: REPLACE + HardwareModel_RAK4631 HardwareModel = 9 + // The new version of the heltec WiFi_Lora_32_V2 board that has battery sensing hooked to GPIO 37. + // Sadly they did not update anything on the silkscreen to identify this board + HardwareModel_HELTEC_V2_1 HardwareModel = 10 + // Ancient heltec WiFi_Lora_32 board + HardwareModel_HELTEC_V1 HardwareModel = 11 + // New T-BEAM with ESP32-S3 CPU + HardwareModel_LILYGO_TBEAM_S3_CORE HardwareModel = 12 + // RAK WisBlock ESP32 core: https://docs.rakwireless.com/Product-Categories/WisBlock/RAK11200/Overview/ + HardwareModel_RAK11200 HardwareModel = 13 + // B&Q Consulting Nano Edition G1: https://uniteng.com/wiki/doku.php?id=meshtastic:nano + HardwareModel_NANO_G1 HardwareModel = 14 + // TODO: REPLACE + HardwareModel_TLORA_V2_1_1P8 HardwareModel = 15 + // TODO: REPLACE + HardwareModel_TLORA_T3_S3 HardwareModel = 16 + // B&Q Consulting Nano G1 Explorer: https://wiki.uniteng.com/en/meshtastic/nano-g1-explorer + HardwareModel_NANO_G1_EXPLORER HardwareModel = 17 + // B&Q Consulting Nano G2 Ultra: https://wiki.uniteng.com/en/meshtastic/nano-g2-ultra + HardwareModel_NANO_G2_ULTRA HardwareModel = 18 + // LoRAType device: https://loratype.org/ + HardwareModel_LORA_TYPE HardwareModel = 19 + // B&Q Consulting Station Edition G1: https://uniteng.com/wiki/doku.php?id=meshtastic:station + HardwareModel_STATION_G1 HardwareModel = 25 + // RAK11310 (RP2040 + SX1262) + HardwareModel_RAK11310 HardwareModel = 26 + // Makerfabs SenseLoRA Receiver (RP2040 + RFM96) + HardwareModel_SENSELORA_RP2040 HardwareModel = 27 + // Makerfabs SenseLoRA Industrial Monitor (ESP32-S3 + RFM96) + HardwareModel_SENSELORA_S3 HardwareModel = 28 + // Canary Radio Company - CanaryOne: https://canaryradio.io/products/canaryone + HardwareModel_CANARYONE HardwareModel = 29 + // Waveshare RP2040 LoRa - https://www.waveshare.com/rp2040-lora.htm + HardwareModel_RP2040_LORA HardwareModel = 30 + // --------------------------------------------------------------------------- + // Less common/prototype boards listed here (needs one more byte over the air) + // --------------------------------------------------------------------------- + HardwareModel_LORA_RELAY_V1 HardwareModel = 32 + // TODO: REPLACE + HardwareModel_NRF52840DK HardwareModel = 33 + // TODO: REPLACE + HardwareModel_PPR HardwareModel = 34 + // TODO: REPLACE + HardwareModel_GENIEBLOCKS HardwareModel = 35 + // TODO: REPLACE + HardwareModel_NRF52_UNKNOWN HardwareModel = 36 + // TODO: REPLACE + HardwareModel_PORTDUINO HardwareModel = 37 + // The simulator built into the android app + HardwareModel_ANDROID_SIM HardwareModel = 38 + // Custom DIY device based on @NanoVHF schematics: https://github.com/NanoVHF/Meshtastic-DIY/tree/main/Schematics + HardwareModel_DIY_V1 HardwareModel = 39 + // nRF52840 Dongle : https://www.nordicsemi.com/Products/Development-hardware/nrf52840-dongle/ + 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/ + HardwareModel_M5STACK HardwareModel = 42 + // New Heltec LoRA32 with ESP32-S3 CPU + HardwareModel_HELTEC_V3 HardwareModel = 43 + // New Heltec Wireless Stick Lite with ESP32-S3 CPU + HardwareModel_HELTEC_WSL_V3 HardwareModel = 44 + // New BETAFPV ELRS Micro TX Module 2.4G with ESP32 CPU + HardwareModel_BETAFPV_2400_TX HardwareModel = 45 + // BetaFPV ExpressLRS "Nano" TX Module 900MHz with ESP32 CPU + HardwareModel_BETAFPV_900_NANO_TX HardwareModel = 46 + // Raspberry Pi Pico (W) with Waveshare SX1262 LoRa Node Module + HardwareModel_RPI_PICO HardwareModel = 47 + // Heltec Wireless Tracker with ESP32-S3 CPU, built-in GPS, and TFT + // Newer V1.1, version is written on the PCB near the display. + HardwareModel_HELTEC_WIRELESS_TRACKER HardwareModel = 48 + // Heltec Wireless Paper with ESP32-S3 CPU and E-Ink display + HardwareModel_HELTEC_WIRELESS_PAPER HardwareModel = 49 + // LilyGo T-Deck with ESP32-S3 CPU, Keyboard and IPS display + HardwareModel_T_DECK HardwareModel = 50 + // LilyGo T-Watch S3 with ESP32-S3 CPU and IPS display + HardwareModel_T_WATCH_S3 HardwareModel = 51 + // Bobricius Picomputer with ESP32-S3 CPU, Keyboard and IPS display + HardwareModel_PICOMPUTER_S3 HardwareModel = 52 + // Heltec HT-CT62 with ESP32-C3 CPU and SX1262 LoRa + HardwareModel_HELTEC_HT62 HardwareModel = 53 + // EBYTE SPI LoRa module and ESP32-S3 + HardwareModel_EBYTE_ESP32_S3 HardwareModel = 54 + // Waveshare ESP32-S3-PICO with PICO LoRa HAT and 2.9inch e-Ink + HardwareModel_ESP32_S3_PICO HardwareModel = 55 + // CircuitMess Chatter 2 LLCC68 Lora Module and ESP32 Wroom + // Lora module can be swapped out for a Heltec RA-62 which is "almost" pin compatible + // with one cut and one jumper Meshtastic works + HardwareModel_CHATTER_2 HardwareModel = 56 + // Heltec Wireless Paper, With ESP32-S3 CPU and E-Ink display + // Older "V1.0" Variant, has no "version sticker" + // E-Ink model is DEPG0213BNS800 + // Tab on the screen protector is RED + // Flex connector marking is FPC-7528B + HardwareModel_HELTEC_WIRELESS_PAPER_V1_0 HardwareModel = 57 + // Heltec Wireless Tracker with ESP32-S3 CPU, built-in GPS, and TFT + // Older "V1.0" Variant + HardwareModel_HELTEC_WIRELESS_TRACKER_V1_0 HardwareModel = 58 + // ------------------------------------------------------------------------------------------------------------------------------------------ + // 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. + // ------------------------------------------------------------------------------------------------------------------------------------------ + HardwareModel_PRIVATE_HW HardwareModel = 255 +) + +// Enum value maps for HardwareModel. +var ( + HardwareModel_name = map[int32]string{ + 0: "UNSET", + 1: "TLORA_V2", + 2: "TLORA_V1", + 3: "TLORA_V2_1_1P6", + 4: "TBEAM", + 5: "HELTEC_V2_0", + 6: "TBEAM_V0P7", + 7: "T_ECHO", + 8: "TLORA_V1_1P3", + 9: "RAK4631", + 10: "HELTEC_V2_1", + 11: "HELTEC_V1", + 12: "LILYGO_TBEAM_S3_CORE", + 13: "RAK11200", + 14: "NANO_G1", + 15: "TLORA_V2_1_1P8", + 16: "TLORA_T3_S3", + 17: "NANO_G1_EXPLORER", + 18: "NANO_G2_ULTRA", + 19: "LORA_TYPE", + 25: "STATION_G1", + 26: "RAK11310", + 27: "SENSELORA_RP2040", + 28: "SENSELORA_S3", + 29: "CANARYONE", + 30: "RP2040_LORA", + 32: "LORA_RELAY_V1", + 33: "NRF52840DK", + 34: "PPR", + 35: "GENIEBLOCKS", + 36: "NRF52_UNKNOWN", + 37: "PORTDUINO", + 38: "ANDROID_SIM", + 39: "DIY_V1", + 40: "NRF52840_PCA10059", + 41: "DR_DEV", + 42: "M5STACK", + 43: "HELTEC_V3", + 44: "HELTEC_WSL_V3", + 45: "BETAFPV_2400_TX", + 46: "BETAFPV_900_NANO_TX", + 47: "RPI_PICO", + 48: "HELTEC_WIRELESS_TRACKER", + 49: "HELTEC_WIRELESS_PAPER", + 50: "T_DECK", + 51: "T_WATCH_S3", + 52: "PICOMPUTER_S3", + 53: "HELTEC_HT62", + 54: "EBYTE_ESP32_S3", + 55: "ESP32_S3_PICO", + 56: "CHATTER_2", + 57: "HELTEC_WIRELESS_PAPER_V1_0", + 58: "HELTEC_WIRELESS_TRACKER_V1_0", + 255: "PRIVATE_HW", + } + HardwareModel_value = map[string]int32{ + "UNSET": 0, + "TLORA_V2": 1, + "TLORA_V1": 2, + "TLORA_V2_1_1P6": 3, + "TBEAM": 4, + "HELTEC_V2_0": 5, + "TBEAM_V0P7": 6, + "T_ECHO": 7, + "TLORA_V1_1P3": 8, + "RAK4631": 9, + "HELTEC_V2_1": 10, + "HELTEC_V1": 11, + "LILYGO_TBEAM_S3_CORE": 12, + "RAK11200": 13, + "NANO_G1": 14, + "TLORA_V2_1_1P8": 15, + "TLORA_T3_S3": 16, + "NANO_G1_EXPLORER": 17, + "NANO_G2_ULTRA": 18, + "LORA_TYPE": 19, + "STATION_G1": 25, + "RAK11310": 26, + "SENSELORA_RP2040": 27, + "SENSELORA_S3": 28, + "CANARYONE": 29, + "RP2040_LORA": 30, + "LORA_RELAY_V1": 32, + "NRF52840DK": 33, + "PPR": 34, + "GENIEBLOCKS": 35, + "NRF52_UNKNOWN": 36, + "PORTDUINO": 37, + "ANDROID_SIM": 38, + "DIY_V1": 39, + "NRF52840_PCA10059": 40, + "DR_DEV": 41, + "M5STACK": 42, + "HELTEC_V3": 43, + "HELTEC_WSL_V3": 44, + "BETAFPV_2400_TX": 45, + "BETAFPV_900_NANO_TX": 46, + "RPI_PICO": 47, + "HELTEC_WIRELESS_TRACKER": 48, + "HELTEC_WIRELESS_PAPER": 49, + "T_DECK": 50, + "T_WATCH_S3": 51, + "PICOMPUTER_S3": 52, + "HELTEC_HT62": 53, + "EBYTE_ESP32_S3": 54, + "ESP32_S3_PICO": 55, + "CHATTER_2": 56, + "HELTEC_WIRELESS_PAPER_V1_0": 57, + "HELTEC_WIRELESS_TRACKER_V1_0": 58, + "PRIVATE_HW": 255, + } +) + +func (x HardwareModel) Enum() *HardwareModel { + p := new(HardwareModel) + *p = x + return p +} + +func (x HardwareModel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HardwareModel) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[0].Descriptor() +} + +func (HardwareModel) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[0] +} + +func (x HardwareModel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HardwareModel.Descriptor instead. +func (HardwareModel) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{0} +} + +// Shared constants between device and phone +type Constants int32 + +const ( + // First enum must be zero, and we are just using this enum to + // pass int constants between two very different environments + Constants_ZERO Constants = 0 + // 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 +) + +// Enum value maps for Constants. +var ( + Constants_name = map[int32]string{ + 0: "ZERO", + 237: "DATA_PAYLOAD_LEN", + } + Constants_value = map[string]int32{ + "ZERO": 0, + "DATA_PAYLOAD_LEN": 237, + } +) + +func (x Constants) Enum() *Constants { + p := new(Constants) + *p = x + return p +} + +func (x Constants) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Constants) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[1].Descriptor() +} + +func (Constants) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[1] +} + +func (x Constants) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Constants.Descriptor instead. +func (Constants) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{1} +} + +// Error codes for critical errors +// The device might report these fault codes on the screen. +// If you encounter a fault code, please post on the meshtastic.discourse.group +// and we'll try to help. +type CriticalErrorCode int32 + +const ( + // TODO: REPLACE + CriticalErrorCode_NONE CriticalErrorCode = 0 + // A software bug was detected while trying to send lora + CriticalErrorCode_TX_WATCHDOG CriticalErrorCode = 1 + // A software bug was detected on entry to sleep + CriticalErrorCode_SLEEP_ENTER_WAIT CriticalErrorCode = 2 + // No Lora radio hardware could be found + CriticalErrorCode_NO_RADIO CriticalErrorCode = 3 + // Not normally used + CriticalErrorCode_UNSPECIFIED CriticalErrorCode = 4 + // We failed while configuring a UBlox GPS + CriticalErrorCode_UBLOX_UNIT_FAILED CriticalErrorCode = 5 + // This board was expected to have a power management chip and it is missing or broken + CriticalErrorCode_NO_AXP192 CriticalErrorCode = 6 + // The channel tried to set a radio setting which is not supported by this chipset, + // radio comms settings are now undefined. + CriticalErrorCode_INVALID_RADIO_SETTING CriticalErrorCode = 7 + // Radio transmit hardware failure. We sent data to the radio chip, but it didn't + // reply with an interrupt. + CriticalErrorCode_TRANSMIT_FAILED CriticalErrorCode = 8 + // We detected that the main CPU voltage dropped below the minimum acceptable value + CriticalErrorCode_BROWNOUT CriticalErrorCode = 9 + // Selftest of SX1262 radio chip failed + CriticalErrorCode_SX1262_FAILURE CriticalErrorCode = 10 + // 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 +) + +// Enum value maps for CriticalErrorCode. +var ( + CriticalErrorCode_name = map[int32]string{ + 0: "NONE", + 1: "TX_WATCHDOG", + 2: "SLEEP_ENTER_WAIT", + 3: "NO_RADIO", + 4: "UNSPECIFIED", + 5: "UBLOX_UNIT_FAILED", + 6: "NO_AXP192", + 7: "INVALID_RADIO_SETTING", + 8: "TRANSMIT_FAILED", + 9: "BROWNOUT", + 10: "SX1262_FAILURE", + 11: "RADIO_SPI_BUG", + } + 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, + } +) + +func (x CriticalErrorCode) Enum() *CriticalErrorCode { + p := new(CriticalErrorCode) + *p = x + return p +} + +func (x CriticalErrorCode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CriticalErrorCode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[2].Descriptor() +} + +func (CriticalErrorCode) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[2] +} + +func (x CriticalErrorCode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CriticalErrorCode.Descriptor instead. +func (CriticalErrorCode) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{2} +} + +// How the location was acquired: manual, onboard GPS, external (EUD) GPS +type Position_LocSource int32 + +const ( + // TODO: REPLACE + Position_LOC_UNSET Position_LocSource = 0 + // TODO: REPLACE + Position_LOC_MANUAL Position_LocSource = 1 + // TODO: REPLACE + Position_LOC_INTERNAL Position_LocSource = 2 + // TODO: REPLACE + Position_LOC_EXTERNAL Position_LocSource = 3 +) + +// Enum value maps for Position_LocSource. +var ( + Position_LocSource_name = map[int32]string{ + 0: "LOC_UNSET", + 1: "LOC_MANUAL", + 2: "LOC_INTERNAL", + 3: "LOC_EXTERNAL", + } + Position_LocSource_value = map[string]int32{ + "LOC_UNSET": 0, + "LOC_MANUAL": 1, + "LOC_INTERNAL": 2, + "LOC_EXTERNAL": 3, + } +) + +func (x Position_LocSource) Enum() *Position_LocSource { + p := new(Position_LocSource) + *p = x + return p +} + +func (x Position_LocSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Position_LocSource) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[3].Descriptor() +} + +func (Position_LocSource) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[3] +} + +func (x Position_LocSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Position_LocSource.Descriptor instead. +func (Position_LocSource) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{0, 0} +} + +// How the altitude was acquired: manual, GPS int/ext, etc +// Default: same as location_source if present +type Position_AltSource int32 + +const ( + // TODO: REPLACE + Position_ALT_UNSET Position_AltSource = 0 + // TODO: REPLACE + Position_ALT_MANUAL Position_AltSource = 1 + // TODO: REPLACE + Position_ALT_INTERNAL Position_AltSource = 2 + // TODO: REPLACE + Position_ALT_EXTERNAL Position_AltSource = 3 + // TODO: REPLACE + Position_ALT_BAROMETRIC Position_AltSource = 4 +) + +// Enum value maps for Position_AltSource. +var ( + Position_AltSource_name = map[int32]string{ + 0: "ALT_UNSET", + 1: "ALT_MANUAL", + 2: "ALT_INTERNAL", + 3: "ALT_EXTERNAL", + 4: "ALT_BAROMETRIC", + } + Position_AltSource_value = map[string]int32{ + "ALT_UNSET": 0, + "ALT_MANUAL": 1, + "ALT_INTERNAL": 2, + "ALT_EXTERNAL": 3, + "ALT_BAROMETRIC": 4, + } +) + +func (x Position_AltSource) Enum() *Position_AltSource { + p := new(Position_AltSource) + *p = x + return p +} + +func (x Position_AltSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Position_AltSource) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[4].Descriptor() +} + +func (Position_AltSource) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[4] +} + +func (x Position_AltSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Position_AltSource.Descriptor instead. +func (Position_AltSource) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{0, 1} +} + +// A failure in delivering a message (usually used for routing control messages, but might be provided in addition to ack.fail_id to provide +// details on the type of failure). +type Routing_Error int32 + +const ( + // This message is not a failure + Routing_NONE Routing_Error = 0 + // Our node doesn't have a route to the requested destination anymore. + Routing_NO_ROUTE Routing_Error = 1 + // We received a nak while trying to forward on your behalf + Routing_GOT_NAK Routing_Error = 2 + // TODO: REPLACE + Routing_TIMEOUT Routing_Error = 3 + // No suitable interface could be found for delivering this packet + Routing_NO_INTERFACE Routing_Error = 4 + // We reached the max retransmission count (typically for naive flood routing) + Routing_MAX_RETRANSMIT Routing_Error = 5 + // No suitable channel was found for sending this packet (i.e. was requested channel index disabled?) + Routing_NO_CHANNEL Routing_Error = 6 + // The packet was too big for sending (exceeds interface MTU after encoding) + Routing_TOO_LARGE Routing_Error = 7 + // The request had want_response set, the request reached the destination node, but no service on that node wants to send a response + // (possibly due to bad channel permissions) + Routing_NO_RESPONSE Routing_Error = 8 + // Cannot send currently because duty cycle regulations will be violated. + Routing_DUTY_CYCLE_LIMIT Routing_Error = 9 + // The application layer service on the remote node received your request, but considered your request somehow invalid + Routing_BAD_REQUEST Routing_Error = 32 + // 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 +) + +// Enum value maps for Routing_Error. +var ( + Routing_Error_name = map[int32]string{ + 0: "NONE", + 1: "NO_ROUTE", + 2: "GOT_NAK", + 3: "TIMEOUT", + 4: "NO_INTERFACE", + 5: "MAX_RETRANSMIT", + 6: "NO_CHANNEL", + 7: "TOO_LARGE", + 8: "NO_RESPONSE", + 9: "DUTY_CYCLE_LIMIT", + 32: "BAD_REQUEST", + 33: "NOT_AUTHORIZED", + } + 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, + } +) + +func (x Routing_Error) Enum() *Routing_Error { + p := new(Routing_Error) + *p = x + return p +} + +func (x Routing_Error) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Routing_Error) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[5].Descriptor() +} + +func (Routing_Error) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[5] +} + +func (x Routing_Error) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Routing_Error.Descriptor instead. +func (Routing_Error) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{3, 0} +} + +// The priority of this message for sending. +// Higher priorities are sent first (when managing the transmit queue). +// This field is never sent over the air, it is only used internally inside of a local device node. +// API clients (either on the local node or connected directly to the node) +// can set this parameter if necessary. +// (values must be <= 127 to keep protobuf field to one byte in size. +// Detailed background on this field: +// I noticed a funny side effect of lora being so slow: Usually when making +// a protocol there isn’t much need to use message priority to change the order +// of transmission (because interfaces are fairly fast). +// But for lora where packets can take a few seconds each, it is very important +// to make sure that critical packets are sent ASAP. +// In the case of meshtastic that means we want to send protocol acks as soon as possible +// (to prevent unneeded retransmissions), we want routing messages to be sent next, +// then messages marked as reliable and finally 'background' packets like periodic position updates. +// So I bit the bullet and implemented a new (internal - not sent over the air) +// field in MeshPacket called 'priority'. +// And the transmission queue in the router object is now a priority queue. +type MeshPacket_Priority int32 + +const ( + // Treated as Priority.DEFAULT + MeshPacket_UNSET MeshPacket_Priority = 0 + // TODO: REPLACE + MeshPacket_MIN MeshPacket_Priority = 1 + // Background position updates are sent with very low priority - + // if the link is super congested they might not go out at all + MeshPacket_BACKGROUND MeshPacket_Priority = 10 + // This priority is used for most messages that don't have a priority set + MeshPacket_DEFAULT MeshPacket_Priority = 64 + // 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 + // Ack/naks are sent with very high priority to ensure that retransmission + // stops as soon as possible + MeshPacket_ACK MeshPacket_Priority = 120 + // TODO: REPLACE + MeshPacket_MAX MeshPacket_Priority = 127 +) + +// Enum value maps for MeshPacket_Priority. +var ( + MeshPacket_Priority_name = map[int32]string{ + 0: "UNSET", + 1: "MIN", + 10: "BACKGROUND", + 64: "DEFAULT", + 70: "RELIABLE", + 120: "ACK", + 127: "MAX", + } + MeshPacket_Priority_value = map[string]int32{ + "UNSET": 0, + "MIN": 1, + "BACKGROUND": 10, + "DEFAULT": 64, + "RELIABLE": 70, + "ACK": 120, + "MAX": 127, + } +) + +func (x MeshPacket_Priority) Enum() *MeshPacket_Priority { + p := new(MeshPacket_Priority) + *p = x + return p +} + +func (x MeshPacket_Priority) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MeshPacket_Priority) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[6].Descriptor() +} + +func (MeshPacket_Priority) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[6] +} + +func (x MeshPacket_Priority) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MeshPacket_Priority.Descriptor instead. +func (MeshPacket_Priority) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{7, 0} +} + +// Identify if this is a delayed packet +type MeshPacket_Delayed int32 + +const ( + // If unset, the message is being sent in real time. + MeshPacket_NO_DELAY MeshPacket_Delayed = 0 + // The message is delayed and was originally a broadcast + MeshPacket_DELAYED_BROADCAST MeshPacket_Delayed = 1 + // The message is delayed and was originally a direct message + MeshPacket_DELAYED_DIRECT MeshPacket_Delayed = 2 +) + +// Enum value maps for MeshPacket_Delayed. +var ( + MeshPacket_Delayed_name = map[int32]string{ + 0: "NO_DELAY", + 1: "DELAYED_BROADCAST", + 2: "DELAYED_DIRECT", + } + MeshPacket_Delayed_value = map[string]int32{ + "NO_DELAY": 0, + "DELAYED_BROADCAST": 1, + "DELAYED_DIRECT": 2, + } +) + +func (x MeshPacket_Delayed) Enum() *MeshPacket_Delayed { + p := new(MeshPacket_Delayed) + *p = x + return p +} + +func (x MeshPacket_Delayed) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MeshPacket_Delayed) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[7].Descriptor() +} + +func (MeshPacket_Delayed) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[7] +} + +func (x MeshPacket_Delayed) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MeshPacket_Delayed.Descriptor instead. +func (MeshPacket_Delayed) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{7, 1} +} + +// Log levels, chosen to match python logging conventions. +type LogRecord_Level int32 + +const ( + // Log levels, chosen to match python logging conventions. + LogRecord_UNSET LogRecord_Level = 0 + // Log levels, chosen to match python logging conventions. + LogRecord_CRITICAL LogRecord_Level = 50 + // Log levels, chosen to match python logging conventions. + LogRecord_ERROR LogRecord_Level = 40 + // Log levels, chosen to match python logging conventions. + LogRecord_WARNING LogRecord_Level = 30 + // Log levels, chosen to match python logging conventions. + LogRecord_INFO LogRecord_Level = 20 + // Log levels, chosen to match python logging conventions. + LogRecord_DEBUG LogRecord_Level = 10 + // Log levels, chosen to match python logging conventions. + LogRecord_TRACE LogRecord_Level = 5 +) + +// Enum value maps for LogRecord_Level. +var ( + LogRecord_Level_name = map[int32]string{ + 0: "UNSET", + 50: "CRITICAL", + 40: "ERROR", + 30: "WARNING", + 20: "INFO", + 10: "DEBUG", + 5: "TRACE", + } + LogRecord_Level_value = map[string]int32{ + "UNSET": 0, + "CRITICAL": 50, + "ERROR": 40, + "WARNING": 30, + "INFO": 20, + "DEBUG": 10, + "TRACE": 5, + } +) + +func (x LogRecord_Level) Enum() *LogRecord_Level { + p := new(LogRecord_Level) + *p = x + return p +} + +func (x LogRecord_Level) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LogRecord_Level) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_mesh_proto_enumTypes[8].Descriptor() +} + +func (LogRecord_Level) Type() protoreflect.EnumType { + return &file_meshtastic_mesh_proto_enumTypes[8] +} + +func (x LogRecord_Level) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LogRecord_Level.Descriptor instead. +func (LogRecord_Level) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{10, 0} +} + +// a gps position +type Position struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 time if it is sent over + // the mesh (because there are devices on the mesh without GPS or RTC). + // 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"` + // TODO: REPLACE + AltitudeSource Position_AltSource `protobuf:"varint,6,opt,name=altitude_source,json=altitudeSource,proto3,enum=meshtastic.Position_AltSource" json:"altitude_source,omitempty"` + // Positional timestamp (actual timestamp of GPS solution) in integer epoch seconds + Timestamp uint32 `protobuf:"fixed32,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + // 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"` + // Geoidal separation in meters + AltitudeGeoidalSeparation int32 `protobuf:"zigzag32,10,opt,name=altitude_geoidal_separation,json=altitudeGeoidalSeparation,proto3" 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, + // in which case PDOP becomes redundant (PDOP=sqrt(HDOP^2 + VDOP^2)) + // + // TODO: REMOVE/INTEGRATE + PDOP uint32 `protobuf:"varint,11,opt,name=PDOP,proto3" json:"PDOP,omitempty"` + // TODO: REPLACE + HDOP uint32 `protobuf:"varint,12,opt,name=HDOP,proto3" json:"HDOP,omitempty"` + // TODO: REPLACE + VDOP uint32 `protobuf:"varint,13,opt,name=VDOP,proto3" json:"VDOP,omitempty"` + // GPS accuracy (a hardware specific constant) in mm + // + // multiplied with DOP to calculate positional accuracy + // + // Default: "'bout three meters-ish" :) + GpsAccuracy uint32 `protobuf:"varint,14,opt,name=gps_accuracy,json=gpsAccuracy,proto3" json:"gps_accuracy,omitempty"` + // Ground speed in m/s and True North TRACK in 1/100 degrees + // Clarification of terms: + // - "track" is the direction of motion (measured in horizontal plane) + // - "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"` + // TODO: REPLACE + GroundTrack uint32 `protobuf:"varint,16,opt,name=ground_track,json=groundTrack,proto3" 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) + FixType uint32 `protobuf:"varint,18,opt,name=fix_type,json=fixType,proto3" json:"fix_type,omitempty"` + // GPS "Satellites in View" number + SatsInView uint32 `protobuf:"varint,19,opt,name=sats_in_view,json=satsInView,proto3" json:"sats_in_view,omitempty"` + // Sensor ID - in case multiple positioning sensors are being used + SensorId uint32 `protobuf:"varint,20,opt,name=sensor_id,json=sensorId,proto3" json:"sensor_id,omitempty"` + // Estimated/expected time (in seconds) until next update: + // - if we update at fixed intervals of X seconds, use X + // - if we update at dynamic intervals (based on relative movement etc), + // but "AT LEAST every Y seconds", use Y + NextUpdate uint32 `protobuf:"varint,21,opt,name=next_update,json=nextUpdate,proto3" json:"next_update,omitempty"` + // A sequence number, incremented with each Position message to help + // + // detect lost updates if needed + SeqNumber uint32 `protobuf:"varint,22,opt,name=seq_number,json=seqNumber,proto3" json:"seq_number,omitempty"` +} + +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) + } +} + +func (x *Position) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Position) ProtoMessage() {} + +func (x *Position) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[0] + 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 Position.ProtoReflect.Descriptor instead. +func (*Position) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{0} +} + +func (x *Position) GetLatitudeI() int32 { + if x != nil { + return x.LatitudeI + } + return 0 +} + +func (x *Position) GetLongitudeI() int32 { + if x != nil { + return x.LongitudeI + } + return 0 +} + +func (x *Position) GetAltitude() int32 { + if x != nil { + return x.Altitude + } + return 0 +} + +func (x *Position) GetTime() uint32 { + if x != nil { + return x.Time + } + return 0 +} + +func (x *Position) GetLocationSource() Position_LocSource { + if x != nil { + return x.LocationSource + } + return Position_LOC_UNSET +} + +func (x *Position) GetAltitudeSource() Position_AltSource { + if x != nil { + return x.AltitudeSource + } + return Position_ALT_UNSET +} + +func (x *Position) GetTimestamp() uint32 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *Position) GetTimestampMillisAdjust() int32 { + if x != nil { + return x.TimestampMillisAdjust + } + return 0 +} + +func (x *Position) GetAltitudeHae() int32 { + if x != nil { + return x.AltitudeHae + } + return 0 +} + +func (x *Position) GetAltitudeGeoidalSeparation() int32 { + if x != nil { + return x.AltitudeGeoidalSeparation + } + return 0 +} + +func (x *Position) GetPDOP() uint32 { + if x != nil { + return x.PDOP + } + return 0 +} + +func (x *Position) GetHDOP() uint32 { + if x != nil { + return x.HDOP + } + return 0 +} + +func (x *Position) GetVDOP() uint32 { + if x != nil { + return x.VDOP + } + return 0 +} + +func (x *Position) GetGpsAccuracy() uint32 { + if x != nil { + return x.GpsAccuracy + } + return 0 +} + +func (x *Position) GetGroundSpeed() uint32 { + if x != nil { + return x.GroundSpeed + } + return 0 +} + +func (x *Position) GetGroundTrack() uint32 { + if x != nil { + return x.GroundTrack + } + return 0 +} + +func (x *Position) GetFixQuality() uint32 { + if x != nil { + return x.FixQuality + } + return 0 +} + +func (x *Position) GetFixType() uint32 { + if x != nil { + return x.FixType + } + return 0 +} + +func (x *Position) GetSatsInView() uint32 { + if x != nil { + return x.SatsInView + } + return 0 +} + +func (x *Position) GetSensorId() uint32 { + if x != nil { + return x.SensorId + } + return 0 +} + +func (x *Position) GetNextUpdate() uint32 { + if x != nil { + return x.NextUpdate + } + return 0 +} + +func (x *Position) GetSeqNumber() uint32 { + if x != nil { + return x.SeqNumber + } + return 0 +} + +// Broadcast when a newly powered mesh node wants to find a node num it can use +// Sent from the phone over bluetooth to set the user id for the owner of this node. +// Also sent from nodes to each other when a new node signs on (so all clients can have this info) +// The algorithm is as follows: +// when a node starts up, it broadcasts their user and the normal flow is for all +// other nodes to reply with their User as well (so the new node can build its nodedb) +// If a node ever receives a User (not just the first broadcast) message where +// the sender node number equals our node number, that indicates a collision has +// occurred and the following steps should happen: +// If the receiving node (that was already in the mesh)'s macaddr is LOWER than the +// new User who just tried to sign in: it gets to keep its nodenum. +// We send a broadcast message of OUR User (we use a broadcast so that the other node can +// receive our message, considering we have the same id - it also serves to let +// observers correct their nodedb) - this case is rare so it should be okay. +// If any node receives a User where the macaddr is GTE than their local macaddr, +// they have been vetoed and should pick a new random nodenum (filtering against +// whatever it knows about the nodedb) and rebroadcast their User. +// A few nodenums are reserved and will never be requested: +// 0xff - broadcast +// 0 through 3 - for future use +type User struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + // node IDs "^all" (for broadcast), "^local" (for the locally connected node) + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,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"` + // Deprecated in Meshtastic 2.1.x + // This is the addr of the radio. + // Not populated by the phone, but added by the esp32 when broadcasting + // + // Deprecated: Marked as deprecated in meshtastic/mesh.proto. + Macaddr []byte `protobuf:"bytes,4,opt,name=macaddr,proto3" json:"macaddr,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,5,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,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"` +} + +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) + } +} + +func (x *User) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*User) ProtoMessage() {} + +func (x *User) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[1] + 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 User.ProtoReflect.Descriptor instead. +func (*User) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{1} +} + +func (x *User) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *User) GetLongName() string { + if x != nil { + return x.LongName + } + return "" +} + +func (x *User) GetShortName() string { + if x != nil { + return x.ShortName + } + return "" +} + +// Deprecated: Marked as deprecated in meshtastic/mesh.proto. +func (x *User) GetMacaddr() []byte { + if x != nil { + return x.Macaddr + } + return nil +} + +func (x *User) GetHwModel() HardwareModel { + if x != nil { + return x.HwModel + } + return HardwareModel_UNSET +} + +func (x *User) GetIsLicensed() bool { + if x != nil { + return x.IsLicensed + } + return false +} + +func (x *User) GetRole() Config_DeviceConfig_Role { + if x != nil { + return x.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 + + // The list of nodenums this packet has visited so far + Route []uint32 `protobuf:"fixed32,1,rep,packed,name=route,proto3" json:"route,omitempty"` +} + +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) + } +} + +func (x *RouteDiscovery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RouteDiscovery) ProtoMessage() {} + +func (x *RouteDiscovery) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[2] + 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 RouteDiscovery.ProtoReflect.Descriptor instead. +func (*RouteDiscovery) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{2} +} + +func (x *RouteDiscovery) GetRoute() []uint32 { + if x != nil { + return x.Route + } + 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: + // + // *Routing_RouteRequest + // *Routing_RouteReply + // *Routing_ErrorReason + Variant isRouting_Variant `protobuf_oneof:"variant"` +} + +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) + } +} + +func (x *Routing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Routing) ProtoMessage() {} + +func (x *Routing) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[3] + 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 Routing.ProtoReflect.Descriptor instead. +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 + } + return nil +} + +func (x *Routing) GetRouteRequest() *RouteDiscovery { + if x, ok := x.GetVariant().(*Routing_RouteRequest); ok { + return x.RouteRequest + } + return nil +} + +func (x *Routing) GetRouteReply() *RouteDiscovery { + if x, ok := x.GetVariant().(*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 + } + return Routing_NONE +} + +type isRouting_Variant interface { + isRouting_Variant() +} + +type Routing_RouteRequest struct { + // A route request going from the requester + RouteRequest *RouteDiscovery `protobuf:"bytes,1,opt,name=route_request,json=routeRequest,proto3,oneof"` +} + +type Routing_RouteReply struct { + // A route reply + RouteReply *RouteDiscovery `protobuf:"bytes,2,opt,name=route_reply,json=routeReply,proto3,oneof"` +} + +type Routing_ErrorReason struct { + // A failure in delivering a message (usually used for routing control messages, but might be provided + // in addition to ack.fail_id to provide details on the type of failure). + ErrorReason Routing_Error `protobuf:"varint,3,opt,name=error_reason,json=errorReason,proto3,enum=meshtastic.Routing_Error,oneof"` +} + +func (*Routing_RouteRequest) isRouting_Variant() {} + +func (*Routing_RouteReply) isRouting_Variant() {} + +func (*Routing_ErrorReason) isRouting_Variant() {} + +// (Formerly called SubPacket) +// The payload portion fo a packet, this is the actual bytes that are sent +// inside a radio packet (because from/to are broken out by the comms library) +type Data struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Formerly named typ and of type Type + Portnum PortNum `protobuf:"varint,1,opt,name=portnum,proto3,enum=meshtastic.PortNum" json:"portnum,omitempty"` + // TODO: REPLACE + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + // Not normally used, but for testing a sender can request that recipient + // responds in kind (i.e. if it received a position, it should unicast back it's position). + // Note: that if you set this on a broadcast you will receive many replies. + WantResponse bool `protobuf:"varint,3,opt,name=want_response,json=wantResponse,proto3" json:"want_response,omitempty"` + // The address of the destination node. + // This field is is filled in by the mesh radio device software, application + // layer software should never need it. + // RouteDiscovery messages _must_ populate this. + // Other message types might need to if they are doing multihop routing. + Dest uint32 `protobuf:"fixed32,4,opt,name=dest,proto3" json:"dest,omitempty"` + // The address of the original sender for this message. + // This field should _only_ be populated for reliable multihop packets (to keep + // packets small). + Source uint32 `protobuf:"fixed32,5,opt,name=source,proto3" json:"source,omitempty"` + // Only used in routing or response messages. + // Indicates the original message ID that this message is reporting failure on. (formerly called original_id) + RequestId uint32 `protobuf:"fixed32,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // If set, this message is intened to be a reply to a previously sent message with the defined id. + ReplyId uint32 `protobuf:"fixed32,7,opt,name=reply_id,json=replyId,proto3" json:"reply_id,omitempty"` + // 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"` +} + +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) + } +} + +func (x *Data) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Data) ProtoMessage() {} + +func (x *Data) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[4] + 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 Data.ProtoReflect.Descriptor instead. +func (*Data) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{4} +} + +func (x *Data) GetPortnum() PortNum { + if x != nil { + return x.Portnum + } + return PortNum_UNKNOWN_APP +} + +func (x *Data) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +func (x *Data) GetWantResponse() bool { + if x != nil { + return x.WantResponse + } + return false +} + +func (x *Data) GetDest() uint32 { + if x != nil { + return x.Dest + } + return 0 +} + +func (x *Data) GetSource() uint32 { + if x != nil { + return x.Source + } + return 0 +} + +func (x *Data) GetRequestId() uint32 { + if x != nil { + return x.RequestId + } + return 0 +} + +func (x *Data) GetReplyId() uint32 { + if x != nil { + return x.ReplyId + } + return 0 +} + +func (x *Data) GetEmoji() uint32 { + if x != nil { + return x.Emoji + } + return 0 +} + +// Waypoint message, used to share arbitrary locations across the mesh +type Waypoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // longitude_i + LongitudeI int32 `protobuf:"fixed32,3,opt,name=longitude_i,json=longitudeI,proto3" 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. + // If zero, the waypoint is open to be edited by any member of the mesh. + LockedTo uint32 `protobuf:"varint,5,opt,name=locked_to,json=lockedTo,proto3" json:"locked_to,omitempty"` + // Name of the waypoint - max 30 chars + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + // 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"` +} + +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) + } +} + +func (x *Waypoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Waypoint) ProtoMessage() {} + +func (x *Waypoint) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_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 Waypoint.ProtoReflect.Descriptor instead. +func (*Waypoint) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{5} +} + +func (x *Waypoint) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Waypoint) GetLatitudeI() int32 { + if x != nil { + return x.LatitudeI + } + return 0 +} + +func (x *Waypoint) GetLongitudeI() int32 { + if x != nil { + return x.LongitudeI + } + return 0 +} + +func (x *Waypoint) GetExpire() uint32 { + if x != nil { + return x.Expire + } + return 0 +} + +func (x *Waypoint) GetLockedTo() uint32 { + if x != nil { + return x.LockedTo + } + return 0 +} + +func (x *Waypoint) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Waypoint) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Waypoint) GetIcon() uint32 { + if x != nil { + return x.Icon + } + return 0 +} + +// 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 + + // 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: + // + // *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"` +} + +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) + } +} + +func (x *MqttClientProxyMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MqttClientProxyMessage) ProtoMessage() {} + +func (x *MqttClientProxyMessage) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[6] + 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 MqttClientProxyMessage.ProtoReflect.Descriptor instead. +func (*MqttClientProxyMessage) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{6} +} + +func (x *MqttClientProxyMessage) GetTopic() string { + if x != nil { + return x.Topic + } + return "" +} + +func (m *MqttClientProxyMessage) GetPayloadVariant() isMqttClientProxyMessage_PayloadVariant { + if m != nil { + return m.PayloadVariant + } + return nil +} + +func (x *MqttClientProxyMessage) GetData() []byte { + if x, ok := x.GetPayloadVariant().(*MqttClientProxyMessage_Data); ok { + return x.Data + } + return nil +} + +func (x *MqttClientProxyMessage) GetText() string { + if x, ok := x.GetPayloadVariant().(*MqttClientProxyMessage_Text); ok { + return x.Text + } + return "" +} + +func (x *MqttClientProxyMessage) GetRetained() bool { + if x != nil { + return x.Retained + } + return false +} + +type isMqttClientProxyMessage_PayloadVariant interface { + isMqttClientProxyMessage_PayloadVariant() +} + +type MqttClientProxyMessage_Data struct { + // Bytes + Data []byte `protobuf:"bytes,2,opt,name=data,proto3,oneof"` +} + +type MqttClientProxyMessage_Text struct { + // Text + Text string `protobuf:"bytes,3,opt,name=text,proto3,oneof"` +} + +func (*MqttClientProxyMessage_Data) isMqttClientProxyMessage_PayloadVariant() {} + +func (*MqttClientProxyMessage_Text) isMqttClientProxyMessage_PayloadVariant() {} + +// A packet envelope sent/received over the mesh +// only payload_variant is sent in the payload portion of the LORA packet. +// The other fields are either not sent at all, or sent in the special 16 byte LORA header. +type MeshPacket struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The sending node number. + // Note: Our crypto implementation uses this field as well. + // See [crypto](/docs/overview/encryption) for details. + // FIXME - really should be fixed32 instead, this encoding only hurts the ble link though. + From uint32 `protobuf:"fixed32,1,opt,name=from,proto3" json:"from,omitempty"` + // The (immediatSee Priority description for more details.y should be fixed32 instead, this encoding only + // hurts the ble link though. + To uint32 `protobuf:"fixed32,2,opt,name=to,proto3" json:"to,omitempty"` + // (Usually) If set, this indicates the index in the secondary_channels table that this packet was sent/received on. + // If unset, packet was on the primary channel. + // A particular node might know only a subset of channels in use on the mesh. + // Therefore channel_index is inherently a local concept and meaningless to send between nodes. + // Very briefly, while sending and receiving deep inside the device Router code, this field instead + // 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: + // + // *MeshPacket_Decoded + // *MeshPacket_Encrypted + PayloadVariant isMeshPacket_PayloadVariant `protobuf_oneof:"payload_variant"` + // A unique ID for this packet. + // Always 0 for no-ack packets or non broadcast packets (and therefore take zero bytes of space). + // Otherwise a unique ID for this packet, useful for flooding algorithms. + // ID only needs to be unique on a _per sender_ basis, and it only + // needs to be unique for a few minutes (long enough to last for the length of + // any ACK or the completion of a mesh broadcast flood). + // Note: Our crypto implementation uses this id as well. + // See [crypto](/docs/overview/encryption) for details. + // FIXME - really should be fixed32 instead, this encoding only + // hurts the ble link though. + Id uint32 `protobuf:"fixed32,6,opt,name=id,proto3" json:"id,omitempty"` + // The time this message was received by the esp32 (secs since 1970). + // Note: this field is _never_ sent on the radio link itself (to save space) Times + // are typically not sent over the mesh, but they will be added to any Packet + // (chain of SubPacket) sent to the phone (so the phone can know exact time of reception) + RxTime uint32 `protobuf:"fixed32,7,opt,name=rx_time,json=rxTime,proto3" json:"rx_time,omitempty"` + // *Never* sent over the radio links. + // 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 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. + HopLimit uint32 `protobuf:"varint,9,opt,name=hop_limit,json=hopLimit,proto3" json:"hop_limit,omitempty"` + // This packet is being sent as a reliable message, we would prefer it to arrive at the destination. + // We would like to receive a ack packet in response. + // Broadcasts messages treat this flag specially: Since acks for broadcasts would + // rapidly flood the channel, the normal ack behavior is suppressed. + // Instead, the original sender listens to see if at least one node is rebroadcasting this packet (because naive flooding algorithm). + // If it hears that the odds (given typical LoRa topologies) the odds are very high that every node should eventually receive the message. + // So FloodingRouter.cpp generates an implicit ack which is delivered to the original sender. + // If after some time we don't hear anyone rebroadcast our packet, we will timeout and retransmit, using the regular resend logic. + // Note: This flag is normally sent in a flag bit in the header when sent over the wire + WantAck bool `protobuf:"varint,10,opt,name=want_ack,json=wantAck,proto3" json:"want_ack,omitempty"` + // The priority of this message for sending. + // See MeshPacket.Priority description for more details. + Priority MeshPacket_Priority `protobuf:"varint,11,opt,name=priority,proto3,enum=meshtastic.MeshPacket_Priority" json:"priority,omitempty"` + // rssi of received packet. Only sent to phone for dispay purposes. + RxRssi int32 `protobuf:"varint,12,opt,name=rx_rssi,json=rxRssi,proto3" json:"rx_rssi,omitempty"` + // Describe if this message is delayed + // + // Deprecated: Marked as deprecated in meshtastic/mesh.proto. + 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"` +} + +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) + } +} + +func (x *MeshPacket) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeshPacket) ProtoMessage() {} + +func (x *MeshPacket) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[7] + 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 MeshPacket.ProtoReflect.Descriptor instead. +func (*MeshPacket) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{7} +} + +func (x *MeshPacket) GetFrom() uint32 { + if x != nil { + return x.From + } + return 0 +} + +func (x *MeshPacket) GetTo() uint32 { + if x != nil { + return x.To + } + return 0 +} + +func (x *MeshPacket) GetChannel() uint32 { + if x != nil { + return x.Channel + } + return 0 +} + +func (m *MeshPacket) GetPayloadVariant() isMeshPacket_PayloadVariant { + if m != nil { + return m.PayloadVariant + } + return nil +} + +func (x *MeshPacket) GetDecoded() *Data { + if x, ok := x.GetPayloadVariant().(*MeshPacket_Decoded); ok { + return x.Decoded + } + return nil +} + +func (x *MeshPacket) GetEncrypted() []byte { + if x, ok := x.GetPayloadVariant().(*MeshPacket_Encrypted); ok { + return x.Encrypted + } + return nil +} + +func (x *MeshPacket) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *MeshPacket) GetRxTime() uint32 { + if x != nil { + return x.RxTime + } + return 0 +} + +func (x *MeshPacket) GetRxSnr() float32 { + if x != nil { + return x.RxSnr + } + return 0 +} + +func (x *MeshPacket) GetHopLimit() uint32 { + if x != nil { + return x.HopLimit + } + return 0 +} + +func (x *MeshPacket) GetWantAck() bool { + if x != nil { + return x.WantAck + } + return false +} + +func (x *MeshPacket) GetPriority() MeshPacket_Priority { + if x != nil { + return x.Priority + } + return MeshPacket_UNSET +} + +func (x *MeshPacket) GetRxRssi() int32 { + if x != nil { + return x.RxRssi + } + return 0 +} + +// Deprecated: Marked as deprecated in meshtastic/mesh.proto. +func (x *MeshPacket) GetDelayed() MeshPacket_Delayed { + if x != nil { + return x.Delayed + } + return MeshPacket_NO_DELAY +} + +func (x *MeshPacket) GetViaMqtt() bool { + if x != nil { + return x.ViaMqtt + } + return false +} + +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: +// POSITION_UPDATE (..., time) +// TEXT_RECEIVED(from, text, time) +// OPAQUE_RECEIVED(from, payload, time) (for signal messages or other applications) +// messages from phone to device: +// SET_MYID(id, human readable long, human readable short) (send down the unique ID +// string used for this node, a human readable string shown for that id, and a very +// short human readable string suitable for oled screen) SEND_OPAQUE(dest, payload) +// (for signal messages or other applications) SEND_TEXT(dest, text) Get all +// nodes() (returns list of nodes, with full info, last time seen, loc, battery +// level etc) SET_CONFIG (switches device to a new set of radio params and +// preshared key, drops all existing nodes, force our node to rejoin this new group) +// Full information about a node on the mesh +type NodeInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // 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 *Position `protobuf:"bytes,3,opt,name=position,proto3" json:"position,omitempty"` + // Returns the Signal-to-noise ratio (SNR) of the last received message, + // as measured by the receiver. Return SNR of the last received message in dB + Snr float32 `protobuf:"fixed32,4,opt,name=snr,proto3" json:"snr,omitempty"` + // Set to indicate the last time we received a packet from this node + LastHeard uint32 `protobuf:"fixed32,5,opt,name=last_heard,json=lastHeard,proto3" json:"last_heard,omitempty"` + // The latest device metrics for the node. + 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"` +} + +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) + } +} + +func (x *NodeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NodeInfo) ProtoMessage() {} + +func (x *NodeInfo) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[8] + 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 NodeInfo.ProtoReflect.Descriptor instead. +func (*NodeInfo) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{8} +} + +func (x *NodeInfo) GetNum() uint32 { + if x != nil { + return x.Num + } + return 0 +} + +func (x *NodeInfo) GetUser() *User { + if x != nil { + return x.User + } + return nil +} + +func (x *NodeInfo) GetPosition() *Position { + if x != nil { + return x.Position + } + return nil +} + +func (x *NodeInfo) GetSnr() float32 { + if x != nil { + return x.Snr + } + return 0 +} + +func (x *NodeInfo) GetLastHeard() uint32 { + if x != nil { + return x.LastHeard + } + return 0 +} + +func (x *NodeInfo) GetDeviceMetrics() *DeviceMetrics { + if x != nil { + return x.DeviceMetrics + } + return nil +} + +func (x *NodeInfo) GetChannel() uint32 { + if x != nil { + return x.Channel + } + return 0 +} + +// 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 + + // 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"` + // The total number of reboots this node has ever encountered + // (well - since the last time we discarded preferences) + RebootCount uint32 `protobuf:"varint,8,opt,name=reboot_count,json=rebootCount,proto3" json:"reboot_count,omitempty"` + // 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"` +} + +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) + } +} + +func (x *MyNodeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MyNodeInfo) ProtoMessage() {} + +func (x *MyNodeInfo) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[9] + 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 MyNodeInfo.ProtoReflect.Descriptor instead. +func (*MyNodeInfo) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{9} +} + +func (x *MyNodeInfo) GetMyNodeNum() uint32 { + if x != nil { + return x.MyNodeNum + } + return 0 +} + +func (x *MyNodeInfo) GetRebootCount() uint32 { + if x != nil { + return x.RebootCount + } + return 0 +} + +func (x *MyNodeInfo) GetMinAppVersion() uint32 { + if x != nil { + return x.MinAppVersion + } + return 0 +} + +// 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 + + // 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 + Time uint32 `protobuf:"fixed32,2,opt,name=time,proto3" json:"time,omitempty"` + // 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"` +} + +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) + } +} + +func (x *LogRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LogRecord) ProtoMessage() {} + +func (x *LogRecord) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[10] + 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 LogRecord.ProtoReflect.Descriptor instead. +func (*LogRecord) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{10} +} + +func (x *LogRecord) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *LogRecord) GetTime() uint32 { + if x != nil { + return x.Time + } + return 0 +} + +func (x *LogRecord) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *LogRecord) GetLevel() LogRecord_Level { + if x != nil { + return x.Level + } + return LogRecord_UNSET +} + +type QueueStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Last attempt to queue status, ErrorCode + Res int32 `protobuf:"varint,1,opt,name=res,proto3" json:"res,omitempty"` + // Free entries in the outgoing queue + Free uint32 `protobuf:"varint,2,opt,name=free,proto3" json:"free,omitempty"` + // 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"` +} + +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) + } +} + +func (x *QueueStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueueStatus) ProtoMessage() {} + +func (x *QueueStatus) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[11] + 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 QueueStatus.ProtoReflect.Descriptor instead. +func (*QueueStatus) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{11} +} + +func (x *QueueStatus) GetRes() int32 { + if x != nil { + return x.Res + } + return 0 +} + +func (x *QueueStatus) GetFree() uint32 { + if x != nil { + return x.Free + } + return 0 +} + +func (x *QueueStatus) GetMaxlen() uint32 { + if x != nil { + return x.Maxlen + } + return 0 +} + +func (x *QueueStatus) GetMeshPacketId() uint32 { + if x != nil { + return x.MeshPacketId + } + return 0 +} + +// Packets from the radio to the phone will appear on the fromRadio characteristic. +// It will support READ and NOTIFY. When a new packet arrives the device will BLE notify? +// It will sit in that descriptor until consumed by the phone, +// at which point the next item in the FIFO will be populated. +type FromRadio struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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: + // + // *FromRadio_Packet + // *FromRadio_MyInfo + // *FromRadio_NodeInfo + // *FromRadio_Config + // *FromRadio_LogRecord + // *FromRadio_ConfigCompleteId + // *FromRadio_Rebooted + // *FromRadio_ModuleConfig + // *FromRadio_Channel + // *FromRadio_QueueStatus + // *FromRadio_XmodemPacket + // *FromRadio_Metadata + // *FromRadio_MqttClientProxyMessage + PayloadVariant isFromRadio_PayloadVariant `protobuf_oneof:"payload_variant"` +} + +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) + } +} + +func (x *FromRadio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FromRadio) ProtoMessage() {} + +func (x *FromRadio) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[12] + 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 FromRadio.ProtoReflect.Descriptor instead. +func (*FromRadio) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{12} +} + +func (x *FromRadio) GetId() uint32 { + if x != nil { + return x.Id + } + return 0 +} + +func (m *FromRadio) GetPayloadVariant() isFromRadio_PayloadVariant { + if m != nil { + return m.PayloadVariant + } + return nil +} + +func (x *FromRadio) GetPacket() *MeshPacket { + if x, ok := x.GetPayloadVariant().(*FromRadio_Packet); ok { + return x.Packet + } + return nil +} + +func (x *FromRadio) GetMyInfo() *MyNodeInfo { + if x, ok := x.GetPayloadVariant().(*FromRadio_MyInfo); ok { + return x.MyInfo + } + return nil +} + +func (x *FromRadio) GetNodeInfo() *NodeInfo { + if x, ok := x.GetPayloadVariant().(*FromRadio_NodeInfo); ok { + return x.NodeInfo + } + return nil +} + +func (x *FromRadio) GetConfig() *Config { + if x, ok := x.GetPayloadVariant().(*FromRadio_Config); ok { + return x.Config + } + return nil +} + +func (x *FromRadio) GetLogRecord() *LogRecord { + if x, ok := x.GetPayloadVariant().(*FromRadio_LogRecord); ok { + return x.LogRecord + } + return nil +} + +func (x *FromRadio) GetConfigCompleteId() uint32 { + if x, ok := x.GetPayloadVariant().(*FromRadio_ConfigCompleteId); ok { + return x.ConfigCompleteId + } + return 0 +} + +func (x *FromRadio) GetRebooted() bool { + if x, ok := x.GetPayloadVariant().(*FromRadio_Rebooted); ok { + return x.Rebooted + } + return false +} + +func (x *FromRadio) GetModuleConfig() *ModuleConfig { + if x, ok := x.GetPayloadVariant().(*FromRadio_ModuleConfig); ok { + return x.ModuleConfig + } + return nil +} + +func (x *FromRadio) GetChannel() *Channel { + if x, ok := x.GetPayloadVariant().(*FromRadio_Channel); ok { + return x.Channel + } + return nil +} + +func (x *FromRadio) GetQueueStatus() *QueueStatus { + if x, ok := x.GetPayloadVariant().(*FromRadio_QueueStatus); ok { + return x.QueueStatus + } + return nil +} + +func (x *FromRadio) GetXmodemPacket() *XModem { + if x, ok := x.GetPayloadVariant().(*FromRadio_XmodemPacket); ok { + return x.XmodemPacket + } + return nil +} + +func (x *FromRadio) GetMetadata() *DeviceMetadata { + if x, ok := x.GetPayloadVariant().(*FromRadio_Metadata); ok { + return x.Metadata + } + return nil +} + +func (x *FromRadio) GetMqttClientProxyMessage() *MqttClientProxyMessage { + if x, ok := x.GetPayloadVariant().(*FromRadio_MqttClientProxyMessage); ok { + return x.MqttClientProxyMessage + } + return nil +} + +type isFromRadio_PayloadVariant interface { + isFromRadio_PayloadVariant() +} + +type FromRadio_Packet struct { + // Log levels, chosen to match python logging conventions. + Packet *MeshPacket `protobuf:"bytes,2,opt,name=packet,proto3,oneof"` +} + +type FromRadio_MyInfo struct { + // Tells the phone what our node number is, can be -1 if we've not yet joined a mesh. + // NOTE: This ID must not change - to keep (minimal) compatibility with <1.2 version of android apps. + MyInfo *MyNodeInfo `protobuf:"bytes,3,opt,name=my_info,json=myInfo,proto3,oneof"` +} + +type FromRadio_NodeInfo struct { + // One packet is sent for each node in the on radio DB + // starts over with the first node in our DB + NodeInfo *NodeInfo `protobuf:"bytes,4,opt,name=node_info,json=nodeInfo,proto3,oneof"` +} + +type FromRadio_Config struct { + // Include a part of the config (was: RadioConfig radio) + Config *Config `protobuf:"bytes,5,opt,name=config,proto3,oneof"` +} + +type FromRadio_LogRecord struct { + // Set to send debug console output over our protobuf stream + LogRecord *LogRecord `protobuf:"bytes,6,opt,name=log_record,json=logRecord,proto3,oneof"` +} + +type FromRadio_ConfigCompleteId struct { + // Sent as true once the device has finished sending all of the responses to want_config + // recipient should check if this ID matches our original request nonce, if + // not, it means your config responses haven't started yet. + // NOTE: This ID must not change - to keep (minimal) compatibility with <1.2 version of android apps. + ConfigCompleteId uint32 `protobuf:"varint,7,opt,name=config_complete_id,json=configCompleteId,proto3,oneof"` +} + +type FromRadio_Rebooted struct { + // Sent to tell clients the radio has just rebooted. + // Set to true if present. + // Not used on all transports, currently just used for the serial console. + // NOTE: This ID must not change - to keep (minimal) compatibility with <1.2 version of android apps. + Rebooted bool `protobuf:"varint,8,opt,name=rebooted,proto3,oneof"` +} + +type FromRadio_ModuleConfig struct { + // Include module config + ModuleConfig *ModuleConfig `protobuf:"bytes,9,opt,name=moduleConfig,proto3,oneof"` +} + +type FromRadio_Channel struct { + // One packet is sent for each channel + Channel *Channel `protobuf:"bytes,10,opt,name=channel,proto3,oneof"` +} + +type FromRadio_QueueStatus struct { + // Queue status info + QueueStatus *QueueStatus `protobuf:"bytes,11,opt,name=queueStatus,proto3,oneof"` +} + +type FromRadio_XmodemPacket struct { + // File Transfer Chunk + XmodemPacket *XModem `protobuf:"bytes,12,opt,name=xmodemPacket,proto3,oneof"` +} + +type FromRadio_Metadata struct { + // Device metadata message + Metadata *DeviceMetadata `protobuf:"bytes,13,opt,name=metadata,proto3,oneof"` +} + +type FromRadio_MqttClientProxyMessage struct { + // MQTT Client Proxy Message (device sending to client / phone for publishing to MQTT) + MqttClientProxyMessage *MqttClientProxyMessage `protobuf:"bytes,14,opt,name=mqttClientProxyMessage,proto3,oneof"` +} + +func (*FromRadio_Packet) isFromRadio_PayloadVariant() {} + +func (*FromRadio_MyInfo) isFromRadio_PayloadVariant() {} + +func (*FromRadio_NodeInfo) isFromRadio_PayloadVariant() {} + +func (*FromRadio_Config) isFromRadio_PayloadVariant() {} + +func (*FromRadio_LogRecord) isFromRadio_PayloadVariant() {} + +func (*FromRadio_ConfigCompleteId) isFromRadio_PayloadVariant() {} + +func (*FromRadio_Rebooted) isFromRadio_PayloadVariant() {} + +func (*FromRadio_ModuleConfig) isFromRadio_PayloadVariant() {} + +func (*FromRadio_Channel) isFromRadio_PayloadVariant() {} + +func (*FromRadio_QueueStatus) isFromRadio_PayloadVariant() {} + +func (*FromRadio_XmodemPacket) isFromRadio_PayloadVariant() {} + +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 + + // Log levels, chosen to match python logging conventions. + // + // Types that are assignable to PayloadVariant: + // + // *ToRadio_Packet + // *ToRadio_WantConfigId + // *ToRadio_Disconnect + // *ToRadio_XmodemPacket + // *ToRadio_MqttClientProxyMessage + PayloadVariant isToRadio_PayloadVariant `protobuf_oneof:"payload_variant"` +} + +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 *ToRadio) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ToRadio) ProtoMessage() {} + +func (x *ToRadio) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[13] + 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 ToRadio.ProtoReflect.Descriptor instead. +func (*ToRadio) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{13} +} + +func (m *ToRadio) GetPayloadVariant() isToRadio_PayloadVariant { + if m != nil { + return m.PayloadVariant + } + return nil +} + +func (x *ToRadio) GetPacket() *MeshPacket { + if x, ok := x.GetPayloadVariant().(*ToRadio_Packet); ok { + return x.Packet + } + return nil +} + +func (x *ToRadio) GetWantConfigId() uint32 { + if x, ok := x.GetPayloadVariant().(*ToRadio_WantConfigId); ok { + return x.WantConfigId + } + return 0 +} + +func (x *ToRadio) GetDisconnect() bool { + if x, ok := x.GetPayloadVariant().(*ToRadio_Disconnect); ok { + return x.Disconnect + } + return false +} + +func (x *ToRadio) GetXmodemPacket() *XModem { + if x, ok := x.GetPayloadVariant().(*ToRadio_XmodemPacket); ok { + return x.XmodemPacket + } + return nil +} + +func (x *ToRadio) GetMqttClientProxyMessage() *MqttClientProxyMessage { + if x, ok := x.GetPayloadVariant().(*ToRadio_MqttClientProxyMessage); ok { + return x.MqttClientProxyMessage + } + 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 { + // MQTT Client Proxy Message (for client / phone subscribed to MQTT sending to device) + MqttClientProxyMessage *MqttClientProxyMessage `protobuf:"bytes,6,opt,name=mqttClientProxyMessage,proto3,oneof"` +} + +func (*ToRadio_Packet) isToRadio_PayloadVariant() {} + +func (*ToRadio_WantConfigId) isToRadio_PayloadVariant() {} + +func (*ToRadio_Disconnect) isToRadio_PayloadVariant() {} + +func (*ToRadio_XmodemPacket) isToRadio_PayloadVariant() {} + +func (*ToRadio_MqttClientProxyMessage) isToRadio_PayloadVariant() {} + +// Compressed message payload +type Compressed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *Compressed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Compressed) ProtoMessage() {} + +func (x *Compressed) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[14] + 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 Compressed.ProtoReflect.Descriptor instead. +func (*Compressed) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{14} +} + +func (x *Compressed) GetPortnum() PortNum { + if x != nil { + return x.Portnum + } + return PortNum_UNKNOWN_APP +} + +func (x *Compressed) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// Full info on edges for a single node +type NeighborInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + LastSentById uint32 `protobuf:"varint,2,opt,name=last_sent_by_id,json=lastSentById,proto3" json:"last_sent_by_id,omitempty"` + // 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"` +} + +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) + } +} + +func (x *NeighborInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NeighborInfo) ProtoMessage() {} + +func (x *NeighborInfo) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[15] + 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 NeighborInfo.ProtoReflect.Descriptor instead. +func (*NeighborInfo) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{15} +} + +func (x *NeighborInfo) GetNodeId() uint32 { + if x != nil { + return x.NodeId + } + return 0 +} + +func (x *NeighborInfo) GetLastSentById() uint32 { + if x != nil { + return x.LastSentById + } + return 0 +} + +func (x *NeighborInfo) GetNodeBroadcastIntervalSecs() uint32 { + if x != nil { + return x.NodeBroadcastIntervalSecs + } + return 0 +} + +func (x *NeighborInfo) GetNeighbors() []*Neighbor { + if x != nil { + return x.Neighbors + } + return nil +} + +// A single edge in the mesh +type Neighbor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + Snr float32 `protobuf:"fixed32,2,opt,name=snr,proto3" json:"snr,omitempty"` + // Reception time (in secs since 1970) of last message that was last sent by this ID. + // Note: this is for local storage only and will not be sent out over the mesh. + LastRxTime uint32 `protobuf:"fixed32,3,opt,name=last_rx_time,json=lastRxTime,proto3" json:"last_rx_time,omitempty"` + // 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"` +} + +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) + } +} + +func (x *Neighbor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Neighbor) ProtoMessage() {} + +func (x *Neighbor) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[16] + 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 Neighbor.ProtoReflect.Descriptor instead. +func (*Neighbor) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{16} +} + +func (x *Neighbor) GetNodeId() uint32 { + if x != nil { + return x.NodeId + } + return 0 +} + +func (x *Neighbor) GetSnr() float32 { + if x != nil { + return x.Snr + } + return 0 +} + +func (x *Neighbor) GetLastRxTime() uint32 { + if x != nil { + return x.LastRxTime + } + return 0 +} + +func (x *Neighbor) GetNodeBroadcastIntervalSecs() uint32 { + if x != nil { + return x.NodeBroadcastIntervalSecs + } + return 0 +} + +// Device metadata response +type DeviceMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Device firmware version string + FirmwareVersion string `protobuf:"bytes,1,opt,name=firmware_version,json=firmwareVersion,proto3" json:"firmware_version,omitempty"` + // Device state version + DeviceStateVersion uint32 `protobuf:"varint,2,opt,name=device_state_version,json=deviceStateVersion,proto3" json:"device_state_version,omitempty"` + // Indicates whether the device can shutdown CPU natively or via power management chip + CanShutdown bool `protobuf:"varint,3,opt,name=canShutdown,proto3" json:"canShutdown,omitempty"` + // Indicates that the device has native wifi capability + HasWifi bool `protobuf:"varint,4,opt,name=hasWifi,proto3" json:"hasWifi,omitempty"` + // Indicates that the device has native bluetooth capability + HasBluetooth bool `protobuf:"varint,5,opt,name=hasBluetooth,proto3" json:"hasBluetooth,omitempty"` + // Indicates that the device has an ethernet peripheral + HasEthernet bool `protobuf:"varint,6,opt,name=hasEthernet,proto3" json:"hasEthernet,omitempty"` + // Indicates that the device's role in the mesh + Role Config_DeviceConfig_Role `protobuf:"varint,7,opt,name=role,proto3,enum=meshtastic.Config_DeviceConfig_Role" json:"role,omitempty"` + // Indicates the device's current enabled position flags + PositionFlags uint32 `protobuf:"varint,8,opt,name=position_flags,json=positionFlags,proto3" json:"position_flags,omitempty"` + // Device hardware model + 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"` +} + +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) + } +} + +func (x *DeviceMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceMetadata) ProtoMessage() {} + +func (x *DeviceMetadata) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mesh_proto_msgTypes[17] + 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 DeviceMetadata.ProtoReflect.Descriptor instead. +func (*DeviceMetadata) Descriptor() ([]byte, []int) { + return file_meshtastic_mesh_proto_rawDescGZIP(), []int{17} +} + +func (x *DeviceMetadata) GetFirmwareVersion() string { + if x != nil { + return x.FirmwareVersion + } + return "" +} + +func (x *DeviceMetadata) GetDeviceStateVersion() uint32 { + if x != nil { + return x.DeviceStateVersion + } + return 0 +} + +func (x *DeviceMetadata) GetCanShutdown() bool { + if x != nil { + return x.CanShutdown + } + return false +} + +func (x *DeviceMetadata) GetHasWifi() bool { + if x != nil { + return x.HasWifi + } + return false +} + +func (x *DeviceMetadata) GetHasBluetooth() bool { + if x != nil { + return x.HasBluetooth + } + return false +} + +func (x *DeviceMetadata) GetHasEthernet() bool { + if x != nil { + return x.HasEthernet + } + return false +} + +func (x *DeviceMetadata) GetRole() Config_DeviceConfig_Role { + if x != nil { + return x.Role + } + return Config_DeviceConfig_CLIENT +} + +func (x *DeviceMetadata) GetPositionFlags() uint32 { + if x != nil { + return x.PositionFlags + } + return 0 +} + +func (x *DeviceMetadata) GetHwModel() HardwareModel { + if x != nil { + return x.HwModel + } + return HardwareModel_UNSET +} + +func (x *DeviceMetadata) GetHasRemoteHardware() bool { + if x != nil { + return x.HasRemoteHardware + } + return false +} + +var File_meshtastic_mesh_proto protoreflect.FileDescriptor + +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, 0xd9, 0x07, 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, 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, 0xc4, 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, 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, +} + +var ( + file_meshtastic_mesh_proto_rawDescOnce sync.Once + file_meshtastic_mesh_proto_rawDescData = file_meshtastic_mesh_proto_rawDesc +) + +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) + }) + 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_depIdxs = []int32{ + 3, // 0: meshtastic.Position.location_source:type_name -> meshtastic.Position.LocSource + 4, // 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 +} + +func init() { file_meshtastic_mesh_proto_init() } +func file_meshtastic_mesh_proto_init() { + if File_meshtastic_mesh_proto != nil { + return + } + file_meshtastic_channel_proto_init() + file_meshtastic_config_proto_init() + file_meshtastic_module_config_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{}{ + (*Routing_RouteRequest)(nil), + (*Routing_RouteReply)(nil), + (*Routing_ErrorReason)(nil), + } + file_meshtastic_mesh_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*MqttClientProxyMessage_Data)(nil), + (*MqttClientProxyMessage_Text)(nil), + } + file_meshtastic_mesh_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*MeshPacket_Decoded)(nil), + (*MeshPacket_Encrypted)(nil), + } + file_meshtastic_mesh_proto_msgTypes[12].OneofWrappers = []interface{}{ + (*FromRadio_Packet)(nil), + (*FromRadio_MyInfo)(nil), + (*FromRadio_NodeInfo)(nil), + (*FromRadio_Config)(nil), + (*FromRadio_LogRecord)(nil), + (*FromRadio_ConfigCompleteId)(nil), + (*FromRadio_Rebooted)(nil), + (*FromRadio_ModuleConfig)(nil), + (*FromRadio_Channel)(nil), + (*FromRadio_QueueStatus)(nil), + (*FromRadio_XmodemPacket)(nil), + (*FromRadio_Metadata)(nil), + (*FromRadio_MqttClientProxyMessage)(nil), + } + file_meshtastic_mesh_proto_msgTypes[13].OneofWrappers = []interface{}{ + (*ToRadio_Packet)(nil), + (*ToRadio_WantConfigId)(nil), + (*ToRadio_Disconnect)(nil), + (*ToRadio_XmodemPacket)(nil), + (*ToRadio_MqttClientProxyMessage)(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, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_mesh_proto_goTypes, + DependencyIndexes: file_meshtastic_mesh_proto_depIdxs, + EnumInfos: file_meshtastic_mesh_proto_enumTypes, + 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 new file mode 100644 index 0000000..82c920f --- /dev/null +++ b/meshtastic/mesh_vtproto.pb.go @@ -0,0 +1,13823 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/mesh.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + math "math" + 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) +) + +func (m *Position) CloneVT() *Position { + if m == nil { + return (*Position)(nil) + } + r := new(Position) + r.LatitudeI = m.LatitudeI + r.LongitudeI = m.LongitudeI + r.Altitude = m.Altitude + r.Time = m.Time + r.LocationSource = m.LocationSource + r.AltitudeSource = m.AltitudeSource + r.Timestamp = m.Timestamp + r.TimestampMillisAdjust = m.TimestampMillisAdjust + r.AltitudeHae = m.AltitudeHae + r.AltitudeGeoidalSeparation = m.AltitudeGeoidalSeparation + r.PDOP = m.PDOP + r.HDOP = m.HDOP + r.VDOP = m.VDOP + r.GpsAccuracy = m.GpsAccuracy + r.GroundSpeed = m.GroundSpeed + r.GroundTrack = m.GroundTrack + r.FixQuality = m.FixQuality + r.FixType = m.FixType + r.SatsInView = m.SatsInView + r.SensorId = m.SensorId + r.NextUpdate = m.NextUpdate + r.SeqNumber = m.SeqNumber + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Position) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *User) CloneVT() *User { + if m == nil { + return (*User)(nil) + } + r := new(User) + r.Id = m.Id + r.LongName = m.LongName + r.ShortName = m.ShortName + r.HwModel = m.HwModel + r.IsLicensed = m.IsLicensed + r.Role = m.Role + if rhs := m.Macaddr; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Macaddr = tmpBytes + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *User) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *RouteDiscovery) CloneVT() *RouteDiscovery { + if m == nil { + return (*RouteDiscovery)(nil) + } + r := new(RouteDiscovery) + if rhs := m.Route; rhs != nil { + tmpContainer := make([]uint32, len(rhs)) + copy(tmpContainer, rhs) + r.Route = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *RouteDiscovery) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Routing) CloneVT() *Routing { + if m == nil { + return (*Routing)(nil) + } + r := new(Routing) + if m.Variant != nil { + r.Variant = m.Variant.(interface{ CloneVT() isRouting_Variant }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Routing) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Routing_RouteRequest) CloneVT() isRouting_Variant { + if m == nil { + return (*Routing_RouteRequest)(nil) + } + r := new(Routing_RouteRequest) + r.RouteRequest = m.RouteRequest.CloneVT() + return r +} + +func (m *Routing_RouteReply) CloneVT() isRouting_Variant { + if m == nil { + return (*Routing_RouteReply)(nil) + } + r := new(Routing_RouteReply) + r.RouteReply = m.RouteReply.CloneVT() + return r +} + +func (m *Routing_ErrorReason) CloneVT() isRouting_Variant { + if m == nil { + return (*Routing_ErrorReason)(nil) + } + r := new(Routing_ErrorReason) + r.ErrorReason = m.ErrorReason + return r +} + +func (m *Data) CloneVT() *Data { + if m == nil { + return (*Data)(nil) + } + r := new(Data) + r.Portnum = m.Portnum + r.WantResponse = m.WantResponse + r.Dest = m.Dest + r.Source = m.Source + r.RequestId = m.RequestId + r.ReplyId = m.ReplyId + r.Emoji = m.Emoji + if rhs := m.Payload; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Payload = tmpBytes + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Data) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Waypoint) CloneVT() *Waypoint { + if m == nil { + return (*Waypoint)(nil) + } + r := new(Waypoint) + r.Id = m.Id + r.LatitudeI = m.LatitudeI + r.LongitudeI = m.LongitudeI + r.Expire = m.Expire + r.LockedTo = m.LockedTo + r.Name = m.Name + r.Description = m.Description + r.Icon = m.Icon + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Waypoint) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *MqttClientProxyMessage) CloneVT() *MqttClientProxyMessage { + if m == nil { + return (*MqttClientProxyMessage)(nil) + } + r := new(MqttClientProxyMessage) + r.Topic = m.Topic + r.Retained = m.Retained + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isMqttClientProxyMessage_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *MqttClientProxyMessage) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *MqttClientProxyMessage_Data) CloneVT() isMqttClientProxyMessage_PayloadVariant { + if m == nil { + return (*MqttClientProxyMessage_Data)(nil) + } + r := new(MqttClientProxyMessage_Data) + if rhs := m.Data; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Data = tmpBytes + } + return r +} + +func (m *MqttClientProxyMessage_Text) CloneVT() isMqttClientProxyMessage_PayloadVariant { + if m == nil { + return (*MqttClientProxyMessage_Text)(nil) + } + r := new(MqttClientProxyMessage_Text) + r.Text = m.Text + return r +} + +func (m *MeshPacket) CloneVT() *MeshPacket { + if m == nil { + return (*MeshPacket)(nil) + } + r := new(MeshPacket) + r.From = m.From + r.To = m.To + r.Channel = m.Channel + r.Id = m.Id + r.RxTime = m.RxTime + r.RxSnr = m.RxSnr + r.HopLimit = m.HopLimit + r.WantAck = m.WantAck + r.Priority = m.Priority + r.RxRssi = m.RxRssi + r.Delayed = m.Delayed + r.ViaMqtt = m.ViaMqtt + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isMeshPacket_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *MeshPacket) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *MeshPacket_Decoded) CloneVT() isMeshPacket_PayloadVariant { + if m == nil { + return (*MeshPacket_Decoded)(nil) + } + r := new(MeshPacket_Decoded) + r.Decoded = m.Decoded.CloneVT() + return r +} + +func (m *MeshPacket_Encrypted) CloneVT() isMeshPacket_PayloadVariant { + if m == nil { + return (*MeshPacket_Encrypted)(nil) + } + r := new(MeshPacket_Encrypted) + if rhs := m.Encrypted; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Encrypted = tmpBytes + } + return r +} + +func (m *NodeInfo) CloneVT() *NodeInfo { + if m == nil { + return (*NodeInfo)(nil) + } + r := new(NodeInfo) + r.Num = m.Num + r.User = m.User.CloneVT() + r.Position = m.Position.CloneVT() + r.Snr = m.Snr + r.LastHeard = m.LastHeard + r.DeviceMetrics = m.DeviceMetrics.CloneVT() + r.Channel = m.Channel + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *NodeInfo) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *MyNodeInfo) CloneVT() *MyNodeInfo { + if m == nil { + return (*MyNodeInfo)(nil) + } + r := new(MyNodeInfo) + r.MyNodeNum = m.MyNodeNum + r.RebootCount = m.RebootCount + r.MinAppVersion = m.MinAppVersion + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *MyNodeInfo) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *LogRecord) CloneVT() *LogRecord { + if m == nil { + return (*LogRecord)(nil) + } + r := new(LogRecord) + r.Message = m.Message + r.Time = m.Time + r.Source = m.Source + r.Level = m.Level + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *LogRecord) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *QueueStatus) CloneVT() *QueueStatus { + if m == nil { + return (*QueueStatus)(nil) + } + r := new(QueueStatus) + r.Res = m.Res + r.Free = m.Free + r.Maxlen = m.Maxlen + r.MeshPacketId = m.MeshPacketId + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *QueueStatus) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *FromRadio) CloneVT() *FromRadio { + if m == nil { + return (*FromRadio)(nil) + } + r := new(FromRadio) + r.Id = m.Id + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isFromRadio_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *FromRadio) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *FromRadio_Packet) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_Packet)(nil) + } + r := new(FromRadio_Packet) + r.Packet = m.Packet.CloneVT() + return r +} + +func (m *FromRadio_MyInfo) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_MyInfo)(nil) + } + r := new(FromRadio_MyInfo) + r.MyInfo = m.MyInfo.CloneVT() + return r +} + +func (m *FromRadio_NodeInfo) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_NodeInfo)(nil) + } + r := new(FromRadio_NodeInfo) + r.NodeInfo = m.NodeInfo.CloneVT() + return r +} + +func (m *FromRadio_Config) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_Config)(nil) + } + r := new(FromRadio_Config) + r.Config = m.Config.CloneVT() + return r +} + +func (m *FromRadio_LogRecord) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_LogRecord)(nil) + } + r := new(FromRadio_LogRecord) + r.LogRecord = m.LogRecord.CloneVT() + return r +} + +func (m *FromRadio_ConfigCompleteId) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_ConfigCompleteId)(nil) + } + r := new(FromRadio_ConfigCompleteId) + r.ConfigCompleteId = m.ConfigCompleteId + return r +} + +func (m *FromRadio_Rebooted) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_Rebooted)(nil) + } + r := new(FromRadio_Rebooted) + r.Rebooted = m.Rebooted + return r +} + +func (m *FromRadio_ModuleConfig) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_ModuleConfig)(nil) + } + r := new(FromRadio_ModuleConfig) + r.ModuleConfig = m.ModuleConfig.CloneVT() + return r +} + +func (m *FromRadio_Channel) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_Channel)(nil) + } + r := new(FromRadio_Channel) + r.Channel = m.Channel.CloneVT() + return r +} + +func (m *FromRadio_QueueStatus) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_QueueStatus)(nil) + } + r := new(FromRadio_QueueStatus) + r.QueueStatus = m.QueueStatus.CloneVT() + return r +} + +func (m *FromRadio_XmodemPacket) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_XmodemPacket)(nil) + } + r := new(FromRadio_XmodemPacket) + r.XmodemPacket = m.XmodemPacket.CloneVT() + return r +} + +func (m *FromRadio_Metadata) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_Metadata)(nil) + } + r := new(FromRadio_Metadata) + r.Metadata = m.Metadata.CloneVT() + return r +} + +func (m *FromRadio_MqttClientProxyMessage) CloneVT() isFromRadio_PayloadVariant { + if m == nil { + return (*FromRadio_MqttClientProxyMessage)(nil) + } + r := new(FromRadio_MqttClientProxyMessage) + r.MqttClientProxyMessage = m.MqttClientProxyMessage.CloneVT() + return r +} + +func (m *ToRadio) CloneVT() *ToRadio { + if m == nil { + return (*ToRadio)(nil) + } + r := new(ToRadio) + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isToRadio_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ToRadio) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ToRadio_Packet) CloneVT() isToRadio_PayloadVariant { + if m == nil { + return (*ToRadio_Packet)(nil) + } + r := new(ToRadio_Packet) + r.Packet = m.Packet.CloneVT() + return r +} + +func (m *ToRadio_WantConfigId) CloneVT() isToRadio_PayloadVariant { + if m == nil { + return (*ToRadio_WantConfigId)(nil) + } + r := new(ToRadio_WantConfigId) + r.WantConfigId = m.WantConfigId + return r +} + +func (m *ToRadio_Disconnect) CloneVT() isToRadio_PayloadVariant { + if m == nil { + return (*ToRadio_Disconnect)(nil) + } + r := new(ToRadio_Disconnect) + r.Disconnect = m.Disconnect + return r +} + +func (m *ToRadio_XmodemPacket) CloneVT() isToRadio_PayloadVariant { + if m == nil { + return (*ToRadio_XmodemPacket)(nil) + } + r := new(ToRadio_XmodemPacket) + r.XmodemPacket = m.XmodemPacket.CloneVT() + return r +} + +func (m *ToRadio_MqttClientProxyMessage) CloneVT() isToRadio_PayloadVariant { + if m == nil { + return (*ToRadio_MqttClientProxyMessage)(nil) + } + r := new(ToRadio_MqttClientProxyMessage) + r.MqttClientProxyMessage = m.MqttClientProxyMessage.CloneVT() + return r +} + +func (m *Compressed) CloneVT() *Compressed { + if m == nil { + return (*Compressed)(nil) + } + r := new(Compressed) + r.Portnum = m.Portnum + if rhs := m.Data; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Data = tmpBytes + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Compressed) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *NeighborInfo) CloneVT() *NeighborInfo { + if m == nil { + return (*NeighborInfo)(nil) + } + r := new(NeighborInfo) + r.NodeId = m.NodeId + r.LastSentById = m.LastSentById + r.NodeBroadcastIntervalSecs = m.NodeBroadcastIntervalSecs + if rhs := m.Neighbors; rhs != nil { + tmpContainer := make([]*Neighbor, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Neighbors = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *NeighborInfo) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Neighbor) CloneVT() *Neighbor { + if m == nil { + return (*Neighbor)(nil) + } + r := new(Neighbor) + r.NodeId = m.NodeId + r.Snr = m.Snr + r.LastRxTime = m.LastRxTime + r.NodeBroadcastIntervalSecs = m.NodeBroadcastIntervalSecs + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Neighbor) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *DeviceMetadata) CloneVT() *DeviceMetadata { + if m == nil { + return (*DeviceMetadata)(nil) + } + r := new(DeviceMetadata) + r.FirmwareVersion = m.FirmwareVersion + r.DeviceStateVersion = m.DeviceStateVersion + r.CanShutdown = m.CanShutdown + r.HasWifi = m.HasWifi + r.HasBluetooth = m.HasBluetooth + r.HasEthernet = m.HasEthernet + r.Role = m.Role + r.PositionFlags = m.PositionFlags + r.HwModel = m.HwModel + r.HasRemoteHardware = m.HasRemoteHardware + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *DeviceMetadata) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *Position) EqualVT(that *Position) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.LatitudeI != that.LatitudeI { + return false + } + if this.LongitudeI != that.LongitudeI { + return false + } + if this.Altitude != that.Altitude { + return false + } + if this.Time != that.Time { + return false + } + if this.LocationSource != that.LocationSource { + return false + } + if this.AltitudeSource != that.AltitudeSource { + return false + } + if this.Timestamp != that.Timestamp { + return false + } + if this.TimestampMillisAdjust != that.TimestampMillisAdjust { + return false + } + if this.AltitudeHae != that.AltitudeHae { + return false + } + if this.AltitudeGeoidalSeparation != that.AltitudeGeoidalSeparation { + return false + } + if this.PDOP != that.PDOP { + return false + } + if this.HDOP != that.HDOP { + return false + } + if this.VDOP != that.VDOP { + return false + } + if this.GpsAccuracy != that.GpsAccuracy { + return false + } + if this.GroundSpeed != that.GroundSpeed { + return false + } + if this.GroundTrack != that.GroundTrack { + return false + } + if this.FixQuality != that.FixQuality { + return false + } + if this.FixType != that.FixType { + return false + } + if this.SatsInView != that.SatsInView { + return false + } + if this.SensorId != that.SensorId { + return false + } + if this.NextUpdate != that.NextUpdate { + return false + } + if this.SeqNumber != that.SeqNumber { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Position) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Position) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *User) EqualVT(that *User) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Id != that.Id { + return false + } + if this.LongName != that.LongName { + return false + } + if this.ShortName != that.ShortName { + return false + } + if string(this.Macaddr) != string(that.Macaddr) { + return false + } + if this.HwModel != that.HwModel { + return false + } + if this.IsLicensed != that.IsLicensed { + return false + } + if this.Role != that.Role { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *User) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*User) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *RouteDiscovery) EqualVT(that *RouteDiscovery) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Route) != len(that.Route) { + return false + } + for i, vx := range this.Route { + vy := that.Route[i] + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *RouteDiscovery) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*RouteDiscovery) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Routing) EqualVT(that *Routing) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Variant == nil && that.Variant != nil { + return false + } else if this.Variant != nil { + if that.Variant == nil { + return false + } + if !this.Variant.(interface{ EqualVT(isRouting_Variant) bool }).EqualVT(that.Variant) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Routing) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Routing) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Routing_RouteRequest) EqualVT(thatIface isRouting_Variant) bool { + that, ok := thatIface.(*Routing_RouteRequest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RouteRequest, that.RouteRequest; p != q { + if p == nil { + p = &RouteDiscovery{} + } + if q == nil { + q = &RouteDiscovery{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Routing_RouteReply) EqualVT(thatIface isRouting_Variant) bool { + that, ok := thatIface.(*Routing_RouteReply) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RouteReply, that.RouteReply; p != q { + if p == nil { + p = &RouteDiscovery{} + } + if q == nil { + q = &RouteDiscovery{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Routing_ErrorReason) EqualVT(thatIface isRouting_Variant) bool { + that, ok := thatIface.(*Routing_ErrorReason) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.ErrorReason != that.ErrorReason { + return false + } + return true +} + +func (this *Data) EqualVT(that *Data) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Portnum != that.Portnum { + return false + } + if string(this.Payload) != string(that.Payload) { + return false + } + if this.WantResponse != that.WantResponse { + return false + } + if this.Dest != that.Dest { + return false + } + if this.Source != that.Source { + return false + } + if this.RequestId != that.RequestId { + return false + } + if this.ReplyId != that.ReplyId { + return false + } + if this.Emoji != that.Emoji { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Data) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Data) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Waypoint) EqualVT(that *Waypoint) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Id != that.Id { + return false + } + if this.LatitudeI != that.LatitudeI { + return false + } + if this.LongitudeI != that.LongitudeI { + return false + } + if this.Expire != that.Expire { + return false + } + if this.LockedTo != that.LockedTo { + return false + } + if this.Name != that.Name { + return false + } + if this.Description != that.Description { + return false + } + if this.Icon != that.Icon { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Waypoint) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Waypoint) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *MqttClientProxyMessage) EqualVT(that *MqttClientProxyMessage) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isMqttClientProxyMessage_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + if this.Topic != that.Topic { + return false + } + if this.Retained != that.Retained { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *MqttClientProxyMessage) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*MqttClientProxyMessage) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *MqttClientProxyMessage_Data) EqualVT(thatIface isMqttClientProxyMessage_PayloadVariant) bool { + that, ok := thatIface.(*MqttClientProxyMessage_Data) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if string(this.Data) != string(that.Data) { + return false + } + return true +} + +func (this *MqttClientProxyMessage_Text) EqualVT(thatIface isMqttClientProxyMessage_PayloadVariant) bool { + that, ok := thatIface.(*MqttClientProxyMessage_Text) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.Text != that.Text { + return false + } + return true +} + +func (this *MeshPacket) EqualVT(that *MeshPacket) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isMeshPacket_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + if this.From != that.From { + return false + } + if this.To != that.To { + return false + } + if this.Channel != that.Channel { + return false + } + if this.Id != that.Id { + return false + } + if this.RxTime != that.RxTime { + return false + } + if this.RxSnr != that.RxSnr { + return false + } + if this.HopLimit != that.HopLimit { + return false + } + if this.WantAck != that.WantAck { + return false + } + if this.Priority != that.Priority { + return false + } + if this.RxRssi != that.RxRssi { + return false + } + if this.Delayed != that.Delayed { + return false + } + if this.ViaMqtt != that.ViaMqtt { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *MeshPacket) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*MeshPacket) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *MeshPacket_Decoded) EqualVT(thatIface isMeshPacket_PayloadVariant) bool { + that, ok := thatIface.(*MeshPacket_Decoded) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Decoded, that.Decoded; p != q { + if p == nil { + p = &Data{} + } + if q == nil { + q = &Data{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *MeshPacket_Encrypted) EqualVT(thatIface isMeshPacket_PayloadVariant) bool { + that, ok := thatIface.(*MeshPacket_Encrypted) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if string(this.Encrypted) != string(that.Encrypted) { + return false + } + return true +} + +func (this *NodeInfo) EqualVT(that *NodeInfo) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Num != that.Num { + return false + } + if !this.User.EqualVT(that.User) { + return false + } + if !this.Position.EqualVT(that.Position) { + return false + } + if this.Snr != that.Snr { + return false + } + if this.LastHeard != that.LastHeard { + return false + } + if !this.DeviceMetrics.EqualVT(that.DeviceMetrics) { + return false + } + if this.Channel != that.Channel { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *NodeInfo) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*NodeInfo) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *MyNodeInfo) EqualVT(that *MyNodeInfo) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.MyNodeNum != that.MyNodeNum { + return false + } + if this.RebootCount != that.RebootCount { + return false + } + if this.MinAppVersion != that.MinAppVersion { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *MyNodeInfo) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*MyNodeInfo) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *LogRecord) EqualVT(that *LogRecord) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Message != that.Message { + return false + } + if this.Time != that.Time { + return false + } + if this.Source != that.Source { + return false + } + if this.Level != that.Level { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *LogRecord) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*LogRecord) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *QueueStatus) EqualVT(that *QueueStatus) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Res != that.Res { + return false + } + if this.Free != that.Free { + return false + } + if this.Maxlen != that.Maxlen { + return false + } + if this.MeshPacketId != that.MeshPacketId { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *QueueStatus) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*QueueStatus) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *FromRadio) EqualVT(that *FromRadio) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isFromRadio_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + if this.Id != that.Id { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *FromRadio) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*FromRadio) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *FromRadio_Packet) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_Packet) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Packet, that.Packet; p != q { + if p == nil { + p = &MeshPacket{} + } + if q == nil { + q = &MeshPacket{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_MyInfo) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_MyInfo) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.MyInfo, that.MyInfo; p != q { + if p == nil { + p = &MyNodeInfo{} + } + if q == nil { + q = &MyNodeInfo{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_NodeInfo) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_NodeInfo) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.NodeInfo, that.NodeInfo; p != q { + if p == nil { + p = &NodeInfo{} + } + if q == nil { + q = &NodeInfo{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_Config) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_Config) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Config, that.Config; p != q { + if p == nil { + p = &Config{} + } + if q == nil { + q = &Config{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_LogRecord) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_LogRecord) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.LogRecord, that.LogRecord; p != q { + if p == nil { + p = &LogRecord{} + } + if q == nil { + q = &LogRecord{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_ConfigCompleteId) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_ConfigCompleteId) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.ConfigCompleteId != that.ConfigCompleteId { + return false + } + return true +} + +func (this *FromRadio_Rebooted) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_Rebooted) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.Rebooted != that.Rebooted { + return false + } + return true +} + +func (this *FromRadio_ModuleConfig) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_ModuleConfig) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.ModuleConfig, that.ModuleConfig; p != q { + if p == nil { + p = &ModuleConfig{} + } + if q == nil { + q = &ModuleConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_Channel) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_Channel) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Channel, that.Channel; p != q { + if p == nil { + p = &Channel{} + } + if q == nil { + q = &Channel{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_QueueStatus) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_QueueStatus) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.QueueStatus, that.QueueStatus; p != q { + if p == nil { + p = &QueueStatus{} + } + if q == nil { + q = &QueueStatus{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_XmodemPacket) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_XmodemPacket) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.XmodemPacket, that.XmodemPacket; p != q { + if p == nil { + p = &XModem{} + } + if q == nil { + q = &XModem{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_Metadata) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_Metadata) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Metadata, that.Metadata; p != q { + if p == nil { + p = &DeviceMetadata{} + } + if q == nil { + q = &DeviceMetadata{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *FromRadio_MqttClientProxyMessage) EqualVT(thatIface isFromRadio_PayloadVariant) bool { + that, ok := thatIface.(*FromRadio_MqttClientProxyMessage) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.MqttClientProxyMessage, that.MqttClientProxyMessage; p != q { + if p == nil { + p = &MqttClientProxyMessage{} + } + if q == nil { + q = &MqttClientProxyMessage{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ToRadio) EqualVT(that *ToRadio) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isToRadio_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ToRadio) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ToRadio) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ToRadio_Packet) EqualVT(thatIface isToRadio_PayloadVariant) bool { + that, ok := thatIface.(*ToRadio_Packet) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Packet, that.Packet; p != q { + if p == nil { + p = &MeshPacket{} + } + if q == nil { + q = &MeshPacket{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ToRadio_WantConfigId) EqualVT(thatIface isToRadio_PayloadVariant) bool { + that, ok := thatIface.(*ToRadio_WantConfigId) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.WantConfigId != that.WantConfigId { + return false + } + return true +} + +func (this *ToRadio_Disconnect) EqualVT(thatIface isToRadio_PayloadVariant) bool { + that, ok := thatIface.(*ToRadio_Disconnect) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.Disconnect != that.Disconnect { + return false + } + return true +} + +func (this *ToRadio_XmodemPacket) EqualVT(thatIface isToRadio_PayloadVariant) bool { + that, ok := thatIface.(*ToRadio_XmodemPacket) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.XmodemPacket, that.XmodemPacket; p != q { + if p == nil { + p = &XModem{} + } + if q == nil { + q = &XModem{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ToRadio_MqttClientProxyMessage) EqualVT(thatIface isToRadio_PayloadVariant) bool { + that, ok := thatIface.(*ToRadio_MqttClientProxyMessage) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.MqttClientProxyMessage, that.MqttClientProxyMessage; p != q { + if p == nil { + p = &MqttClientProxyMessage{} + } + if q == nil { + q = &MqttClientProxyMessage{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Compressed) EqualVT(that *Compressed) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Portnum != that.Portnum { + return false + } + if string(this.Data) != string(that.Data) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Compressed) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Compressed) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *NeighborInfo) EqualVT(that *NeighborInfo) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.NodeId != that.NodeId { + return false + } + if this.LastSentById != that.LastSentById { + return false + } + if this.NodeBroadcastIntervalSecs != that.NodeBroadcastIntervalSecs { + return false + } + if len(this.Neighbors) != len(that.Neighbors) { + return false + } + for i, vx := range this.Neighbors { + vy := that.Neighbors[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Neighbor{} + } + if q == nil { + q = &Neighbor{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *NeighborInfo) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*NeighborInfo) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Neighbor) EqualVT(that *Neighbor) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.NodeId != that.NodeId { + return false + } + if this.Snr != that.Snr { + return false + } + if this.LastRxTime != that.LastRxTime { + return false + } + if this.NodeBroadcastIntervalSecs != that.NodeBroadcastIntervalSecs { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Neighbor) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Neighbor) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *DeviceMetadata) EqualVT(that *DeviceMetadata) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.FirmwareVersion != that.FirmwareVersion { + return false + } + if this.DeviceStateVersion != that.DeviceStateVersion { + return false + } + if this.CanShutdown != that.CanShutdown { + return false + } + if this.HasWifi != that.HasWifi { + return false + } + if this.HasBluetooth != that.HasBluetooth { + return false + } + if this.HasEthernet != that.HasEthernet { + return false + } + if this.Role != that.Role { + return false + } + if this.PositionFlags != that.PositionFlags { + return false + } + if this.HwModel != that.HwModel { + return false + } + if this.HasRemoteHardware != that.HasRemoteHardware { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *DeviceMetadata) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*DeviceMetadata) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *Position) 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 *Position) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Position) 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.SeqNumber != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SeqNumber)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb0 + } + if m.NextUpdate != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NextUpdate)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if m.SensorId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SensorId)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.SatsInView != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SatsInView)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if m.FixType != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FixType)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + if m.FixQuality != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FixQuality)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if m.GroundTrack != 0 { + 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)) + i-- + dAtA[i] = 0x78 + } + if m.GpsAccuracy != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsAccuracy)) + i-- + dAtA[i] = 0x70 + } + if m.VDOP != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.VDOP)) + i-- + dAtA[i] = 0x68 + } + if m.HDOP != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HDOP)) + i-- + dAtA[i] = 0x60 + } + if m.PDOP != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PDOP)) + i-- + dAtA[i] = 0x58 + } + if m.AltitudeGeoidalSeparation != 0 { + 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)))) + i-- + dAtA[i] = 0x48 + } + if m.TimestampMillisAdjust != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimestampMillisAdjust)) + i-- + dAtA[i] = 0x40 + } + if m.Timestamp != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Timestamp)) + i-- + dAtA[i] = 0x3d + } + if m.AltitudeSource != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AltitudeSource)) + i-- + dAtA[i] = 0x30 + } + if m.LocationSource != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LocationSource)) + i-- + dAtA[i] = 0x28 + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x25 + } + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + i-- + dAtA[i] = 0x18 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *User) 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 *User) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *User) 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.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x38 + } + if m.IsLicensed { + i-- + if m.IsLicensed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.HwModel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HwModel)) + i-- + dAtA[i] = 0x28 + } + 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] = 0x22 + } + 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 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.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RouteDiscovery) 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 *RouteDiscovery) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RouteDiscovery) 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.Route) > 0 { + for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Route[iNdEx])) + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Route)*4)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Routing) 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 *Routing) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Routing) 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.Variant.(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 *Routing_RouteRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Routing_RouteRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RouteRequest != nil { + size, err := m.RouteRequest.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 *Routing_RouteReply) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Routing_RouteReply) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RouteReply != nil { + size, err := m.RouteReply.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 *Routing_ErrorReason) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Routing_ErrorReason) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ErrorReason)) + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *Data) 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 *Data) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Data) 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.Emoji != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Emoji)) + i-- + dAtA[i] = 0x45 + } + if m.ReplyId != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.ReplyId)) + i-- + dAtA[i] = 0x3d + } + if m.RequestId != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.RequestId)) + i-- + dAtA[i] = 0x35 + } + if m.Source != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Source)) + i-- + dAtA[i] = 0x2d + } + if m.Dest != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Dest)) + i-- + dAtA[i] = 0x25 + } + if m.WantResponse { + i-- + if m.WantResponse { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.Payload) > 0 { + i -= len(m.Payload) + copy(dAtA[i:], m.Payload) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Payload))) + i-- + dAtA[i] = 0x12 + } + if m.Portnum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Portnum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Waypoint) 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 *Waypoint) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Waypoint) 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.Icon != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Icon)) + i-- + dAtA[i] = 0x45 + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x3a + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x32 + } + if m.LockedTo != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LockedTo)) + i-- + dAtA[i] = 0x28 + } + if m.Expire != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Expire)) + i-- + dAtA[i] = 0x20 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x1d + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.Id != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MqttClientProxyMessage) 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 *MqttClientProxyMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MqttClientProxyMessage) 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.PayloadVariant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Retained { + i-- + if m.Retained { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if len(m.Topic) > 0 { + i -= len(m.Topic) + copy(dAtA[i:], m.Topic) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Topic))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MqttClientProxyMessage_Data) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MqttClientProxyMessage_Data) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0x12 + return len(dAtA) - i, nil +} +func (m *MqttClientProxyMessage_Text) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MqttClientProxyMessage_Text) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Text) + copy(dAtA[i:], m.Text) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Text))) + i-- + dAtA[i] = 0x1a + return len(dAtA) - i, nil +} +func (m *MeshPacket) 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 *MeshPacket) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MeshPacket) 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.PayloadVariant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.ViaMqtt { + i-- + if m.ViaMqtt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } + if m.Delayed != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Delayed)) + i-- + dAtA[i] = 0x68 + } + if m.RxRssi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RxRssi)) + i-- + dAtA[i] = 0x60 + } + if m.Priority != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Priority)) + i-- + dAtA[i] = 0x58 + } + if m.WantAck { + i-- + if m.WantAck { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.HopLimit != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HopLimit)) + i-- + dAtA[i] = 0x48 + } + if m.RxSnr != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.RxSnr)))) + i-- + dAtA[i] = 0x45 + } + if m.RxTime != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.RxTime)) + i-- + dAtA[i] = 0x3d + } + if m.Id != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Id)) + i-- + dAtA[i] = 0x35 + } + if m.Channel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Channel)) + i-- + dAtA[i] = 0x18 + } + if m.To != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.To)) + i-- + dAtA[i] = 0x15 + } + if m.From != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.From)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *MeshPacket_Decoded) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MeshPacket_Decoded) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Decoded != nil { + size, err := m.Decoded.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 *MeshPacket_Encrypted) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MeshPacket_Encrypted) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Encrypted) + copy(dAtA[i:], m.Encrypted) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Encrypted))) + i-- + dAtA[i] = 0x2a + return len(dAtA) - i, nil +} +func (m *NodeInfo) 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 *NodeInfo) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *NodeInfo) 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 m.DeviceMetrics != nil { + size, err := m.DeviceMetrics.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.LastHeard != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LastHeard)) + i-- + dAtA[i] = 0x2d + } + if m.Snr != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Snr)))) + i-- + dAtA[i] = 0x25 + } + if m.Position != nil { + size, err := m.Position.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + 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.Num != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Num)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MyNodeInfo) 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 *MyNodeInfo) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *MyNodeInfo) 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.MinAppVersion != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinAppVersion)) + i-- + dAtA[i] = 0x58 + } + if m.RebootCount != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebootCount)) + i-- + dAtA[i] = 0x40 + } + if m.MyNodeNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MyNodeNum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *LogRecord) 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 *LogRecord) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *LogRecord) 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.Level != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Level)) + i-- + dAtA[i] = 0x20 + } + if len(m.Source) > 0 { + i -= len(m.Source) + copy(dAtA[i:], m.Source) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Source))) + i-- + dAtA[i] = 0x1a + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x15 + } + 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] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueueStatus) 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 *QueueStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *QueueStatus) 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.MeshPacketId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MeshPacketId)) + i-- + dAtA[i] = 0x20 + } + if m.Maxlen != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Maxlen)) + i-- + dAtA[i] = 0x18 + } + if m.Free != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Free)) + i-- + dAtA[i] = 0x10 + } + if m.Res != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Res)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *FromRadio) 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 *FromRadio) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio) 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.PayloadVariant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Id != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *FromRadio_Packet) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_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] = 0x12 + } + return len(dAtA) - i, nil +} +func (m *FromRadio_MyInfo) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_MyInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.MyInfo != nil { + size, err := m.MyInfo.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_NodeInfo) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_NodeInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.NodeInfo != nil { + size, err := m.NodeInfo.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 *FromRadio_Config) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + 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] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_LogRecord) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_LogRecord) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.LogRecord != nil { + size, err := m.LogRecord.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 *FromRadio_ConfigCompleteId) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_ConfigCompleteId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ConfigCompleteId)) + i-- + dAtA[i] = 0x38 + return len(dAtA) - i, nil +} +func (m *FromRadio_Rebooted) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_Rebooted) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.Rebooted { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + return len(dAtA) - i, nil +} +func (m *FromRadio_ModuleConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_ModuleConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + 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] = 0x4a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_Channel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_Channel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Channel != nil { + size, err := m.Channel.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 *FromRadio_QueueStatus) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_QueueStatus) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.QueueStatus != nil { + size, err := m.QueueStatus.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_XmodemPacket) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_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] = 0x62 + } + return len(dAtA) - i, nil +} +func (m *FromRadio_Metadata) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_Metadata) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Metadata != nil { + size, err := m.Metadata.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_MqttClientProxyMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FromRadio_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] = 0x72 + } + return len(dAtA) - i, nil +} +func (m *ToRadio) 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 *ToRadio) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ToRadio) 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.PayloadVariant.(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 *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] = 0xa + } + 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 + } + 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] = 0x2a + } + 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] = 0x32 + } + return len(dAtA) - i, nil +} +func (m *Compressed) 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 *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 + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + 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))) + i-- + dAtA[i] = 0x12 + } + if m.Portnum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Portnum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *NeighborInfo) 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 *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 + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + 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 m.NodeBroadcastIntervalSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeBroadcastIntervalSecs)) + i-- + dAtA[i] = 0x18 + } + if m.LastSentById != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastSentById)) + i-- + dAtA[i] = 0x10 + } + if m.NodeId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Neighbor) 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 *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, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + 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)))) + i-- + dAtA[i] = 0x15 + } + if m.NodeId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *DeviceMetadata) 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 *DeviceMetadata) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DeviceMetadata) 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.HasRemoteHardware { + i-- + if m.HasRemoteHardware { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + 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 + } + if m.HasEthernet { + i-- + if m.HasEthernet { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.HasBluetooth { + i-- + if m.HasBluetooth { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.HasWifi { + i-- + if m.HasWifi { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.CanShutdown { + i-- + if m.CanShutdown { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + 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 + } + return len(dAtA) - i, nil +} + +func (m *Position) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Position) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Position) MarshalToSizedBufferVTStrict(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.SeqNumber != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SeqNumber)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb0 + } + if m.NextUpdate != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NextUpdate)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if m.SensorId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SensorId)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.SatsInView != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.SatsInView)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if m.FixType != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FixType)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + if m.FixQuality != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FixQuality)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if m.GroundTrack != 0 { + 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)) + i-- + dAtA[i] = 0x78 + } + if m.GpsAccuracy != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpsAccuracy)) + i-- + dAtA[i] = 0x70 + } + if m.VDOP != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.VDOP)) + i-- + dAtA[i] = 0x68 + } + if m.HDOP != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HDOP)) + i-- + dAtA[i] = 0x60 + } + if m.PDOP != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PDOP)) + i-- + dAtA[i] = 0x58 + } + if m.AltitudeGeoidalSeparation != 0 { + 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)))) + i-- + dAtA[i] = 0x48 + } + if m.TimestampMillisAdjust != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimestampMillisAdjust)) + i-- + dAtA[i] = 0x40 + } + if m.Timestamp != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Timestamp)) + i-- + dAtA[i] = 0x3d + } + if m.AltitudeSource != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AltitudeSource)) + i-- + dAtA[i] = 0x30 + } + if m.LocationSource != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LocationSource)) + i-- + dAtA[i] = 0x28 + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x25 + } + if m.Altitude != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Altitude)) + i-- + dAtA[i] = 0x18 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *User) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *User) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *User) MarshalToSizedBufferVTStrict(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.Role != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Role)) + i-- + dAtA[i] = 0x38 + } + if m.IsLicensed { + i-- + if m.IsLicensed { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.HwModel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HwModel)) + i-- + dAtA[i] = 0x28 + } + 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] = 0x22 + } + 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 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.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RouteDiscovery) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RouteDiscovery) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RouteDiscovery) MarshalToSizedBufferVTStrict(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.Route) > 0 { + for iNdEx := len(m.Route) - 1; iNdEx >= 0; iNdEx-- { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Route[iNdEx])) + } + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Route)*4)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Routing) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Routing) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Routing) MarshalToSizedBufferVTStrict(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 msg, ok := m.Variant.(*Routing_ErrorReason); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*Routing_RouteReply); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*Routing_RouteRequest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *Routing_RouteRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Routing_RouteRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RouteRequest != nil { + size, err := m.RouteRequest.MarshalToSizedBufferVTStrict(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 *Routing_RouteReply) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Routing_RouteReply) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RouteReply != nil { + size, err := m.RouteReply.MarshalToSizedBufferVTStrict(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 *Routing_ErrorReason) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Routing_ErrorReason) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ErrorReason)) + i-- + dAtA[i] = 0x18 + return len(dAtA) - i, nil +} +func (m *Data) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Data) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Data) MarshalToSizedBufferVTStrict(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.Emoji != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Emoji)) + i-- + dAtA[i] = 0x45 + } + if m.ReplyId != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.ReplyId)) + i-- + dAtA[i] = 0x3d + } + if m.RequestId != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.RequestId)) + i-- + dAtA[i] = 0x35 + } + if m.Source != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Source)) + i-- + dAtA[i] = 0x2d + } + if m.Dest != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Dest)) + i-- + dAtA[i] = 0x25 + } + if m.WantResponse { + i-- + if m.WantResponse { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if len(m.Payload) > 0 { + i -= len(m.Payload) + copy(dAtA[i:], m.Payload) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Payload))) + i-- + dAtA[i] = 0x12 + } + if m.Portnum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Portnum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Waypoint) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Waypoint) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Waypoint) MarshalToSizedBufferVTStrict(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.Icon != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Icon)) + i-- + dAtA[i] = 0x45 + } + if len(m.Description) > 0 { + i -= len(m.Description) + copy(dAtA[i:], m.Description) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) + i-- + dAtA[i] = 0x3a + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x32 + } + if m.LockedTo != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LockedTo)) + i-- + dAtA[i] = 0x28 + } + if m.Expire != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Expire)) + i-- + dAtA[i] = 0x20 + } + if m.LongitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LongitudeI)) + i-- + dAtA[i] = 0x1d + } + if m.LatitudeI != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LatitudeI)) + i-- + dAtA[i] = 0x15 + } + if m.Id != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MqttClientProxyMessage) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MqttClientProxyMessage) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *MqttClientProxyMessage) MarshalToSizedBufferVTStrict(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.Retained { + i-- + if m.Retained { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if msg, ok := m.PayloadVariant.(*MqttClientProxyMessage_Text); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*MqttClientProxyMessage_Data); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if len(m.Topic) > 0 { + i -= len(m.Topic) + copy(dAtA[i:], m.Topic) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Topic))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MqttClientProxyMessage_Data) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *MqttClientProxyMessage_Data) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Data) + copy(dAtA[i:], m.Data) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Data))) + i-- + dAtA[i] = 0x12 + return len(dAtA) - i, nil +} +func (m *MqttClientProxyMessage_Text) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *MqttClientProxyMessage_Text) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Text) + copy(dAtA[i:], m.Text) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Text))) + i-- + dAtA[i] = 0x1a + return len(dAtA) - i, nil +} +func (m *MeshPacket) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MeshPacket) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *MeshPacket) MarshalToSizedBufferVTStrict(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.ViaMqtt { + i-- + if m.ViaMqtt { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x70 + } + if m.Delayed != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Delayed)) + i-- + dAtA[i] = 0x68 + } + if m.RxRssi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RxRssi)) + i-- + dAtA[i] = 0x60 + } + if m.Priority != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Priority)) + i-- + dAtA[i] = 0x58 + } + if m.WantAck { + i-- + if m.WantAck { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.HopLimit != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HopLimit)) + i-- + dAtA[i] = 0x48 + } + if m.RxSnr != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.RxSnr)))) + i-- + dAtA[i] = 0x45 + } + if m.RxTime != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.RxTime)) + i-- + dAtA[i] = 0x3d + } + if m.Id != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Id)) + i-- + dAtA[i] = 0x35 + } + if msg, ok := m.PayloadVariant.(*MeshPacket_Encrypted); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*MeshPacket_Decoded); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Channel != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Channel)) + i-- + dAtA[i] = 0x18 + } + if m.To != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.To)) + i-- + dAtA[i] = 0x15 + } + if m.From != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.From)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *MeshPacket_Decoded) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *MeshPacket_Decoded) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Decoded != nil { + size, err := m.Decoded.MarshalToSizedBufferVTStrict(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 *MeshPacket_Encrypted) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *MeshPacket_Encrypted) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Encrypted) + copy(dAtA[i:], m.Encrypted) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Encrypted))) + i-- + dAtA[i] = 0x2a + return len(dAtA) - i, nil +} +func (m *NodeInfo) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NodeInfo) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *NodeInfo) MarshalToSizedBufferVTStrict(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 m.DeviceMetrics != nil { + size, err := m.DeviceMetrics.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.LastHeard != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.LastHeard)) + i-- + dAtA[i] = 0x2d + } + if m.Snr != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Snr)))) + i-- + dAtA[i] = 0x25 + } + if m.Position != nil { + size, err := m.Position.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.User != nil { + size, err := m.User.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Num != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Num)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MyNodeInfo) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MyNodeInfo) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *MyNodeInfo) MarshalToSizedBufferVTStrict(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.MinAppVersion != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinAppVersion)) + i-- + dAtA[i] = 0x58 + } + if m.RebootCount != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RebootCount)) + i-- + dAtA[i] = 0x40 + } + if m.MyNodeNum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MyNodeNum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *LogRecord) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LogRecord) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *LogRecord) MarshalToSizedBufferVTStrict(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.Level != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Level)) + i-- + dAtA[i] = 0x20 + } + if len(m.Source) > 0 { + i -= len(m.Source) + copy(dAtA[i:], m.Source) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Source))) + i-- + dAtA[i] = 0x1a + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0x15 + } + 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] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *QueueStatus) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *QueueStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *QueueStatus) MarshalToSizedBufferVTStrict(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.MeshPacketId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MeshPacketId)) + i-- + dAtA[i] = 0x20 + } + if m.Maxlen != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Maxlen)) + i-- + dAtA[i] = 0x18 + } + if m.Free != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Free)) + i-- + dAtA[i] = 0x10 + } + if m.Res != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Res)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *FromRadio) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *FromRadio) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio) MarshalToSizedBufferVTStrict(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 msg, ok := m.PayloadVariant.(*FromRadio_MqttClientProxyMessage); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_Metadata); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_XmodemPacket); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_QueueStatus); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_Channel); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_ModuleConfig); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_Rebooted); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_ConfigCompleteId); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_LogRecord); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_Config); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_NodeInfo); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_MyInfo); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*FromRadio_Packet); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Id != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Id)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *FromRadio_Packet) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_Packet) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Packet != nil { + size, err := m.Packet.MarshalToSizedBufferVTStrict(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 *FromRadio_MyInfo) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_MyInfo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.MyInfo != nil { + size, err := m.MyInfo.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_NodeInfo) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_NodeInfo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.NodeInfo != nil { + size, err := m.NodeInfo.MarshalToSizedBufferVTStrict(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 *FromRadio_Config) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_Config) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Config != nil { + size, err := m.Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_LogRecord) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_LogRecord) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.LogRecord != nil { + size, err := m.LogRecord.MarshalToSizedBufferVTStrict(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 *FromRadio_ConfigCompleteId) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_ConfigCompleteId) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ConfigCompleteId)) + i-- + dAtA[i] = 0x38 + return len(dAtA) - i, nil +} +func (m *FromRadio_Rebooted) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_Rebooted) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.Rebooted { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + return len(dAtA) - i, nil +} +func (m *FromRadio_ModuleConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_ModuleConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ModuleConfig != nil { + size, err := m.ModuleConfig.MarshalToSizedBufferVTStrict(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 *FromRadio_Channel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_Channel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Channel != nil { + size, err := m.Channel.MarshalToSizedBufferVTStrict(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 *FromRadio_QueueStatus) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_QueueStatus) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.QueueStatus != nil { + size, err := m.QueueStatus.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_XmodemPacket) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_XmodemPacket) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.XmodemPacket != nil { + size, err := m.XmodemPacket.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + return len(dAtA) - i, nil +} +func (m *FromRadio_Metadata) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_Metadata) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Metadata != nil { + size, err := m.Metadata.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} +func (m *FromRadio_MqttClientProxyMessage) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *FromRadio_MqttClientProxyMessage) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.MqttClientProxyMessage != nil { + size, err := m.MqttClientProxyMessage.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x72 + } + return len(dAtA) - i, nil +} +func (m *ToRadio) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ToRadio) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ToRadio) MarshalToSizedBufferVTStrict(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 msg, ok := m.PayloadVariant.(*ToRadio_MqttClientProxyMessage); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ToRadio_XmodemPacket); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ToRadio_Disconnect); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ToRadio_WantConfigId); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ToRadio_Packet); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *ToRadio_Packet) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ToRadio_Packet) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Packet != nil { + size, err := m.Packet.MarshalToSizedBufferVTStrict(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 *ToRadio_WantConfigId) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ToRadio_WantConfigId) MarshalToSizedBufferVTStrict(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) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ToRadio_Disconnect) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i-- + if m.Disconnect { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + return len(dAtA) - i, nil +} +func (m *ToRadio_XmodemPacket) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ToRadio_XmodemPacket) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.XmodemPacket != nil { + size, err := m.XmodemPacket.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *ToRadio_MqttClientProxyMessage) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ToRadio_MqttClientProxyMessage) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.MqttClientProxyMessage != nil { + size, err := m.MqttClientProxyMessage.MarshalToSizedBufferVTStrict(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 *Compressed) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Compressed) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Compressed) MarshalToSizedBufferVTStrict(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.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.Portnum != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Portnum)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *NeighborInfo) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NeighborInfo) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *NeighborInfo) MarshalToSizedBufferVTStrict(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.Neighbors) > 0 { + for iNdEx := len(m.Neighbors) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Neighbors[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if m.NodeBroadcastIntervalSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeBroadcastIntervalSecs)) + i-- + dAtA[i] = 0x18 + } + if m.LastSentById != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastSentById)) + i-- + dAtA[i] = 0x10 + } + if m.NodeId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Neighbor) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Neighbor) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Neighbor) MarshalToSizedBufferVTStrict(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.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)))) + i-- + dAtA[i] = 0x15 + } + if m.NodeId != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NodeId)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *DeviceMetadata) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeviceMetadata) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *DeviceMetadata) MarshalToSizedBufferVTStrict(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.HasRemoteHardware { + i-- + if m.HasRemoteHardware { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + 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 + } + if m.HasEthernet { + i-- + if m.HasEthernet { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.HasBluetooth { + i-- + if m.HasBluetooth { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.HasWifi { + i-- + if m.HasWifi { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.CanShutdown { + i-- + if m.CanShutdown { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + 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 + } + return len(dAtA) - i, nil +} + +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 + } + if m.TimestampMillisAdjust != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.TimestampMillisAdjust)) + } + if m.AltitudeHae != 0 { + n += 1 + protohelpers.SizeOfZigzag(uint64(m.AltitudeHae)) + } + if m.AltitudeGeoidalSeparation != 0 { + n += 1 + protohelpers.SizeOfZigzag(uint64(m.AltitudeGeoidalSeparation)) + } + if m.PDOP != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PDOP)) + } + if m.HDOP != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HDOP)) + } + 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 != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GroundSpeed)) + } + if m.GroundTrack != 0 { + 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)) + } + n += len(m.unknownFields) + return n +} + +func (m *User) SizeVT() (n int) { + if m == nil { + return 0 + } + 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)) + } + 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)) + } + n += len(m.unknownFields) + return n +} + +func (m *RouteDiscovery) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Route) > 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(len(m.Route)*4)) + len(m.Route)*4 + } + n += len(m.unknownFields) + return n +} + +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 *Routing_RouteRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RouteRequest != nil { + l = m.RouteRequest.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Routing_RouteReply) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RouteReply != nil { + l = m.RouteReply.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Routing_ErrorReason) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += 1 + protohelpers.SizeOfVarint(uint64(m.ErrorReason)) + return n +} +func (m *Data) 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.Payload) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.WantResponse { + n += 2 + } + if m.Dest != 0 { + n += 5 + } + if m.Source != 0 { + n += 5 + } + if m.RequestId != 0 { + n += 5 + } + if m.ReplyId != 0 { + n += 5 + } + if m.Emoji != 0 { + n += 5 + } + n += len(m.unknownFields) + return n +} + +func (m *Waypoint) SizeVT() (n int) { + 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)) + } + if m.Icon != 0 { + n += 5 + } + n += len(m.unknownFields) + return n +} + +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 *MqttClientProxyMessage_Data) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Data) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *MqttClientProxyMessage_Text) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Text) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *MeshPacket) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + 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 + } + n += len(m.unknownFields) + return n +} + +func (m *MeshPacket_Decoded) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Decoded != nil { + l = m.Decoded.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *MeshPacket_Encrypted) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Encrypted) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *NodeInfo) 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.User != nil { + l = m.User.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + 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)) + } + n += len(m.unknownFields) + return n +} + +func (m *MyNodeInfo) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MyNodeNum != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MyNodeNum)) + } + if m.RebootCount != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RebootCount)) + } + if m.MinAppVersion != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MinAppVersion)) + } + 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 *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 *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 + } + n += len(m.unknownFields) + 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) + } + 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 + } + } + 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) + } + m.GroundSpeed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GroundSpeed |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GroundTrack", wireType) + } + m.GroundTrack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GroundTrack |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 + } + } + 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 + } + } + 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) + } + 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 + 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) + } + 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) + } + 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 + } + } + + 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) + } + 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) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + 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 WantAck", 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.WantAck = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) + } + 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 + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxRssi", wireType) + } + m.RxRssi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxRssi |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Delayed", wireType) + } + m.Delayed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Delayed |= MeshPacket_Delayed(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ViaMqtt", 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.ViaMqtt = 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 *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 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 { + 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 + 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 + } + 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.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) + } + 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.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) + } + 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 + } + } + 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 *MyNodeInfo) 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: MyNodeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MyNodeInfo: 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) + } + m.MyNodeNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MyNodeNum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RebootCount", wireType) + } + m.RebootCount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RebootCount |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinAppVersion", wireType) + } + m.MinAppVersion = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinAppVersion |= 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 *LogRecord) 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: LogRecord: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 Message", 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.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) + } + 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.Source = 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:]) + 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 *QueueStatus) 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: QueueStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 Res", wireType) + } + m.Res = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Res |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Free", wireType) + } + m.Free = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Free |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Maxlen", 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 + } + } + 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 + } + } + 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 *FromRadio) 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: FromRadio: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FromRadio: 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 != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Packet", 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.(*FromRadio_Packet); ok { + if err := oneof.Packet.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MeshPacket{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_Packet{Packet: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MyInfo", 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.(*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 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", 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.(*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} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", 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.(*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 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LogRecord", 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.(*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 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigCompleteId", 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.PayloadVariant = &FromRadio_ConfigCompleteId{ConfigCompleteId: v} + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rebooted", 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 = &FromRadio_Rebooted{Rebooted: b} + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModuleConfig", 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.(*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 Channel", 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.(*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.PayloadVariant = &FromRadio_Channel{Channel: v} + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QueueStatus", 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.(*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} + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", 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.(*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} + } + 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 + } + 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.(*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 + } + 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.(*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:]) + 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) + } + 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.(*ToRadio_Packet); ok { + if err := oneof.Packet.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MeshPacket{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ToRadio_Packet{Packet: v} + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WantConfigId", 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.PayloadVariant = &ToRadio_WantConfigId{WantConfigId: v} + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Disconnect", 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 = &ToRadio_Disconnect{Disconnect: b} + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", 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.(*ToRadio_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 = &ToRadio_XmodemPacket{XmodemPacket: v} + } + iNdEx = postIndex + case 6: + 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 + } + 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.(*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} + } + 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 *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 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 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 + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []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 *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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastSentById", wireType) + } + m.LastSentById = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastSentById |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + 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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeBroadcastIntervalSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Neighbors", 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 + } + m.Neighbors = append(m.Neighbors, &Neighbor{}) + if err := m.Neighbors[len(m.Neighbors)-1].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 *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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeBroadcastIntervalSecs |= 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 *DeviceMetadata) 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: DeviceMetadata: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 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) + } + 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.HasWifi = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasBluetooth", 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.HasBluetooth = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasEthernet", 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.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) + } + m.PositionFlags = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionFlags |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + 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 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasRemoteHardware", 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.HasRemoteHardware = 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 *Position) UnmarshalVTUnsafe(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) + } + 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 + } + } + 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) + } + m.GroundSpeed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GroundSpeed |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GroundTrack", wireType) + } + m.GroundTrack = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GroundTrack |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 + } + } + 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) UnmarshalVTUnsafe(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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Id = stringValue + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.LongName = stringValue + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ShortName = stringValue + 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 = dAtA[iNdEx:postIndex] + 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) UnmarshalVTUnsafe(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) + } + 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) UnmarshalVTUnsafe(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.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &RouteDiscovery{} + if err := v.UnmarshalVTUnsafe(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.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &RouteDiscovery{} + if err := v.UnmarshalVTUnsafe(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) UnmarshalVTUnsafe(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 = dAtA[iNdEx:postIndex] + 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 + 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) UnmarshalVTUnsafe(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) + } + 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) + } + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Name = stringValue + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Description = stringValue + 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) UnmarshalVTUnsafe(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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Topic = stringValue + 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 := 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.PayloadVariant = &MqttClientProxyMessage_Text{Text: stringValue} + 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 + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MeshPacket) UnmarshalVTUnsafe(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) + } + 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.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Data{} + if err := v.UnmarshalVTUnsafe(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 := 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 + } + 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 WantAck", 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.WantAck = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Priority", wireType) + } + 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 + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxRssi", wireType) + } + m.RxRssi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxRssi |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Delayed", wireType) + } + m.Delayed = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Delayed |= MeshPacket_Delayed(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ViaMqtt", 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.ViaMqtt = 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 *NodeInfo) UnmarshalVTUnsafe(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 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 { + 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.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + 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 + } + 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.Position == nil { + m.Position = &Position{} + } + if err := m.Position.UnmarshalVTUnsafe(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) + } + 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.DeviceMetrics == nil { + m.DeviceMetrics = &DeviceMetrics{} + } + if err := m.DeviceMetrics.UnmarshalVTUnsafe(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 + } + } + 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 *MyNodeInfo) UnmarshalVTUnsafe(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: MyNodeInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MyNodeInfo: 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) + } + m.MyNodeNum = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MyNodeNum |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RebootCount", wireType) + } + m.RebootCount = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RebootCount |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinAppVersion", wireType) + } + m.MinAppVersion = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinAppVersion |= 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 *LogRecord) UnmarshalVTUnsafe(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: LogRecord: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 Message", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Message = stringValue + 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) + } + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Source = stringValue + 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:]) + 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 *QueueStatus) UnmarshalVTUnsafe(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: QueueStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 Res", wireType) + } + m.Res = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Res |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Free", wireType) + } + m.Free = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Free |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Maxlen", 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 + } + } + 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 + } + } + 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 *FromRadio) UnmarshalVTUnsafe(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: FromRadio: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: FromRadio: 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 != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Packet", 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.(*FromRadio_Packet); ok { + if err := oneof.Packet.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MeshPacket{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_Packet{Packet: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MyInfo", 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.(*FromRadio_MyInfo); ok { + if err := oneof.MyInfo.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MyNodeInfo{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_MyInfo{MyInfo: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", 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.(*FromRadio_NodeInfo); ok { + if err := oneof.NodeInfo.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &NodeInfo{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_NodeInfo{NodeInfo: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", 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.(*FromRadio_Config); ok { + if err := oneof.Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Config{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_Config{Config: v} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LogRecord", 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.(*FromRadio_LogRecord); ok { + if err := oneof.LogRecord.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &LogRecord{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_LogRecord{LogRecord: v} + } + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ConfigCompleteId", 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.PayloadVariant = &FromRadio_ConfigCompleteId{ConfigCompleteId: v} + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rebooted", 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 = &FromRadio_Rebooted{Rebooted: b} + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModuleConfig", 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.(*FromRadio_ModuleConfig); ok { + if err := oneof.ModuleConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig{} + if err := v.UnmarshalVTUnsafe(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 Channel", 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.(*FromRadio_Channel); ok { + if err := oneof.Channel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &Channel{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_Channel{Channel: v} + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QueueStatus", 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.(*FromRadio_QueueStatus); ok { + if err := oneof.QueueStatus.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &QueueStatus{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_QueueStatus{QueueStatus: v} + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", 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.(*FromRadio_XmodemPacket); ok { + if err := oneof.XmodemPacket.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &XModem{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_XmodemPacket{XmodemPacket: v} + } + 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 + } + 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.(*FromRadio_Metadata); ok { + if err := oneof.Metadata.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceMetadata{} + if err := v.UnmarshalVTUnsafe(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 + } + 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.(*FromRadio_MqttClientProxyMessage); ok { + if err := oneof.MqttClientProxyMessage.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MqttClientProxyMessage{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &FromRadio_MqttClientProxyMessage{MqttClientProxyMessage: 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 *ToRadio) UnmarshalVTUnsafe(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) + } + 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.(*ToRadio_Packet); ok { + if err := oneof.Packet.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MeshPacket{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ToRadio_Packet{Packet: v} + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field WantConfigId", 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.PayloadVariant = &ToRadio_WantConfigId{WantConfigId: v} + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Disconnect", 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 = &ToRadio_Disconnect{Disconnect: b} + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field XmodemPacket", 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.(*ToRadio_XmodemPacket); ok { + if err := oneof.XmodemPacket.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &XModem{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ToRadio_XmodemPacket{XmodemPacket: v} + } + iNdEx = postIndex + case 6: + 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 + } + 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.(*ToRadio_MqttClientProxyMessage); ok { + if err := oneof.MqttClientProxyMessage.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &MqttClientProxyMessage{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ToRadio_MqttClientProxyMessage{MqttClientProxyMessage: 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 *Compressed) UnmarshalVTUnsafe(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 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 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 + } + m.Data = 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 *NeighborInfo) UnmarshalVTUnsafe(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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastSentById", wireType) + } + m.LastSentById = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastSentById |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + 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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeBroadcastIntervalSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Neighbors", 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 + } + m.Neighbors = append(m.Neighbors, &Neighbor{}) + if err := m.Neighbors[len(m.Neighbors)-1].UnmarshalVTUnsafe(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 *Neighbor) UnmarshalVTUnsafe(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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + 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 + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NodeBroadcastIntervalSecs |= 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 *DeviceMetadata) UnmarshalVTUnsafe(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: DeviceMetadata: wiretype end group for non-group") + } + if fieldNum <= 0 { + 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 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.FirmwareVersion = stringValue + 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) + } + 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.HasWifi = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasBluetooth", 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.HasBluetooth = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasEthernet", 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.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) + } + m.PositionFlags = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PositionFlags |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + 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 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HasRemoteHardware", 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.HasRemoteHardware = 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/module_config.pb.go b/meshtastic/module_config.pb.go new file mode 100644 index 0000000..1abbf27 --- /dev/null +++ b/meshtastic/module_config.pb.go @@ -0,0 +1,2699 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/module_config.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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 RemoteHardwarePinType int32 + +const ( + // Unset/unused + RemoteHardwarePinType_UNKNOWN RemoteHardwarePinType = 0 + // GPIO pin can be read (if it is high / low) + RemoteHardwarePinType_DIGITAL_READ RemoteHardwarePinType = 1 + // GPIO pin can be written to (high / low) + RemoteHardwarePinType_DIGITAL_WRITE RemoteHardwarePinType = 2 +) + +// Enum value maps for RemoteHardwarePinType. +var ( + RemoteHardwarePinType_name = map[int32]string{ + 0: "UNKNOWN", + 1: "DIGITAL_READ", + 2: "DIGITAL_WRITE", + } + RemoteHardwarePinType_value = map[string]int32{ + "UNKNOWN": 0, + "DIGITAL_READ": 1, + "DIGITAL_WRITE": 2, + } +) + +func (x RemoteHardwarePinType) Enum() *RemoteHardwarePinType { + p := new(RemoteHardwarePinType) + *p = x + return p +} + +func (x RemoteHardwarePinType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RemoteHardwarePinType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_module_config_proto_enumTypes[0].Descriptor() +} + +func (RemoteHardwarePinType) Type() protoreflect.EnumType { + return &file_meshtastic_module_config_proto_enumTypes[0] +} + +func (x RemoteHardwarePinType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RemoteHardwarePinType.Descriptor instead. +func (RemoteHardwarePinType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0} +} + +// Baudrate for codec2 voice +type ModuleConfig_AudioConfig_Audio_Baud int32 + +const ( + ModuleConfig_AudioConfig_CODEC2_DEFAULT ModuleConfig_AudioConfig_Audio_Baud = 0 + ModuleConfig_AudioConfig_CODEC2_3200 ModuleConfig_AudioConfig_Audio_Baud = 1 + ModuleConfig_AudioConfig_CODEC2_2400 ModuleConfig_AudioConfig_Audio_Baud = 2 + ModuleConfig_AudioConfig_CODEC2_1600 ModuleConfig_AudioConfig_Audio_Baud = 3 + ModuleConfig_AudioConfig_CODEC2_1400 ModuleConfig_AudioConfig_Audio_Baud = 4 + ModuleConfig_AudioConfig_CODEC2_1300 ModuleConfig_AudioConfig_Audio_Baud = 5 + ModuleConfig_AudioConfig_CODEC2_1200 ModuleConfig_AudioConfig_Audio_Baud = 6 + ModuleConfig_AudioConfig_CODEC2_700 ModuleConfig_AudioConfig_Audio_Baud = 7 + ModuleConfig_AudioConfig_CODEC2_700B ModuleConfig_AudioConfig_Audio_Baud = 8 +) + +// Enum value maps for ModuleConfig_AudioConfig_Audio_Baud. +var ( + ModuleConfig_AudioConfig_Audio_Baud_name = map[int32]string{ + 0: "CODEC2_DEFAULT", + 1: "CODEC2_3200", + 2: "CODEC2_2400", + 3: "CODEC2_1600", + 4: "CODEC2_1400", + 5: "CODEC2_1300", + 6: "CODEC2_1200", + 7: "CODEC2_700", + 8: "CODEC2_700B", + } + ModuleConfig_AudioConfig_Audio_Baud_value = map[string]int32{ + "CODEC2_DEFAULT": 0, + "CODEC2_3200": 1, + "CODEC2_2400": 2, + "CODEC2_1600": 3, + "CODEC2_1400": 4, + "CODEC2_1300": 5, + "CODEC2_1200": 6, + "CODEC2_700": 7, + "CODEC2_700B": 8, + } +) + +func (x ModuleConfig_AudioConfig_Audio_Baud) Enum() *ModuleConfig_AudioConfig_Audio_Baud { + p := new(ModuleConfig_AudioConfig_Audio_Baud) + *p = x + return p +} + +func (x ModuleConfig_AudioConfig_Audio_Baud) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModuleConfig_AudioConfig_Audio_Baud) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_module_config_proto_enumTypes[1].Descriptor() +} + +func (ModuleConfig_AudioConfig_Audio_Baud) Type() protoreflect.EnumType { + return &file_meshtastic_module_config_proto_enumTypes[1] +} + +func (x ModuleConfig_AudioConfig_Audio_Baud) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// 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} +} + +// TODO: REPLACE +type ModuleConfig_SerialConfig_Serial_Baud int32 + +const ( + ModuleConfig_SerialConfig_BAUD_DEFAULT ModuleConfig_SerialConfig_Serial_Baud = 0 + ModuleConfig_SerialConfig_BAUD_110 ModuleConfig_SerialConfig_Serial_Baud = 1 + ModuleConfig_SerialConfig_BAUD_300 ModuleConfig_SerialConfig_Serial_Baud = 2 + ModuleConfig_SerialConfig_BAUD_600 ModuleConfig_SerialConfig_Serial_Baud = 3 + ModuleConfig_SerialConfig_BAUD_1200 ModuleConfig_SerialConfig_Serial_Baud = 4 + ModuleConfig_SerialConfig_BAUD_2400 ModuleConfig_SerialConfig_Serial_Baud = 5 + ModuleConfig_SerialConfig_BAUD_4800 ModuleConfig_SerialConfig_Serial_Baud = 6 + ModuleConfig_SerialConfig_BAUD_9600 ModuleConfig_SerialConfig_Serial_Baud = 7 + ModuleConfig_SerialConfig_BAUD_19200 ModuleConfig_SerialConfig_Serial_Baud = 8 + ModuleConfig_SerialConfig_BAUD_38400 ModuleConfig_SerialConfig_Serial_Baud = 9 + ModuleConfig_SerialConfig_BAUD_57600 ModuleConfig_SerialConfig_Serial_Baud = 10 + ModuleConfig_SerialConfig_BAUD_115200 ModuleConfig_SerialConfig_Serial_Baud = 11 + ModuleConfig_SerialConfig_BAUD_230400 ModuleConfig_SerialConfig_Serial_Baud = 12 + ModuleConfig_SerialConfig_BAUD_460800 ModuleConfig_SerialConfig_Serial_Baud = 13 + ModuleConfig_SerialConfig_BAUD_576000 ModuleConfig_SerialConfig_Serial_Baud = 14 + ModuleConfig_SerialConfig_BAUD_921600 ModuleConfig_SerialConfig_Serial_Baud = 15 +) + +// Enum value maps for ModuleConfig_SerialConfig_Serial_Baud. +var ( + ModuleConfig_SerialConfig_Serial_Baud_name = map[int32]string{ + 0: "BAUD_DEFAULT", + 1: "BAUD_110", + 2: "BAUD_300", + 3: "BAUD_600", + 4: "BAUD_1200", + 5: "BAUD_2400", + 6: "BAUD_4800", + 7: "BAUD_9600", + 8: "BAUD_19200", + 9: "BAUD_38400", + 10: "BAUD_57600", + 11: "BAUD_115200", + 12: "BAUD_230400", + 13: "BAUD_460800", + 14: "BAUD_576000", + 15: "BAUD_921600", + } + ModuleConfig_SerialConfig_Serial_Baud_value = map[string]int32{ + "BAUD_DEFAULT": 0, + "BAUD_110": 1, + "BAUD_300": 2, + "BAUD_600": 3, + "BAUD_1200": 4, + "BAUD_2400": 5, + "BAUD_4800": 6, + "BAUD_9600": 7, + "BAUD_19200": 8, + "BAUD_38400": 9, + "BAUD_57600": 10, + "BAUD_115200": 11, + "BAUD_230400": 12, + "BAUD_460800": 13, + "BAUD_576000": 14, + "BAUD_921600": 15, + } +) + +func (x ModuleConfig_SerialConfig_Serial_Baud) Enum() *ModuleConfig_SerialConfig_Serial_Baud { + p := new(ModuleConfig_SerialConfig_Serial_Baud) + *p = x + return p +} + +func (x ModuleConfig_SerialConfig_Serial_Baud) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModuleConfig_SerialConfig_Serial_Baud) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_module_config_proto_enumTypes[2].Descriptor() +} + +func (ModuleConfig_SerialConfig_Serial_Baud) Type() protoreflect.EnumType { + return &file_meshtastic_module_config_proto_enumTypes[2] +} + +func (x ModuleConfig_SerialConfig_Serial_Baud) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// 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} +} + +// TODO: REPLACE +type ModuleConfig_SerialConfig_Serial_Mode int32 + +const ( + ModuleConfig_SerialConfig_DEFAULT ModuleConfig_SerialConfig_Serial_Mode = 0 + ModuleConfig_SerialConfig_SIMPLE ModuleConfig_SerialConfig_Serial_Mode = 1 + ModuleConfig_SerialConfig_PROTO ModuleConfig_SerialConfig_Serial_Mode = 2 + ModuleConfig_SerialConfig_TEXTMSG ModuleConfig_SerialConfig_Serial_Mode = 3 + ModuleConfig_SerialConfig_NMEA ModuleConfig_SerialConfig_Serial_Mode = 4 + // NMEA messages specifically tailored for CalTopo + ModuleConfig_SerialConfig_CALTOPO ModuleConfig_SerialConfig_Serial_Mode = 5 +) + +// Enum value maps for ModuleConfig_SerialConfig_Serial_Mode. +var ( + ModuleConfig_SerialConfig_Serial_Mode_name = map[int32]string{ + 0: "DEFAULT", + 1: "SIMPLE", + 2: "PROTO", + 3: "TEXTMSG", + 4: "NMEA", + 5: "CALTOPO", + } + ModuleConfig_SerialConfig_Serial_Mode_value = map[string]int32{ + "DEFAULT": 0, + "SIMPLE": 1, + "PROTO": 2, + "TEXTMSG": 3, + "NMEA": 4, + "CALTOPO": 5, + } +) + +func (x ModuleConfig_SerialConfig_Serial_Mode) Enum() *ModuleConfig_SerialConfig_Serial_Mode { + p := new(ModuleConfig_SerialConfig_Serial_Mode) + *p = x + return p +} + +func (x ModuleConfig_SerialConfig_Serial_Mode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModuleConfig_SerialConfig_Serial_Mode) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_module_config_proto_enumTypes[3].Descriptor() +} + +func (ModuleConfig_SerialConfig_Serial_Mode) Type() protoreflect.EnumType { + return &file_meshtastic_module_config_proto_enumTypes[3] +} + +func (x ModuleConfig_SerialConfig_Serial_Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// 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} +} + +// TODO: REPLACE +type ModuleConfig_CannedMessageConfig_InputEventChar int32 + +const ( + // TODO: REPLACE + ModuleConfig_CannedMessageConfig_NONE ModuleConfig_CannedMessageConfig_InputEventChar = 0 + // TODO: REPLACE + ModuleConfig_CannedMessageConfig_UP ModuleConfig_CannedMessageConfig_InputEventChar = 17 + // TODO: REPLACE + ModuleConfig_CannedMessageConfig_DOWN ModuleConfig_CannedMessageConfig_InputEventChar = 18 + // TODO: REPLACE + ModuleConfig_CannedMessageConfig_LEFT ModuleConfig_CannedMessageConfig_InputEventChar = 19 + // TODO: REPLACE + ModuleConfig_CannedMessageConfig_RIGHT ModuleConfig_CannedMessageConfig_InputEventChar = 20 + // '\n' + ModuleConfig_CannedMessageConfig_SELECT ModuleConfig_CannedMessageConfig_InputEventChar = 10 + // TODO: REPLACE + ModuleConfig_CannedMessageConfig_BACK ModuleConfig_CannedMessageConfig_InputEventChar = 27 + // TODO: REPLACE + ModuleConfig_CannedMessageConfig_CANCEL ModuleConfig_CannedMessageConfig_InputEventChar = 24 +) + +// Enum value maps for ModuleConfig_CannedMessageConfig_InputEventChar. +var ( + ModuleConfig_CannedMessageConfig_InputEventChar_name = map[int32]string{ + 0: "NONE", + 17: "UP", + 18: "DOWN", + 19: "LEFT", + 20: "RIGHT", + 10: "SELECT", + 27: "BACK", + 24: "CANCEL", + } + ModuleConfig_CannedMessageConfig_InputEventChar_value = map[string]int32{ + "NONE": 0, + "UP": 17, + "DOWN": 18, + "LEFT": 19, + "RIGHT": 20, + "SELECT": 10, + "BACK": 27, + "CANCEL": 24, + } +) + +func (x ModuleConfig_CannedMessageConfig_InputEventChar) Enum() *ModuleConfig_CannedMessageConfig_InputEventChar { + p := new(ModuleConfig_CannedMessageConfig_InputEventChar) + *p = x + return p +} + +func (x ModuleConfig_CannedMessageConfig_InputEventChar) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ModuleConfig_CannedMessageConfig_InputEventChar) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_module_config_proto_enumTypes[4].Descriptor() +} + +func (ModuleConfig_CannedMessageConfig_InputEventChar) Type() protoreflect.EnumType { + return &file_meshtastic_module_config_proto_enumTypes[4] +} + +func (x ModuleConfig_CannedMessageConfig_InputEventChar) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// 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} +} + +// Module Config +type ModuleConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // TODO: REPLACE + // + // Types that are assignable to PayloadVariant: + // + // *ModuleConfig_Mqtt + // *ModuleConfig_Serial + // *ModuleConfig_ExternalNotification + // *ModuleConfig_StoreForward + // *ModuleConfig_RangeTest + // *ModuleConfig_Telemetry + // *ModuleConfig_CannedMessage + // *ModuleConfig_Audio + // *ModuleConfig_RemoteHardware + // *ModuleConfig_NeighborInfo + // *ModuleConfig_AmbientLighting + // *ModuleConfig_DetectionSensor + // *ModuleConfig_Paxcounter + PayloadVariant isModuleConfig_PayloadVariant `protobuf_oneof:"payload_variant"` +} + +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) + } +} + +func (x *ModuleConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig) ProtoMessage() {} + +func (x *ModuleConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[0] + 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 ModuleConfig.ProtoReflect.Descriptor instead. +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 + } + return nil +} + +func (x *ModuleConfig) GetMqtt() *ModuleConfig_MQTTConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *ModuleConfig) GetExternalNotification() *ModuleConfig_ExternalNotificationConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *ModuleConfig) GetRangeTest() *ModuleConfig_RangeTestConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *ModuleConfig) GetCannedMessage() *ModuleConfig_CannedMessageConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *ModuleConfig) GetRemoteHardware() *ModuleConfig_RemoteHardwareConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *ModuleConfig) GetAmbientLighting() *ModuleConfig_AmbientLightingConfig { + if x, ok := x.GetPayloadVariant().(*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 + } + return nil +} + +func (x *ModuleConfig) GetPaxcounter() *ModuleConfig_PaxcounterConfig { + if x, ok := x.GetPayloadVariant().(*ModuleConfig_Paxcounter); ok { + return x.Paxcounter + } + return nil +} + +type isModuleConfig_PayloadVariant interface { + isModuleConfig_PayloadVariant() +} + +type ModuleConfig_Mqtt struct { + // TODO: REPLACE + Mqtt *ModuleConfig_MQTTConfig `protobuf:"bytes,1,opt,name=mqtt,proto3,oneof"` +} + +type ModuleConfig_Serial struct { + // TODO: REPLACE + Serial *ModuleConfig_SerialConfig `protobuf:"bytes,2,opt,name=serial,proto3,oneof"` +} + +type ModuleConfig_ExternalNotification struct { + // TODO: REPLACE + ExternalNotification *ModuleConfig_ExternalNotificationConfig `protobuf:"bytes,3,opt,name=external_notification,json=externalNotification,proto3,oneof"` +} + +type ModuleConfig_StoreForward struct { + // TODO: REPLACE + StoreForward *ModuleConfig_StoreForwardConfig `protobuf:"bytes,4,opt,name=store_forward,json=storeForward,proto3,oneof"` +} + +type ModuleConfig_RangeTest struct { + // TODO: REPLACE + RangeTest *ModuleConfig_RangeTestConfig `protobuf:"bytes,5,opt,name=range_test,json=rangeTest,proto3,oneof"` +} + +type ModuleConfig_Telemetry struct { + // TODO: REPLACE + Telemetry *ModuleConfig_TelemetryConfig `protobuf:"bytes,6,opt,name=telemetry,proto3,oneof"` +} + +type ModuleConfig_CannedMessage struct { + // TODO: REPLACE + CannedMessage *ModuleConfig_CannedMessageConfig `protobuf:"bytes,7,opt,name=canned_message,json=cannedMessage,proto3,oneof"` +} + +type ModuleConfig_Audio struct { + // TODO: REPLACE + Audio *ModuleConfig_AudioConfig `protobuf:"bytes,8,opt,name=audio,proto3,oneof"` +} + +type ModuleConfig_RemoteHardware struct { + // TODO: REPLACE + RemoteHardware *ModuleConfig_RemoteHardwareConfig `protobuf:"bytes,9,opt,name=remote_hardware,json=remoteHardware,proto3,oneof"` +} + +type ModuleConfig_NeighborInfo struct { + // TODO: REPLACE + NeighborInfo *ModuleConfig_NeighborInfoConfig `protobuf:"bytes,10,opt,name=neighbor_info,json=neighborInfo,proto3,oneof"` +} + +type ModuleConfig_AmbientLighting struct { + // TODO: REPLACE + AmbientLighting *ModuleConfig_AmbientLightingConfig `protobuf:"bytes,11,opt,name=ambient_lighting,json=ambientLighting,proto3,oneof"` +} + +type ModuleConfig_DetectionSensor struct { + // TODO: REPLACE + DetectionSensor *ModuleConfig_DetectionSensorConfig `protobuf:"bytes,12,opt,name=detection_sensor,json=detectionSensor,proto3,oneof"` +} + +type ModuleConfig_Paxcounter struct { + // TODO: REPLACE + Paxcounter *ModuleConfig_PaxcounterConfig `protobuf:"bytes,13,opt,name=paxcounter,proto3,oneof"` +} + +func (*ModuleConfig_Mqtt) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_Serial) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_ExternalNotification) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_StoreForward) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_RangeTest) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_Telemetry) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_CannedMessage) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_Audio) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_RemoteHardware) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_NeighborInfo) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_AmbientLighting) isModuleConfig_PayloadVariant() {} + +func (*ModuleConfig_DetectionSensor) isModuleConfig_PayloadVariant() {} + +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 + + // 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"` +} + +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) + } +} + +func (x *RemoteHardwarePin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteHardwarePin) ProtoMessage() {} + +func (x *RemoteHardwarePin) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[1] + 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 RemoteHardwarePin.ProtoReflect.Descriptor instead. +func (*RemoteHardwarePin) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{1} +} + +func (x *RemoteHardwarePin) GetGpioPin() uint32 { + if x != nil { + return x.GpioPin + } + return 0 +} + +func (x *RemoteHardwarePin) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RemoteHardwarePin) GetType() RemoteHardwarePinType { + if x != nil { + return x.Type + } + return RemoteHardwarePinType_UNKNOWN +} + +// MQTT Client Config +type ModuleConfig_MQTTConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + // The server to use for our MQTT global message gateway feature. + // If not set, the default server will be used + Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + // MQTT username to use (most useful for a custom MQTT server). + // If using a custom server, this will be honoured even if empty. + // If using the default server, this will only be honoured if set, otherwise the device will use the default username + Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` + // MQTT password to use (most useful for a custom MQTT server). + // If using a custom server, this will be honoured even if empty. + // If using the default server, this will only be honoured if set, otherwise the device will use the default password + Password string `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"` + // Whether to send encrypted or decrypted packets to MQTT. + // This parameter is only honoured if you also set server + // (the default official mqtt.meshtastic.org server can handle encrypted packets) + // Decrypted packets may be useful for external systems that want to consume meshtastic packets + EncryptionEnabled bool `protobuf:"varint,5,opt,name=encryption_enabled,json=encryptionEnabled,proto3" json:"encryption_enabled,omitempty"` + // Whether to send / consume json packets on MQTT + JsonEnabled bool `protobuf:"varint,6,opt,name=json_enabled,json=jsonEnabled,proto3" json:"json_enabled,omitempty"` + // If true, we attempt to establish a secure connection using TLS + TlsEnabled bool `protobuf:"varint,7,opt,name=tls_enabled,json=tlsEnabled,proto3" json:"tls_enabled,omitempty"` + // The root topic to use for MQTT messages. Default is "msh". + // This is useful if you want to use a single MQTT server for multiple meshtastic networks and separate them via ACLs + 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"` +} + +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) + } +} + +func (x *ModuleConfig_MQTTConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_MQTTConfig) ProtoMessage() {} + +func (x *ModuleConfig_MQTTConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[2] + 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 ModuleConfig_MQTTConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_MQTTConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ModuleConfig_MQTTConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_MQTTConfig) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *ModuleConfig_MQTTConfig) GetUsername() string { + if x != nil { + return x.Username + } + return "" +} + +func (x *ModuleConfig_MQTTConfig) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *ModuleConfig_MQTTConfig) GetEncryptionEnabled() bool { + if x != nil { + return x.EncryptionEnabled + } + return false +} + +func (x *ModuleConfig_MQTTConfig) GetJsonEnabled() bool { + if x != nil { + return x.JsonEnabled + } + return false +} + +func (x *ModuleConfig_MQTTConfig) GetTlsEnabled() bool { + if x != nil { + return x.TlsEnabled + } + return false +} + +func (x *ModuleConfig_MQTTConfig) GetRoot() string { + if x != nil { + return x.Root + } + return "" +} + +func (x *ModuleConfig_MQTTConfig) GetProxyToClientEnabled() bool { + if x != nil { + return x.ProxyToClientEnabled + } + return false +} + +// RemoteHardwareModule Config +type ModuleConfig_RemoteHardwareConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_RemoteHardwareConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_RemoteHardwareConfig) ProtoMessage() {} + +func (x *ModuleConfig_RemoteHardwareConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[3] + 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 ModuleConfig_RemoteHardwareConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_RemoteHardwareConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *ModuleConfig_RemoteHardwareConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_RemoteHardwareConfig) GetAllowUndefinedPinAccess() bool { + if x != nil { + return x.AllowUndefinedPinAccess + } + return false +} + +func (x *ModuleConfig_RemoteHardwareConfig) GetAvailablePins() []*RemoteHardwarePin { + if x != nil { + return x.AvailablePins + } + return nil +} + +// NeighborInfoModule Config +type ModuleConfig_NeighborInfoConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + UpdateInterval uint32 `protobuf:"varint,2,opt,name=update_interval,json=updateInterval,proto3" json:"update_interval,omitempty"` +} + +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) + } +} + +func (x *ModuleConfig_NeighborInfoConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_NeighborInfoConfig) ProtoMessage() {} + +func (x *ModuleConfig_NeighborInfoConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[4] + 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 ModuleConfig_NeighborInfoConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_NeighborInfoConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *ModuleConfig_NeighborInfoConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_NeighborInfoConfig) GetUpdateInterval() uint32 { + if x != nil { + return x.UpdateInterval + } + return 0 +} + +// Detection Sensor Module Config +type ModuleConfig_DetectionSensorConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + 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 + 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 + SendBell bool `protobuf:"varint,4,opt,name=send_bell,json=sendBell,proto3" json:"send_bell,omitempty"` + // Friendly name used to format message sent to mesh + // Example: A name "Motion" would result in a message "Motion detected" + // Maximum length of 20 characters + 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"` + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_DetectionSensorConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_DetectionSensorConfig) ProtoMessage() {} + +func (x *ModuleConfig_DetectionSensorConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_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 ModuleConfig_DetectionSensorConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_DetectionSensorConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *ModuleConfig_DetectionSensorConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_DetectionSensorConfig) GetMinimumBroadcastSecs() uint32 { + if x != nil { + return x.MinimumBroadcastSecs + } + return 0 +} + +func (x *ModuleConfig_DetectionSensorConfig) GetStateBroadcastSecs() uint32 { + if x != nil { + return x.StateBroadcastSecs + } + return 0 +} + +func (x *ModuleConfig_DetectionSensorConfig) GetSendBell() bool { + if x != nil { + return x.SendBell + } + return false +} + +func (x *ModuleConfig_DetectionSensorConfig) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ModuleConfig_DetectionSensorConfig) GetMonitorPin() uint32 { + if x != nil { + return x.MonitorPin + } + return 0 +} + +func (x *ModuleConfig_DetectionSensorConfig) GetDetectionTriggeredHigh() bool { + if x != nil { + return x.DetectionTriggeredHigh + } + return false +} + +func (x *ModuleConfig_DetectionSensorConfig) GetUsePullup() bool { + if x != nil { + return x.UsePullup + } + return false +} + +// Audio Config for codec2 voice +type ModuleConfig_AudioConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether Audio is enabled + Codec2Enabled bool `protobuf:"varint,1,opt,name=codec2_enabled,json=codec2Enabled,proto3" json:"codec2_enabled,omitempty"` + // PTT Pin + PttPin uint32 `protobuf:"varint,2,opt,name=ptt_pin,json=pttPin,proto3" json:"ptt_pin,omitempty"` + // The audio sample rate to use for codec2 + Bitrate ModuleConfig_AudioConfig_Audio_Baud `protobuf:"varint,3,opt,name=bitrate,proto3,enum=meshtastic.ModuleConfig_AudioConfig_Audio_Baud" json:"bitrate,omitempty"` + // I2S Word Select + I2SWs uint32 `protobuf:"varint,4,opt,name=i2s_ws,json=i2sWs,proto3" json:"i2s_ws,omitempty"` + // I2S Data IN + I2SSd uint32 `protobuf:"varint,5,opt,name=i2s_sd,json=i2sSd,proto3" json:"i2s_sd,omitempty"` + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_AudioConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_AudioConfig) ProtoMessage() {} + +func (x *ModuleConfig_AudioConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[6] + 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 ModuleConfig_AudioConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_AudioConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *ModuleConfig_AudioConfig) GetCodec2Enabled() bool { + if x != nil { + return x.Codec2Enabled + } + return false +} + +func (x *ModuleConfig_AudioConfig) GetPttPin() uint32 { + if x != nil { + return x.PttPin + } + return 0 +} + +func (x *ModuleConfig_AudioConfig) GetBitrate() ModuleConfig_AudioConfig_Audio_Baud { + if x != nil { + return x.Bitrate + } + return ModuleConfig_AudioConfig_CODEC2_DEFAULT +} + +func (x *ModuleConfig_AudioConfig) GetI2SWs() uint32 { + if x != nil { + return x.I2SWs + } + return 0 +} + +func (x *ModuleConfig_AudioConfig) GetI2SSd() uint32 { + if x != nil { + return x.I2SSd + } + return 0 +} + +func (x *ModuleConfig_AudioConfig) GetI2SDin() uint32 { + if x != nil { + return x.I2SDin + } + return 0 +} + +func (x *ModuleConfig_AudioConfig) GetI2SSck() uint32 { + if x != nil { + return x.I2SSck + } + return 0 +} + +// Config for the Paxcounter Module +type ModuleConfig_PaxcounterConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_PaxcounterConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_PaxcounterConfig) ProtoMessage() {} + +func (x *ModuleConfig_PaxcounterConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[7] + 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 ModuleConfig_PaxcounterConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_PaxcounterConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *ModuleConfig_PaxcounterConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_PaxcounterConfig) GetPaxcounterUpdateInterval() uint32 { + if x != nil { + return x.PaxcounterUpdateInterval + } + return 0 +} + +// Serial Config +type ModuleConfig_SerialConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Preferences for the SerialModule + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // TODO: REPLACE + Echo bool `protobuf:"varint,2,opt,name=echo,proto3" json:"echo,omitempty"` + // RX pin (should match Arduino gpio pin number) + Rxd uint32 `protobuf:"varint,3,opt,name=rxd,proto3" json:"rxd,omitempty"` + // TX pin (should match Arduino gpio pin number) + Txd uint32 `protobuf:"varint,4,opt,name=txd,proto3" json:"txd,omitempty"` + // Serial baud rate + Baud ModuleConfig_SerialConfig_Serial_Baud `protobuf:"varint,5,opt,name=baud,proto3,enum=meshtastic.ModuleConfig_SerialConfig_Serial_Baud" json:"baud,omitempty"` + // TODO: REPLACE + Timeout uint32 `protobuf:"varint,6,opt,name=timeout,proto3" json:"timeout,omitempty"` + // Mode for serial module operation + Mode ModuleConfig_SerialConfig_Serial_Mode `protobuf:"varint,7,opt,name=mode,proto3,enum=meshtastic.ModuleConfig_SerialConfig_Serial_Mode" json:"mode,omitempty"` + // Overrides the platform's defacto Serial port instance to use with Serial module config settings + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_SerialConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_SerialConfig) ProtoMessage() {} + +func (x *ModuleConfig_SerialConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[8] + 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 ModuleConfig_SerialConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_SerialConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 6} +} + +func (x *ModuleConfig_SerialConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_SerialConfig) GetEcho() bool { + if x != nil { + return x.Echo + } + return false +} + +func (x *ModuleConfig_SerialConfig) GetRxd() uint32 { + if x != nil { + return x.Rxd + } + return 0 +} + +func (x *ModuleConfig_SerialConfig) GetTxd() uint32 { + if x != nil { + return x.Txd + } + return 0 +} + +func (x *ModuleConfig_SerialConfig) GetBaud() ModuleConfig_SerialConfig_Serial_Baud { + if x != nil { + return x.Baud + } + return ModuleConfig_SerialConfig_BAUD_DEFAULT +} + +func (x *ModuleConfig_SerialConfig) GetTimeout() uint32 { + if x != nil { + return x.Timeout + } + return 0 +} + +func (x *ModuleConfig_SerialConfig) GetMode() ModuleConfig_SerialConfig_Serial_Mode { + if x != nil { + return x.Mode + } + return ModuleConfig_SerialConfig_DEFAULT +} + +func (x *ModuleConfig_SerialConfig) GetOverrideConsoleSerialPort() bool { + if x != nil { + return x.OverrideConsoleSerialPort + } + return false +} + +// External Notifications Config +type ModuleConfig_ExternalNotificationConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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 + // milliseconds. Default 1000ms (1 second). + OutputMs uint32 `protobuf:"varint,2,opt,name=output_ms,json=outputMs,proto3" json:"output_ms,omitempty"` + // Define the output pin GPIO setting Defaults to + // EXT_NOTIFY_OUT if set for the board. + // In standalone devices this pin should drive the LED to match the UI. + Output uint32 `protobuf:"varint,3,opt,name=output,proto3" json:"output,omitempty"` + // Optional: Define a secondary output pin for a vibra motor + // This is used in standalone devices to match the UI. + OutputVibra uint32 `protobuf:"varint,8,opt,name=output_vibra,json=outputVibra,proto3" json:"output_vibra,omitempty"` + // Optional: Define a tertiary output pin for an active buzzer + // This is used in standalone devices to to match the UI. + OutputBuzzer uint32 `protobuf:"varint,9,opt,name=output_buzzer,json=outputBuzzer,proto3" json:"output_buzzer,omitempty"` + // IF this is true, the 'output' Pin will be pulled active high, false + // means active low. + Active bool `protobuf:"varint,4,opt,name=active,proto3" json:"active,omitempty"` + // True: Alert when a text message arrives (output) + AlertMessage bool `protobuf:"varint,5,opt,name=alert_message,json=alertMessage,proto3" json:"alert_message,omitempty"` + // True: Alert when a text message arrives (output_vibra) + AlertMessageVibra bool `protobuf:"varint,10,opt,name=alert_message_vibra,json=alertMessageVibra,proto3" json:"alert_message_vibra,omitempty"` + // True: Alert when a text message arrives (output_buzzer) + AlertMessageBuzzer bool `protobuf:"varint,11,opt,name=alert_message_buzzer,json=alertMessageBuzzer,proto3" json:"alert_message_buzzer,omitempty"` + // True: Alert when the bell character is received (output) + AlertBell bool `protobuf:"varint,6,opt,name=alert_bell,json=alertBell,proto3" json:"alert_bell,omitempty"` + // True: Alert when the bell character is received (output_vibra) + AlertBellVibra bool `protobuf:"varint,12,opt,name=alert_bell_vibra,json=alertBellVibra,proto3" json:"alert_bell_vibra,omitempty"` + // True: Alert when the bell character is received (output_buzzer) + AlertBellBuzzer bool `protobuf:"varint,13,opt,name=alert_bell_buzzer,json=alertBellBuzzer,proto3" json:"alert_bell_buzzer,omitempty"` + // use a PWM output instead of a simple on/off output. This will ignore + // the 'output', 'output_ms' and 'active' settings and use the + // device.buzzer_gpio instead. + UsePwm bool `protobuf:"varint,7,opt,name=use_pwm,json=usePwm,proto3" json:"use_pwm,omitempty"` + // The notification will toggle with 'output_ms' for this time of seconds. + // Default is 0 which means don't repeat at all. 60 would mean blink + // and/or beep for 60 seconds + NagTimeout uint32 `protobuf:"varint,14,opt,name=nag_timeout,json=nagTimeout,proto3" json:"nag_timeout,omitempty"` + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_ExternalNotificationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_ExternalNotificationConfig) ProtoMessage() {} + +func (x *ModuleConfig_ExternalNotificationConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[9] + 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 ModuleConfig_ExternalNotificationConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_ExternalNotificationConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetOutputMs() uint32 { + if x != nil { + return x.OutputMs + } + return 0 +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetOutput() uint32 { + if x != nil { + return x.Output + } + return 0 +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetOutputVibra() uint32 { + if x != nil { + return x.OutputVibra + } + return 0 +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetOutputBuzzer() uint32 { + if x != nil { + return x.OutputBuzzer + } + return 0 +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetAlertMessage() bool { + if x != nil { + return x.AlertMessage + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetAlertMessageVibra() bool { + if x != nil { + return x.AlertMessageVibra + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetAlertMessageBuzzer() bool { + if x != nil { + return x.AlertMessageBuzzer + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetAlertBell() bool { + if x != nil { + return x.AlertBell + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetAlertBellVibra() bool { + if x != nil { + return x.AlertBellVibra + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetAlertBellBuzzer() bool { + if x != nil { + return x.AlertBellBuzzer + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetUsePwm() bool { + if x != nil { + return x.UsePwm + } + return false +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetNagTimeout() uint32 { + if x != nil { + return x.NagTimeout + } + return 0 +} + +func (x *ModuleConfig_ExternalNotificationConfig) GetUseI2SAsBuzzer() bool { + if x != nil { + return x.UseI2SAsBuzzer + } + return false +} + +// Store and Forward Module Config +type ModuleConfig_StoreForwardConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Enable the Store and Forward Module + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // TODO: REPLACE + Heartbeat bool `protobuf:"varint,2,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"` + // TODO: REPLACE + Records uint32 `protobuf:"varint,3,opt,name=records,proto3" json:"records,omitempty"` + // TODO: REPLACE + 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"` +} + +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) + } +} + +func (x *ModuleConfig_StoreForwardConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_StoreForwardConfig) ProtoMessage() {} + +func (x *ModuleConfig_StoreForwardConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[10] + 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 ModuleConfig_StoreForwardConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_StoreForwardConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 8} +} + +func (x *ModuleConfig_StoreForwardConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_StoreForwardConfig) GetHeartbeat() bool { + if x != nil { + return x.Heartbeat + } + return false +} + +func (x *ModuleConfig_StoreForwardConfig) GetRecords() uint32 { + if x != nil { + return x.Records + } + return 0 +} + +func (x *ModuleConfig_StoreForwardConfig) GetHistoryReturnMax() uint32 { + if x != nil { + return x.HistoryReturnMax + } + return 0 +} + +func (x *ModuleConfig_StoreForwardConfig) GetHistoryReturnWindow() uint32 { + if x != nil { + return x.HistoryReturnWindow + } + return 0 +} + +// Preferences for the RangeTestModule +type ModuleConfig_RangeTestConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_RangeTestConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_RangeTestConfig) ProtoMessage() {} + +func (x *ModuleConfig_RangeTestConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[11] + 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 ModuleConfig_RangeTestConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_RangeTestConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 9} +} + +func (x *ModuleConfig_RangeTestConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_RangeTestConfig) GetSender() uint32 { + if x != nil { + return x.Sender + } + return 0 +} + +func (x *ModuleConfig_RangeTestConfig) GetSave() bool { + if x != nil { + return x.Save + } + return false +} + +// Configuration for both device and environment metrics +type ModuleConfig_TelemetryConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` + EnvironmentUpdateInterval uint32 `protobuf:"varint,2,opt,name=environment_update_interval,json=environmentUpdateInterval,proto3" json:"environment_update_interval,omitempty"` + // Preferences for the Telemetry Module (Environment) + // Enable/Disable the telemetry measurement module measurement collection + EnvironmentMeasurementEnabled bool `protobuf:"varint,3,opt,name=environment_measurement_enabled,json=environmentMeasurementEnabled,proto3" json:"environment_measurement_enabled,omitempty"` + // Enable/Disable the telemetry measurement module on-device display + EnvironmentScreenEnabled bool `protobuf:"varint,4,opt,name=environment_screen_enabled,json=environmentScreenEnabled,proto3" json:"environment_screen_enabled,omitempty"` + // We'll always read the sensor in Celsius, but sometimes we might want to + // display the results in Fahrenheit as a "user preference". + EnvironmentDisplayFahrenheit bool `protobuf:"varint,5,opt,name=environment_display_fahrenheit,json=environmentDisplayFahrenheit,proto3" json:"environment_display_fahrenheit,omitempty"` + // Enable/Disable the air quality metrics + AirQualityEnabled bool `protobuf:"varint,6,opt,name=air_quality_enabled,json=airQualityEnabled,proto3" json:"air_quality_enabled,omitempty"` + // 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 + 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 + 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 + PowerScreenEnabled bool `protobuf:"varint,10,opt,name=power_screen_enabled,json=powerScreenEnabled,proto3" json:"power_screen_enabled,omitempty"` +} + +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) + } +} + +func (x *ModuleConfig_TelemetryConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_TelemetryConfig) ProtoMessage() {} + +func (x *ModuleConfig_TelemetryConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[12] + 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 ModuleConfig_TelemetryConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_TelemetryConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 10} +} + +func (x *ModuleConfig_TelemetryConfig) GetDeviceUpdateInterval() uint32 { + if x != nil { + return x.DeviceUpdateInterval + } + return 0 +} + +func (x *ModuleConfig_TelemetryConfig) GetEnvironmentUpdateInterval() uint32 { + if x != nil { + return x.EnvironmentUpdateInterval + } + return 0 +} + +func (x *ModuleConfig_TelemetryConfig) GetEnvironmentMeasurementEnabled() bool { + if x != nil { + return x.EnvironmentMeasurementEnabled + } + return false +} + +func (x *ModuleConfig_TelemetryConfig) GetEnvironmentScreenEnabled() bool { + if x != nil { + return x.EnvironmentScreenEnabled + } + return false +} + +func (x *ModuleConfig_TelemetryConfig) GetEnvironmentDisplayFahrenheit() bool { + if x != nil { + return x.EnvironmentDisplayFahrenheit + } + return false +} + +func (x *ModuleConfig_TelemetryConfig) GetAirQualityEnabled() bool { + if x != nil { + return x.AirQualityEnabled + } + return false +} + +func (x *ModuleConfig_TelemetryConfig) GetAirQualityInterval() uint32 { + if x != nil { + return x.AirQualityInterval + } + return 0 +} + +func (x *ModuleConfig_TelemetryConfig) GetPowerMeasurementEnabled() bool { + if x != nil { + return x.PowerMeasurementEnabled + } + return false +} + +func (x *ModuleConfig_TelemetryConfig) GetPowerUpdateInterval() uint32 { + if x != nil { + return x.PowerUpdateInterval + } + return 0 +} + +func (x *ModuleConfig_TelemetryConfig) GetPowerScreenEnabled() bool { + if x != nil { + return x.PowerScreenEnabled + } + return false +} + +// TODO: REPLACE +type ModuleConfig_CannedMessageConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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. + InputbrokerPinA uint32 `protobuf:"varint,2,opt,name=inputbroker_pin_a,json=inputbrokerPinA,proto3" json:"inputbroker_pin_a,omitempty"` + // GPIO pin for rotary encoder B port. + InputbrokerPinB uint32 `protobuf:"varint,3,opt,name=inputbroker_pin_b,json=inputbrokerPinB,proto3" json:"inputbroker_pin_b,omitempty"` + // GPIO pin for rotary encoder Press port. + InputbrokerPinPress uint32 `protobuf:"varint,4,opt,name=inputbroker_pin_press,json=inputbrokerPinPress,proto3" json:"inputbroker_pin_press,omitempty"` + // Generate input event on CW of this kind. + InputbrokerEventCw ModuleConfig_CannedMessageConfig_InputEventChar `protobuf:"varint,5,opt,name=inputbroker_event_cw,json=inputbrokerEventCw,proto3,enum=meshtastic.ModuleConfig_CannedMessageConfig_InputEventChar" json:"inputbroker_event_cw,omitempty"` + // Generate input event on CCW of this kind. + InputbrokerEventCcw ModuleConfig_CannedMessageConfig_InputEventChar `protobuf:"varint,6,opt,name=inputbroker_event_ccw,json=inputbrokerEventCcw,proto3,enum=meshtastic.ModuleConfig_CannedMessageConfig_InputEventChar" json:"inputbroker_event_ccw,omitempty"` + // Generate input event on Press of this kind. + InputbrokerEventPress ModuleConfig_CannedMessageConfig_InputEventChar `protobuf:"varint,7,opt,name=inputbroker_event_press,json=inputbrokerEventPress,proto3,enum=meshtastic.ModuleConfig_CannedMessageConfig_InputEventChar" json:"inputbroker_event_press,omitempty"` + // Enable the Up/Down/Select input device. Can be RAK rotary encoder or 3 buttons. Uses the a/b/press definitions from inputbroker. + Updown1Enabled bool `protobuf:"varint,8,opt,name=updown1_enabled,json=updown1Enabled,proto3" json:"updown1_enabled,omitempty"` + // 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" + 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"` +} + +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) + } +} + +func (x *ModuleConfig_CannedMessageConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_CannedMessageConfig) ProtoMessage() {} + +func (x *ModuleConfig_CannedMessageConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[13] + 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 ModuleConfig_CannedMessageConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_CannedMessageConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 11} +} + +func (x *ModuleConfig_CannedMessageConfig) GetRotary1Enabled() bool { + if x != nil { + return x.Rotary1Enabled + } + return false +} + +func (x *ModuleConfig_CannedMessageConfig) GetInputbrokerPinA() uint32 { + if x != nil { + return x.InputbrokerPinA + } + return 0 +} + +func (x *ModuleConfig_CannedMessageConfig) GetInputbrokerPinB() uint32 { + if x != nil { + return x.InputbrokerPinB + } + return 0 +} + +func (x *ModuleConfig_CannedMessageConfig) GetInputbrokerPinPress() uint32 { + if x != nil { + return x.InputbrokerPinPress + } + return 0 +} + +func (x *ModuleConfig_CannedMessageConfig) GetInputbrokerEventCw() ModuleConfig_CannedMessageConfig_InputEventChar { + if x != nil { + return x.InputbrokerEventCw + } + return ModuleConfig_CannedMessageConfig_NONE +} + +func (x *ModuleConfig_CannedMessageConfig) GetInputbrokerEventCcw() ModuleConfig_CannedMessageConfig_InputEventChar { + if x != nil { + return x.InputbrokerEventCcw + } + return ModuleConfig_CannedMessageConfig_NONE +} + +func (x *ModuleConfig_CannedMessageConfig) GetInputbrokerEventPress() ModuleConfig_CannedMessageConfig_InputEventChar { + if x != nil { + return x.InputbrokerEventPress + } + return ModuleConfig_CannedMessageConfig_NONE +} + +func (x *ModuleConfig_CannedMessageConfig) GetUpdown1Enabled() bool { + if x != nil { + return x.Updown1Enabled + } + return false +} + +func (x *ModuleConfig_CannedMessageConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *ModuleConfig_CannedMessageConfig) GetAllowInputSource() string { + if x != nil { + return x.AllowInputSource + } + return "" +} + +func (x *ModuleConfig_CannedMessageConfig) GetSendBell() bool { + if x != nil { + return x.SendBell + } + return false +} + +// 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 + + // 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. + Current uint32 `protobuf:"varint,2,opt,name=current,proto3" json:"current,omitempty"` + // Sets the red LED level. Values are 0-255. + Red uint32 `protobuf:"varint,3,opt,name=red,proto3" json:"red,omitempty"` + // 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"` +} + +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) + } +} + +func (x *ModuleConfig_AmbientLightingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModuleConfig_AmbientLightingConfig) ProtoMessage() {} + +func (x *ModuleConfig_AmbientLightingConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_module_config_proto_msgTypes[14] + 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 ModuleConfig_AmbientLightingConfig.ProtoReflect.Descriptor instead. +func (*ModuleConfig_AmbientLightingConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_module_config_proto_rawDescGZIP(), []int{0, 12} +} + +func (x *ModuleConfig_AmbientLightingConfig) GetLedState() bool { + if x != nil { + return x.LedState + } + return false +} + +func (x *ModuleConfig_AmbientLightingConfig) GetCurrent() uint32 { + if x != nil { + return x.Current + } + return 0 +} + +func (x *ModuleConfig_AmbientLightingConfig) GetRed() uint32 { + if x != nil { + return x.Red + } + return 0 +} + +func (x *ModuleConfig_AmbientLightingConfig) GetGreen() uint32 { + if x != nil { + return x.Green + } + return 0 +} + +func (x *ModuleConfig_AmbientLightingConfig) GetBlue() uint32 { + if x != nil { + return x.Blue + } + return 0 +} + +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, +} + +var ( + file_meshtastic_module_config_proto_rawDescOnce sync.Once + file_meshtastic_module_config_proto_rawDescData = file_meshtastic_module_config_proto_rawDesc +) + +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) + }) + 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{}{ + (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 +} +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 + 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 +} + +func init() { file_meshtastic_module_config_proto_init() } +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{}{ + (*ModuleConfig_Mqtt)(nil), + (*ModuleConfig_Serial)(nil), + (*ModuleConfig_ExternalNotification)(nil), + (*ModuleConfig_StoreForward)(nil), + (*ModuleConfig_RangeTest)(nil), + (*ModuleConfig_Telemetry)(nil), + (*ModuleConfig_CannedMessage)(nil), + (*ModuleConfig_Audio)(nil), + (*ModuleConfig_RemoteHardware)(nil), + (*ModuleConfig_NeighborInfo)(nil), + (*ModuleConfig_AmbientLighting)(nil), + (*ModuleConfig_DetectionSensor)(nil), + (*ModuleConfig_Paxcounter)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_module_config_proto_rawDesc, + NumEnums: 5, + NumMessages: 15, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_module_config_proto_goTypes, + DependencyIndexes: file_meshtastic_module_config_proto_depIdxs, + EnumInfos: file_meshtastic_module_config_proto_enumTypes, + 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 new file mode 100644 index 0000000..1658c9b --- /dev/null +++ b/meshtastic/module_config_vtproto.pb.go @@ -0,0 +1,11271 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/module_config.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *ModuleConfig_MQTTConfig) CloneVT() *ModuleConfig_MQTTConfig { + if m == nil { + return (*ModuleConfig_MQTTConfig)(nil) + } + r := new(ModuleConfig_MQTTConfig) + r.Enabled = m.Enabled + r.Address = m.Address + r.Username = m.Username + r.Password = m.Password + r.EncryptionEnabled = m.EncryptionEnabled + r.JsonEnabled = m.JsonEnabled + r.TlsEnabled = m.TlsEnabled + r.Root = m.Root + r.ProxyToClientEnabled = m.ProxyToClientEnabled + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_MQTTConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_RemoteHardwareConfig) CloneVT() *ModuleConfig_RemoteHardwareConfig { + if m == nil { + return (*ModuleConfig_RemoteHardwareConfig)(nil) + } + r := new(ModuleConfig_RemoteHardwareConfig) + r.Enabled = m.Enabled + r.AllowUndefinedPinAccess = m.AllowUndefinedPinAccess + if rhs := m.AvailablePins; rhs != nil { + tmpContainer := make([]*RemoteHardwarePin, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.AvailablePins = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_RemoteHardwareConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_NeighborInfoConfig) CloneVT() *ModuleConfig_NeighborInfoConfig { + if m == nil { + return (*ModuleConfig_NeighborInfoConfig)(nil) + } + r := new(ModuleConfig_NeighborInfoConfig) + r.Enabled = m.Enabled + r.UpdateInterval = m.UpdateInterval + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_NeighborInfoConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_DetectionSensorConfig) CloneVT() *ModuleConfig_DetectionSensorConfig { + if m == nil { + return (*ModuleConfig_DetectionSensorConfig)(nil) + } + r := new(ModuleConfig_DetectionSensorConfig) + r.Enabled = m.Enabled + r.MinimumBroadcastSecs = m.MinimumBroadcastSecs + r.StateBroadcastSecs = m.StateBroadcastSecs + r.SendBell = m.SendBell + r.Name = m.Name + r.MonitorPin = m.MonitorPin + r.DetectionTriggeredHigh = m.DetectionTriggeredHigh + r.UsePullup = m.UsePullup + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_DetectionSensorConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_AudioConfig) CloneVT() *ModuleConfig_AudioConfig { + if m == nil { + return (*ModuleConfig_AudioConfig)(nil) + } + r := new(ModuleConfig_AudioConfig) + r.Codec2Enabled = m.Codec2Enabled + r.PttPin = m.PttPin + r.Bitrate = m.Bitrate + r.I2SWs = m.I2SWs + r.I2SSd = m.I2SSd + r.I2SDin = m.I2SDin + r.I2SSck = m.I2SSck + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_AudioConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_PaxcounterConfig) CloneVT() *ModuleConfig_PaxcounterConfig { + if m == nil { + return (*ModuleConfig_PaxcounterConfig)(nil) + } + r := new(ModuleConfig_PaxcounterConfig) + r.Enabled = m.Enabled + r.PaxcounterUpdateInterval = m.PaxcounterUpdateInterval + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_PaxcounterConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_SerialConfig) CloneVT() *ModuleConfig_SerialConfig { + if m == nil { + return (*ModuleConfig_SerialConfig)(nil) + } + r := new(ModuleConfig_SerialConfig) + r.Enabled = m.Enabled + r.Echo = m.Echo + r.Rxd = m.Rxd + r.Txd = m.Txd + r.Baud = m.Baud + r.Timeout = m.Timeout + r.Mode = m.Mode + r.OverrideConsoleSerialPort = m.OverrideConsoleSerialPort + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_SerialConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_ExternalNotificationConfig) CloneVT() *ModuleConfig_ExternalNotificationConfig { + if m == nil { + return (*ModuleConfig_ExternalNotificationConfig)(nil) + } + r := new(ModuleConfig_ExternalNotificationConfig) + r.Enabled = m.Enabled + r.OutputMs = m.OutputMs + r.Output = m.Output + r.OutputVibra = m.OutputVibra + r.OutputBuzzer = m.OutputBuzzer + r.Active = m.Active + r.AlertMessage = m.AlertMessage + r.AlertMessageVibra = m.AlertMessageVibra + r.AlertMessageBuzzer = m.AlertMessageBuzzer + r.AlertBell = m.AlertBell + r.AlertBellVibra = m.AlertBellVibra + r.AlertBellBuzzer = m.AlertBellBuzzer + r.UsePwm = m.UsePwm + r.NagTimeout = m.NagTimeout + r.UseI2SAsBuzzer = m.UseI2SAsBuzzer + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_ExternalNotificationConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_StoreForwardConfig) CloneVT() *ModuleConfig_StoreForwardConfig { + if m == nil { + return (*ModuleConfig_StoreForwardConfig)(nil) + } + r := new(ModuleConfig_StoreForwardConfig) + r.Enabled = m.Enabled + r.Heartbeat = m.Heartbeat + r.Records = m.Records + r.HistoryReturnMax = m.HistoryReturnMax + r.HistoryReturnWindow = m.HistoryReturnWindow + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_StoreForwardConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_RangeTestConfig) CloneVT() *ModuleConfig_RangeTestConfig { + if m == nil { + return (*ModuleConfig_RangeTestConfig)(nil) + } + r := new(ModuleConfig_RangeTestConfig) + r.Enabled = m.Enabled + r.Sender = m.Sender + r.Save = m.Save + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_RangeTestConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_TelemetryConfig) CloneVT() *ModuleConfig_TelemetryConfig { + if m == nil { + return (*ModuleConfig_TelemetryConfig)(nil) + } + r := new(ModuleConfig_TelemetryConfig) + r.DeviceUpdateInterval = m.DeviceUpdateInterval + r.EnvironmentUpdateInterval = m.EnvironmentUpdateInterval + r.EnvironmentMeasurementEnabled = m.EnvironmentMeasurementEnabled + r.EnvironmentScreenEnabled = m.EnvironmentScreenEnabled + r.EnvironmentDisplayFahrenheit = m.EnvironmentDisplayFahrenheit + r.AirQualityEnabled = m.AirQualityEnabled + r.AirQualityInterval = m.AirQualityInterval + r.PowerMeasurementEnabled = m.PowerMeasurementEnabled + r.PowerUpdateInterval = m.PowerUpdateInterval + r.PowerScreenEnabled = m.PowerScreenEnabled + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_TelemetryConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_CannedMessageConfig) CloneVT() *ModuleConfig_CannedMessageConfig { + if m == nil { + return (*ModuleConfig_CannedMessageConfig)(nil) + } + r := new(ModuleConfig_CannedMessageConfig) + r.Rotary1Enabled = m.Rotary1Enabled + r.InputbrokerPinA = m.InputbrokerPinA + r.InputbrokerPinB = m.InputbrokerPinB + r.InputbrokerPinPress = m.InputbrokerPinPress + r.InputbrokerEventCw = m.InputbrokerEventCw + r.InputbrokerEventCcw = m.InputbrokerEventCcw + r.InputbrokerEventPress = m.InputbrokerEventPress + r.Updown1Enabled = m.Updown1Enabled + r.Enabled = m.Enabled + r.AllowInputSource = m.AllowInputSource + r.SendBell = m.SendBell + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_CannedMessageConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_AmbientLightingConfig) CloneVT() *ModuleConfig_AmbientLightingConfig { + if m == nil { + return (*ModuleConfig_AmbientLightingConfig)(nil) + } + r := new(ModuleConfig_AmbientLightingConfig) + r.LedState = m.LedState + r.Current = m.Current + r.Red = m.Red + r.Green = m.Green + r.Blue = m.Blue + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig_AmbientLightingConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig) CloneVT() *ModuleConfig { + if m == nil { + return (*ModuleConfig)(nil) + } + r := new(ModuleConfig) + if m.PayloadVariant != nil { + r.PayloadVariant = m.PayloadVariant.(interface { + CloneVT() isModuleConfig_PayloadVariant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ModuleConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ModuleConfig_Mqtt) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_Mqtt)(nil) + } + r := new(ModuleConfig_Mqtt) + r.Mqtt = m.Mqtt.CloneVT() + return r +} + +func (m *ModuleConfig_Serial) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_Serial)(nil) + } + r := new(ModuleConfig_Serial) + r.Serial = m.Serial.CloneVT() + return r +} + +func (m *ModuleConfig_ExternalNotification) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_ExternalNotification)(nil) + } + r := new(ModuleConfig_ExternalNotification) + r.ExternalNotification = m.ExternalNotification.CloneVT() + return r +} + +func (m *ModuleConfig_StoreForward) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_StoreForward)(nil) + } + r := new(ModuleConfig_StoreForward) + r.StoreForward = m.StoreForward.CloneVT() + return r +} + +func (m *ModuleConfig_RangeTest) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_RangeTest)(nil) + } + r := new(ModuleConfig_RangeTest) + r.RangeTest = m.RangeTest.CloneVT() + return r +} + +func (m *ModuleConfig_Telemetry) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_Telemetry)(nil) + } + r := new(ModuleConfig_Telemetry) + r.Telemetry = m.Telemetry.CloneVT() + return r +} + +func (m *ModuleConfig_CannedMessage) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_CannedMessage)(nil) + } + r := new(ModuleConfig_CannedMessage) + r.CannedMessage = m.CannedMessage.CloneVT() + return r +} + +func (m *ModuleConfig_Audio) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_Audio)(nil) + } + r := new(ModuleConfig_Audio) + r.Audio = m.Audio.CloneVT() + return r +} + +func (m *ModuleConfig_RemoteHardware) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_RemoteHardware)(nil) + } + r := new(ModuleConfig_RemoteHardware) + r.RemoteHardware = m.RemoteHardware.CloneVT() + return r +} + +func (m *ModuleConfig_NeighborInfo) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_NeighborInfo)(nil) + } + r := new(ModuleConfig_NeighborInfo) + r.NeighborInfo = m.NeighborInfo.CloneVT() + return r +} + +func (m *ModuleConfig_AmbientLighting) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_AmbientLighting)(nil) + } + r := new(ModuleConfig_AmbientLighting) + r.AmbientLighting = m.AmbientLighting.CloneVT() + return r +} + +func (m *ModuleConfig_DetectionSensor) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_DetectionSensor)(nil) + } + r := new(ModuleConfig_DetectionSensor) + r.DetectionSensor = m.DetectionSensor.CloneVT() + return r +} + +func (m *ModuleConfig_Paxcounter) CloneVT() isModuleConfig_PayloadVariant { + if m == nil { + return (*ModuleConfig_Paxcounter)(nil) + } + r := new(ModuleConfig_Paxcounter) + r.Paxcounter = m.Paxcounter.CloneVT() + return r +} + +func (m *RemoteHardwarePin) CloneVT() *RemoteHardwarePin { + if m == nil { + return (*RemoteHardwarePin)(nil) + } + r := new(RemoteHardwarePin) + r.GpioPin = m.GpioPin + r.Name = m.Name + r.Type = m.Type + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *RemoteHardwarePin) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *ModuleConfig_MQTTConfig) EqualVT(that *ModuleConfig_MQTTConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.Address != that.Address { + return false + } + if this.Username != that.Username { + return false + } + if this.Password != that.Password { + return false + } + if this.EncryptionEnabled != that.EncryptionEnabled { + return false + } + if this.JsonEnabled != that.JsonEnabled { + return false + } + if this.TlsEnabled != that.TlsEnabled { + return false + } + if this.Root != that.Root { + return false + } + if this.ProxyToClientEnabled != that.ProxyToClientEnabled { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_MQTTConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_MQTTConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_RemoteHardwareConfig) EqualVT(that *ModuleConfig_RemoteHardwareConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.AllowUndefinedPinAccess != that.AllowUndefinedPinAccess { + return false + } + if len(this.AvailablePins) != len(that.AvailablePins) { + return false + } + for i, vx := range this.AvailablePins { + vy := that.AvailablePins[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &RemoteHardwarePin{} + } + if q == nil { + q = &RemoteHardwarePin{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_RemoteHardwareConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_RemoteHardwareConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_NeighborInfoConfig) EqualVT(that *ModuleConfig_NeighborInfoConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.UpdateInterval != that.UpdateInterval { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_NeighborInfoConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_NeighborInfoConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_DetectionSensorConfig) EqualVT(that *ModuleConfig_DetectionSensorConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.MinimumBroadcastSecs != that.MinimumBroadcastSecs { + return false + } + if this.StateBroadcastSecs != that.StateBroadcastSecs { + return false + } + if this.SendBell != that.SendBell { + return false + } + if this.Name != that.Name { + return false + } + if this.MonitorPin != that.MonitorPin { + return false + } + if this.DetectionTriggeredHigh != that.DetectionTriggeredHigh { + return false + } + if this.UsePullup != that.UsePullup { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_DetectionSensorConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_DetectionSensorConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_AudioConfig) EqualVT(that *ModuleConfig_AudioConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Codec2Enabled != that.Codec2Enabled { + return false + } + if this.PttPin != that.PttPin { + return false + } + if this.Bitrate != that.Bitrate { + return false + } + if this.I2SWs != that.I2SWs { + return false + } + if this.I2SSd != that.I2SSd { + return false + } + if this.I2SDin != that.I2SDin { + return false + } + if this.I2SSck != that.I2SSck { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_AudioConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_AudioConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_PaxcounterConfig) EqualVT(that *ModuleConfig_PaxcounterConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.PaxcounterUpdateInterval != that.PaxcounterUpdateInterval { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_PaxcounterConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_PaxcounterConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_SerialConfig) EqualVT(that *ModuleConfig_SerialConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.Echo != that.Echo { + return false + } + if this.Rxd != that.Rxd { + return false + } + if this.Txd != that.Txd { + return false + } + if this.Baud != that.Baud { + return false + } + if this.Timeout != that.Timeout { + return false + } + if this.Mode != that.Mode { + return false + } + if this.OverrideConsoleSerialPort != that.OverrideConsoleSerialPort { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_SerialConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_SerialConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_ExternalNotificationConfig) EqualVT(that *ModuleConfig_ExternalNotificationConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.OutputMs != that.OutputMs { + return false + } + if this.Output != that.Output { + return false + } + if this.Active != that.Active { + return false + } + if this.AlertMessage != that.AlertMessage { + return false + } + if this.AlertBell != that.AlertBell { + return false + } + if this.UsePwm != that.UsePwm { + return false + } + if this.OutputVibra != that.OutputVibra { + return false + } + if this.OutputBuzzer != that.OutputBuzzer { + return false + } + if this.AlertMessageVibra != that.AlertMessageVibra { + return false + } + if this.AlertMessageBuzzer != that.AlertMessageBuzzer { + return false + } + if this.AlertBellVibra != that.AlertBellVibra { + return false + } + if this.AlertBellBuzzer != that.AlertBellBuzzer { + return false + } + if this.NagTimeout != that.NagTimeout { + return false + } + if this.UseI2SAsBuzzer != that.UseI2SAsBuzzer { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_ExternalNotificationConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_ExternalNotificationConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_StoreForwardConfig) EqualVT(that *ModuleConfig_StoreForwardConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.Heartbeat != that.Heartbeat { + return false + } + if this.Records != that.Records { + return false + } + if this.HistoryReturnMax != that.HistoryReturnMax { + return false + } + if this.HistoryReturnWindow != that.HistoryReturnWindow { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_StoreForwardConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_StoreForwardConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_RangeTestConfig) EqualVT(that *ModuleConfig_RangeTestConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.Sender != that.Sender { + return false + } + if this.Save != that.Save { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_RangeTestConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_RangeTestConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_TelemetryConfig) EqualVT(that *ModuleConfig_TelemetryConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.DeviceUpdateInterval != that.DeviceUpdateInterval { + return false + } + if this.EnvironmentUpdateInterval != that.EnvironmentUpdateInterval { + return false + } + if this.EnvironmentMeasurementEnabled != that.EnvironmentMeasurementEnabled { + return false + } + if this.EnvironmentScreenEnabled != that.EnvironmentScreenEnabled { + return false + } + if this.EnvironmentDisplayFahrenheit != that.EnvironmentDisplayFahrenheit { + return false + } + if this.AirQualityEnabled != that.AirQualityEnabled { + return false + } + if this.AirQualityInterval != that.AirQualityInterval { + return false + } + if this.PowerMeasurementEnabled != that.PowerMeasurementEnabled { + return false + } + if this.PowerUpdateInterval != that.PowerUpdateInterval { + return false + } + if this.PowerScreenEnabled != that.PowerScreenEnabled { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_TelemetryConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_TelemetryConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_CannedMessageConfig) EqualVT(that *ModuleConfig_CannedMessageConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Rotary1Enabled != that.Rotary1Enabled { + return false + } + if this.InputbrokerPinA != that.InputbrokerPinA { + return false + } + if this.InputbrokerPinB != that.InputbrokerPinB { + return false + } + if this.InputbrokerPinPress != that.InputbrokerPinPress { + return false + } + if this.InputbrokerEventCw != that.InputbrokerEventCw { + return false + } + if this.InputbrokerEventCcw != that.InputbrokerEventCcw { + return false + } + if this.InputbrokerEventPress != that.InputbrokerEventPress { + return false + } + if this.Updown1Enabled != that.Updown1Enabled { + return false + } + if this.Enabled != that.Enabled { + return false + } + if this.AllowInputSource != that.AllowInputSource { + return false + } + if this.SendBell != that.SendBell { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_CannedMessageConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_CannedMessageConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_AmbientLightingConfig) EqualVT(that *ModuleConfig_AmbientLightingConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.LedState != that.LedState { + return false + } + if this.Current != that.Current { + return false + } + if this.Red != that.Red { + return false + } + if this.Green != that.Green { + return false + } + if this.Blue != that.Blue { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig_AmbientLightingConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig_AmbientLightingConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig) EqualVT(that *ModuleConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.PayloadVariant == nil && that.PayloadVariant != nil { + return false + } else if this.PayloadVariant != nil { + if that.PayloadVariant == nil { + return false + } + if !this.PayloadVariant.(interface { + EqualVT(isModuleConfig_PayloadVariant) bool + }).EqualVT(that.PayloadVariant) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ModuleConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ModuleConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ModuleConfig_Mqtt) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_Mqtt) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Mqtt, that.Mqtt; p != q { + if p == nil { + p = &ModuleConfig_MQTTConfig{} + } + if q == nil { + q = &ModuleConfig_MQTTConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_Serial) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_Serial) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Serial, that.Serial; p != q { + if p == nil { + p = &ModuleConfig_SerialConfig{} + } + if q == nil { + q = &ModuleConfig_SerialConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_ExternalNotification) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_ExternalNotification) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.ExternalNotification, that.ExternalNotification; p != q { + if p == nil { + p = &ModuleConfig_ExternalNotificationConfig{} + } + if q == nil { + q = &ModuleConfig_ExternalNotificationConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_StoreForward) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_StoreForward) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.StoreForward, that.StoreForward; p != q { + if p == nil { + p = &ModuleConfig_StoreForwardConfig{} + } + if q == nil { + q = &ModuleConfig_StoreForwardConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_RangeTest) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_RangeTest) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RangeTest, that.RangeTest; p != q { + if p == nil { + p = &ModuleConfig_RangeTestConfig{} + } + if q == nil { + q = &ModuleConfig_RangeTestConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_Telemetry) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_Telemetry) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Telemetry, that.Telemetry; p != q { + if p == nil { + p = &ModuleConfig_TelemetryConfig{} + } + if q == nil { + q = &ModuleConfig_TelemetryConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_CannedMessage) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_CannedMessage) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CannedMessage, that.CannedMessage; p != q { + if p == nil { + p = &ModuleConfig_CannedMessageConfig{} + } + if q == nil { + q = &ModuleConfig_CannedMessageConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_Audio) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_Audio) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Audio, that.Audio; p != q { + if p == nil { + p = &ModuleConfig_AudioConfig{} + } + if q == nil { + q = &ModuleConfig_AudioConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_RemoteHardware) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_RemoteHardware) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.RemoteHardware, that.RemoteHardware; p != q { + if p == nil { + p = &ModuleConfig_RemoteHardwareConfig{} + } + if q == nil { + q = &ModuleConfig_RemoteHardwareConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_NeighborInfo) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_NeighborInfo) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.NeighborInfo, that.NeighborInfo; p != q { + if p == nil { + p = &ModuleConfig_NeighborInfoConfig{} + } + if q == nil { + q = &ModuleConfig_NeighborInfoConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_AmbientLighting) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_AmbientLighting) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.AmbientLighting, that.AmbientLighting; p != q { + if p == nil { + p = &ModuleConfig_AmbientLightingConfig{} + } + if q == nil { + q = &ModuleConfig_AmbientLightingConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_DetectionSensor) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_DetectionSensor) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.DetectionSensor, that.DetectionSensor; p != q { + if p == nil { + p = &ModuleConfig_DetectionSensorConfig{} + } + if q == nil { + q = &ModuleConfig_DetectionSensorConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ModuleConfig_Paxcounter) EqualVT(thatIface isModuleConfig_PayloadVariant) bool { + that, ok := thatIface.(*ModuleConfig_Paxcounter) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Paxcounter, that.Paxcounter; p != q { + if p == nil { + p = &ModuleConfig_PaxcounterConfig{} + } + if q == nil { + q = &ModuleConfig_PaxcounterConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *RemoteHardwarePin) EqualVT(that *RemoteHardwarePin) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.GpioPin != that.GpioPin { + return false + } + if this.Name != that.Name { + return false + } + if this.Type != that.Type { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *RemoteHardwarePin) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*RemoteHardwarePin) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *ModuleConfig_MQTTConfig) 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_MQTTConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_MQTTConfig) 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.ProxyToClientEnabled { + i-- + if m.ProxyToClientEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if len(m.Root) > 0 { + i -= len(m.Root) + copy(dAtA[i:], m.Root) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Root))) + i-- + dAtA[i] = 0x42 + } + if m.TlsEnabled { + i-- + if m.TlsEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.JsonEnabled { + i-- + if m.JsonEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.EncryptionEnabled { + i-- + if m.EncryptionEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if len(m.Password) > 0 { + i -= len(m.Password) + copy(dAtA[i:], m.Password) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Password))) + i-- + dAtA[i] = 0x22 + } + if len(m.Username) > 0 { + i -= len(m.Username) + copy(dAtA[i:], m.Username) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Username))) + i-- + dAtA[i] = 0x1a + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0x12 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_RemoteHardwareConfig) 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_RemoteHardwareConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_RemoteHardwareConfig) 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.AvailablePins) > 0 { + for iNdEx := len(m.AvailablePins) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.AvailablePins[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if m.AllowUndefinedPinAccess { + i-- + if m.AllowUndefinedPinAccess { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_NeighborInfoConfig) 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_NeighborInfoConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_NeighborInfoConfig) 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.UpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UpdateInterval)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_DetectionSensorConfig) 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_DetectionSensorConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_DetectionSensorConfig) 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.UsePullup { + i-- + if m.UsePullup { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.DetectionTriggeredHigh { + i-- + if m.DetectionTriggeredHigh { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.MonitorPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MonitorPin)) + i-- + dAtA[i] = 0x30 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x2a + } + if m.SendBell { + i-- + if m.SendBell { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.StateBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StateBroadcastSecs)) + i-- + dAtA[i] = 0x18 + } + if m.MinimumBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinimumBroadcastSecs)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_AudioConfig) 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_AudioConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_AudioConfig) 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.I2SSck != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SSck)) + i-- + dAtA[i] = 0x38 + } + if m.I2SDin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SDin)) + i-- + dAtA[i] = 0x30 + } + if m.I2SSd != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SSd)) + i-- + dAtA[i] = 0x28 + } + if m.I2SWs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SWs)) + i-- + dAtA[i] = 0x20 + } + if m.Bitrate != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Bitrate)) + i-- + dAtA[i] = 0x18 + } + if m.PttPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PttPin)) + i-- + dAtA[i] = 0x10 + } + if m.Codec2Enabled { + i-- + if m.Codec2Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_PaxcounterConfig) 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_PaxcounterConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_PaxcounterConfig) 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.PaxcounterUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PaxcounterUpdateInterval)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_SerialConfig) 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_SerialConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_SerialConfig) 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.OverrideConsoleSerialPort { + i-- + if m.OverrideConsoleSerialPort { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.Mode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Mode)) + i-- + dAtA[i] = 0x38 + } + if m.Timeout != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Timeout)) + i-- + dAtA[i] = 0x30 + } + if m.Baud != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Baud)) + i-- + dAtA[i] = 0x28 + } + if m.Txd != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Txd)) + i-- + dAtA[i] = 0x20 + } + if m.Rxd != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rxd)) + i-- + dAtA[i] = 0x18 + } + if m.Echo { + i-- + if m.Echo { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_ExternalNotificationConfig) 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_ExternalNotificationConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_ExternalNotificationConfig) 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.UseI2SAsBuzzer { + i-- + if m.UseI2SAsBuzzer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } + if m.NagTimeout != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NagTimeout)) + i-- + dAtA[i] = 0x70 + } + if m.AlertBellBuzzer { + i-- + if m.AlertBellBuzzer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } + if m.AlertBellVibra { + i-- + if m.AlertBellVibra { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if m.AlertMessageBuzzer { + i-- + if m.AlertMessageBuzzer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.AlertMessageVibra { + i-- + if m.AlertMessageVibra { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.OutputBuzzer != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OutputBuzzer)) + i-- + dAtA[i] = 0x48 + } + if m.OutputVibra != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OutputVibra)) + i-- + dAtA[i] = 0x40 + } + if m.UsePwm { + i-- + if m.UsePwm { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.AlertBell { + i-- + if m.AlertBell { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.AlertMessage { + i-- + if m.AlertMessage { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.Active { + i-- + if m.Active { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.Output != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Output)) + i-- + dAtA[i] = 0x18 + } + if m.OutputMs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OutputMs)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_StoreForwardConfig) 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_StoreForwardConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_StoreForwardConfig) 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.HistoryReturnWindow != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HistoryReturnWindow)) + i-- + dAtA[i] = 0x28 + } + if m.HistoryReturnMax != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HistoryReturnMax)) + i-- + dAtA[i] = 0x20 + } + if m.Records != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Records)) + i-- + dAtA[i] = 0x18 + } + if m.Heartbeat { + i-- + if m.Heartbeat { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_RangeTestConfig) 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_RangeTestConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_RangeTestConfig) 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.Save { + i-- + if m.Save { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Sender != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Sender)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_TelemetryConfig) 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_TelemetryConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_TelemetryConfig) 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.PowerScreenEnabled { + i-- + if m.PowerScreenEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.PowerUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PowerUpdateInterval)) + i-- + dAtA[i] = 0x48 + } + if m.PowerMeasurementEnabled { + i-- + if m.PowerMeasurementEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.AirQualityInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AirQualityInterval)) + i-- + dAtA[i] = 0x38 + } + if m.AirQualityEnabled { + i-- + if m.AirQualityEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.EnvironmentDisplayFahrenheit { + i-- + if m.EnvironmentDisplayFahrenheit { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.EnvironmentScreenEnabled { + i-- + if m.EnvironmentScreenEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.EnvironmentMeasurementEnabled { + i-- + if m.EnvironmentMeasurementEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.EnvironmentUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.EnvironmentUpdateInterval)) + i-- + dAtA[i] = 0x10 + } + if m.DeviceUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DeviceUpdateInterval)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_CannedMessageConfig) 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_CannedMessageConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_CannedMessageConfig) 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.SendBell { + i-- + if m.SendBell { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if len(m.AllowInputSource) > 0 { + i -= len(m.AllowInputSource) + copy(dAtA[i:], m.AllowInputSource) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AllowInputSource))) + i-- + dAtA[i] = 0x52 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.Updown1Enabled { + i-- + if m.Updown1Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.InputbrokerEventPress != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerEventPress)) + i-- + dAtA[i] = 0x38 + } + if m.InputbrokerEventCcw != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerEventCcw)) + i-- + dAtA[i] = 0x30 + } + if m.InputbrokerEventCw != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerEventCw)) + i-- + dAtA[i] = 0x28 + } + if m.InputbrokerPinPress != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerPinPress)) + i-- + dAtA[i] = 0x20 + } + if m.InputbrokerPinB != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerPinB)) + i-- + dAtA[i] = 0x18 + } + if m.InputbrokerPinA != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerPinA)) + i-- + dAtA[i] = 0x10 + } + if m.Rotary1Enabled { + i-- + if m.Rotary1Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_AmbientLightingConfig) 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_AmbientLightingConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_AmbientLightingConfig) 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.Blue != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Blue)) + i-- + dAtA[i] = 0x28 + } + if m.Green != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Green)) + i-- + dAtA[i] = 0x20 + } + if m.Red != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Red)) + i-- + dAtA[i] = 0x18 + } + if m.Current != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Current)) + i-- + dAtA[i] = 0x10 + } + if m.LedState { + i-- + if m.LedState { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig) 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) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig) 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.PayloadVariant.(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 *ModuleConfig_Mqtt) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_Mqtt) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Mqtt != nil { + size, err := m.Mqtt.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 *ModuleConfig_Serial) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_Serial) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Serial != nil { + size, err := m.Serial.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 *ModuleConfig_ExternalNotification) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_ExternalNotification) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ExternalNotification != nil { + size, err := m.ExternalNotification.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_StoreForward) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_StoreForward) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.StoreForward != nil { + size, err := m.StoreForward.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 *ModuleConfig_RangeTest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_RangeTest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RangeTest != nil { + size, err := m.RangeTest.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_Telemetry) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_Telemetry) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Telemetry != nil { + size, err := m.Telemetry.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 *ModuleConfig_CannedMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_CannedMessage) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CannedMessage != nil { + size, err := m.CannedMessage.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 *ModuleConfig_Audio) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_Audio) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Audio != nil { + size, err := m.Audio.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 *ModuleConfig_RemoteHardware) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_RemoteHardware) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RemoteHardware != nil { + size, err := m.RemoteHardware.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 *ModuleConfig_NeighborInfo) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_NeighborInfo) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.NeighborInfo != nil { + size, err := m.NeighborInfo.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 *ModuleConfig_AmbientLighting) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_AmbientLighting) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AmbientLighting != nil { + size, err := m.AmbientLighting.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_DetectionSensor) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_DetectionSensor) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DetectionSensor != nil { + size, err := m.DetectionSensor.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_Paxcounter) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ModuleConfig_Paxcounter) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Paxcounter != nil { + size, err := m.Paxcounter.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} +func (m *RemoteHardwarePin) 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 *RemoteHardwarePin) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RemoteHardwarePin) 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.Type != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) + i-- + dAtA[i] = 0x18 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 + } + if m.GpioPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpioPin)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_MQTTConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_MQTTConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_MQTTConfig) MarshalToSizedBufferVTStrict(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.ProxyToClientEnabled { + i-- + if m.ProxyToClientEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if len(m.Root) > 0 { + i -= len(m.Root) + copy(dAtA[i:], m.Root) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Root))) + i-- + dAtA[i] = 0x42 + } + if m.TlsEnabled { + i-- + if m.TlsEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.JsonEnabled { + i-- + if m.JsonEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.EncryptionEnabled { + i-- + if m.EncryptionEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if len(m.Password) > 0 { + i -= len(m.Password) + copy(dAtA[i:], m.Password) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Password))) + i-- + dAtA[i] = 0x22 + } + if len(m.Username) > 0 { + i -= len(m.Username) + copy(dAtA[i:], m.Username) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Username))) + i-- + dAtA[i] = 0x1a + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0x12 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_RemoteHardwareConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_RemoteHardwareConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_RemoteHardwareConfig) MarshalToSizedBufferVTStrict(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.AvailablePins) > 0 { + for iNdEx := len(m.AvailablePins) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.AvailablePins[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if m.AllowUndefinedPinAccess { + i-- + if m.AllowUndefinedPinAccess { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_NeighborInfoConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_NeighborInfoConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_NeighborInfoConfig) MarshalToSizedBufferVTStrict(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.UpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UpdateInterval)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_DetectionSensorConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_DetectionSensorConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_DetectionSensorConfig) MarshalToSizedBufferVTStrict(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.UsePullup { + i-- + if m.UsePullup { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.DetectionTriggeredHigh { + i-- + if m.DetectionTriggeredHigh { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.MonitorPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MonitorPin)) + i-- + dAtA[i] = 0x30 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x2a + } + if m.SendBell { + i-- + if m.SendBell { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.StateBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.StateBroadcastSecs)) + i-- + dAtA[i] = 0x18 + } + if m.MinimumBroadcastSecs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MinimumBroadcastSecs)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_AudioConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_AudioConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_AudioConfig) MarshalToSizedBufferVTStrict(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.I2SSck != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SSck)) + i-- + dAtA[i] = 0x38 + } + if m.I2SDin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SDin)) + i-- + dAtA[i] = 0x30 + } + if m.I2SSd != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SSd)) + i-- + dAtA[i] = 0x28 + } + if m.I2SWs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.I2SWs)) + i-- + dAtA[i] = 0x20 + } + if m.Bitrate != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Bitrate)) + i-- + dAtA[i] = 0x18 + } + if m.PttPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PttPin)) + i-- + dAtA[i] = 0x10 + } + if m.Codec2Enabled { + i-- + if m.Codec2Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_PaxcounterConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_PaxcounterConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_PaxcounterConfig) MarshalToSizedBufferVTStrict(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.PaxcounterUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PaxcounterUpdateInterval)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_SerialConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_SerialConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_SerialConfig) MarshalToSizedBufferVTStrict(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.OverrideConsoleSerialPort { + i-- + if m.OverrideConsoleSerialPort { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.Mode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Mode)) + i-- + dAtA[i] = 0x38 + } + if m.Timeout != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Timeout)) + i-- + dAtA[i] = 0x30 + } + if m.Baud != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Baud)) + i-- + dAtA[i] = 0x28 + } + if m.Txd != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Txd)) + i-- + dAtA[i] = 0x20 + } + if m.Rxd != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rxd)) + i-- + dAtA[i] = 0x18 + } + if m.Echo { + i-- + if m.Echo { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_ExternalNotificationConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_ExternalNotificationConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_ExternalNotificationConfig) MarshalToSizedBufferVTStrict(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.UseI2SAsBuzzer { + i-- + if m.UseI2SAsBuzzer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x78 + } + if m.NagTimeout != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.NagTimeout)) + i-- + dAtA[i] = 0x70 + } + if m.AlertBellBuzzer { + i-- + if m.AlertBellBuzzer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x68 + } + if m.AlertBellVibra { + i-- + if m.AlertBellVibra { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x60 + } + if m.AlertMessageBuzzer { + i-- + if m.AlertMessageBuzzer { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if m.AlertMessageVibra { + i-- + if m.AlertMessageVibra { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.OutputBuzzer != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OutputBuzzer)) + i-- + dAtA[i] = 0x48 + } + if m.OutputVibra != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OutputVibra)) + i-- + dAtA[i] = 0x40 + } + if m.UsePwm { + i-- + if m.UsePwm { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.AlertBell { + i-- + if m.AlertBell { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.AlertMessage { + i-- + if m.AlertMessage { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.Active { + i-- + if m.Active { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.Output != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Output)) + i-- + dAtA[i] = 0x18 + } + if m.OutputMs != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.OutputMs)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_StoreForwardConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_StoreForwardConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_StoreForwardConfig) MarshalToSizedBufferVTStrict(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.HistoryReturnWindow != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HistoryReturnWindow)) + i-- + dAtA[i] = 0x28 + } + if m.HistoryReturnMax != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HistoryReturnMax)) + i-- + dAtA[i] = 0x20 + } + if m.Records != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Records)) + i-- + dAtA[i] = 0x18 + } + if m.Heartbeat { + i-- + if m.Heartbeat { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_RangeTestConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_RangeTestConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_RangeTestConfig) MarshalToSizedBufferVTStrict(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.Save { + i-- + if m.Save { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Sender != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Sender)) + i-- + dAtA[i] = 0x10 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_TelemetryConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_TelemetryConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_TelemetryConfig) MarshalToSizedBufferVTStrict(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.PowerScreenEnabled { + i-- + if m.PowerScreenEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } + if m.PowerUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PowerUpdateInterval)) + i-- + dAtA[i] = 0x48 + } + if m.PowerMeasurementEnabled { + i-- + if m.PowerMeasurementEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.AirQualityInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.AirQualityInterval)) + i-- + dAtA[i] = 0x38 + } + if m.AirQualityEnabled { + i-- + if m.AirQualityEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if m.EnvironmentDisplayFahrenheit { + i-- + if m.EnvironmentDisplayFahrenheit { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x28 + } + if m.EnvironmentScreenEnabled { + i-- + if m.EnvironmentScreenEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.EnvironmentMeasurementEnabled { + i-- + if m.EnvironmentMeasurementEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.EnvironmentUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.EnvironmentUpdateInterval)) + i-- + dAtA[i] = 0x10 + } + if m.DeviceUpdateInterval != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.DeviceUpdateInterval)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_CannedMessageConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_CannedMessageConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_CannedMessageConfig) MarshalToSizedBufferVTStrict(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.SendBell { + i-- + if m.SendBell { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x58 + } + if len(m.AllowInputSource) > 0 { + i -= len(m.AllowInputSource) + copy(dAtA[i:], m.AllowInputSource) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AllowInputSource))) + i-- + dAtA[i] = 0x52 + } + if m.Enabled { + i-- + if m.Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if m.Updown1Enabled { + i-- + if m.Updown1Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if m.InputbrokerEventPress != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerEventPress)) + i-- + dAtA[i] = 0x38 + } + if m.InputbrokerEventCcw != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerEventCcw)) + i-- + dAtA[i] = 0x30 + } + if m.InputbrokerEventCw != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerEventCw)) + i-- + dAtA[i] = 0x28 + } + if m.InputbrokerPinPress != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerPinPress)) + i-- + dAtA[i] = 0x20 + } + if m.InputbrokerPinB != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerPinB)) + i-- + dAtA[i] = 0x18 + } + if m.InputbrokerPinA != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.InputbrokerPinA)) + i-- + dAtA[i] = 0x10 + } + if m.Rotary1Enabled { + i-- + if m.Rotary1Enabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_AmbientLightingConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig_AmbientLightingConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_AmbientLightingConfig) MarshalToSizedBufferVTStrict(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.Blue != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Blue)) + i-- + dAtA[i] = 0x28 + } + if m.Green != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Green)) + i-- + dAtA[i] = 0x20 + } + if m.Red != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Red)) + i-- + dAtA[i] = 0x18 + } + if m.Current != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Current)) + i-- + dAtA[i] = 0x10 + } + if m.LedState { + i-- + if m.LedState { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ModuleConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig) MarshalToSizedBufferVTStrict(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 msg, ok := m.PayloadVariant.(*ModuleConfig_Paxcounter); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_DetectionSensor); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_AmbientLighting); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_NeighborInfo); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_RemoteHardware); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_Audio); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_CannedMessage); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_Telemetry); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_RangeTest); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_StoreForward); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_ExternalNotification); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_Serial); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.PayloadVariant.(*ModuleConfig_Mqtt); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_Mqtt) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_Mqtt) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Mqtt != nil { + size, err := m.Mqtt.MarshalToSizedBufferVTStrict(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 *ModuleConfig_Serial) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_Serial) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Serial != nil { + size, err := m.Serial.MarshalToSizedBufferVTStrict(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 *ModuleConfig_ExternalNotification) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_ExternalNotification) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.ExternalNotification != nil { + size, err := m.ExternalNotification.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_StoreForward) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_StoreForward) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.StoreForward != nil { + size, err := m.StoreForward.MarshalToSizedBufferVTStrict(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 *ModuleConfig_RangeTest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_RangeTest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RangeTest != nil { + size, err := m.RangeTest.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_Telemetry) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_Telemetry) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Telemetry != nil { + size, err := m.Telemetry.MarshalToSizedBufferVTStrict(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 *ModuleConfig_CannedMessage) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_CannedMessage) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CannedMessage != nil { + size, err := m.CannedMessage.MarshalToSizedBufferVTStrict(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 *ModuleConfig_Audio) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_Audio) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Audio != nil { + size, err := m.Audio.MarshalToSizedBufferVTStrict(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 *ModuleConfig_RemoteHardware) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_RemoteHardware) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.RemoteHardware != nil { + size, err := m.RemoteHardware.MarshalToSizedBufferVTStrict(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 *ModuleConfig_NeighborInfo) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_NeighborInfo) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.NeighborInfo != nil { + size, err := m.NeighborInfo.MarshalToSizedBufferVTStrict(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 *ModuleConfig_AmbientLighting) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_AmbientLighting) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AmbientLighting != nil { + size, err := m.AmbientLighting.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x5a + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_DetectionSensor) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_DetectionSensor) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DetectionSensor != nil { + size, err := m.DetectionSensor.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x62 + } + return len(dAtA) - i, nil +} +func (m *ModuleConfig_Paxcounter) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ModuleConfig_Paxcounter) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Paxcounter != nil { + size, err := m.Paxcounter.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } + return len(dAtA) - i, nil +} +func (m *RemoteHardwarePin) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RemoteHardwarePin) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RemoteHardwarePin) MarshalToSizedBufferVTStrict(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.Type != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) + i-- + dAtA[i] = 0x18 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 + } + if m.GpioPin != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpioPin)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ModuleConfig_MQTTConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + l = len(m.Address) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Username) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Password) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.EncryptionEnabled { + n += 2 + } + if m.JsonEnabled { + n += 2 + } + if m.TlsEnabled { + n += 2 + } + l = len(m.Root) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ProxyToClientEnabled { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_RemoteHardwareConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.AllowUndefinedPinAccess { + n += 2 + } + if len(m.AvailablePins) > 0 { + for _, e := range m.AvailablePins { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_NeighborInfoConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.UpdateInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.UpdateInterval)) + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_DetectionSensorConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.MinimumBroadcastSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MinimumBroadcastSecs)) + } + if m.StateBroadcastSecs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.StateBroadcastSecs)) + } + if m.SendBell { + n += 2 + } + l = len(m.Name) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.MonitorPin != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MonitorPin)) + } + if m.DetectionTriggeredHigh { + n += 2 + } + if m.UsePullup { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_AudioConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Codec2Enabled { + n += 2 + } + if m.PttPin != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PttPin)) + } + if m.Bitrate != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Bitrate)) + } + if m.I2SWs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.I2SWs)) + } + if m.I2SSd != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.I2SSd)) + } + if m.I2SDin != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.I2SDin)) + } + if m.I2SSck != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.I2SSck)) + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_PaxcounterConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.PaxcounterUpdateInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PaxcounterUpdateInterval)) + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_SerialConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.Echo { + n += 2 + } + if m.Rxd != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Rxd)) + } + if m.Txd != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Txd)) + } + if m.Baud != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Baud)) + } + if m.Timeout != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Timeout)) + } + if m.Mode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Mode)) + } + if m.OverrideConsoleSerialPort { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_ExternalNotificationConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.OutputMs != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.OutputMs)) + } + if m.Output != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Output)) + } + if m.Active { + n += 2 + } + if m.AlertMessage { + n += 2 + } + if m.AlertBell { + n += 2 + } + if m.UsePwm { + n += 2 + } + if m.OutputVibra != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.OutputVibra)) + } + if m.OutputBuzzer != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.OutputBuzzer)) + } + if m.AlertMessageVibra { + n += 2 + } + if m.AlertMessageBuzzer { + n += 2 + } + if m.AlertBellVibra { + n += 2 + } + if m.AlertBellBuzzer { + n += 2 + } + if m.NagTimeout != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.NagTimeout)) + } + if m.UseI2SAsBuzzer { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_StoreForwardConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.Heartbeat { + n += 2 + } + if m.Records != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Records)) + } + if m.HistoryReturnMax != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HistoryReturnMax)) + } + if m.HistoryReturnWindow != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HistoryReturnWindow)) + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_RangeTestConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Enabled { + n += 2 + } + if m.Sender != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Sender)) + } + if m.Save { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_TelemetryConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DeviceUpdateInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.DeviceUpdateInterval)) + } + if m.EnvironmentUpdateInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.EnvironmentUpdateInterval)) + } + if m.EnvironmentMeasurementEnabled { + n += 2 + } + if m.EnvironmentScreenEnabled { + n += 2 + } + if m.EnvironmentDisplayFahrenheit { + n += 2 + } + if m.AirQualityEnabled { + n += 2 + } + if m.AirQualityInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.AirQualityInterval)) + } + if m.PowerMeasurementEnabled { + n += 2 + } + if m.PowerUpdateInterval != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PowerUpdateInterval)) + } + if m.PowerScreenEnabled { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_CannedMessageConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Rotary1Enabled { + n += 2 + } + if m.InputbrokerPinA != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.InputbrokerPinA)) + } + if m.InputbrokerPinB != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.InputbrokerPinB)) + } + if m.InputbrokerPinPress != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.InputbrokerPinPress)) + } + if m.InputbrokerEventCw != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.InputbrokerEventCw)) + } + if m.InputbrokerEventCcw != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.InputbrokerEventCcw)) + } + if m.InputbrokerEventPress != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.InputbrokerEventPress)) + } + if m.Updown1Enabled { + n += 2 + } + if m.Enabled { + n += 2 + } + l = len(m.AllowInputSource) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.SendBell { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_AmbientLightingConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.LedState { + n += 2 + } + if m.Current != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Current)) + } + if m.Red != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Red)) + } + if m.Green != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Green)) + } + if m.Blue != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Blue)) + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig) 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 *ModuleConfig_Mqtt) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Mqtt != nil { + l = m.Mqtt.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_Serial) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Serial != nil { + l = m.Serial.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_ExternalNotification) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ExternalNotification != nil { + l = m.ExternalNotification.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_StoreForward) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.StoreForward != nil { + l = m.StoreForward.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_RangeTest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RangeTest != nil { + l = m.RangeTest.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_Telemetry) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Telemetry != nil { + l = m.Telemetry.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_CannedMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CannedMessage != nil { + l = m.CannedMessage.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_Audio) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Audio != nil { + l = m.Audio.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_RemoteHardware) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.RemoteHardware != nil { + l = m.RemoteHardware.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_NeighborInfo) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NeighborInfo != nil { + l = m.NeighborInfo.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_AmbientLighting) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AmbientLighting != nil { + l = m.AmbientLighting.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_DetectionSensor) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DetectionSensor != nil { + l = m.DetectionSensor.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ModuleConfig_Paxcounter) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Paxcounter != nil { + l = m.Paxcounter.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *RemoteHardwarePin) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.GpioPin != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpioPin)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Type != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) + } + n += len(m.unknownFields) + return n +} + +func (m *ModuleConfig_MQTTConfig) 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_MQTTConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_MQTTConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", 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.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Username", 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.Username = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Password", 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.Password = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptionEnabled", 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.EncryptionEnabled = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field JsonEnabled", 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.JsonEnabled = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TlsEnabled", 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.TlsEnabled = bool(v != 0) + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Root", 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.Root = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ProxyToClientEnabled", 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.ProxyToClientEnabled = 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 *ModuleConfig_RemoteHardwareConfig) 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_RemoteHardwareConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_RemoteHardwareConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowUndefinedPinAccess", 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.AllowUndefinedPinAccess = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AvailablePins", 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 + } + m.AvailablePins = append(m.AvailablePins, &RemoteHardwarePin{}) + if err := m.AvailablePins[len(m.AvailablePins)-1].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_NeighborInfoConfig) 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_NeighborInfoConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_NeighborInfoConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UpdateInterval", wireType) + } + m.UpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UpdateInterval |= 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 *ModuleConfig_DetectionSensorConfig) 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_DetectionSensorConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_DetectionSensorConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinimumBroadcastSecs", wireType) + } + m.MinimumBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinimumBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field StateBroadcastSecs", wireType) + } + m.StateBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.StateBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SendBell", 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.SendBell = bool(v != 0) + case 5: + 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 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MonitorPin", wireType) + } + m.MonitorPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MonitorPin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DetectionTriggeredHigh", 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.DetectionTriggeredHigh = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsePullup", 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.UsePullup = 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 *ModuleConfig_AudioConfig) 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_AudioConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_AudioConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Codec2Enabled", 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.Codec2Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PttPin", wireType) + } + m.PttPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PttPin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Bitrate", wireType) + } + m.Bitrate = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Bitrate |= ModuleConfig_AudioConfig_Audio_Baud(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SWs", wireType) + } + m.I2SWs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SWs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SSd", wireType) + } + m.I2SSd = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SSd |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SDin", wireType) + } + m.I2SDin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SDin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SSck", wireType) + } + m.I2SSck = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SSck |= 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 *ModuleConfig_PaxcounterConfig) 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_PaxcounterConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_PaxcounterConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PaxcounterUpdateInterval", wireType) + } + m.PaxcounterUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PaxcounterUpdateInterval |= 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 *ModuleConfig_SerialConfig) 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_SerialConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_SerialConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Echo", 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.Echo = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rxd", wireType) + } + m.Rxd = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rxd |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Txd", wireType) + } + m.Txd = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Txd |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Baud", wireType) + } + m.Baud = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Baud |= ModuleConfig_SerialConfig_Serial_Baud(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType) + } + m.Timeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timeout |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType) + } + m.Mode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Mode |= ModuleConfig_SerialConfig_Serial_Mode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OverrideConsoleSerialPort", 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.OverrideConsoleSerialPort = 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 *ModuleConfig_ExternalNotificationConfig) 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_ExternalNotificationConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_ExternalNotificationConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputMs", wireType) + } + m.OutputMs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OutputMs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Output", wireType) + } + m.Output = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Output |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Active", 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.Active = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertMessage", 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.AlertMessage = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertBell", 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.AlertBell = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsePwm", 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.UsePwm = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputVibra", wireType) + } + m.OutputVibra = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OutputVibra |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputBuzzer", wireType) + } + m.OutputBuzzer = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OutputBuzzer |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertMessageVibra", 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.AlertMessageVibra = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertMessageBuzzer", 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.AlertMessageBuzzer = bool(v != 0) + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertBellVibra", 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.AlertBellVibra = bool(v != 0) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertBellBuzzer", 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.AlertBellBuzzer = bool(v != 0) + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NagTimeout", wireType) + } + m.NagTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NagTimeout |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UseI2SAsBuzzer", 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.UseI2SAsBuzzer = 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 *ModuleConfig_StoreForwardConfig) 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_StoreForwardConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_StoreForwardConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", 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.Heartbeat = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) + } + m.Records = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Records |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HistoryReturnMax", wireType) + } + m.HistoryReturnMax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HistoryReturnMax |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HistoryReturnWindow", wireType) + } + m.HistoryReturnWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HistoryReturnWindow |= 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 *ModuleConfig_RangeTestConfig) 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_RangeTestConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_RangeTestConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + m.Sender = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Sender |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Save", 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.Save = 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 *ModuleConfig_TelemetryConfig) 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_TelemetryConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_TelemetryConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceUpdateInterval", wireType) + } + m.DeviceUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DeviceUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentUpdateInterval", wireType) + } + m.EnvironmentUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.EnvironmentUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentMeasurementEnabled", 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.EnvironmentMeasurementEnabled = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentScreenEnabled", 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.EnvironmentScreenEnabled = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentDisplayFahrenheit", 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.EnvironmentDisplayFahrenheit = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AirQualityEnabled", 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.AirQualityEnabled = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AirQualityInterval", wireType) + } + m.AirQualityInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AirQualityInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerMeasurementEnabled", 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.PowerMeasurementEnabled = bool(v != 0) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerUpdateInterval", wireType) + } + m.PowerUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PowerUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerScreenEnabled", 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.PowerScreenEnabled = 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 *ModuleConfig_CannedMessageConfig) 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_CannedMessageConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_CannedMessageConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rotary1Enabled", 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.Rotary1Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerPinA", wireType) + } + m.InputbrokerPinA = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerPinA |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerPinB", wireType) + } + m.InputbrokerPinB = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerPinB |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerPinPress", wireType) + } + m.InputbrokerPinPress = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerPinPress |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerEventCw", wireType) + } + m.InputbrokerEventCw = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerEventCw |= ModuleConfig_CannedMessageConfig_InputEventChar(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerEventCcw", wireType) + } + m.InputbrokerEventCcw = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerEventCcw |= ModuleConfig_CannedMessageConfig_InputEventChar(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerEventPress", wireType) + } + m.InputbrokerEventPress = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerEventPress |= ModuleConfig_CannedMessageConfig_InputEventChar(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Updown1Enabled", 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.Updown1Enabled = bool(v != 0) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowInputSource", 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.AllowInputSource = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SendBell", 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.SendBell = 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 *ModuleConfig_AmbientLightingConfig) 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_AmbientLightingConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_AmbientLightingConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LedState", 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.LedState = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + m.Current = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Current |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Red", wireType) + } + m.Red = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Red |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Green", wireType) + } + m.Green = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Green |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Blue", wireType) + } + m.Blue = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Blue |= 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 *ModuleConfig) 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: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Mqtt", 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.(*ModuleConfig_Mqtt); ok { + if err := oneof.Mqtt.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_MQTTConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Mqtt{Mqtt: v} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Serial", 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.(*ModuleConfig_Serial); ok { + if err := oneof.Serial.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_SerialConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Serial{Serial: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExternalNotification", 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.(*ModuleConfig_ExternalNotification); ok { + if err := oneof.ExternalNotification.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_ExternalNotificationConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_ExternalNotification{ExternalNotification: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoreForward", 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.(*ModuleConfig_StoreForward); ok { + if err := oneof.StoreForward.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_StoreForwardConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_StoreForward{StoreForward: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RangeTest", 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.(*ModuleConfig_RangeTest); ok { + if err := oneof.RangeTest.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_RangeTestConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_RangeTest{RangeTest: v} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Telemetry", 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.(*ModuleConfig_Telemetry); ok { + if err := oneof.Telemetry.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_TelemetryConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Telemetry{Telemetry: v} + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CannedMessage", 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.(*ModuleConfig_CannedMessage); ok { + if err := oneof.CannedMessage.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_CannedMessageConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_CannedMessage{CannedMessage: v} + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Audio", 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.(*ModuleConfig_Audio); ok { + if err := oneof.Audio.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_AudioConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Audio{Audio: v} + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteHardware", 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.(*ModuleConfig_RemoteHardware); ok { + if err := oneof.RemoteHardware.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_RemoteHardwareConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_RemoteHardware{RemoteHardware: v} + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NeighborInfo", 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.(*ModuleConfig_NeighborInfo); ok { + if err := oneof.NeighborInfo.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_NeighborInfoConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_NeighborInfo{NeighborInfo: v} + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AmbientLighting", 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.(*ModuleConfig_AmbientLighting); ok { + if err := oneof.AmbientLighting.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_AmbientLightingConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_AmbientLighting{AmbientLighting: v} + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DetectionSensor", 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.(*ModuleConfig_DetectionSensor); ok { + if err := oneof.DetectionSensor.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_DetectionSensorConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_DetectionSensor{DetectionSensor: v} + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Paxcounter", 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.(*ModuleConfig_Paxcounter); ok { + if err := oneof.Paxcounter.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_PaxcounterConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Paxcounter{Paxcounter: 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 *RemoteHardwarePin) 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: RemoteHardwarePin: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RemoteHardwarePin: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpioPin", wireType) + } + m.GpioPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpioPin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + 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 3: + 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 |= RemoteHardwarePinType(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 *ModuleConfig_MQTTConfig) UnmarshalVTUnsafe(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_MQTTConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_MQTTConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Address = stringValue + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Username", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Username = stringValue + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Password", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Password = stringValue + iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EncryptionEnabled", 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.EncryptionEnabled = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field JsonEnabled", 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.JsonEnabled = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TlsEnabled", 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.TlsEnabled = bool(v != 0) + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Root", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Root = stringValue + iNdEx = postIndex + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ProxyToClientEnabled", 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.ProxyToClientEnabled = 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 *ModuleConfig_RemoteHardwareConfig) UnmarshalVTUnsafe(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_RemoteHardwareConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_RemoteHardwareConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowUndefinedPinAccess", 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.AllowUndefinedPinAccess = bool(v != 0) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AvailablePins", 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 + } + m.AvailablePins = append(m.AvailablePins, &RemoteHardwarePin{}) + if err := m.AvailablePins[len(m.AvailablePins)-1].UnmarshalVTUnsafe(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_NeighborInfoConfig) UnmarshalVTUnsafe(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_NeighborInfoConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_NeighborInfoConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UpdateInterval", wireType) + } + m.UpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UpdateInterval |= 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 *ModuleConfig_DetectionSensorConfig) UnmarshalVTUnsafe(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_DetectionSensorConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_DetectionSensorConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MinimumBroadcastSecs", wireType) + } + m.MinimumBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MinimumBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field StateBroadcastSecs", wireType) + } + m.StateBroadcastSecs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.StateBroadcastSecs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SendBell", 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.SendBell = bool(v != 0) + case 5: + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Name = stringValue + iNdEx = postIndex + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MonitorPin", wireType) + } + m.MonitorPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MonitorPin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DetectionTriggeredHigh", 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.DetectionTriggeredHigh = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsePullup", 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.UsePullup = 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 *ModuleConfig_AudioConfig) UnmarshalVTUnsafe(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_AudioConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_AudioConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Codec2Enabled", 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.Codec2Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PttPin", wireType) + } + m.PttPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PttPin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Bitrate", wireType) + } + m.Bitrate = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Bitrate |= ModuleConfig_AudioConfig_Audio_Baud(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SWs", wireType) + } + m.I2SWs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SWs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SSd", wireType) + } + m.I2SSd = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SSd |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SDin", wireType) + } + m.I2SDin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SDin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field I2SSck", wireType) + } + m.I2SSck = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.I2SSck |= 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 *ModuleConfig_PaxcounterConfig) UnmarshalVTUnsafe(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_PaxcounterConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_PaxcounterConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PaxcounterUpdateInterval", wireType) + } + m.PaxcounterUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PaxcounterUpdateInterval |= 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 *ModuleConfig_SerialConfig) UnmarshalVTUnsafe(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_SerialConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_SerialConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Echo", 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.Echo = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rxd", wireType) + } + m.Rxd = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rxd |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Txd", wireType) + } + m.Txd = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Txd |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Baud", wireType) + } + m.Baud = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Baud |= ModuleConfig_SerialConfig_Serial_Baud(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timeout", wireType) + } + m.Timeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timeout |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Mode", wireType) + } + m.Mode = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Mode |= ModuleConfig_SerialConfig_Serial_Mode(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OverrideConsoleSerialPort", 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.OverrideConsoleSerialPort = 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 *ModuleConfig_ExternalNotificationConfig) UnmarshalVTUnsafe(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_ExternalNotificationConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_ExternalNotificationConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputMs", wireType) + } + m.OutputMs = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OutputMs |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Output", wireType) + } + m.Output = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Output |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Active", 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.Active = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertMessage", 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.AlertMessage = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertBell", 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.AlertBell = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UsePwm", 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.UsePwm = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputVibra", wireType) + } + m.OutputVibra = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OutputVibra |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputBuzzer", wireType) + } + m.OutputBuzzer = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OutputBuzzer |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertMessageVibra", 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.AlertMessageVibra = bool(v != 0) + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertMessageBuzzer", 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.AlertMessageBuzzer = bool(v != 0) + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertBellVibra", 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.AlertBellVibra = bool(v != 0) + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AlertBellBuzzer", 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.AlertBellBuzzer = bool(v != 0) + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NagTimeout", wireType) + } + m.NagTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NagTimeout |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UseI2SAsBuzzer", 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.UseI2SAsBuzzer = 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 *ModuleConfig_StoreForwardConfig) UnmarshalVTUnsafe(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_StoreForwardConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_StoreForwardConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", 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.Heartbeat = bool(v != 0) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Records", wireType) + } + m.Records = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Records |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HistoryReturnMax", wireType) + } + m.HistoryReturnMax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HistoryReturnMax |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HistoryReturnWindow", wireType) + } + m.HistoryReturnWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HistoryReturnWindow |= 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 *ModuleConfig_RangeTestConfig) UnmarshalVTUnsafe(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_RangeTestConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_RangeTestConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Sender", wireType) + } + m.Sender = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Sender |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Save", 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.Save = 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 *ModuleConfig_TelemetryConfig) UnmarshalVTUnsafe(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_TelemetryConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_TelemetryConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceUpdateInterval", wireType) + } + m.DeviceUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.DeviceUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentUpdateInterval", wireType) + } + m.EnvironmentUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.EnvironmentUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentMeasurementEnabled", 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.EnvironmentMeasurementEnabled = bool(v != 0) + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentScreenEnabled", 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.EnvironmentScreenEnabled = bool(v != 0) + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentDisplayFahrenheit", 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.EnvironmentDisplayFahrenheit = bool(v != 0) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AirQualityEnabled", 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.AirQualityEnabled = bool(v != 0) + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AirQualityInterval", wireType) + } + m.AirQualityInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.AirQualityInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerMeasurementEnabled", 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.PowerMeasurementEnabled = bool(v != 0) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerUpdateInterval", wireType) + } + m.PowerUpdateInterval = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PowerUpdateInterval |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerScreenEnabled", 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.PowerScreenEnabled = 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 *ModuleConfig_CannedMessageConfig) UnmarshalVTUnsafe(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_CannedMessageConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_CannedMessageConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rotary1Enabled", 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.Rotary1Enabled = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerPinA", wireType) + } + m.InputbrokerPinA = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerPinA |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerPinB", wireType) + } + m.InputbrokerPinB = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerPinB |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerPinPress", wireType) + } + m.InputbrokerPinPress = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerPinPress |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerEventCw", wireType) + } + m.InputbrokerEventCw = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerEventCw |= ModuleConfig_CannedMessageConfig_InputEventChar(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerEventCcw", wireType) + } + m.InputbrokerEventCcw = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerEventCcw |= ModuleConfig_CannedMessageConfig_InputEventChar(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InputbrokerEventPress", wireType) + } + m.InputbrokerEventPress = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InputbrokerEventPress |= ModuleConfig_CannedMessageConfig_InputEventChar(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Updown1Enabled", 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.Updown1Enabled = bool(v != 0) + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Enabled", 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.Enabled = bool(v != 0) + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AllowInputSource", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.AllowInputSource = stringValue + iNdEx = postIndex + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field SendBell", 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.SendBell = 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 *ModuleConfig_AmbientLightingConfig) UnmarshalVTUnsafe(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_AmbientLightingConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig_AmbientLightingConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LedState", 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.LedState = bool(v != 0) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + m.Current = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Current |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Red", wireType) + } + m.Red = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Red |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Green", wireType) + } + m.Green = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Green |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Blue", wireType) + } + m.Blue = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Blue |= 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 *ModuleConfig) UnmarshalVTUnsafe(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: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ModuleConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Mqtt", 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.(*ModuleConfig_Mqtt); ok { + if err := oneof.Mqtt.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_MQTTConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Mqtt{Mqtt: v} + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Serial", 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.(*ModuleConfig_Serial); ok { + if err := oneof.Serial.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_SerialConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Serial{Serial: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExternalNotification", 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.(*ModuleConfig_ExternalNotification); ok { + if err := oneof.ExternalNotification.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_ExternalNotificationConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_ExternalNotification{ExternalNotification: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StoreForward", 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.(*ModuleConfig_StoreForward); ok { + if err := oneof.StoreForward.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_StoreForwardConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_StoreForward{StoreForward: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RangeTest", 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.(*ModuleConfig_RangeTest); ok { + if err := oneof.RangeTest.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_RangeTestConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_RangeTest{RangeTest: v} + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Telemetry", 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.(*ModuleConfig_Telemetry); ok { + if err := oneof.Telemetry.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_TelemetryConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Telemetry{Telemetry: v} + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CannedMessage", 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.(*ModuleConfig_CannedMessage); ok { + if err := oneof.CannedMessage.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_CannedMessageConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_CannedMessage{CannedMessage: v} + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Audio", 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.(*ModuleConfig_Audio); ok { + if err := oneof.Audio.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_AudioConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Audio{Audio: v} + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteHardware", 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.(*ModuleConfig_RemoteHardware); ok { + if err := oneof.RemoteHardware.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_RemoteHardwareConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_RemoteHardware{RemoteHardware: v} + } + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NeighborInfo", 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.(*ModuleConfig_NeighborInfo); ok { + if err := oneof.NeighborInfo.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_NeighborInfoConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_NeighborInfo{NeighborInfo: v} + } + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AmbientLighting", 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.(*ModuleConfig_AmbientLighting); ok { + if err := oneof.AmbientLighting.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_AmbientLightingConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_AmbientLighting{AmbientLighting: v} + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DetectionSensor", 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.(*ModuleConfig_DetectionSensor); ok { + if err := oneof.DetectionSensor.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_DetectionSensorConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_DetectionSensor{DetectionSensor: v} + } + iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Paxcounter", 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.(*ModuleConfig_Paxcounter); ok { + if err := oneof.Paxcounter.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ModuleConfig_PaxcounterConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.PayloadVariant = &ModuleConfig_Paxcounter{Paxcounter: 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 *RemoteHardwarePin) UnmarshalVTUnsafe(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: RemoteHardwarePin: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RemoteHardwarePin: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpioPin", wireType) + } + m.GpioPin = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpioPin |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Name = stringValue + iNdEx = postIndex + case 3: + 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 |= RemoteHardwarePinType(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 +} diff --git a/meshtastic/mqtt.pb.go b/meshtastic/mqtt.pb.go new file mode 100644 index 0000000..22e2d0e --- /dev/null +++ b/meshtastic/mqtt.pb.go @@ -0,0 +1,180 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/mqtt.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// 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 + + // The (probably encrypted) packet + Packet *MeshPacket `protobuf:"bytes,1,opt,name=packet,proto3" json:"packet,omitempty"` + // The global channel ID it was sent on + ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // 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"` +} + +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) + } +} + +func (x *ServiceEnvelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServiceEnvelope) ProtoMessage() {} + +func (x *ServiceEnvelope) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_mqtt_proto_msgTypes[0] + 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 ServiceEnvelope.ProtoReflect.Descriptor instead. +func (*ServiceEnvelope) Descriptor() ([]byte, []int) { + return file_meshtastic_mqtt_proto_rawDescGZIP(), []int{0} +} + +func (x *ServiceEnvelope) GetPacket() *MeshPacket { + if x != nil { + return x.Packet + } + return nil +} + +func (x *ServiceEnvelope) GetChannelId() string { + if x != nil { + return x.ChannelId + } + return "" +} + +func (x *ServiceEnvelope) GetGatewayId() string { + if x != nil { + return x.GatewayId + } + return "" +} + +var File_meshtastic_mqtt_proto protoreflect.FileDescriptor + +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, +} + +var ( + file_meshtastic_mqtt_proto_rawDescOnce sync.Once + file_meshtastic_mqtt_proto_rawDescData = file_meshtastic_mqtt_proto_rawDesc +) + +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) + }) + 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_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 +} + +func init() { file_meshtastic_mqtt_proto_init() } +func file_meshtastic_mqtt_proto_init() { + if File_meshtastic_mqtt_proto != nil { + return + } + 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, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_mqtt_proto_goTypes, + DependencyIndexes: file_meshtastic_mqtt_proto_depIdxs, + 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 new file mode 100644 index 0000000..2f3c5a8 --- /dev/null +++ b/meshtastic/mqtt_vtproto.pb.go @@ -0,0 +1,512 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/mqtt.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *ServiceEnvelope) CloneVT() *ServiceEnvelope { + if m == nil { + return (*ServiceEnvelope)(nil) + } + r := new(ServiceEnvelope) + r.Packet = m.Packet.CloneVT() + r.ChannelId = m.ChannelId + r.GatewayId = m.GatewayId + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ServiceEnvelope) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *ServiceEnvelope) EqualVT(that *ServiceEnvelope) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if !this.Packet.EqualVT(that.Packet) { + return false + } + if this.ChannelId != that.ChannelId { + return false + } + if this.GatewayId != that.GatewayId { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ServiceEnvelope) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ServiceEnvelope) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *ServiceEnvelope) 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 *ServiceEnvelope) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ServiceEnvelope) 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.GatewayId) > 0 { + i -= len(m.GatewayId) + copy(dAtA[i:], m.GatewayId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GatewayId))) + i-- + dAtA[i] = 0x1a + } + if len(m.ChannelId) > 0 { + i -= len(m.ChannelId) + copy(dAtA[i:], m.ChannelId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ChannelId))) + i-- + dAtA[i] = 0x12 + } + 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] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ServiceEnvelope) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ServiceEnvelope) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ServiceEnvelope) MarshalToSizedBufferVTStrict(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.GatewayId) > 0 { + i -= len(m.GatewayId) + copy(dAtA[i:], m.GatewayId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.GatewayId))) + i-- + dAtA[i] = 0x1a + } + if len(m.ChannelId) > 0 { + i -= len(m.ChannelId) + copy(dAtA[i:], m.ChannelId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ChannelId))) + i-- + dAtA[i] = 0x12 + } + if m.Packet != nil { + size, err := m.Packet.MarshalToSizedBufferVTStrict(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 *ServiceEnvelope) 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.ChannelId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.GatewayId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ServiceEnvelope) 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: ServiceEnvelope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServiceEnvelope: 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) + } + 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.Packet == nil { + m.Packet = &MeshPacket{} + } + if err := m.Packet.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelId", 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.ChannelId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GatewayId", 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.GatewayId = 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 *ServiceEnvelope) UnmarshalVTUnsafe(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: ServiceEnvelope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ServiceEnvelope: 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) + } + 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.Packet == nil { + m.Packet = &MeshPacket{} + } + if err := m.Packet.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelId", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ChannelId = stringValue + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GatewayId", 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.GatewayId = stringValue + 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/paxcount.pb.go b/meshtastic/paxcount.pb.go new file mode 100644 index 0000000..0cf7c3f --- /dev/null +++ b/meshtastic/paxcount.pb.go @@ -0,0 +1,170 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/paxcount.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// TODO: REPLACE +type Paxcount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *Paxcount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Paxcount) ProtoMessage() {} + +func (x *Paxcount) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_paxcount_proto_msgTypes[0] + 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 Paxcount.ProtoReflect.Descriptor instead. +func (*Paxcount) Descriptor() ([]byte, []int) { + return file_meshtastic_paxcount_proto_rawDescGZIP(), []int{0} +} + +func (x *Paxcount) GetWifi() uint32 { + if x != nil { + return x.Wifi + } + return 0 +} + +func (x *Paxcount) GetBle() uint32 { + if x != nil { + return x.Ble + } + return 0 +} + +func (x *Paxcount) GetUptime() uint32 { + if x != nil { + return x.Uptime + } + return 0 +} + +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, +} + +var ( + file_meshtastic_paxcount_proto_rawDescOnce sync.Once + file_meshtastic_paxcount_proto_rawDescData = file_meshtastic_paxcount_proto_rawDesc +) + +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) + }) + return file_meshtastic_paxcount_proto_rawDescData +} + +var file_meshtastic_paxcount_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_meshtastic_paxcount_proto_goTypes = []interface{}{ + (*Paxcount)(nil), // 0: meshtastic.Paxcount +} +var file_meshtastic_paxcount_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_meshtastic_paxcount_proto_init() } +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, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_paxcount_proto_goTypes, + DependencyIndexes: file_meshtastic_paxcount_proto_depIdxs, + 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/paxcount_vtproto.pb.go b/meshtastic/paxcount_vtproto.pb.go new file mode 100644 index 0000000..0f0f046 --- /dev/null +++ b/meshtastic/paxcount_vtproto.pb.go @@ -0,0 +1,396 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/paxcount.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + 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 *Paxcount) CloneVT() *Paxcount { + if m == nil { + return (*Paxcount)(nil) + } + r := new(Paxcount) + r.Wifi = m.Wifi + r.Ble = m.Ble + r.Uptime = m.Uptime + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Paxcount) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *Paxcount) EqualVT(that *Paxcount) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Wifi != that.Wifi { + return false + } + if this.Ble != that.Ble { + return false + } + if this.Uptime != that.Uptime { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Paxcount) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Paxcount) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *Paxcount) 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 *Paxcount) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Paxcount) 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.Uptime != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Uptime)) + i-- + dAtA[i] = 0x18 + } + if m.Ble != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Ble)) + i-- + dAtA[i] = 0x10 + } + if m.Wifi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Wifi)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Paxcount) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Paxcount) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Paxcount) MarshalToSizedBufferVTStrict(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.Uptime != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Uptime)) + i-- + dAtA[i] = 0x18 + } + if m.Ble != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Ble)) + i-- + dAtA[i] = 0x10 + } + if m.Wifi != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Wifi)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Paxcount) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Wifi != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Wifi)) + } + if m.Ble != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Ble)) + } + if m.Uptime != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Uptime)) + } + n += len(m.unknownFields) + return n +} + +func (m *Paxcount) 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: Paxcount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Paxcount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Wifi", wireType) + } + m.Wifi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Wifi |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Ble", wireType) + } + m.Ble = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Ble |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Uptime", wireType) + } + m.Uptime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Uptime |= 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 *Paxcount) UnmarshalVTUnsafe(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: Paxcount: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Paxcount: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Wifi", wireType) + } + m.Wifi = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Wifi |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Ble", wireType) + } + m.Ble = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Ble |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Uptime", wireType) + } + m.Uptime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Uptime |= 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 +} diff --git a/meshtastic/portnums.pb.go b/meshtastic/portnums.pb.go new file mode 100644 index 0000000..e362328 --- /dev/null +++ b/meshtastic/portnums.pb.go @@ -0,0 +1,328 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/portnums.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// For any new 'apps' that run on the device or via sister apps on phones/PCs they should pick and use a +// unique 'portnum' for their application. +// If you are making a new app using meshtastic, please send in a pull request to add your 'portnum' to this +// master table. +// PortNums should be assigned in the following range: +// 0-63 Core Meshtastic use, do not use for third party apps +// 64-127 Registered 3rd party apps, send in a pull request that adds a new entry to portnums.proto to register your application +// 256-511 Use one of these portnums for your private applications that you don't want to register publically +// All other values are reserved. +// Note: This was formerly a Type enum named 'typ' with the same id # +// We have change to this 'portnum' based scheme for specifying app handlers for particular payloads. +// This change is backwards compatible by treating the legacy OPAQUE/CLEAR_TEXT values identically. +type PortNum int32 + +const ( + // Deprecated: do not use in new code (formerly called OPAQUE) + // A message sent from a device outside of the mesh, in a form the mesh does not understand + // NOTE: This must be 0, because it is documented in IMeshService.aidl to be so + // ENCODING: binary undefined + PortNum_UNKNOWN_APP PortNum = 0 + // A simple UTF-8 text message, which even the little micros in the mesh + // can understand and show on their screen eventually in some circumstances + // even signal might send messages in this form (see below) + // ENCODING: UTF-8 Plaintext (?) + PortNum_TEXT_MESSAGE_APP PortNum = 1 + // Reserved for built-in GPIO/example app. + // See remote_hardware.proto/HardwareMessage for details on the message sent/received to this port number + // ENCODING: Protobuf + PortNum_REMOTE_HARDWARE_APP PortNum = 2 + // The built-in position messaging app. + // Payload is a [Position](/docs/developers/protobufs/api#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 + // ENCODING: Protobuf + PortNum_NODEINFO_APP PortNum = 4 + // Protocol control packets for mesh protocol use. + // Payload is a [Routing](/docs/developers/protobufs/api#routing) message + // ENCODING: Protobuf + PortNum_ROUTING_APP PortNum = 5 + // Admin control packets. + // Payload is a [AdminMessage](/docs/developers/protobufs/api#adminmessage) message + // ENCODING: Protobuf + PortNum_ADMIN_APP PortNum = 6 + // Compressed TEXT_MESSAGE payloads. + // ENCODING: UTF-8 Plaintext (?) with Unishox2 Compression + // NOTE: The Device Firmware converts a TEXT_MESSAGE_APP to TEXT_MESSAGE_COMPRESSED_APP if the compressed + // payload is shorter. There's no need for app developers to do this themselves. Also the firmware will decompress + // any incoming TEXT_MESSAGE_COMPRESSED_APP payload and convert to TEXT_MESSAGE_APP. + PortNum_TEXT_MESSAGE_COMPRESSED_APP PortNum = 7 + // Waypoint payloads. + // Payload is a [Waypoint](/docs/developers/protobufs/api#waypoint) message + // ENCODING: Protobuf + PortNum_WAYPOINT_APP PortNum = 8 + // Audio Payloads. + // Encapsulated codec2 packets. On 2.4 GHZ Bandwidths only for now + // ENCODING: codec2 audio frames + // NOTE: audio frames contain a 3 byte header (0xc0 0xde 0xc2) and a one byte marker for the decompressed bitrate. + // This marker comes from the 'moduleConfig.audio.bitrate' enum minus one. + PortNum_AUDIO_APP PortNum = 9 + // 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 + // Provides a 'ping' service that replies to any packet it receives. + // Also serves as a small example module. + // ENCODING: ASCII Plaintext + PortNum_REPLY_APP PortNum = 32 + // Used for the python IP tunnel feature + // ENCODING: IP Packet. Handled by the python API, firmware ignores this one and pases on. + PortNum_IP_TUNNEL_APP PortNum = 33 + // Paxcounter lib included in the firmware + // ENCODING: protobuf + PortNum_PAXCOUNTER_APP PortNum = 34 + // Provides a hardware serial interface to send and receive from the Meshtastic network. + // Connect to the RX/TX pins of a device with 38400 8N1. Packets received from the Meshtastic + // network is forwarded to the RX pin while sending a packet to TX will go out to the Mesh network. + // Maximum packet size of 240 bytes. + // Module is disabled by default can be turned on by setting SERIAL_MODULE_ENABLED = 1 in SerialPlugh.cpp. + // ENCODING: binary undefined + PortNum_SERIAL_APP PortNum = 64 + // STORE_FORWARD_APP (Work in Progress) + // Maintained by Jm Casler (MC Hamster) : [email protected] + // ENCODING: Protobuf + PortNum_STORE_FORWARD_APP PortNum = 65 + // Optional port for messages for the range test module. + // ENCODING: ASCII Plaintext + // NOTE: This portnum traffic is not sent to the public MQTT starting at firmware version 2.2.9 + PortNum_RANGE_TEST_APP PortNum = 66 + // Provides a format to send and receive telemetry data from the Meshtastic network. + // Maintained by Charles Crossan (crossan007) : [email protected] + // ENCODING: Protobuf + PortNum_TELEMETRY_APP PortNum = 67 + // Experimental tools for estimating node position without a GPS + // Maintained by Github user a-f-G-U-C (a Meshtastic contributor) + // Project files at https://github.com/a-f-G-U-C/Meshtastic-ZPS + // ENCODING: arrays of int64 fields + PortNum_ZPS_APP PortNum = 68 + // Used to let multiple instances of Linux native applications communicate + // as if they did using their LoRa chip. + // Maintained by GitHub user GUVWAF. + // Project files at https://github.com/GUVWAF/Meshtasticator + // 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. + // ENCODING: Protobuf + PortNum_TRACEROUTE_APP PortNum = 70 + // Aggregates edge info for the network by sending out a list of each node's neighbors + // ENCODING: Protobuf + PortNum_NEIGHBORINFO_APP PortNum = 71 + // ATAK Plugin + // Portnum for payloads from the official Meshtastic ATAK plugin + PortNum_ATAK_PLUGIN PortNum = 72 + // 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)) + PortNum_PRIVATE_APP PortNum = 256 + // ATAK Forwarder Module https://github.com/paulmandal/atak-forwarder + // ENCODING: libcotshrink + PortNum_ATAK_FORWARDER PortNum = 257 + // Currently we limit port nums to no higher than this value + PortNum_MAX PortNum = 511 +) + +// Enum value maps for PortNum. +var ( + PortNum_name = map[int32]string{ + 0: "UNKNOWN_APP", + 1: "TEXT_MESSAGE_APP", + 2: "REMOTE_HARDWARE_APP", + 3: "POSITION_APP", + 4: "NODEINFO_APP", + 5: "ROUTING_APP", + 6: "ADMIN_APP", + 7: "TEXT_MESSAGE_COMPRESSED_APP", + 8: "WAYPOINT_APP", + 9: "AUDIO_APP", + 10: "DETECTION_SENSOR_APP", + 32: "REPLY_APP", + 33: "IP_TUNNEL_APP", + 34: "PAXCOUNTER_APP", + 64: "SERIAL_APP", + 65: "STORE_FORWARD_APP", + 66: "RANGE_TEST_APP", + 67: "TELEMETRY_APP", + 68: "ZPS_APP", + 69: "SIMULATOR_APP", + 70: "TRACEROUTE_APP", + 71: "NEIGHBORINFO_APP", + 72: "ATAK_PLUGIN", + 256: "PRIVATE_APP", + 257: "ATAK_FORWARDER", + 511: "MAX", + } + PortNum_value = map[string]int32{ + "UNKNOWN_APP": 0, + "TEXT_MESSAGE_APP": 1, + "REMOTE_HARDWARE_APP": 2, + "POSITION_APP": 3, + "NODEINFO_APP": 4, + "ROUTING_APP": 5, + "ADMIN_APP": 6, + "TEXT_MESSAGE_COMPRESSED_APP": 7, + "WAYPOINT_APP": 8, + "AUDIO_APP": 9, + "DETECTION_SENSOR_APP": 10, + "REPLY_APP": 32, + "IP_TUNNEL_APP": 33, + "PAXCOUNTER_APP": 34, + "SERIAL_APP": 64, + "STORE_FORWARD_APP": 65, + "RANGE_TEST_APP": 66, + "TELEMETRY_APP": 67, + "ZPS_APP": 68, + "SIMULATOR_APP": 69, + "TRACEROUTE_APP": 70, + "NEIGHBORINFO_APP": 71, + "ATAK_PLUGIN": 72, + "PRIVATE_APP": 256, + "ATAK_FORWARDER": 257, + "MAX": 511, + } +) + +func (x PortNum) Enum() *PortNum { + p := new(PortNum) + *p = x + return p +} + +func (x PortNum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PortNum) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_portnums_proto_enumTypes[0].Descriptor() +} + +func (PortNum) Type() protoreflect.EnumType { + return &file_meshtastic_portnums_proto_enumTypes[0] +} + +func (x PortNum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PortNum.Descriptor instead. +func (PortNum) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_portnums_proto_rawDescGZIP(), []int{0} +} + +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, +} + +var ( + file_meshtastic_portnums_proto_rawDescOnce sync.Once + file_meshtastic_portnums_proto_rawDescData = file_meshtastic_portnums_proto_rawDesc +) + +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) + }) + return file_meshtastic_portnums_proto_rawDescData +} + +var file_meshtastic_portnums_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_meshtastic_portnums_proto_goTypes = []interface{}{ + (PortNum)(0), // 0: meshtastic.PortNum +} +var file_meshtastic_portnums_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_meshtastic_portnums_proto_init() } +func file_meshtastic_portnums_proto_init() { + if File_meshtastic_portnums_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_portnums_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_portnums_proto_goTypes, + DependencyIndexes: file_meshtastic_portnums_proto_depIdxs, + 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/remote_hardware.pb.go b/meshtastic/remote_hardware.pb.go new file mode 100644 index 0000000..804f33f --- /dev/null +++ b/meshtastic/remote_hardware.pb.go @@ -0,0 +1,261 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/remote_hardware.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// TODO: REPLACE +type HardwareMessage_Type int32 + +const ( + // Unset/unused + HardwareMessage_UNSET HardwareMessage_Type = 0 + // Set gpio gpios based on gpio_mask/gpio_value + HardwareMessage_WRITE_GPIOS HardwareMessage_Type = 1 + // We are now interested in watching the gpio_mask gpios. + // If the selected gpios change, please broadcast GPIOS_CHANGED. + // Will implicitly change the gpios requested to be INPUT gpios. + HardwareMessage_WATCH_GPIOS HardwareMessage_Type = 2 + // The gpios listed in gpio_mask have changed, the new values are listed in gpio_value + HardwareMessage_GPIOS_CHANGED HardwareMessage_Type = 3 + // Read the gpios specified in gpio_mask, send back a READ_GPIOS_REPLY reply with gpio_value populated + HardwareMessage_READ_GPIOS HardwareMessage_Type = 4 + // A reply to READ_GPIOS. gpio_mask and gpio_value will be populated + HardwareMessage_READ_GPIOS_REPLY HardwareMessage_Type = 5 +) + +// Enum value maps for HardwareMessage_Type. +var ( + HardwareMessage_Type_name = map[int32]string{ + 0: "UNSET", + 1: "WRITE_GPIOS", + 2: "WATCH_GPIOS", + 3: "GPIOS_CHANGED", + 4: "READ_GPIOS", + 5: "READ_GPIOS_REPLY", + } + HardwareMessage_Type_value = map[string]int32{ + "UNSET": 0, + "WRITE_GPIOS": 1, + "WATCH_GPIOS": 2, + "GPIOS_CHANGED": 3, + "READ_GPIOS": 4, + "READ_GPIOS_REPLY": 5, + } +) + +func (x HardwareMessage_Type) Enum() *HardwareMessage_Type { + p := new(HardwareMessage_Type) + *p = x + return p +} + +func (x HardwareMessage_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (HardwareMessage_Type) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_remote_hardware_proto_enumTypes[0].Descriptor() +} + +func (HardwareMessage_Type) Type() protoreflect.EnumType { + return &file_meshtastic_remote_hardware_proto_enumTypes[0] +} + +func (x HardwareMessage_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use HardwareMessage_Type.Descriptor instead. +func (HardwareMessage_Type) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_remote_hardware_proto_rawDescGZIP(), []int{0, 0} +} + +// An example app to show off the module system. This message is used for +// REMOTE_HARDWARE_APP PortNums. +// Also provides easy remote access to any GPIO. +// In the future other remote hardware operations can be added based on user interest +// (i.e. serial output, spi/i2c input/output). +// FIXME - currently this feature is turned on by default which is dangerous +// because no security yet (beyond the channel mechanism). +// It should be off by default and then protected based on some TBD mechanism +// (a special channel once multichannel support is included?) +type HardwareMessage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *HardwareMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HardwareMessage) ProtoMessage() {} + +func (x *HardwareMessage) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_remote_hardware_proto_msgTypes[0] + 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 HardwareMessage.ProtoReflect.Descriptor instead. +func (*HardwareMessage) Descriptor() ([]byte, []int) { + return file_meshtastic_remote_hardware_proto_rawDescGZIP(), []int{0} +} + +func (x *HardwareMessage) GetType() HardwareMessage_Type { + if x != nil { + return x.Type + } + return HardwareMessage_UNSET +} + +func (x *HardwareMessage) GetGpioMask() uint64 { + if x != nil { + return x.GpioMask + } + return 0 +} + +func (x *HardwareMessage) GetGpioValue() uint64 { + if x != nil { + return x.GpioValue + } + return 0 +} + +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, +} + +var ( + file_meshtastic_remote_hardware_proto_rawDescOnce sync.Once + file_meshtastic_remote_hardware_proto_rawDescData = file_meshtastic_remote_hardware_proto_rawDesc +) + +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) + }) + 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{}{ + (HardwareMessage_Type)(0), // 0: meshtastic.HardwareMessage.Type + (*HardwareMessage)(nil), // 1: meshtastic.HardwareMessage +} +var file_meshtastic_remote_hardware_proto_depIdxs = []int32{ + 0, // 0: meshtastic.HardwareMessage.type:type_name -> meshtastic.HardwareMessage.Type + 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_remote_hardware_proto_init() } +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, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_remote_hardware_proto_goTypes, + DependencyIndexes: file_meshtastic_remote_hardware_proto_depIdxs, + EnumInfos: file_meshtastic_remote_hardware_proto_enumTypes, + 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/remote_hardware_vtproto.pb.go b/meshtastic/remote_hardware_vtproto.pb.go new file mode 100644 index 0000000..ed37206 --- /dev/null +++ b/meshtastic/remote_hardware_vtproto.pb.go @@ -0,0 +1,396 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/remote_hardware.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + 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 *HardwareMessage) CloneVT() *HardwareMessage { + if m == nil { + return (*HardwareMessage)(nil) + } + r := new(HardwareMessage) + r.Type = m.Type + r.GpioMask = m.GpioMask + r.GpioValue = m.GpioValue + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *HardwareMessage) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *HardwareMessage) EqualVT(that *HardwareMessage) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Type != that.Type { + return false + } + if this.GpioMask != that.GpioMask { + return false + } + if this.GpioValue != that.GpioValue { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *HardwareMessage) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*HardwareMessage) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *HardwareMessage) 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 *HardwareMessage) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *HardwareMessage) 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.GpioValue != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpioValue)) + i-- + dAtA[i] = 0x18 + } + if m.GpioMask != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpioMask)) + i-- + dAtA[i] = 0x10 + } + if m.Type != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *HardwareMessage) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HardwareMessage) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *HardwareMessage) MarshalToSizedBufferVTStrict(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.GpioValue != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpioValue)) + i-- + dAtA[i] = 0x18 + } + if m.GpioMask != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.GpioMask)) + i-- + dAtA[i] = 0x10 + } + if m.Type != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *HardwareMessage) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Type != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) + } + if m.GpioMask != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpioMask)) + } + if m.GpioValue != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.GpioValue)) + } + n += len(m.unknownFields) + return n +} + +func (m *HardwareMessage) 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: HardwareMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HardwareMessage: 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 |= HardwareMessage_Type(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpioMask", wireType) + } + m.GpioMask = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpioMask |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpioValue", wireType) + } + m.GpioValue = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpioValue |= uint64(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 *HardwareMessage) UnmarshalVTUnsafe(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: HardwareMessage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HardwareMessage: 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 |= HardwareMessage_Type(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpioMask", wireType) + } + m.GpioMask = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpioMask |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field GpioValue", wireType) + } + m.GpioValue = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.GpioValue |= uint64(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 +} diff --git a/meshtastic/rtttl.pb.go b/meshtastic/rtttl.pb.go new file mode 100644 index 0000000..eac6bf9 --- /dev/null +++ b/meshtastic/rtttl.pb.go @@ -0,0 +1,150 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/rtttl.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Canned message module configuration. +type RTTTLConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Ringtone for PWM Buzzer in RTTTL Format. + Ringtone string `protobuf:"bytes,1,opt,name=ringtone,proto3" json:"ringtone,omitempty"` +} + +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) + } +} + +func (x *RTTTLConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RTTTLConfig) ProtoMessage() {} + +func (x *RTTTLConfig) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_rtttl_proto_msgTypes[0] + 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 RTTTLConfig.ProtoReflect.Descriptor instead. +func (*RTTTLConfig) Descriptor() ([]byte, []int) { + return file_meshtastic_rtttl_proto_rawDescGZIP(), []int{0} +} + +func (x *RTTTLConfig) GetRingtone() string { + if x != nil { + return x.Ringtone + } + return "" +} + +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, +} + +var ( + file_meshtastic_rtttl_proto_rawDescOnce sync.Once + file_meshtastic_rtttl_proto_rawDescData = file_meshtastic_rtttl_proto_rawDesc +) + +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) + }) + return file_meshtastic_rtttl_proto_rawDescData +} + +var file_meshtastic_rtttl_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_meshtastic_rtttl_proto_goTypes = []interface{}{ + (*RTTTLConfig)(nil), // 0: meshtastic.RTTTLConfig +} +var file_meshtastic_rtttl_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_meshtastic_rtttl_proto_init() } +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, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_rtttl_proto_goTypes, + DependencyIndexes: file_meshtastic_rtttl_proto_depIdxs, + 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/rtttl_vtproto.pb.go b/meshtastic/rtttl_vtproto.pb.go new file mode 100644 index 0000000..34a40a7 --- /dev/null +++ b/meshtastic/rtttl_vtproto.pb.go @@ -0,0 +1,322 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/rtttl.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + 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) +) + +func (m *RTTTLConfig) CloneVT() *RTTTLConfig { + if m == nil { + return (*RTTTLConfig)(nil) + } + r := new(RTTTLConfig) + r.Ringtone = m.Ringtone + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *RTTTLConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *RTTTLConfig) EqualVT(that *RTTTLConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Ringtone != that.Ringtone { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *RTTTLConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*RTTTLConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *RTTTLConfig) 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 *RTTTLConfig) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RTTTLConfig) 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.Ringtone) > 0 { + i -= len(m.Ringtone) + copy(dAtA[i:], m.Ringtone) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Ringtone))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RTTTLConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RTTTLConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RTTTLConfig) MarshalToSizedBufferVTStrict(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.Ringtone) > 0 { + i -= len(m.Ringtone) + copy(dAtA[i:], m.Ringtone) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Ringtone))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RTTTLConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Ringtone) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *RTTTLConfig) 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: RTTTLConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RTTTLConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 + } + m.Ringtone = 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 *RTTTLConfig) UnmarshalVTUnsafe(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: RTTTLConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RTTTLConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Ringtone = stringValue + 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/storeforward.pb.go b/meshtastic/storeforward.pb.go new file mode 100644 index 0000000..9b05ae8 --- /dev/null +++ b/meshtastic/storeforward.pb.go @@ -0,0 +1,702 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/storeforward.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// 001 - 063 = From Router +// 064 - 127 = From Client +type StoreAndForward_RequestResponse int32 + +const ( + // Unset/unused + StoreAndForward_UNSET StoreAndForward_RequestResponse = 0 + // Router is an in error state. + StoreAndForward_ROUTER_ERROR StoreAndForward_RequestResponse = 1 + // Router heartbeat + StoreAndForward_ROUTER_HEARTBEAT StoreAndForward_RequestResponse = 2 + // Router has requested the client respond. This can work as a + // "are you there" message. + StoreAndForward_ROUTER_PING StoreAndForward_RequestResponse = 3 + // The response to a "Ping" + StoreAndForward_ROUTER_PONG StoreAndForward_RequestResponse = 4 + // Router is currently busy. Please try again later. + StoreAndForward_ROUTER_BUSY StoreAndForward_RequestResponse = 5 + // Router is responding to a request for history. + StoreAndForward_ROUTER_HISTORY StoreAndForward_RequestResponse = 6 + // Router is responding to a request for stats. + StoreAndForward_ROUTER_STATS StoreAndForward_RequestResponse = 7 + // Router sends a text message from its history that was a direct message. + StoreAndForward_ROUTER_TEXT_DIRECT StoreAndForward_RequestResponse = 8 + // Router sends a text message from its history that was a broadcast. + StoreAndForward_ROUTER_TEXT_BROADCAST StoreAndForward_RequestResponse = 9 + // Client is an in error state. + StoreAndForward_CLIENT_ERROR StoreAndForward_RequestResponse = 64 + // Client has requested a replay from the router. + StoreAndForward_CLIENT_HISTORY StoreAndForward_RequestResponse = 65 + // Client has requested stats from the router. + StoreAndForward_CLIENT_STATS StoreAndForward_RequestResponse = 66 + // Client has requested the router respond. This can work as a + // "are you there" message. + StoreAndForward_CLIENT_PING StoreAndForward_RequestResponse = 67 + // The response to a "Ping" + StoreAndForward_CLIENT_PONG StoreAndForward_RequestResponse = 68 + // Client has requested that the router abort processing the client's request + StoreAndForward_CLIENT_ABORT StoreAndForward_RequestResponse = 106 +) + +// Enum value maps for StoreAndForward_RequestResponse. +var ( + StoreAndForward_RequestResponse_name = map[int32]string{ + 0: "UNSET", + 1: "ROUTER_ERROR", + 2: "ROUTER_HEARTBEAT", + 3: "ROUTER_PING", + 4: "ROUTER_PONG", + 5: "ROUTER_BUSY", + 6: "ROUTER_HISTORY", + 7: "ROUTER_STATS", + 8: "ROUTER_TEXT_DIRECT", + 9: "ROUTER_TEXT_BROADCAST", + 64: "CLIENT_ERROR", + 65: "CLIENT_HISTORY", + 66: "CLIENT_STATS", + 67: "CLIENT_PING", + 68: "CLIENT_PONG", + 106: "CLIENT_ABORT", + } + StoreAndForward_RequestResponse_value = map[string]int32{ + "UNSET": 0, + "ROUTER_ERROR": 1, + "ROUTER_HEARTBEAT": 2, + "ROUTER_PING": 3, + "ROUTER_PONG": 4, + "ROUTER_BUSY": 5, + "ROUTER_HISTORY": 6, + "ROUTER_STATS": 7, + "ROUTER_TEXT_DIRECT": 8, + "ROUTER_TEXT_BROADCAST": 9, + "CLIENT_ERROR": 64, + "CLIENT_HISTORY": 65, + "CLIENT_STATS": 66, + "CLIENT_PING": 67, + "CLIENT_PONG": 68, + "CLIENT_ABORT": 106, + } +) + +func (x StoreAndForward_RequestResponse) Enum() *StoreAndForward_RequestResponse { + p := new(StoreAndForward_RequestResponse) + *p = x + return p +} + +func (x StoreAndForward_RequestResponse) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StoreAndForward_RequestResponse) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_storeforward_proto_enumTypes[0].Descriptor() +} + +func (StoreAndForward_RequestResponse) Type() protoreflect.EnumType { + return &file_meshtastic_storeforward_proto_enumTypes[0] +} + +func (x StoreAndForward_RequestResponse) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StoreAndForward_RequestResponse.Descriptor instead. +func (StoreAndForward_RequestResponse) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_storeforward_proto_rawDescGZIP(), []int{0, 0} +} + +// TODO: REPLACE +type StoreAndForward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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: + // + // *StoreAndForward_Stats + // *StoreAndForward_History_ + // *StoreAndForward_Heartbeat_ + // *StoreAndForward_Text + Variant isStoreAndForward_Variant `protobuf_oneof:"variant"` +} + +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) + } +} + +func (x *StoreAndForward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StoreAndForward) ProtoMessage() {} + +func (x *StoreAndForward) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_storeforward_proto_msgTypes[0] + 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 StoreAndForward.ProtoReflect.Descriptor instead. +func (*StoreAndForward) Descriptor() ([]byte, []int) { + return file_meshtastic_storeforward_proto_rawDescGZIP(), []int{0} +} + +func (x *StoreAndForward) GetRr() StoreAndForward_RequestResponse { + if x != nil { + return x.Rr + } + return StoreAndForward_UNSET +} + +func (m *StoreAndForward) GetVariant() isStoreAndForward_Variant { + if m != nil { + return m.Variant + } + return nil +} + +func (x *StoreAndForward) GetStats() *StoreAndForward_Statistics { + if x, ok := x.GetVariant().(*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 + } + return nil +} + +func (x *StoreAndForward) GetHeartbeat() *StoreAndForward_Heartbeat { + if x, ok := x.GetVariant().(*StoreAndForward_Heartbeat_); ok { + return x.Heartbeat + } + return nil +} + +func (x *StoreAndForward) GetText() []byte { + if x, ok := x.GetVariant().(*StoreAndForward_Text); ok { + return x.Text + } + return nil +} + +type isStoreAndForward_Variant interface { + isStoreAndForward_Variant() +} + +type StoreAndForward_Stats struct { + // TODO: REPLACE + Stats *StoreAndForward_Statistics `protobuf:"bytes,2,opt,name=stats,proto3,oneof"` +} + +type StoreAndForward_History_ struct { + // TODO: REPLACE + History *StoreAndForward_History `protobuf:"bytes,3,opt,name=history,proto3,oneof"` +} + +type StoreAndForward_Heartbeat_ struct { + // TODO: REPLACE + Heartbeat *StoreAndForward_Heartbeat `protobuf:"bytes,4,opt,name=heartbeat,proto3,oneof"` +} + +type StoreAndForward_Text struct { + // Text from history message. + Text []byte `protobuf:"bytes,5,opt,name=text,proto3,oneof"` +} + +func (*StoreAndForward_Stats) isStoreAndForward_Variant() {} + +func (*StoreAndForward_History_) isStoreAndForward_Variant() {} + +func (*StoreAndForward_Heartbeat_) isStoreAndForward_Variant() {} + +func (*StoreAndForward_Text) isStoreAndForward_Variant() {} + +// TODO: REPLACE +type StoreAndForward_Statistics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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. + MessagesSaved uint32 `protobuf:"varint,2,opt,name=messages_saved,json=messagesSaved,proto3" json:"messages_saved,omitempty"` + // Maximum number of messages we will save + MessagesMax uint32 `protobuf:"varint,3,opt,name=messages_max,json=messagesMax,proto3" json:"messages_max,omitempty"` + // Router uptime in seconds + UpTime uint32 `protobuf:"varint,4,opt,name=up_time,json=upTime,proto3" json:"up_time,omitempty"` + // Number of times any client sent a request to the S&F. + Requests uint32 `protobuf:"varint,5,opt,name=requests,proto3" json:"requests,omitempty"` + // Number of times the history was requested. + RequestsHistory uint32 `protobuf:"varint,6,opt,name=requests_history,json=requestsHistory,proto3" json:"requests_history,omitempty"` + // Is the heartbeat enabled on the server? + Heartbeat bool `protobuf:"varint,7,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"` + // 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"` +} + +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) + } +} + +func (x *StoreAndForward_Statistics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StoreAndForward_Statistics) ProtoMessage() {} + +func (x *StoreAndForward_Statistics) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_storeforward_proto_msgTypes[1] + 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 StoreAndForward_Statistics.ProtoReflect.Descriptor instead. +func (*StoreAndForward_Statistics) Descriptor() ([]byte, []int) { + return file_meshtastic_storeforward_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *StoreAndForward_Statistics) GetMessagesTotal() uint32 { + if x != nil { + return x.MessagesTotal + } + return 0 +} + +func (x *StoreAndForward_Statistics) GetMessagesSaved() uint32 { + if x != nil { + return x.MessagesSaved + } + return 0 +} + +func (x *StoreAndForward_Statistics) GetMessagesMax() uint32 { + if x != nil { + return x.MessagesMax + } + return 0 +} + +func (x *StoreAndForward_Statistics) GetUpTime() uint32 { + if x != nil { + return x.UpTime + } + return 0 +} + +func (x *StoreAndForward_Statistics) GetRequests() uint32 { + if x != nil { + return x.Requests + } + return 0 +} + +func (x *StoreAndForward_Statistics) GetRequestsHistory() uint32 { + if x != nil { + return x.RequestsHistory + } + return 0 +} + +func (x *StoreAndForward_Statistics) GetHeartbeat() bool { + if x != nil { + return x.Heartbeat + } + return false +} + +func (x *StoreAndForward_Statistics) GetReturnMax() uint32 { + if x != nil { + return x.ReturnMax + } + return 0 +} + +func (x *StoreAndForward_Statistics) GetReturnWindow() uint32 { + if x != nil { + return x.ReturnWindow + } + return 0 +} + +// TODO: REPLACE +type StoreAndForward_History struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *StoreAndForward_History) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StoreAndForward_History) ProtoMessage() {} + +func (x *StoreAndForward_History) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_storeforward_proto_msgTypes[2] + 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 StoreAndForward_History.ProtoReflect.Descriptor instead. +func (*StoreAndForward_History) Descriptor() ([]byte, []int) { + return file_meshtastic_storeforward_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *StoreAndForward_History) GetHistoryMessages() uint32 { + if x != nil { + return x.HistoryMessages + } + return 0 +} + +func (x *StoreAndForward_History) GetWindow() uint32 { + if x != nil { + return x.Window + } + return 0 +} + +func (x *StoreAndForward_History) GetLastRequest() uint32 { + if x != nil { + return x.LastRequest + } + return 0 +} + +// TODO: REPLACE +type StoreAndForward_Heartbeat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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"` +} + +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) + } +} + +func (x *StoreAndForward_Heartbeat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StoreAndForward_Heartbeat) ProtoMessage() {} + +func (x *StoreAndForward_Heartbeat) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_storeforward_proto_msgTypes[3] + 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 StoreAndForward_Heartbeat.ProtoReflect.Descriptor instead. +func (*StoreAndForward_Heartbeat) Descriptor() ([]byte, []int) { + return file_meshtastic_storeforward_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *StoreAndForward_Heartbeat) GetPeriod() uint32 { + if x != nil { + return x.Period + } + return 0 +} + +func (x *StoreAndForward_Heartbeat) GetSecondary() uint32 { + if x != nil { + return x.Secondary + } + return 0 +} + +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, +} + +var ( + file_meshtastic_storeforward_proto_rawDescOnce sync.Once + file_meshtastic_storeforward_proto_rawDescData = file_meshtastic_storeforward_proto_rawDesc +) + +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) + }) + 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{}{ + (StoreAndForward_RequestResponse)(0), // 0: meshtastic.StoreAndForward.RequestResponse + (*StoreAndForward)(nil), // 1: meshtastic.StoreAndForward + (*StoreAndForward_Statistics)(nil), // 2: meshtastic.StoreAndForward.Statistics + (*StoreAndForward_History)(nil), // 3: meshtastic.StoreAndForward.History + (*StoreAndForward_Heartbeat)(nil), // 4: meshtastic.StoreAndForward.Heartbeat +} +var file_meshtastic_storeforward_proto_depIdxs = []int32{ + 0, // 0: meshtastic.StoreAndForward.rr:type_name -> meshtastic.StoreAndForward.RequestResponse + 2, // 1: meshtastic.StoreAndForward.stats:type_name -> meshtastic.StoreAndForward.Statistics + 3, // 2: meshtastic.StoreAndForward.history:type_name -> meshtastic.StoreAndForward.History + 4, // 3: meshtastic.StoreAndForward.heartbeat:type_name -> meshtastic.StoreAndForward.Heartbeat + 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 +} + +func init() { file_meshtastic_storeforward_proto_init() } +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{}{ + (*StoreAndForward_Stats)(nil), + (*StoreAndForward_History_)(nil), + (*StoreAndForward_Heartbeat_)(nil), + (*StoreAndForward_Text)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_storeforward_proto_rawDesc, + NumEnums: 1, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_storeforward_proto_goTypes, + DependencyIndexes: file_meshtastic_storeforward_proto_depIdxs, + EnumInfos: file_meshtastic_storeforward_proto_enumTypes, + 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/storeforward_vtproto.pb.go b/meshtastic/storeforward_vtproto.pb.go new file mode 100644 index 0000000..cdc8f2d --- /dev/null +++ b/meshtastic/storeforward_vtproto.pb.go @@ -0,0 +1,2386 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/storeforward.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + 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 *StoreAndForward_Statistics) CloneVT() *StoreAndForward_Statistics { + if m == nil { + return (*StoreAndForward_Statistics)(nil) + } + r := new(StoreAndForward_Statistics) + r.MessagesTotal = m.MessagesTotal + r.MessagesSaved = m.MessagesSaved + r.MessagesMax = m.MessagesMax + r.UpTime = m.UpTime + r.Requests = m.Requests + r.RequestsHistory = m.RequestsHistory + r.Heartbeat = m.Heartbeat + r.ReturnMax = m.ReturnMax + r.ReturnWindow = m.ReturnWindow + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *StoreAndForward_Statistics) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *StoreAndForward_History) CloneVT() *StoreAndForward_History { + if m == nil { + return (*StoreAndForward_History)(nil) + } + r := new(StoreAndForward_History) + r.HistoryMessages = m.HistoryMessages + r.Window = m.Window + r.LastRequest = m.LastRequest + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *StoreAndForward_History) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *StoreAndForward_Heartbeat) CloneVT() *StoreAndForward_Heartbeat { + if m == nil { + return (*StoreAndForward_Heartbeat)(nil) + } + r := new(StoreAndForward_Heartbeat) + r.Period = m.Period + r.Secondary = m.Secondary + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *StoreAndForward_Heartbeat) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *StoreAndForward) CloneVT() *StoreAndForward { + if m == nil { + return (*StoreAndForward)(nil) + } + r := new(StoreAndForward) + r.Rr = m.Rr + if m.Variant != nil { + r.Variant = m.Variant.(interface { + CloneVT() isStoreAndForward_Variant + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *StoreAndForward) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *StoreAndForward_Stats) CloneVT() isStoreAndForward_Variant { + if m == nil { + return (*StoreAndForward_Stats)(nil) + } + r := new(StoreAndForward_Stats) + r.Stats = m.Stats.CloneVT() + return r +} + +func (m *StoreAndForward_History_) CloneVT() isStoreAndForward_Variant { + if m == nil { + return (*StoreAndForward_History_)(nil) + } + r := new(StoreAndForward_History_) + r.History = m.History.CloneVT() + return r +} + +func (m *StoreAndForward_Heartbeat_) CloneVT() isStoreAndForward_Variant { + if m == nil { + return (*StoreAndForward_Heartbeat_)(nil) + } + r := new(StoreAndForward_Heartbeat_) + r.Heartbeat = m.Heartbeat.CloneVT() + return r +} + +func (m *StoreAndForward_Text) CloneVT() isStoreAndForward_Variant { + if m == nil { + return (*StoreAndForward_Text)(nil) + } + r := new(StoreAndForward_Text) + if rhs := m.Text; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Text = tmpBytes + } + return r +} + +func (this *StoreAndForward_Statistics) EqualVT(that *StoreAndForward_Statistics) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.MessagesTotal != that.MessagesTotal { + return false + } + if this.MessagesSaved != that.MessagesSaved { + return false + } + if this.MessagesMax != that.MessagesMax { + return false + } + if this.UpTime != that.UpTime { + return false + } + if this.Requests != that.Requests { + return false + } + if this.RequestsHistory != that.RequestsHistory { + return false + } + if this.Heartbeat != that.Heartbeat { + return false + } + if this.ReturnMax != that.ReturnMax { + return false + } + if this.ReturnWindow != that.ReturnWindow { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *StoreAndForward_Statistics) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*StoreAndForward_Statistics) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *StoreAndForward_History) EqualVT(that *StoreAndForward_History) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.HistoryMessages != that.HistoryMessages { + return false + } + if this.Window != that.Window { + return false + } + if this.LastRequest != that.LastRequest { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *StoreAndForward_History) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*StoreAndForward_History) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *StoreAndForward_Heartbeat) EqualVT(that *StoreAndForward_Heartbeat) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Period != that.Period { + return false + } + if this.Secondary != that.Secondary { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *StoreAndForward_Heartbeat) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*StoreAndForward_Heartbeat) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *StoreAndForward) EqualVT(that *StoreAndForward) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Variant == nil && that.Variant != nil { + return false + } else if this.Variant != nil { + if that.Variant == nil { + return false + } + if !this.Variant.(interface { + EqualVT(isStoreAndForward_Variant) bool + }).EqualVT(that.Variant) { + return false + } + } + if this.Rr != that.Rr { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *StoreAndForward) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*StoreAndForward) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *StoreAndForward_Stats) EqualVT(thatIface isStoreAndForward_Variant) bool { + that, ok := thatIface.(*StoreAndForward_Stats) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Stats, that.Stats; p != q { + if p == nil { + p = &StoreAndForward_Statistics{} + } + if q == nil { + q = &StoreAndForward_Statistics{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *StoreAndForward_History_) EqualVT(thatIface isStoreAndForward_Variant) bool { + that, ok := thatIface.(*StoreAndForward_History_) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.History, that.History; p != q { + if p == nil { + p = &StoreAndForward_History{} + } + if q == nil { + q = &StoreAndForward_History{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *StoreAndForward_Heartbeat_) EqualVT(thatIface isStoreAndForward_Variant) bool { + that, ok := thatIface.(*StoreAndForward_Heartbeat_) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.Heartbeat, that.Heartbeat; p != q { + if p == nil { + p = &StoreAndForward_Heartbeat{} + } + if q == nil { + q = &StoreAndForward_Heartbeat{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *StoreAndForward_Text) EqualVT(thatIface isStoreAndForward_Variant) bool { + that, ok := thatIface.(*StoreAndForward_Text) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if string(this.Text) != string(that.Text) { + return false + } + return true +} + +func (m *StoreAndForward_Statistics) 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 *StoreAndForward_Statistics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward_Statistics) 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.ReturnWindow != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReturnWindow)) + i-- + dAtA[i] = 0x48 + } + if m.ReturnMax != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReturnMax)) + i-- + dAtA[i] = 0x40 + } + if m.Heartbeat { + i-- + if m.Heartbeat { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.RequestsHistory != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RequestsHistory)) + i-- + dAtA[i] = 0x30 + } + if m.Requests != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Requests)) + i-- + dAtA[i] = 0x28 + } + if m.UpTime != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UpTime)) + i-- + dAtA[i] = 0x20 + } + if m.MessagesMax != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MessagesMax)) + i-- + dAtA[i] = 0x18 + } + if m.MessagesSaved != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MessagesSaved)) + i-- + dAtA[i] = 0x10 + } + if m.MessagesTotal != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MessagesTotal)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward_History) 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 *StoreAndForward_History) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward_History) 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.LastRequest != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastRequest)) + i-- + dAtA[i] = 0x18 + } + if m.Window != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Window)) + i-- + dAtA[i] = 0x10 + } + if m.HistoryMessages != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HistoryMessages)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward_Heartbeat) 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 *StoreAndForward_Heartbeat) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward_Heartbeat) 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.Secondary != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Secondary)) + i-- + dAtA[i] = 0x10 + } + if m.Period != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Period)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward) 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 *StoreAndForward) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward) 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.Variant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Rr != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rr)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward_Stats) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward_Stats) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Stats != nil { + size, err := m.Stats.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 *StoreAndForward_History_) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward_History_) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.History != nil { + size, err := m.History.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *StoreAndForward_Heartbeat_) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward_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] = 0x22 + } + return len(dAtA) - i, nil +} +func (m *StoreAndForward_Text) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StoreAndForward_Text) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Text) + copy(dAtA[i:], m.Text) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Text))) + i-- + dAtA[i] = 0x2a + return len(dAtA) - i, nil +} +func (m *StoreAndForward_Statistics) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StoreAndForward_Statistics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward_Statistics) MarshalToSizedBufferVTStrict(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.ReturnWindow != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReturnWindow)) + i-- + dAtA[i] = 0x48 + } + if m.ReturnMax != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ReturnMax)) + i-- + dAtA[i] = 0x40 + } + if m.Heartbeat { + i-- + if m.Heartbeat { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if m.RequestsHistory != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RequestsHistory)) + i-- + dAtA[i] = 0x30 + } + if m.Requests != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Requests)) + i-- + dAtA[i] = 0x28 + } + if m.UpTime != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.UpTime)) + i-- + dAtA[i] = 0x20 + } + if m.MessagesMax != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MessagesMax)) + i-- + dAtA[i] = 0x18 + } + if m.MessagesSaved != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MessagesSaved)) + i-- + dAtA[i] = 0x10 + } + if m.MessagesTotal != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.MessagesTotal)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward_History) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StoreAndForward_History) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward_History) MarshalToSizedBufferVTStrict(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.LastRequest != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.LastRequest)) + i-- + dAtA[i] = 0x18 + } + if m.Window != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Window)) + i-- + dAtA[i] = 0x10 + } + if m.HistoryMessages != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.HistoryMessages)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward_Heartbeat) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StoreAndForward_Heartbeat) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward_Heartbeat) MarshalToSizedBufferVTStrict(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.Secondary != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Secondary)) + i-- + dAtA[i] = 0x10 + } + if m.Period != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Period)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StoreAndForward) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward) MarshalToSizedBufferVTStrict(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 msg, ok := m.Variant.(*StoreAndForward_Text); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*StoreAndForward_Heartbeat_); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*StoreAndForward_History_); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*StoreAndForward_Stats); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Rr != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Rr)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *StoreAndForward_Stats) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward_Stats) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Stats != nil { + size, err := m.Stats.MarshalToSizedBufferVTStrict(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 *StoreAndForward_History_) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward_History_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.History != nil { + size, err := m.History.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *StoreAndForward_Heartbeat_) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward_Heartbeat_) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.Heartbeat != nil { + size, err := m.Heartbeat.MarshalToSizedBufferVTStrict(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 *StoreAndForward_Text) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *StoreAndForward_Text) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.Text) + copy(dAtA[i:], m.Text) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Text))) + i-- + dAtA[i] = 0x2a + return len(dAtA) - i, nil +} +func (m *StoreAndForward_Statistics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MessagesTotal != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MessagesTotal)) + } + if m.MessagesSaved != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MessagesSaved)) + } + if m.MessagesMax != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.MessagesMax)) + } + if m.UpTime != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.UpTime)) + } + if m.Requests != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Requests)) + } + if m.RequestsHistory != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.RequestsHistory)) + } + if m.Heartbeat { + n += 2 + } + if m.ReturnMax != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ReturnMax)) + } + if m.ReturnWindow != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ReturnWindow)) + } + n += len(m.unknownFields) + return n +} + +func (m *StoreAndForward_History) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.HistoryMessages != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.HistoryMessages)) + } + if m.Window != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Window)) + } + if m.LastRequest != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.LastRequest)) + } + n += len(m.unknownFields) + return n +} + +func (m *StoreAndForward_Heartbeat) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Period != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Period)) + } + if m.Secondary != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Secondary)) + } + n += len(m.unknownFields) + return n +} + +func (m *StoreAndForward) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Rr != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Rr)) + } + if vtmsg, ok := m.Variant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *StoreAndForward_Stats) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Stats != nil { + l = m.Stats.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *StoreAndForward_History_) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.History != nil { + l = m.History.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *StoreAndForward_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 *StoreAndForward_Text) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Text) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *StoreAndForward_Statistics) 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: StoreAndForward_Statistics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward_Statistics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessagesTotal", wireType) + } + m.MessagesTotal = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessagesTotal |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessagesSaved", wireType) + } + m.MessagesSaved = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessagesSaved |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessagesMax", wireType) + } + m.MessagesMax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessagesMax |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UpTime", wireType) + } + m.UpTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UpTime |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType) + } + m.Requests = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Requests |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestsHistory", wireType) + } + m.RequestsHistory = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RequestsHistory |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", 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.Heartbeat = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnMax", wireType) + } + m.ReturnMax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReturnMax |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnWindow", wireType) + } + m.ReturnWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReturnWindow |= 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 *StoreAndForward_History) 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: StoreAndForward_History: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward_History: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HistoryMessages", wireType) + } + m.HistoryMessages = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HistoryMessages |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Window", wireType) + } + m.Window = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Window |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastRequest", wireType) + } + m.LastRequest = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastRequest |= 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 *StoreAndForward_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 + } + 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: StoreAndForward_Heartbeat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward_Heartbeat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Period", wireType) + } + m.Period = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Period |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Secondary", wireType) + } + m.Secondary = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Secondary |= 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 *StoreAndForward) 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: StoreAndForward: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rr", wireType) + } + m.Rr = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rr |= StoreAndForward_RequestResponse(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Stats", 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.(*StoreAndForward_Stats); ok { + if err := oneof.Stats.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &StoreAndForward_Statistics{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &StoreAndForward_Stats{Stats: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field History", 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.(*StoreAndForward_History_); ok { + if err := oneof.History.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &StoreAndForward_History{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &StoreAndForward_History_{History: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", 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.(*StoreAndForward_Heartbeat_); ok { + if err := oneof.Heartbeat.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &StoreAndForward_Heartbeat{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &StoreAndForward_Heartbeat_{Heartbeat: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Text", 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.Variant = &StoreAndForward_Text{Text: 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 *StoreAndForward_Statistics) UnmarshalVTUnsafe(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: StoreAndForward_Statistics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward_Statistics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessagesTotal", wireType) + } + m.MessagesTotal = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessagesTotal |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessagesSaved", wireType) + } + m.MessagesSaved = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessagesSaved |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MessagesMax", wireType) + } + m.MessagesMax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MessagesMax |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UpTime", wireType) + } + m.UpTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UpTime |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType) + } + m.Requests = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Requests |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestsHistory", wireType) + } + m.RequestsHistory = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RequestsHistory |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", 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.Heartbeat = bool(v != 0) + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnMax", wireType) + } + m.ReturnMax = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReturnMax |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ReturnWindow", wireType) + } + m.ReturnWindow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ReturnWindow |= 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 *StoreAndForward_History) UnmarshalVTUnsafe(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: StoreAndForward_History: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward_History: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HistoryMessages", wireType) + } + m.HistoryMessages = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HistoryMessages |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Window", wireType) + } + m.Window = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Window |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field LastRequest", wireType) + } + m.LastRequest = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.LastRequest |= 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 *StoreAndForward_Heartbeat) UnmarshalVTUnsafe(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: StoreAndForward_Heartbeat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward_Heartbeat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Period", wireType) + } + m.Period = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Period |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Secondary", wireType) + } + m.Secondary = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Secondary |= 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 *StoreAndForward) UnmarshalVTUnsafe(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: StoreAndForward: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StoreAndForward: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Rr", wireType) + } + m.Rr = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Rr |= StoreAndForward_RequestResponse(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Stats", 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.(*StoreAndForward_Stats); ok { + if err := oneof.Stats.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &StoreAndForward_Statistics{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &StoreAndForward_Stats{Stats: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field History", 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.(*StoreAndForward_History_); ok { + if err := oneof.History.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &StoreAndForward_History{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &StoreAndForward_History_{History: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Heartbeat", 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.(*StoreAndForward_Heartbeat_); ok { + if err := oneof.Heartbeat.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &StoreAndForward_Heartbeat{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &StoreAndForward_Heartbeat_{Heartbeat: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Text", 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 := dAtA[iNdEx:postIndex] + m.Variant = &StoreAndForward_Text{Text: 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/telemetry.pb.go b/meshtastic/telemetry.pb.go new file mode 100644 index 0000000..8815319 --- /dev/null +++ b/meshtastic/telemetry.pb.go @@ -0,0 +1,905 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/telemetry.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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) +) + +// Supported I2C Sensors for telemetry in Meshtastic +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 +) + +// Enum value maps for TelemetrySensorType. +var ( + TelemetrySensorType_name = map[int32]string{ + 0: "SENSOR_UNSET", + 1: "BME280", + 2: "BME680", + 3: "MCP9808", + 4: "INA260", + 5: "INA219", + 6: "BMP280", + 7: "SHTC3", + 8: "LPS22", + 9: "QMC6310", + 10: "QMI8658", + 11: "QMC5883L", + 12: "SHT31", + 13: "PMSA003I", + 14: "INA3221", + } + 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, + } +) + +func (x TelemetrySensorType) Enum() *TelemetrySensorType { + p := new(TelemetrySensorType) + *p = x + return p +} + +func (x TelemetrySensorType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TelemetrySensorType) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_telemetry_proto_enumTypes[0].Descriptor() +} + +func (TelemetrySensorType) Type() protoreflect.EnumType { + return &file_meshtastic_telemetry_proto_enumTypes[0] +} + +func (x TelemetrySensorType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use TelemetrySensorType.Descriptor instead. +func (TelemetrySensorType) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{0} +} + +// Key native device metrics such as battery level +type DeviceMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 0-100 (>100 means powered) + BatteryLevel uint32 `protobuf:"varint,1,opt,name=battery_level,json=batteryLevel,proto3" json:"battery_level,omitempty"` + // Voltage measured + Voltage float32 `protobuf:"fixed32,2,opt,name=voltage,proto3" 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"` + // 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"` +} + +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) + } +} + +func (x *DeviceMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeviceMetrics) ProtoMessage() {} + +func (x *DeviceMetrics) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[0] + 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 DeviceMetrics.ProtoReflect.Descriptor instead. +func (*DeviceMetrics) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{0} +} + +func (x *DeviceMetrics) GetBatteryLevel() uint32 { + if x != nil { + return x.BatteryLevel + } + return 0 +} + +func (x *DeviceMetrics) GetVoltage() float32 { + if x != nil { + return x.Voltage + } + return 0 +} + +func (x *DeviceMetrics) GetChannelUtilization() float32 { + if x != nil { + return x.ChannelUtilization + } + return 0 +} + +func (x *DeviceMetrics) GetAirUtilTx() float32 { + if x != nil { + return x.AirUtilTx + } + return 0 +} + +// Weather station or other environmental metrics +type EnvironmentMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Temperature measured + Temperature float32 `protobuf:"fixed32,1,opt,name=temperature,proto3" json:"temperature,omitempty"` + // Relative humidity percent measured + RelativeHumidity float32 `protobuf:"fixed32,2,opt,name=relative_humidity,json=relativeHumidity,proto3" 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"` + // Gas resistance in MOhm measured + GasResistance float32 `protobuf:"fixed32,4,opt,name=gas_resistance,json=gasResistance,proto3" 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"` + // 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"` +} + +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) + } +} + +func (x *EnvironmentMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvironmentMetrics) ProtoMessage() {} + +func (x *EnvironmentMetrics) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[1] + 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 EnvironmentMetrics.ProtoReflect.Descriptor instead. +func (*EnvironmentMetrics) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{1} +} + +func (x *EnvironmentMetrics) GetTemperature() float32 { + if x != nil { + return x.Temperature + } + return 0 +} + +func (x *EnvironmentMetrics) GetRelativeHumidity() float32 { + if x != nil { + return x.RelativeHumidity + } + return 0 +} + +func (x *EnvironmentMetrics) GetBarometricPressure() float32 { + if x != nil { + return x.BarometricPressure + } + return 0 +} + +func (x *EnvironmentMetrics) GetGasResistance() float32 { + if x != nil { + return x.GasResistance + } + return 0 +} + +func (x *EnvironmentMetrics) GetVoltage() float32 { + if x != nil { + return x.Voltage + } + return 0 +} + +func (x *EnvironmentMetrics) GetCurrent() float32 { + if x != nil { + return x.Current + } + return 0 +} + +// Power Metrics (voltage / current / etc) +type PowerMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Voltage (Ch1) + Ch1Voltage float32 `protobuf:"fixed32,1,opt,name=ch1_voltage,json=ch1Voltage,proto3" json:"ch1_voltage,omitempty"` + // Current (Ch1) + Ch1Current float32 `protobuf:"fixed32,2,opt,name=ch1_current,json=ch1Current,proto3" json:"ch1_current,omitempty"` + // Voltage (Ch2) + Ch2Voltage float32 `protobuf:"fixed32,3,opt,name=ch2_voltage,json=ch2Voltage,proto3" json:"ch2_voltage,omitempty"` + // Current (Ch2) + Ch2Current float32 `protobuf:"fixed32,4,opt,name=ch2_current,json=ch2Current,proto3" json:"ch2_current,omitempty"` + // Voltage (Ch3) + Ch3Voltage float32 `protobuf:"fixed32,5,opt,name=ch3_voltage,json=ch3Voltage,proto3" json:"ch3_voltage,omitempty"` + // Current (Ch3) + Ch3Current float32 `protobuf:"fixed32,6,opt,name=ch3_current,json=ch3Current,proto3" json:"ch3_current,omitempty"` +} + +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) + } +} + +func (x *PowerMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PowerMetrics) ProtoMessage() {} + +func (x *PowerMetrics) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[2] + 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 PowerMetrics.ProtoReflect.Descriptor instead. +func (*PowerMetrics) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{2} +} + +func (x *PowerMetrics) GetCh1Voltage() float32 { + if x != nil { + return x.Ch1Voltage + } + return 0 +} + +func (x *PowerMetrics) GetCh1Current() float32 { + if x != nil { + return x.Ch1Current + } + return 0 +} + +func (x *PowerMetrics) GetCh2Voltage() float32 { + if x != nil { + return x.Ch2Voltage + } + return 0 +} + +func (x *PowerMetrics) GetCh2Current() float32 { + if x != nil { + return x.Ch2Current + } + return 0 +} + +func (x *PowerMetrics) GetCh3Voltage() float32 { + if x != nil { + return x.Ch3Voltage + } + return 0 +} + +func (x *PowerMetrics) GetCh3Current() float32 { + if x != nil { + return x.Ch3Current + } + return 0 +} + +// Air quality metrics +type AirQualityMetrics struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Concentration Units Standard PM1.0 + Pm10Standard uint32 `protobuf:"varint,1,opt,name=pm10_standard,json=pm10Standard,proto3" 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"` + // Concentration Units Standard PM10.0 + Pm100Standard uint32 `protobuf:"varint,3,opt,name=pm100_standard,json=pm100Standard,proto3" 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"` + // Concentration Units Environmental PM2.5 + Pm25Environmental uint32 `protobuf:"varint,5,opt,name=pm25_environmental,json=pm25Environmental,proto3" 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"` + // 0.3um Particle Count + Particles_03Um uint32 `protobuf:"varint,7,opt,name=particles_03um,json=particles03um,proto3" 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"` + // 1.0um Particle Count + Particles_10Um uint32 `protobuf:"varint,9,opt,name=particles_10um,json=particles10um,proto3" 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"` + // 5.0um Particle Count + Particles_50Um uint32 `protobuf:"varint,11,opt,name=particles_50um,json=particles50um,proto3" 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"` +} + +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) + } +} + +func (x *AirQualityMetrics) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AirQualityMetrics) ProtoMessage() {} + +func (x *AirQualityMetrics) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[3] + 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 AirQualityMetrics.ProtoReflect.Descriptor instead. +func (*AirQualityMetrics) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{3} +} + +func (x *AirQualityMetrics) GetPm10Standard() uint32 { + if x != nil { + return x.Pm10Standard + } + return 0 +} + +func (x *AirQualityMetrics) GetPm25Standard() uint32 { + if x != nil { + return x.Pm25Standard + } + return 0 +} + +func (x *AirQualityMetrics) GetPm100Standard() uint32 { + if x != nil { + return x.Pm100Standard + } + return 0 +} + +func (x *AirQualityMetrics) GetPm10Environmental() uint32 { + if x != nil { + return x.Pm10Environmental + } + return 0 +} + +func (x *AirQualityMetrics) GetPm25Environmental() uint32 { + if x != nil { + return x.Pm25Environmental + } + return 0 +} + +func (x *AirQualityMetrics) GetPm100Environmental() uint32 { + if x != nil { + return x.Pm100Environmental + } + return 0 +} + +func (x *AirQualityMetrics) GetParticles_03Um() uint32 { + if x != nil { + return x.Particles_03Um + } + return 0 +} + +func (x *AirQualityMetrics) GetParticles_05Um() uint32 { + if x != nil { + return x.Particles_05Um + } + return 0 +} + +func (x *AirQualityMetrics) GetParticles_10Um() uint32 { + if x != nil { + return x.Particles_10Um + } + return 0 +} + +func (x *AirQualityMetrics) GetParticles_25Um() uint32 { + if x != nil { + return x.Particles_25Um + } + return 0 +} + +func (x *AirQualityMetrics) GetParticles_50Um() uint32 { + if x != nil { + return x.Particles_50Um + } + return 0 +} + +func (x *AirQualityMetrics) GetParticles_100Um() uint32 { + if x != nil { + return x.Particles_100Um + } + return 0 +} + +// Types of Measurements the telemetry module is equipped to handle +type Telemetry struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // 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: + // + // *Telemetry_DeviceMetrics + // *Telemetry_EnvironmentMetrics + // *Telemetry_AirQualityMetrics + // *Telemetry_PowerMetrics + Variant isTelemetry_Variant `protobuf_oneof:"variant"` +} + +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) + } +} + +func (x *Telemetry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Telemetry) ProtoMessage() {} + +func (x *Telemetry) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_telemetry_proto_msgTypes[4] + 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 Telemetry.ProtoReflect.Descriptor instead. +func (*Telemetry) Descriptor() ([]byte, []int) { + return file_meshtastic_telemetry_proto_rawDescGZIP(), []int{4} +} + +func (x *Telemetry) GetTime() uint32 { + if x != nil { + return x.Time + } + return 0 +} + +func (m *Telemetry) GetVariant() isTelemetry_Variant { + if m != nil { + return m.Variant + } + return nil +} + +func (x *Telemetry) GetDeviceMetrics() *DeviceMetrics { + if x, ok := x.GetVariant().(*Telemetry_DeviceMetrics); ok { + return x.DeviceMetrics + } + return nil +} + +func (x *Telemetry) GetEnvironmentMetrics() *EnvironmentMetrics { + if x, ok := x.GetVariant().(*Telemetry_EnvironmentMetrics); ok { + return x.EnvironmentMetrics + } + return nil +} + +func (x *Telemetry) GetAirQualityMetrics() *AirQualityMetrics { + if x, ok := x.GetVariant().(*Telemetry_AirQualityMetrics); ok { + return x.AirQualityMetrics + } + return nil +} + +func (x *Telemetry) GetPowerMetrics() *PowerMetrics { + if x, ok := x.GetVariant().(*Telemetry_PowerMetrics); ok { + return x.PowerMetrics + } + return nil +} + +type isTelemetry_Variant interface { + isTelemetry_Variant() +} + +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"` +} + +func (*Telemetry_DeviceMetrics) isTelemetry_Variant() {} + +func (*Telemetry_EnvironmentMetrics) isTelemetry_Variant() {} + +func (*Telemetry_AirQualityMetrics) isTelemetry_Variant() {} + +func (*Telemetry_PowerMetrics) isTelemetry_Variant() {} + +var File_meshtastic_telemetry_proto protoreflect.FileDescriptor + +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, +} + +var ( + file_meshtastic_telemetry_proto_rawDescOnce sync.Once + file_meshtastic_telemetry_proto_rawDescData = file_meshtastic_telemetry_proto_rawDesc +) + +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) + }) + 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{}{ + (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 +} +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 +} + +func init() { file_meshtastic_telemetry_proto_init() } +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{}{ + (*Telemetry_DeviceMetrics)(nil), + (*Telemetry_EnvironmentMetrics)(nil), + (*Telemetry_AirQualityMetrics)(nil), + (*Telemetry_PowerMetrics)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_meshtastic_telemetry_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_telemetry_proto_goTypes, + DependencyIndexes: file_meshtastic_telemetry_proto_depIdxs, + EnumInfos: file_meshtastic_telemetry_proto_enumTypes, + 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 new file mode 100644 index 0000000..89264d6 --- /dev/null +++ b/meshtastic/telemetry_vtproto.pb.go @@ -0,0 +1,3161 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/telemetry.proto + +package generated + +import ( + binary "encoding/binary" + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + 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 *DeviceMetrics) CloneVT() *DeviceMetrics { + if m == nil { + return (*DeviceMetrics)(nil) + } + r := new(DeviceMetrics) + r.BatteryLevel = m.BatteryLevel + r.Voltage = m.Voltage + r.ChannelUtilization = m.ChannelUtilization + r.AirUtilTx = m.AirUtilTx + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *DeviceMetrics) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *EnvironmentMetrics) CloneVT() *EnvironmentMetrics { + if m == nil { + return (*EnvironmentMetrics)(nil) + } + r := new(EnvironmentMetrics) + r.Temperature = m.Temperature + r.RelativeHumidity = m.RelativeHumidity + r.BarometricPressure = m.BarometricPressure + r.GasResistance = m.GasResistance + r.Voltage = m.Voltage + r.Current = m.Current + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *EnvironmentMetrics) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *PowerMetrics) CloneVT() *PowerMetrics { + if m == nil { + return (*PowerMetrics)(nil) + } + r := new(PowerMetrics) + r.Ch1Voltage = m.Ch1Voltage + r.Ch1Current = m.Ch1Current + r.Ch2Voltage = m.Ch2Voltage + r.Ch2Current = m.Ch2Current + r.Ch3Voltage = m.Ch3Voltage + r.Ch3Current = m.Ch3Current + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *PowerMetrics) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *AirQualityMetrics) CloneVT() *AirQualityMetrics { + if m == nil { + return (*AirQualityMetrics)(nil) + } + r := new(AirQualityMetrics) + r.Pm10Standard = m.Pm10Standard + r.Pm25Standard = m.Pm25Standard + r.Pm100Standard = m.Pm100Standard + r.Pm10Environmental = m.Pm10Environmental + r.Pm25Environmental = m.Pm25Environmental + r.Pm100Environmental = m.Pm100Environmental + r.Particles_03Um = m.Particles_03Um + r.Particles_05Um = m.Particles_05Um + r.Particles_10Um = m.Particles_10Um + r.Particles_25Um = m.Particles_25Um + r.Particles_50Um = m.Particles_50Um + r.Particles_100Um = m.Particles_100Um + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *AirQualityMetrics) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Telemetry) CloneVT() *Telemetry { + if m == nil { + return (*Telemetry)(nil) + } + r := new(Telemetry) + r.Time = m.Time + if m.Variant != nil { + r.Variant = m.Variant.(interface{ CloneVT() isTelemetry_Variant }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Telemetry) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Telemetry_DeviceMetrics) CloneVT() isTelemetry_Variant { + if m == nil { + return (*Telemetry_DeviceMetrics)(nil) + } + r := new(Telemetry_DeviceMetrics) + r.DeviceMetrics = m.DeviceMetrics.CloneVT() + return r +} + +func (m *Telemetry_EnvironmentMetrics) CloneVT() isTelemetry_Variant { + if m == nil { + return (*Telemetry_EnvironmentMetrics)(nil) + } + r := new(Telemetry_EnvironmentMetrics) + r.EnvironmentMetrics = m.EnvironmentMetrics.CloneVT() + return r +} + +func (m *Telemetry_AirQualityMetrics) CloneVT() isTelemetry_Variant { + if m == nil { + return (*Telemetry_AirQualityMetrics)(nil) + } + r := new(Telemetry_AirQualityMetrics) + r.AirQualityMetrics = m.AirQualityMetrics.CloneVT() + return r +} + +func (m *Telemetry_PowerMetrics) CloneVT() isTelemetry_Variant { + if m == nil { + return (*Telemetry_PowerMetrics)(nil) + } + r := new(Telemetry_PowerMetrics) + r.PowerMetrics = m.PowerMetrics.CloneVT() + return r +} + +func (this *DeviceMetrics) EqualVT(that *DeviceMetrics) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.BatteryLevel != that.BatteryLevel { + return false + } + if this.Voltage != that.Voltage { + return false + } + if this.ChannelUtilization != that.ChannelUtilization { + return false + } + if this.AirUtilTx != that.AirUtilTx { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *DeviceMetrics) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*DeviceMetrics) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *EnvironmentMetrics) EqualVT(that *EnvironmentMetrics) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Temperature != that.Temperature { + return false + } + if this.RelativeHumidity != that.RelativeHumidity { + return false + } + if this.BarometricPressure != that.BarometricPressure { + return false + } + if this.GasResistance != that.GasResistance { + return false + } + if this.Voltage != that.Voltage { + return false + } + if this.Current != that.Current { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *EnvironmentMetrics) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*EnvironmentMetrics) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *PowerMetrics) EqualVT(that *PowerMetrics) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Ch1Voltage != that.Ch1Voltage { + return false + } + if this.Ch1Current != that.Ch1Current { + return false + } + if this.Ch2Voltage != that.Ch2Voltage { + return false + } + if this.Ch2Current != that.Ch2Current { + return false + } + if this.Ch3Voltage != that.Ch3Voltage { + return false + } + if this.Ch3Current != that.Ch3Current { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *PowerMetrics) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*PowerMetrics) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *AirQualityMetrics) EqualVT(that *AirQualityMetrics) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Pm10Standard != that.Pm10Standard { + return false + } + if this.Pm25Standard != that.Pm25Standard { + return false + } + if this.Pm100Standard != that.Pm100Standard { + return false + } + if this.Pm10Environmental != that.Pm10Environmental { + return false + } + if this.Pm25Environmental != that.Pm25Environmental { + return false + } + if this.Pm100Environmental != that.Pm100Environmental { + return false + } + if this.Particles_03Um != that.Particles_03Um { + return false + } + if this.Particles_05Um != that.Particles_05Um { + return false + } + if this.Particles_10Um != that.Particles_10Um { + return false + } + if this.Particles_25Um != that.Particles_25Um { + return false + } + if this.Particles_50Um != that.Particles_50Um { + return false + } + if this.Particles_100Um != that.Particles_100Um { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *AirQualityMetrics) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*AirQualityMetrics) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Telemetry) EqualVT(that *Telemetry) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Variant == nil && that.Variant != nil { + return false + } else if this.Variant != nil { + if that.Variant == nil { + return false + } + if !this.Variant.(interface { + EqualVT(isTelemetry_Variant) bool + }).EqualVT(that.Variant) { + return false + } + } + if this.Time != that.Time { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Telemetry) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Telemetry) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Telemetry_DeviceMetrics) EqualVT(thatIface isTelemetry_Variant) bool { + that, ok := thatIface.(*Telemetry_DeviceMetrics) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.DeviceMetrics, that.DeviceMetrics; p != q { + if p == nil { + p = &DeviceMetrics{} + } + if q == nil { + q = &DeviceMetrics{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Telemetry_EnvironmentMetrics) EqualVT(thatIface isTelemetry_Variant) bool { + that, ok := thatIface.(*Telemetry_EnvironmentMetrics) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.EnvironmentMetrics, that.EnvironmentMetrics; p != q { + if p == nil { + p = &EnvironmentMetrics{} + } + if q == nil { + q = &EnvironmentMetrics{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Telemetry_AirQualityMetrics) EqualVT(thatIface isTelemetry_Variant) bool { + that, ok := thatIface.(*Telemetry_AirQualityMetrics) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.AirQualityMetrics, that.AirQualityMetrics; p != q { + if p == nil { + p = &AirQualityMetrics{} + } + if q == nil { + q = &AirQualityMetrics{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Telemetry_PowerMetrics) EqualVT(thatIface isTelemetry_Variant) bool { + that, ok := thatIface.(*Telemetry_PowerMetrics) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.PowerMetrics, that.PowerMetrics; p != q { + if p == nil { + p = &PowerMetrics{} + } + if q == nil { + q = &PowerMetrics{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (m *DeviceMetrics) 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 *DeviceMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *DeviceMetrics) 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.AirUtilTx != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.AirUtilTx)))) + i-- + dAtA[i] = 0x25 + } + if m.ChannelUtilization != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.ChannelUtilization)))) + i-- + dAtA[i] = 0x1d + } + if m.Voltage != 0 { + i -= 4 + 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)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *EnvironmentMetrics) 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 *EnvironmentMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *EnvironmentMetrics) 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.Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Current)))) + i-- + dAtA[i] = 0x35 + } + if m.Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Voltage)))) + i-- + dAtA[i] = 0x2d + } + if m.GasResistance != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.GasResistance)))) + i-- + dAtA[i] = 0x25 + } + if m.BarometricPressure != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.BarometricPressure)))) + i-- + dAtA[i] = 0x1d + } + if m.RelativeHumidity != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.RelativeHumidity)))) + i-- + dAtA[i] = 0x15 + } + if m.Temperature != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Temperature)))) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *PowerMetrics) 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 *PowerMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PowerMetrics) 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.Ch3Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch3Current)))) + i-- + dAtA[i] = 0x35 + } + if m.Ch3Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch3Voltage)))) + i-- + dAtA[i] = 0x2d + } + if m.Ch2Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch2Current)))) + i-- + dAtA[i] = 0x25 + } + if m.Ch2Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch2Voltage)))) + i-- + dAtA[i] = 0x1d + } + if m.Ch1Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch1Current)))) + i-- + dAtA[i] = 0x15 + } + if m.Ch1Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch1Voltage)))) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *AirQualityMetrics) 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 *AirQualityMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AirQualityMetrics) 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.Particles_100Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_100Um)) + i-- + dAtA[i] = 0x60 + } + if m.Particles_50Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_50Um)) + i-- + dAtA[i] = 0x58 + } + if m.Particles_25Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_25Um)) + i-- + dAtA[i] = 0x50 + } + if m.Particles_10Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_10Um)) + i-- + dAtA[i] = 0x48 + } + if m.Particles_05Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_05Um)) + i-- + dAtA[i] = 0x40 + } + if m.Particles_03Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_03Um)) + i-- + dAtA[i] = 0x38 + } + if m.Pm100Environmental != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm100Environmental)) + i-- + dAtA[i] = 0x30 + } + if m.Pm25Environmental != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm25Environmental)) + i-- + dAtA[i] = 0x28 + } + if m.Pm10Environmental != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm10Environmental)) + i-- + dAtA[i] = 0x20 + } + if m.Pm100Standard != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm100Standard)) + i-- + dAtA[i] = 0x18 + } + if m.Pm25Standard != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm25Standard)) + i-- + dAtA[i] = 0x10 + } + if m.Pm10Standard != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm10Standard)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Telemetry) 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 *Telemetry) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Telemetry) 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.Variant.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *Telemetry_DeviceMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Telemetry_DeviceMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DeviceMetrics != nil { + size, err := m.DeviceMetrics.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 *Telemetry_EnvironmentMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Telemetry_EnvironmentMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EnvironmentMetrics != nil { + size, err := m.EnvironmentMetrics.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *Telemetry_AirQualityMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Telemetry_AirQualityMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AirQualityMetrics != nil { + size, err := m.AirQualityMetrics.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 *Telemetry_PowerMetrics) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Telemetry_PowerMetrics) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PowerMetrics != nil { + size, err := m.PowerMetrics.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + return len(dAtA) - i, nil +} +func (m *DeviceMetrics) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *DeviceMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *DeviceMetrics) MarshalToSizedBufferVTStrict(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.AirUtilTx != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.AirUtilTx)))) + i-- + dAtA[i] = 0x25 + } + if m.ChannelUtilization != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.ChannelUtilization)))) + i-- + dAtA[i] = 0x1d + } + if m.Voltage != 0 { + i -= 4 + 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)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *EnvironmentMetrics) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *EnvironmentMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *EnvironmentMetrics) MarshalToSizedBufferVTStrict(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.Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Current)))) + i-- + dAtA[i] = 0x35 + } + if m.Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Voltage)))) + i-- + dAtA[i] = 0x2d + } + if m.GasResistance != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.GasResistance)))) + i-- + dAtA[i] = 0x25 + } + if m.BarometricPressure != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.BarometricPressure)))) + i-- + dAtA[i] = 0x1d + } + if m.RelativeHumidity != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.RelativeHumidity)))) + i-- + dAtA[i] = 0x15 + } + if m.Temperature != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Temperature)))) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *PowerMetrics) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PowerMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *PowerMetrics) MarshalToSizedBufferVTStrict(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.Ch3Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch3Current)))) + i-- + dAtA[i] = 0x35 + } + if m.Ch3Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch3Voltage)))) + i-- + dAtA[i] = 0x2d + } + if m.Ch2Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch2Current)))) + i-- + dAtA[i] = 0x25 + } + if m.Ch2Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch2Voltage)))) + i-- + dAtA[i] = 0x1d + } + if m.Ch1Current != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch1Current)))) + i-- + dAtA[i] = 0x15 + } + if m.Ch1Voltage != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Ch1Voltage)))) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *AirQualityMetrics) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AirQualityMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AirQualityMetrics) MarshalToSizedBufferVTStrict(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.Particles_100Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_100Um)) + i-- + dAtA[i] = 0x60 + } + if m.Particles_50Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_50Um)) + i-- + dAtA[i] = 0x58 + } + if m.Particles_25Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_25Um)) + i-- + dAtA[i] = 0x50 + } + if m.Particles_10Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_10Um)) + i-- + dAtA[i] = 0x48 + } + if m.Particles_05Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_05Um)) + i-- + dAtA[i] = 0x40 + } + if m.Particles_03Um != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Particles_03Um)) + i-- + dAtA[i] = 0x38 + } + if m.Pm100Environmental != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm100Environmental)) + i-- + dAtA[i] = 0x30 + } + if m.Pm25Environmental != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm25Environmental)) + i-- + dAtA[i] = 0x28 + } + if m.Pm10Environmental != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm10Environmental)) + i-- + dAtA[i] = 0x20 + } + if m.Pm100Standard != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm100Standard)) + i-- + dAtA[i] = 0x18 + } + if m.Pm25Standard != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm25Standard)) + i-- + dAtA[i] = 0x10 + } + if m.Pm10Standard != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Pm10Standard)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Telemetry) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Telemetry) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Telemetry) MarshalToSizedBufferVTStrict(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 msg, ok := m.Variant.(*Telemetry_PowerMetrics); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*Telemetry_AirQualityMetrics); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*Telemetry_EnvironmentMetrics); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.Variant.(*Telemetry_DeviceMetrics); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.Time != 0 { + i -= 4 + binary.LittleEndian.PutUint32(dAtA[i:], uint32(m.Time)) + i-- + dAtA[i] = 0xd + } + return len(dAtA) - i, nil +} + +func (m *Telemetry_DeviceMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Telemetry_DeviceMetrics) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.DeviceMetrics != nil { + size, err := m.DeviceMetrics.MarshalToSizedBufferVTStrict(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 *Telemetry_EnvironmentMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Telemetry_EnvironmentMetrics) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.EnvironmentMetrics != nil { + size, err := m.EnvironmentMetrics.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *Telemetry_AirQualityMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Telemetry_AirQualityMetrics) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.AirQualityMetrics != nil { + size, err := m.AirQualityMetrics.MarshalToSizedBufferVTStrict(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 *Telemetry_PowerMetrics) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *Telemetry_PowerMetrics) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.PowerMetrics != nil { + size, err := m.PowerMetrics.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + 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 *EnvironmentMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Temperature != 0 { + n += 5 + } + if m.RelativeHumidity != 0 { + n += 5 + } + if m.BarometricPressure != 0 { + n += 5 + } + if m.GasResistance != 0 { + n += 5 + } + if m.Voltage != 0 { + n += 5 + } + if m.Current != 0 { + n += 5 + } + n += len(m.unknownFields) + return n +} + +func (m *PowerMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Ch1Voltage != 0 { + n += 5 + } + if m.Ch1Current != 0 { + n += 5 + } + if m.Ch2Voltage != 0 { + n += 5 + } + if m.Ch2Current != 0 { + n += 5 + } + if m.Ch3Voltage != 0 { + n += 5 + } + if m.Ch3Current != 0 { + n += 5 + } + n += len(m.unknownFields) + return n +} + +func (m *AirQualityMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pm10Standard != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm10Standard)) + } + if m.Pm25Standard != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm25Standard)) + } + if m.Pm100Standard != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm100Standard)) + } + if m.Pm10Environmental != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm10Environmental)) + } + if m.Pm25Environmental != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm25Environmental)) + } + if m.Pm100Environmental != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Pm100Environmental)) + } + if m.Particles_03Um != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_03Um)) + } + if m.Particles_05Um != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_05Um)) + } + if m.Particles_10Um != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_10Um)) + } + if m.Particles_25Um != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_25Um)) + } + if m.Particles_50Um != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_50Um)) + } + if m.Particles_100Um != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Particles_100Um)) + } + n += len(m.unknownFields) + return n +} + +func (m *Telemetry) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Time != 0 { + n += 5 + } + if vtmsg, ok := m.Variant.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *Telemetry_DeviceMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DeviceMetrics != nil { + l = m.DeviceMetrics.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Telemetry_EnvironmentMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.EnvironmentMetrics != nil { + l = m.EnvironmentMetrics.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Telemetry_AirQualityMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.AirQualityMetrics != nil { + l = m.AirQualityMetrics.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Telemetry_PowerMetrics) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PowerMetrics != nil { + l = m.PowerMetrics.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *DeviceMetrics) 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: DeviceMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BatteryLevel", wireType) + } + m.BatteryLevel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BatteryLevel |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Voltage = float32(math.Float32frombits(v)) + case 3: + 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 4: + 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)) + 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 *EnvironmentMetrics) 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: EnvironmentMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EnvironmentMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Temperature", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Temperature = float32(math.Float32frombits(v)) + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field RelativeHumidity", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.RelativeHumidity = float32(math.Float32frombits(v)) + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field BarometricPressure", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.BarometricPressure = float32(math.Float32frombits(v)) + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field GasResistance", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.GasResistance = float32(math.Float32frombits(v)) + case 5: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Voltage = float32(math.Float32frombits(v)) + case 6: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + 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 + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PowerMetrics) 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: PowerMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PowerMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch1Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch1Voltage = float32(math.Float32frombits(v)) + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch1Current", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch1Current = float32(math.Float32frombits(v)) + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch2Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch2Voltage = float32(math.Float32frombits(v)) + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch2Current", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch2Current = float32(math.Float32frombits(v)) + case 5: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch3Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch3Voltage = float32(math.Float32frombits(v)) + 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 + m.Ch3Current = 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 +} +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) + } + m.Pm10Standard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm10Standard |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm25Standard", wireType) + } + m.Pm25Standard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm25Standard |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm100Standard", wireType) + } + m.Pm100Standard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm100Standard |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm10Environmental", wireType) + } + m.Pm10Environmental = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm10Environmental |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm25Environmental", wireType) + } + m.Pm25Environmental = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm25Environmental |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm100Environmental", wireType) + } + m.Pm100Environmental = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm100Environmental |= 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) + } + m.Particles_03Um = 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_03Um |= 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) + } + m.Particles_05Um = 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_05Um |= 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) + } + m.Particles_25Um = 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_25Um |= uint32(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 + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_100Um", wireType) + } + 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 + } + } + 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 *Telemetry) 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: Telemetry: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Telemetry: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceMetrics", 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_DeviceMetrics); ok { + if err := oneof.DeviceMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceMetrics{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_DeviceMetrics{DeviceMetrics: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentMetrics", 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_EnvironmentMetrics); ok { + if err := oneof.EnvironmentMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &EnvironmentMetrics{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_EnvironmentMetrics{EnvironmentMetrics: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AirQualityMetrics", 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_AirQualityMetrics); ok { + if err := oneof.AirQualityMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &AirQualityMetrics{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_AirQualityMetrics{AirQualityMetrics: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerMetrics", 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_PowerMetrics); ok { + if err := oneof.PowerMetrics.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &PowerMetrics{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_PowerMetrics{PowerMetrics: 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 *DeviceMetrics) UnmarshalVTUnsafe(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: DeviceMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DeviceMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BatteryLevel", wireType) + } + m.BatteryLevel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BatteryLevel |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Voltage = float32(math.Float32frombits(v)) + case 3: + 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 4: + 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)) + 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 *EnvironmentMetrics) UnmarshalVTUnsafe(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: EnvironmentMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: EnvironmentMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Temperature", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Temperature = float32(math.Float32frombits(v)) + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field RelativeHumidity", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.RelativeHumidity = float32(math.Float32frombits(v)) + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field BarometricPressure", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.BarometricPressure = float32(math.Float32frombits(v)) + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field GasResistance", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.GasResistance = float32(math.Float32frombits(v)) + case 5: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Voltage = float32(math.Float32frombits(v)) + case 6: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + 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 + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PowerMetrics) UnmarshalVTUnsafe(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: PowerMetrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PowerMetrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch1Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch1Voltage = float32(math.Float32frombits(v)) + case 2: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch1Current", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch1Current = float32(math.Float32frombits(v)) + case 3: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch2Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch2Voltage = float32(math.Float32frombits(v)) + case 4: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch2Current", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch2Current = float32(math.Float32frombits(v)) + case 5: + if wireType != 5 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch3Voltage", wireType) + } + var v uint32 + if (iNdEx + 4) > l { + return io.ErrUnexpectedEOF + } + v = uint32(binary.LittleEndian.Uint32(dAtA[iNdEx:])) + iNdEx += 4 + m.Ch3Voltage = float32(math.Float32frombits(v)) + 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 + m.Ch3Current = 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 +} +func (m *AirQualityMetrics) UnmarshalVTUnsafe(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) + } + m.Pm10Standard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm10Standard |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm25Standard", wireType) + } + m.Pm25Standard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm25Standard |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm100Standard", wireType) + } + m.Pm100Standard = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm100Standard |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm10Environmental", wireType) + } + m.Pm10Environmental = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm10Environmental |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm25Environmental", wireType) + } + m.Pm25Environmental = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm25Environmental |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Pm100Environmental", wireType) + } + m.Pm100Environmental = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Pm100Environmental |= 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) + } + m.Particles_03Um = 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_03Um |= 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) + } + m.Particles_05Um = 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_05Um |= 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) + } + m.Particles_25Um = 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_25Um |= uint32(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 + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Particles_100Um", wireType) + } + 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 + } + } + 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 *Telemetry) UnmarshalVTUnsafe(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: Telemetry: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Telemetry: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + 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 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeviceMetrics", 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_DeviceMetrics); ok { + if err := oneof.DeviceMetrics.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &DeviceMetrics{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_DeviceMetrics{DeviceMetrics: v} + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field EnvironmentMetrics", 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_EnvironmentMetrics); ok { + if err := oneof.EnvironmentMetrics.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &EnvironmentMetrics{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_EnvironmentMetrics{EnvironmentMetrics: v} + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AirQualityMetrics", 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_AirQualityMetrics); ok { + if err := oneof.AirQualityMetrics.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &AirQualityMetrics{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_AirQualityMetrics{AirQualityMetrics: v} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PowerMetrics", 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_PowerMetrics); ok { + if err := oneof.PowerMetrics.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &PowerMetrics{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Variant = &Telemetry_PowerMetrics{PowerMetrics: 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/xmodem.pb.go b/meshtastic/xmodem.pb.go new file mode 100644 index 0000000..f2aa4b6 --- /dev/null +++ b/meshtastic/xmodem.pb.go @@ -0,0 +1,251 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: meshtastic/xmodem.proto + +package generated + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +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 XModem_Control int32 + +const ( + XModem_NUL XModem_Control = 0 + XModem_SOH XModem_Control = 1 + XModem_STX XModem_Control = 2 + XModem_EOT XModem_Control = 4 + XModem_ACK XModem_Control = 6 + XModem_NAK XModem_Control = 21 + XModem_CAN XModem_Control = 24 + XModem_CTRLZ XModem_Control = 26 +) + +// Enum value maps for XModem_Control. +var ( + XModem_Control_name = map[int32]string{ + 0: "NUL", + 1: "SOH", + 2: "STX", + 4: "EOT", + 6: "ACK", + 21: "NAK", + 24: "CAN", + 26: "CTRLZ", + } + XModem_Control_value = map[string]int32{ + "NUL": 0, + "SOH": 1, + "STX": 2, + "EOT": 4, + "ACK": 6, + "NAK": 21, + "CAN": 24, + "CTRLZ": 26, + } +) + +func (x XModem_Control) Enum() *XModem_Control { + p := new(XModem_Control) + *p = x + return p +} + +func (x XModem_Control) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (XModem_Control) Descriptor() protoreflect.EnumDescriptor { + return file_meshtastic_xmodem_proto_enumTypes[0].Descriptor() +} + +func (XModem_Control) Type() protoreflect.EnumType { + return &file_meshtastic_xmodem_proto_enumTypes[0] +} + +func (x XModem_Control) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use XModem_Control.Descriptor instead. +func (XModem_Control) EnumDescriptor() ([]byte, []int) { + return file_meshtastic_xmodem_proto_rawDescGZIP(), []int{0, 0} +} + +type XModem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + 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"` +} + +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) + } +} + +func (x *XModem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*XModem) ProtoMessage() {} + +func (x *XModem) ProtoReflect() protoreflect.Message { + mi := &file_meshtastic_xmodem_proto_msgTypes[0] + 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 XModem.ProtoReflect.Descriptor instead. +func (*XModem) Descriptor() ([]byte, []int) { + return file_meshtastic_xmodem_proto_rawDescGZIP(), []int{0} +} + +func (x *XModem) GetControl() XModem_Control { + if x != nil { + return x.Control + } + return XModem_NUL +} + +func (x *XModem) GetSeq() uint32 { + if x != nil { + return x.Seq + } + return 0 +} + +func (x *XModem) GetCrc16() uint32 { + if x != nil { + return x.Crc16 + } + return 0 +} + +func (x *XModem) GetBuffer() []byte { + if x != nil { + return x.Buffer + } + return nil +} + +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, +} + +var ( + file_meshtastic_xmodem_proto_rawDescOnce sync.Once + file_meshtastic_xmodem_proto_rawDescData = file_meshtastic_xmodem_proto_rawDesc +) + +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) + }) + 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{}{ + (XModem_Control)(0), // 0: meshtastic.XModem.Control + (*XModem)(nil), // 1: meshtastic.XModem +} +var file_meshtastic_xmodem_proto_depIdxs = []int32{ + 0, // 0: meshtastic.XModem.control:type_name -> meshtastic.XModem.Control + 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_xmodem_proto_init() } +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, + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_meshtastic_xmodem_proto_goTypes, + DependencyIndexes: file_meshtastic_xmodem_proto_depIdxs, + EnumInfos: file_meshtastic_xmodem_proto_enumTypes, + 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/meshtastic/xmodem_vtproto.pb.go b/meshtastic/xmodem_vtproto.pb.go new file mode 100644 index 0000000..70e9684 --- /dev/null +++ b/meshtastic/xmodem_vtproto.pb.go @@ -0,0 +1,487 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: meshtastic/xmodem.proto + +package generated + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + 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 *XModem) CloneVT() *XModem { + if m == nil { + return (*XModem)(nil) + } + r := new(XModem) + r.Control = m.Control + r.Seq = m.Seq + r.Crc16 = m.Crc16 + if rhs := m.Buffer; rhs != nil { + tmpBytes := make([]byte, len(rhs)) + copy(tmpBytes, rhs) + r.Buffer = tmpBytes + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *XModem) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *XModem) EqualVT(that *XModem) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Control != that.Control { + return false + } + if this.Seq != that.Seq { + return false + } + if this.Crc16 != that.Crc16 { + return false + } + if string(this.Buffer) != string(that.Buffer) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *XModem) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*XModem) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *XModem) 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 *XModem) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *XModem) 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.Buffer) > 0 { + i -= len(m.Buffer) + copy(dAtA[i:], m.Buffer) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Buffer))) + i-- + dAtA[i] = 0x22 + } + if m.Crc16 != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Crc16)) + i-- + dAtA[i] = 0x18 + } + if m.Seq != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Seq)) + i-- + dAtA[i] = 0x10 + } + if m.Control != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Control)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *XModem) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *XModem) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *XModem) MarshalToSizedBufferVTStrict(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.Buffer) > 0 { + i -= len(m.Buffer) + copy(dAtA[i:], m.Buffer) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Buffer))) + i-- + dAtA[i] = 0x22 + } + if m.Crc16 != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Crc16)) + i-- + dAtA[i] = 0x18 + } + if m.Seq != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Seq)) + i-- + dAtA[i] = 0x10 + } + if m.Control != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Control)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *XModem) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Control != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Control)) + } + if m.Seq != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Seq)) + } + if m.Crc16 != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Crc16)) + } + l = len(m.Buffer) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *XModem) 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: XModem: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: XModem: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Control", wireType) + } + m.Control = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Control |= XModem_Control(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Seq", wireType) + } + m.Seq = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Seq |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Crc16", wireType) + } + m.Crc16 = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Crc16 |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Buffer", 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.Buffer = append(m.Buffer[:0], dAtA[iNdEx:postIndex]...) + if m.Buffer == nil { + m.Buffer = []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 *XModem) UnmarshalVTUnsafe(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: XModem: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: XModem: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Control", wireType) + } + m.Control = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Control |= XModem_Control(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Seq", wireType) + } + m.Seq = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Seq |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Crc16", wireType) + } + m.Crc16 = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Crc16 |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Buffer", 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.Buffer = 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 +} diff --git a/mqtt/node.go b/mqtt/node.go index 3400307..fa5fdb7 100644 --- a/mqtt/node.go +++ b/mqtt/node.go @@ -1,6 +1,6 @@ package mqtt -import "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" +import meshtastic "github.com/crypto-smoke/meshtastic-go/meshtastic" // Node implements a meshtastic node that connects only via MQTT type Node struct { diff --git a/protobufs b/protobufs new file mode 160000 +Subproject 5f28be497a5518334c86378335e8ffcd177ed66 diff --git a/radio/radio.go b/radio/radio.go index 749cbae..adabd0f 100644 --- a/radio/radio.go +++ b/radio/radio.go @@ -1,10 +1,10 @@ package radio import ( - generated "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" "encoding/base64" "errors" "fmt" + generated "github.com/crypto-smoke/meshtastic-go/meshtastic" "google.golang.org/protobuf/proto" ) diff --git a/transport/client.go b/transport/client.go index c638cf4..214ecf0 100644 --- a/transport/client.go +++ b/transport/client.go @@ -1,10 +1,10 @@ package transport import ( - "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" "context" "errors" "fmt" + meshtastic "github.com/crypto-smoke/meshtastic-go/meshtastic" "google.golang.org/protobuf/proto" "log/slog" "math/rand" diff --git a/transport/stream_conn_test.go b/transport/stream_conn_test.go index c0d996f..6b044cf 100644 --- a/transport/stream_conn_test.go +++ b/transport/stream_conn_test.go @@ -1,8 +1,8 @@ package transport import ( - pb "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" "bytes" + pb "github.com/crypto-smoke/meshtastic-go/meshtastic" "github.com/stretchr/testify/require" "golang.org/x/sync/errgroup" "google.golang.org/protobuf/proto" @@ -1,7 +1,7 @@ package meshtastic import ( - pbuf "buf.build/gen/go/meshtastic/protobufs/protocolbuffers/go/meshtastic" + pbuf "github.com/crypto-smoke/meshtastic-go/meshtastic" ) type Node struct { |
