Compare commits

..

9 commits

Author SHA1 Message Date
dcf57954b4 Update protobufs
Some checks failed
/ build-container (push) Successful in 1m55s
/ Deploy to kubernetes (push) Failing after 8s
2025-04-20 02:22:53 -07:00
b3f8d5fbdd Update dependency go to v1.24.2
Some checks failed
/ build-container (push) Successful in 2m3s
/ Deploy to kubernetes (push) Failing after 9s
2025-04-16 16:55:02 +00:00
bef2914066 Update module maunium.net/go/mautrix to v0.23.3
Some checks failed
/ Deploy to kubernetes (push) Blocked by required conditions
/ build-container (push) Has been cancelled
2025-04-16 10:05:56 +00:00
9c73fc69ae Update module github.com/rs/zerolog to v1.34.0
Some checks failed
/ build-container (push) Successful in 1m57s
/ Deploy to kubernetes (push) Failing after 9s
2025-03-30 21:06:17 +00:00
b58c81da7a Update module github.com/pressly/goose/v3 to v3.24.2
Some checks failed
/ build-container (push) Successful in 25s
/ Deploy to kubernetes (push) Failing after 8s
2025-03-28 03:06:08 +00:00
1962fc1251 Update module google.golang.org/protobuf to v1.36.6
Some checks failed
/ build-container (push) Successful in 1m55s
/ Deploy to kubernetes (push) Failing after 9s
2025-03-24 11:06:29 +00:00
68664fa094 Update module maunium.net/go/mautrix to v0.23.2
Some checks failed
/ build-container (push) Successful in 2m0s
/ Deploy to kubernetes (push) Failing after 8s
2025-03-16 15:06:10 +00:00
ed73c5996a Update module maunium.net/go/mautrix to v0.23.1
Some checks failed
/ build-container (push) Successful in 25s
/ Deploy to kubernetes (push) Failing after 10s
2025-02-16 16:05:28 +00:00
2f5763c926 Update golang Docker tag to v1.24
Some checks failed
/ build-container (push) Successful in 1m57s
/ Deploy to kubernetes (push) Failing after 8s
2025-02-12 19:05:57 +00:00
26 changed files with 2152 additions and 755 deletions

View file

@ -4,8 +4,6 @@ jobs:
runs-on: docker
container:
image: library/docker:dind
outputs:
tags: "${{ steps.meta.outputs.tags }}"
steps:
- run: apk add --no-cache nodejs git
- name: login to container registry
@ -39,16 +37,12 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
repository: jankysolutions/infra
ref: main
repository: https://git.janky.solutions/JankySolutions/infra.git
- name: deploy
run: |
set -exuo pipefail
tag=$(echo "${tags}" | tail -n1)
tag=$(echo "${{ needs.build-container.outputs.tags }}" | tail -n1)
sed -i "s#image: git.janky.solutions/finn/matrix-bridge-meshtastic:.*#image: ${tag}#" k8s/meshtastic/statefulset.yaml
git config user.email "deployer@janky.solutions"
git config user.name "Deployer Robot"
git commit -am "bump matrix-bridge-meshtastic to ${tag}"
git push
env:
tags: "${{ needs.build-container.outputs.tags }}"

View file

@ -1,4 +1,4 @@
FROM library/golang:1.23 AS build
FROM library/golang:1.24 AS build
ADD . /bridge
WORKDIR /bridge
RUN go build ./cmd/matrix-bridge-meshtastic

24
go.mod
View file

@ -1,14 +1,16 @@
module git.janky.solutions/finn/matrix-bridge-meshtastic
go 1.22.7
go 1.23.0
toolchain go1.24.2
require (
github.com/mattn/go-sqlite3 v1.14.24
github.com/pressly/goose/v3 v3.24.1
github.com/rs/zerolog v1.33.0
github.com/mattn/go-sqlite3 v1.14.27
github.com/pressly/goose/v3 v3.24.2
github.com/rs/zerolog v1.34.0
github.com/sirupsen/logrus v1.9.3
google.golang.org/protobuf v1.36.3
maunium.net/go/mautrix v0.23.0
google.golang.org/protobuf v1.36.6
maunium.net/go/mautrix v0.23.3
)
require (
@ -21,10 +23,10 @@ require (
github.com/tidwall/match v1.1.1 // indirect
github.com/tidwall/pretty v1.2.1 // indirect
github.com/tidwall/sjson v1.2.5 // indirect
go.mau.fi/util v0.8.4 // indirect
go.mau.fi/util v0.8.6 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.32.0 // indirect
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.29.0 // indirect
golang.org/x/crypto v0.37.0 // indirect
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
)

45
go.sum
View file

@ -22,6 +22,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM=
github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mattn/go-sqlite3 v1.14.27 h1:drZCnuvf37yPfs95E5jd9s3XhdVWLal+6BOK6qrv6IU=
github.com/mattn/go-sqlite3 v1.14.27/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mfridman/interpolate v0.0.2 h1:pnuTK7MQIxxFz1Gr+rjSIx9u7qVjf5VOoM/u6BbAxPY=
github.com/mfridman/interpolate v0.0.2/go.mod h1:p+7uk6oE07mpE/Ik1b8EckO0O4ZXiGAfshKBWLUM9Xg=
github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
@ -31,11 +33,16 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pressly/goose/v3 v3.24.1 h1:bZmxRco2uy5uu5Ng1MMVEfYsFlrMJI+e/VMXHQ3C4LY=
github.com/pressly/goose/v3 v3.24.1/go.mod h1:rEWreU9uVtt0DHCyLzF9gRcWiiTF/V+528DV+4DORug=
github.com/pressly/goose/v3 v3.24.2 h1:c/ie0Gm8rnIVKvnDQ/scHErv46jrDv9b4I0WRcFJzYU=
github.com/pressly/goose/v3 v3.24.2/go.mod h1:kjefwFB0eR4w30Td2Gj2Mznyw94vSP+2jJYkOVNbD1k=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
github.com/sethvargo/go-retry v0.3.0 h1:EEt31A35QhrcRZtrYFDTBg91cqZVnFL2navjDrah2SE=
github.com/sethvargo/go-retry v0.3.0/go.mod h1:mNX17F0C/HguQMyMyJxcnU471gOZGxCLyYaFyAZraas=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
@ -56,28 +63,66 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY=
github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28=
go.mau.fi/util v0.8.4 h1:mVKlJcXWfVo8ZW3f4vqtjGpqtZqJvX4ETekxawt2vnQ=
go.mau.fi/util v0.8.4/go.mod h1:MOfGTs1CBuK6ERTcSL4lb5YU7/ujz09eOPVEDckuazY=
go.mau.fi/util v0.8.5 h1:PwCAAtcfK0XxZ4sdErJyfBMkTEWoQU33aB7QqDDzQRI=
go.mau.fi/util v0.8.5/go.mod h1:Ycug9mrbztlahHPEJ6H5r8Nu/xqZaWbE5vPHVWmfz6M=
go.mau.fi/util v0.8.6 h1:AEK13rfgtiZJL2YsNK+W4ihhYCuukcRom8WPP/w/L54=
go.mau.fi/util v0.8.6/go.mod h1:uNB3UTXFbkpp7xL1M/WvQks90B/L4gvbLpbS0603KOE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA=
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
golang.org/x/exp v0.0.0-20250215185904-eff6e970281f h1:oFMYAjX0867ZD2jcNiLBrI9BdpmEkvPyi5YrBGXbamg=
golang.org/x/exp v0.0.0-20250215185904-eff6e970281f/go.mod h1:BHOTPb3L19zxehTsLoJXVaTktb06DFgmdW6Wb9s8jqk=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0 h1:R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM=
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0/go.mod h1:S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8=
golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU=
google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM=
google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
maunium.net/go/mautrix v0.23.0 h1:HNlR19eew5lvrNSL2muhExaGhYdaGk5FfEiA82QqUP4=
maunium.net/go/mautrix v0.23.0/go.mod h1:AGnnaz3ylGikUo1I1MJVn9QLsl2No1/ZNnGDyO0QD5s=
maunium.net/go/mautrix v0.23.1 h1:xZtX43YZF3WRxkdR+oMUrpiQe+jbjc+LeXLxHuXP5IM=
maunium.net/go/mautrix v0.23.1/go.mod h1:kldoZQDneV/jquIhwG1MmMw5j2A2M/MnQYRSWt863cY=
maunium.net/go/mautrix v0.23.2 h1:Bo3tPrQJwkxyL7aMmy/T+d2tqIrypZjHqeHe8fyeAOg=
maunium.net/go/mautrix v0.23.2/go.mod h1:pCYLHmo02Jauak/9VlTkbGPrBMvLXsGqTGMNOx+L2PE=
maunium.net/go/mautrix v0.23.3 h1:U+fzdcLhFKLUm5gf2+Q0hEUqWkwDMRfvE+paUH9ogSk=
maunium.net/go/mautrix v0.23.3/go.mod h1:LX+3evXVKSvh/b43BVC3rkvN2qV7b0bkIV4fY7Snn/4=
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 h1:5D53IMaUuA5InSeMu9eJtlQXS2NxAhyWQvkKEgXZhHI=
modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
modernc.org/libc v1.55.3 h1:AzcW1mhlPNrRtjS5sS+eW2ISCgSOLLNyFzRh/V3Qj/U=

@ -1 +1 @@
Subproject commit 76f806e1bb1e2a7b157a14fadd095775f63db5e4
Subproject commit 27fac39141d99fe727a0a1824c5397409b1aea75

View file

@ -40,6 +40,7 @@ const (
AdminMessage_BLUETOOTH_CONFIG AdminMessage_ConfigType = 6
// TODO: REPLACE
AdminMessage_SECURITY_CONFIG AdminMessage_ConfigType = 7
// Session key config
AdminMessage_SESSIONKEY_CONFIG AdminMessage_ConfigType = 8
// device-ui config
AdminMessage_DEVICEUI_CONFIG AdminMessage_ConfigType = 9
@ -193,6 +194,54 @@ func (AdminMessage_ModuleConfigType) EnumDescriptor() ([]byte, []int) {
return file_protobufs_admin_proto_rawDescGZIP(), []int{0, 1}
}
type AdminMessage_BackupLocation int32
const (
// Backup to the internal flash
AdminMessage_FLASH AdminMessage_BackupLocation = 0
// Backup to the SD card
AdminMessage_SD AdminMessage_BackupLocation = 1
)
// Enum value maps for AdminMessage_BackupLocation.
var (
AdminMessage_BackupLocation_name = map[int32]string{
0: "FLASH",
1: "SD",
}
AdminMessage_BackupLocation_value = map[string]int32{
"FLASH": 0,
"SD": 1,
}
)
func (x AdminMessage_BackupLocation) Enum() *AdminMessage_BackupLocation {
p := new(AdminMessage_BackupLocation)
*p = x
return p
}
func (x AdminMessage_BackupLocation) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AdminMessage_BackupLocation) Descriptor() protoreflect.EnumDescriptor {
return file_protobufs_admin_proto_enumTypes[2].Descriptor()
}
func (AdminMessage_BackupLocation) Type() protoreflect.EnumType {
return &file_protobufs_admin_proto_enumTypes[2]
}
func (x AdminMessage_BackupLocation) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AdminMessage_BackupLocation.Descriptor instead.
func (AdminMessage_BackupLocation) EnumDescriptor() ([]byte, []int) {
return file_protobufs_admin_proto_rawDescGZIP(), []int{0, 2}
}
// 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)
@ -231,6 +280,9 @@ type AdminMessage struct {
// *AdminMessage_EnterDfuModeRequest
// *AdminMessage_DeleteFileRequest
// *AdminMessage_SetScale
// *AdminMessage_BackupPreferences
// *AdminMessage_RestorePreferences
// *AdminMessage_RemoveBackupPreferences
// *AdminMessage_SetOwner
// *AdminMessage_SetChannel
// *AdminMessage_SetConfig
@ -460,6 +512,27 @@ func (x *AdminMessage) GetSetScale() uint32 {
return 0
}
func (x *AdminMessage) GetBackupPreferences() AdminMessage_BackupLocation {
if x, ok := x.GetPayloadVariant().(*AdminMessage_BackupPreferences); ok {
return x.BackupPreferences
}
return AdminMessage_FLASH
}
func (x *AdminMessage) GetRestorePreferences() AdminMessage_BackupLocation {
if x, ok := x.GetPayloadVariant().(*AdminMessage_RestorePreferences); ok {
return x.RestorePreferences
}
return AdminMessage_FLASH
}
func (x *AdminMessage) GetRemoveBackupPreferences() AdminMessage_BackupLocation {
if x, ok := x.GetPayloadVariant().(*AdminMessage_RemoveBackupPreferences); ok {
return x.RemoveBackupPreferences
}
return AdminMessage_FLASH
}
func (x *AdminMessage) GetSetOwner() *User {
if x, ok := x.GetPayloadVariant().(*AdminMessage_SetOwner); ok {
return x.SetOwner
@ -758,6 +831,21 @@ type AdminMessage_SetScale struct {
SetScale uint32 `protobuf:"varint,23,opt,name=set_scale,json=setScale,proto3,oneof"`
}
type AdminMessage_BackupPreferences struct {
// Backup the node's preferences
BackupPreferences AdminMessage_BackupLocation `protobuf:"varint,24,opt,name=backup_preferences,json=backupPreferences,proto3,enum=meshtastic.AdminMessage_BackupLocation,oneof"`
}
type AdminMessage_RestorePreferences struct {
// Restore the node's preferences
RestorePreferences AdminMessage_BackupLocation `protobuf:"varint,25,opt,name=restore_preferences,json=restorePreferences,proto3,enum=meshtastic.AdminMessage_BackupLocation,oneof"`
}
type AdminMessage_RemoveBackupPreferences struct {
// Remove backups of the node's preferences
RemoveBackupPreferences AdminMessage_BackupLocation `protobuf:"varint,26,opt,name=remove_backup_preferences,json=removeBackupPreferences,proto3,enum=meshtastic.AdminMessage_BackupLocation,oneof"`
}
type AdminMessage_SetOwner struct {
// Set the owner for this node
SetOwner *User `protobuf:"bytes,32,opt,name=set_owner,json=setOwner,proto3,oneof"`
@ -940,6 +1028,12 @@ func (*AdminMessage_DeleteFileRequest) isAdminMessage_PayloadVariant() {}
func (*AdminMessage_SetScale) isAdminMessage_PayloadVariant() {}
func (*AdminMessage_BackupPreferences) isAdminMessage_PayloadVariant() {}
func (*AdminMessage_RestorePreferences) isAdminMessage_PayloadVariant() {}
func (*AdminMessage_RemoveBackupPreferences) isAdminMessage_PayloadVariant() {}
func (*AdminMessage_SetOwner) isAdminMessage_PayloadVariant() {}
func (*AdminMessage_SetChannel) isAdminMessage_PayloadVariant() {}
@ -1134,7 +1228,7 @@ var file_protobufs_admin_proto_rawDesc = []byte{
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75,
0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x1c, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69,
0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x1e, 0x0a, 0x0c, 0x41, 0x64, 0x6d, 0x69,
0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x6b, 0x65, 0x79, 0x18, 0x65, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x6b, 0x65,
@ -1241,153 +1335,173 @@ var file_protobufs_admin_proto_rawDesc = []byte{
0x00, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6c,
0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x73, 0x65, 0x74, 0x53, 0x63,
0x61, 0x6c, 0x65, 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, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x74,
0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x27,
0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72,
0x69, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x76,
0x65, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18,
0x28, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46,
0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x44, 0x0a, 0x12, 0x73,
0x65, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x29, 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, 0x48, 0x00, 0x52,
0x10, 0x73, 0x65, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x34, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x78, 0x65,
0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08,
0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x78, 0x65, 0x64, 0x50,
0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00,
0x52, 0x0b, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x33, 0x0a,
0x15, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x12,
0x67, 0x65, 0x74, 0x55, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x51, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x5f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x2d, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
0x52, 0x13, 0x67, 0x65, 0x74, 0x55, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x75,
0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x55, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74,
0x6f, 0x72, 0x65, 0x55, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x73,
0x65, 0x74, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18,
0x2f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x49, 0x67, 0x6e, 0x6f,
0x72, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76,
0x65, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x30,
0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x67,
0x6e, 0x6f, 0x72, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 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,
0x61, 0x6c, 0x65, 0x12, 0x58, 0x0a, 0x12, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x27, 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, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x11, 0x62, 0x61, 0x63, 0x6b,
0x75, 0x70, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x5a, 0x0a,
0x13, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
0x6e, 0x63, 0x65, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 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, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x50, 0x72,
0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x19, 0x72, 0x65, 0x6d,
0x6f, 0x76, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65,
0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 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, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42,
0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73,
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, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x74, 0x5f, 0x66, 0x61,
0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28,
0x0d, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x65, 0x74, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65,
0x4e, 0x6f, 0x64, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x66,
0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x28, 0x20, 0x01,
0x28, 0x0d, 0x48, 0x00, 0x52, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x61, 0x76, 0x6f,
0x72, 0x69, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x44, 0x0a, 0x12, 0x73, 0x65, 0x74, 0x5f,
0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x29,
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, 0x48, 0x00, 0x52, 0x10, 0x73, 0x65,
0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34,
0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70,
0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52,
0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x78, 0x65, 0x64, 0x50, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, 0x0b, 0x73,
0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x33, 0x0a, 0x15, 0x67, 0x65,
0x74, 0x5f, 0x75, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x12, 0x67, 0x65, 0x74,
0x55, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x51, 0x0a, 0x16, 0x67, 0x65, 0x74, 0x5f, 0x75, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1a, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 0x55, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x13, 0x67,
0x65, 0x74, 0x55, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x44, 0x0a, 0x0f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x5f, 0x75, 0x69, 0x5f, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x65,
0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55,
0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x65,
0x55, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x65, 0x74, 0x5f,
0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x2f, 0x20, 0x01,
0x28, 0x0d, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64,
0x4e, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69,
0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28,
0x0d, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x67, 0x6e, 0x6f, 0x72,
0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 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, 0x32, 0x0a, 0x14,
0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x12, 0x66, 0x61,
0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
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,
0x32, 0x0a, 0x14, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74,
0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
0x12, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 0x65, 0x76,
0x69, 0x63, 0x65, 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, 0x32, 0x0a, 0x14, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65,
0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x63, 0x20, 0x01, 0x28, 0x05,
0x48, 0x00, 0x52, 0x12, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 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, 0xd6, 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, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f,
0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x53, 0x53,
0x49, 0x4f, 0x4e, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x08, 0x12,
0x13, 0x0a, 0x0f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x55, 0x49, 0x5f, 0x43, 0x4f, 0x4e, 0x46,
0x49, 0x47, 0x10, 0x09, 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, 0x84, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72,
0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61,
0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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,
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x63, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
0x12, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 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, 0xd6, 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,
0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x43, 0x4f, 0x4e,
0x46, 0x49, 0x47, 0x10, 0x07, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e,
0x4b, 0x45, 0x59, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x08, 0x12, 0x13, 0x0a, 0x0f,
0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x55, 0x49, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10,
0x09, 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, 0x22,
0x23, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x4c, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02,
0x53, 0x44, 0x10, 0x01, 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, 0x84,
0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73,
0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61,
0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68,
0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69,
0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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 (
@ -1402,48 +1516,52 @@ func file_protobufs_admin_proto_rawDescGZIP() []byte {
return file_protobufs_admin_proto_rawDescData
}
var file_protobufs_admin_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_protobufs_admin_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_protobufs_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_protobufs_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
(*Position)(nil), // 11: meshtastic.Position
(*DeviceUIConfig)(nil), // 12: meshtastic.DeviceUIConfig
(*NodeRemoteHardwarePin)(nil), // 13: meshtastic.NodeRemoteHardwarePin
(AdminMessage_BackupLocation)(0), // 2: meshtastic.AdminMessage.BackupLocation
(*AdminMessage)(nil), // 3: meshtastic.AdminMessage
(*HamParameters)(nil), // 4: meshtastic.HamParameters
(*NodeRemoteHardwarePinsResponse)(nil), // 5: meshtastic.NodeRemoteHardwarePinsResponse
(*Channel)(nil), // 6: meshtastic.Channel
(*User)(nil), // 7: meshtastic.User
(*Config)(nil), // 8: meshtastic.Config
(*ModuleConfig)(nil), // 9: meshtastic.ModuleConfig
(*DeviceMetadata)(nil), // 10: meshtastic.DeviceMetadata
(*DeviceConnectionStatus)(nil), // 11: meshtastic.DeviceConnectionStatus
(*Position)(nil), // 12: meshtastic.Position
(*DeviceUIConfig)(nil), // 13: meshtastic.DeviceUIConfig
(*NodeRemoteHardwarePin)(nil), // 14: meshtastic.NodeRemoteHardwarePin
}
var file_protobufs_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
6, // 0: meshtastic.AdminMessage.get_channel_response:type_name -> meshtastic.Channel
7, // 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
8, // 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.AdminMessage.set_fixed_position:type_name -> meshtastic.Position
12, // 15: meshtastic.AdminMessage.get_ui_config_response:type_name -> meshtastic.DeviceUIConfig
12, // 16: meshtastic.AdminMessage.store_ui_config:type_name -> meshtastic.DeviceUIConfig
13, // 17: meshtastic.NodeRemoteHardwarePinsResponse.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin
18, // [18:18] is the sub-list for method output_type
18, // [18:18] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
9, // 5: meshtastic.AdminMessage.get_module_config_response:type_name -> meshtastic.ModuleConfig
10, // 6: meshtastic.AdminMessage.get_device_metadata_response:type_name -> meshtastic.DeviceMetadata
11, // 7: meshtastic.AdminMessage.get_device_connection_status_response:type_name -> meshtastic.DeviceConnectionStatus
4, // 8: meshtastic.AdminMessage.set_ham_mode:type_name -> meshtastic.HamParameters
5, // 9: meshtastic.AdminMessage.get_node_remote_hardware_pins_response:type_name -> meshtastic.NodeRemoteHardwarePinsResponse
2, // 10: meshtastic.AdminMessage.backup_preferences:type_name -> meshtastic.AdminMessage.BackupLocation
2, // 11: meshtastic.AdminMessage.restore_preferences:type_name -> meshtastic.AdminMessage.BackupLocation
2, // 12: meshtastic.AdminMessage.remove_backup_preferences:type_name -> meshtastic.AdminMessage.BackupLocation
7, // 13: meshtastic.AdminMessage.set_owner:type_name -> meshtastic.User
6, // 14: meshtastic.AdminMessage.set_channel:type_name -> meshtastic.Channel
8, // 15: meshtastic.AdminMessage.set_config:type_name -> meshtastic.Config
9, // 16: meshtastic.AdminMessage.set_module_config:type_name -> meshtastic.ModuleConfig
12, // 17: meshtastic.AdminMessage.set_fixed_position:type_name -> meshtastic.Position
13, // 18: meshtastic.AdminMessage.get_ui_config_response:type_name -> meshtastic.DeviceUIConfig
13, // 19: meshtastic.AdminMessage.store_ui_config:type_name -> meshtastic.DeviceUIConfig
14, // 20: meshtastic.NodeRemoteHardwarePinsResponse.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin
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_protobufs_admin_proto_init() }
@ -1518,6 +1636,9 @@ func file_protobufs_admin_proto_init() {
(*AdminMessage_EnterDfuModeRequest)(nil),
(*AdminMessage_DeleteFileRequest)(nil),
(*AdminMessage_SetScale)(nil),
(*AdminMessage_BackupPreferences)(nil),
(*AdminMessage_RestorePreferences)(nil),
(*AdminMessage_RemoveBackupPreferences)(nil),
(*AdminMessage_SetOwner)(nil),
(*AdminMessage_SetChannel)(nil),
(*AdminMessage_SetConfig)(nil),
@ -1550,7 +1671,7 @@ func file_protobufs_admin_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protobufs_admin_proto_rawDesc,
NumEnums: 2,
NumEnums: 3,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,

View file

@ -74,7 +74,7 @@ message AdminMessage {
SECURITY_CONFIG = 7;
/*
*
* Session key config
*/
SESSIONKEY_CONFIG = 8;
@ -154,6 +154,18 @@ message AdminMessage {
PAXCOUNTER_CONFIG = 12;
}
enum BackupLocation {
/*
* Backup to the internal flash
*/
FLASH = 0;
/*
* Backup to the SD card
*/
SD = 1;
}
/*
* TODO: REPLACE
*/
@ -270,6 +282,20 @@ message AdminMessage {
*/
uint32 set_scale = 23;
/*
* Backup the node's preferences
*/
BackupLocation backup_preferences = 24;
/*
* Restore the node's preferences
*/
BackupLocation restore_preferences = 25;
/*
* Remove backups of the node's preferences
*/
BackupLocation remove_backup_preferences = 26;
/*
* Set the owner for this node
*/

View file

@ -586,14 +586,16 @@ func (Config_DisplayConfig_DisplayUnits) EnumDescriptor() ([]byte, []int) {
type Config_DisplayConfig_OledType int32
const (
// Default / Auto
// Default / Autodetect
Config_DisplayConfig_OLED_AUTO Config_DisplayConfig_OledType = 0
// Default / Auto
// Default / Autodetect
Config_DisplayConfig_OLED_SSD1306 Config_DisplayConfig_OledType = 1
// Default / Auto
// Default / Autodetect
Config_DisplayConfig_OLED_SH1106 Config_DisplayConfig_OledType = 2
// Can not be auto detected but set by proto. Used for 128x128 screens
Config_DisplayConfig_OLED_SH1107 Config_DisplayConfig_OledType = 3
// Can not be auto detected but set by proto. Used for 128x64 screens
Config_DisplayConfig_OLED_SH1107_128_64 Config_DisplayConfig_OledType = 4
)
// Enum value maps for Config_DisplayConfig_OledType.
@ -603,12 +605,14 @@ var (
1: "OLED_SSD1306",
2: "OLED_SH1106",
3: "OLED_SH1107",
4: "OLED_SH1107_128_64",
}
Config_DisplayConfig_OledType_value = map[string]int32{
"OLED_AUTO": 0,
"OLED_SSD1306": 1,
"OLED_SH1106": 2,
"OLED_SH1107": 3,
"OLED_AUTO": 0,
"OLED_SSD1306": 1,
"OLED_SH1106": 2,
"OLED_SH1107": 3,
"OLED_SH1107_128_64": 4,
}
)
@ -1692,7 +1696,7 @@ type Config_NetworkConfig struct {
WifiSsid string `protobuf:"bytes,3,opt,name=wifi_ssid,json=wifiSsid,proto3" json:"wifi_ssid,omitempty"`
// If set, will be use to authenticate to the named wifi
WifiPsk string `protobuf:"bytes,4,opt,name=wifi_psk,json=wifiPsk,proto3" json:"wifi_psk,omitempty"`
// NTP server to use if WiFi is conneced, defaults to `0.pool.ntp.org`
// NTP server to use if WiFi is conneced, defaults to `meshtastic.pool.ntp.org`
NtpServer string `protobuf:"bytes,5,opt,name=ntp_server,json=ntpServer,proto3" json:"ntp_server,omitempty"`
// Enable Ethernet
EthEnabled bool `protobuf:"varint,6,opt,name=eth_enabled,json=ethEnabled,proto3" json:"eth_enabled,omitempty"`
@ -1832,6 +1836,9 @@ type Config_DisplayConfig struct {
WakeOnTapOrMotion bool `protobuf:"varint,10,opt,name=wake_on_tap_or_motion,json=wakeOnTapOrMotion,proto3" json:"wake_on_tap_or_motion,omitempty"`
// Indicates how to rotate or invert the compass output to accurate display on the display.
CompassOrientation Config_DisplayConfig_CompassOrientation `protobuf:"varint,11,opt,name=compass_orientation,json=compassOrientation,proto3,enum=meshtastic.Config_DisplayConfig_CompassOrientation" json:"compass_orientation,omitempty"`
// If false (default), the device will display the time in 24-hour format on screen.
// If true, the device will display the time in 12-hour format on screen.
Use_12HClock bool `protobuf:"varint,12,opt,name=use_12h_clock,json=use12hClock,proto3" json:"use_12h_clock,omitempty"`
}
func (x *Config_DisplayConfig) Reset() {
@ -1943,6 +1950,13 @@ func (x *Config_DisplayConfig) GetCompassOrientation() Config_DisplayConfig_Comp
return Config_DisplayConfig_DEGREES_0
}
func (x *Config_DisplayConfig) GetUse_12HClock() bool {
if x != nil {
return x.Use_12HClock
}
return false
}
// Lora Config
type Config_LoRaConfig struct {
state protoimpl.MessageState
@ -2469,7 +2483,7 @@ var file_protobufs_config_proto_rawDesc = []byte{
0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61,
0x73, 0x74, 0x69, 0x63, 0x1a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f,
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0xe2, 0x30, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x06, 0x64, 0x65,
0x9e, 0x31, 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,
@ -2682,7 +2696,7 @@ var file_protobufs_config_proto_rawDesc = []byte{
0x34, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73,
0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54,
0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x44, 0x50, 0x5f, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43,
0x41, 0x53, 0x54, 0x10, 0x01, 0x1a, 0xe9, 0x08, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61,
0x41, 0x53, 0x54, 0x10, 0x01, 0x1a, 0xa5, 0x09, 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,
@ -2724,151 +2738,154 @@ var file_protobufs_config_proto_rawDesc = []byte{
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x4f, 0x72,
0x69, 0x65, 0x6e, 0x74, 0x61, 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, 0x22, 0xba, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73,
0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x44,
0x45, 0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x30, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45,
0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x39, 0x30, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45,
0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x31, 0x38, 0x30, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x44,
0x45, 0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x32, 0x37, 0x30, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12,
0x44, 0x45, 0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x30, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54,
0x45, 0x44, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x47, 0x52, 0x45, 0x45, 0x53, 0x5f,
0x39, 0x30, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x18, 0x0a,
0x14, 0x44, 0x45, 0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x31, 0x38, 0x30, 0x5f, 0x49, 0x4e, 0x56,
0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x45, 0x47, 0x52, 0x45,
0x45, 0x53, 0x5f, 0x32, 0x37, 0x30, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10,
0x07, 0x1a, 0x93, 0x09, 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, 0x26, 0x0a, 0x0f, 0x70, 0x61,
0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x61, 0x46, 0x61, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c,
0x65, 0x64, 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, 0x12, 0x29, 0x0a, 0x11,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6f, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x71, 0x74,
0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f,
0x6b, 0x54, 0x6f, 0x4d, 0x71, 0x74, 0x74, 0x22, 0xf1, 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, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x5f, 0x34, 0x33,
0x33, 0x10, 0x13, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x5f, 0x38, 0x36, 0x38, 0x10, 0x14, 0x12,
0x0a, 0x0a, 0x06, 0x50, 0x48, 0x5f, 0x39, 0x31, 0x35, 0x10, 0x15, 0x22, 0xa9, 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, 0x16, 0x0a, 0x0e, 0x56, 0x45, 0x52,
0x59, 0x5f, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x1a, 0x02, 0x08,
0x01, 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, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x5f,
0x54, 0x55, 0x52, 0x42, 0x4f, 0x10, 0x08, 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,
0x1a, 0x9a, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b,
0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65,
0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65,
0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6b, 0x65, 0x79,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4b, 0x65, 0x79,
0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x12,
0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x45,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f,
0x6c, 0x6f, 0x67, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x6f, 0x67, 0x41,
0x70, 0x69, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x64, 0x6d,
0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x43,
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x12, 0x0a,
0x10, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x42, 0x11, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72,
0x69, 0x61, 0x6e, 0x74, 0x42, 0x85, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e,
0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64,
0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65,
0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x73, 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,
0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x73, 0x65,
0x5f, 0x31, 0x32, 0x68, 0x5f, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0b, 0x75, 0x73, 0x65, 0x31, 0x32, 0x68, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 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, 0x65, 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, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x48,
0x31, 0x31, 0x30, 0x37, 0x5f, 0x31, 0x32, 0x38, 0x5f, 0x36, 0x34, 0x10, 0x04, 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,
0x22, 0xba, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x73, 0x73, 0x4f, 0x72, 0x69, 0x65,
0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x47, 0x52, 0x45,
0x45, 0x53, 0x5f, 0x30, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x47, 0x52, 0x45, 0x45,
0x53, 0x5f, 0x39, 0x30, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x47, 0x52, 0x45, 0x45,
0x53, 0x5f, 0x31, 0x38, 0x30, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x45, 0x47, 0x52, 0x45,
0x45, 0x53, 0x5f, 0x32, 0x37, 0x30, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x47, 0x52,
0x45, 0x45, 0x53, 0x5f, 0x30, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x04,
0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x39, 0x30, 0x5f, 0x49,
0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x45, 0x47,
0x52, 0x45, 0x45, 0x53, 0x5f, 0x31, 0x38, 0x30, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45,
0x44, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x45, 0x47, 0x52, 0x45, 0x45, 0x53, 0x5f, 0x32,
0x37, 0x30, 0x5f, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x45, 0x44, 0x10, 0x07, 0x1a, 0x93, 0x09,
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, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x5f, 0x66, 0x61, 0x6e,
0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0d, 0x70, 0x61, 0x46, 0x61, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 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, 0x12, 0x29, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x5f, 0x6f, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x69, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x6b, 0x54, 0x6f, 0x4d,
0x71, 0x74, 0x74, 0x22, 0xf1, 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, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x5f, 0x34, 0x33, 0x33, 0x10, 0x13, 0x12,
0x0a, 0x0a, 0x06, 0x50, 0x48, 0x5f, 0x38, 0x36, 0x38, 0x10, 0x14, 0x12, 0x0a, 0x0a, 0x06, 0x50,
0x48, 0x5f, 0x39, 0x31, 0x35, 0x10, 0x15, 0x22, 0xa9, 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, 0x16, 0x0a, 0x0e, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x4c, 0x4f,
0x4e, 0x47, 0x5f, 0x53, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x1a, 0x02, 0x08, 0x01, 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, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x55, 0x52, 0x42,
0x4f, 0x10, 0x08, 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, 0x1a, 0x9a, 0x02, 0x0a,
0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1f,
0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12,
0x1b, 0x0a, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0c, 0x52, 0x08, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a,
0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x09, 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x73,
0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c,
0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x6c, 0x6f, 0x67, 0x5f,
0x61, 0x70, 0x69, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
0x08, 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x6f, 0x67, 0x41, 0x70, 0x69, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x63,
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x08,
0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
0x65, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x12, 0x0a, 0x10, 0x53, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x6b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x11, 0x0a,
0x0f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74,
0x42, 0x85, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b,
0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e,
0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d,
0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61,
0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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 (

View file

@ -41,7 +41,7 @@ message Config {
* Description: Combination of both ROUTER and CLIENT. Not for mobile devices.
* Deprecated in v2.3.15 because improper usage is impacting public meshes: Use ROUTER or CLIENT instead.
*/
ROUTER_CLIENT = 3 [deprecated = true];
/*
@ -207,7 +207,7 @@ message Config {
string tzdef = 11;
/*
* If true, disable the default blinking LED (LED_PIN) behavior on the device
* If true, disable the default blinking LED (LED_PIN) behavior on the device
*/
bool led_heartbeat_disabled = 12;
}
@ -380,7 +380,7 @@ message Config {
*/
message PowerConfig {
/*
* Description: Will sleep everything as much as possible, for the tracker and sensor role this will also include the lora radio.
* Description: Will sleep everything as much as possible, for the tracker and sensor role this will also include the lora radio.
* Don't use this setting if you want to use your device with the phone apps or are using a device without a user button.
* Technical Details: Works for ESP32 devices and NRF52 devices in the Sensor or Tracker roles
*/
@ -434,7 +434,7 @@ message Config {
* If non-zero, we want powermon log outputs. With the particular (bitfield) sources enabled.
* Note: we picked an ID of 32 so that lower more efficient IDs can be used for more frequently used options.
*/
uint64 powermon_enables = 32;
uint64 powermon_enables = 32;
}
/*
@ -492,7 +492,7 @@ message Config {
string wifi_psk = 4;
/*
* NTP server to use if WiFi is conneced, defaults to `0.pool.ntp.org`
* NTP server to use if WiFi is conneced, defaults to `meshtastic.pool.ntp.org`
*/
string ntp_server = 5;
@ -603,17 +603,17 @@ message Config {
*/
enum OledType {
/*
* Default / Auto
* Default / Autodetect
*/
OLED_AUTO = 0;
/*
* Default / Auto
* Default / Autodetect
*/
OLED_SSD1306 = 1;
/*
* Default / Auto
* Default / Autodetect
*/
OLED_SH1106 = 2;
@ -621,6 +621,11 @@ message Config {
* Can not be auto detected but set by proto. Used for 128x128 screens
*/
OLED_SH1107 = 3;
/*
* Can not be auto detected but set by proto. Used for 128x64 screens
*/
OLED_SH1107_128_64 = 4;
}
/*
@ -743,6 +748,12 @@ message Config {
* Indicates how to rotate or invert the compass output to accurate display on the display.
*/
CompassOrientation compass_orientation = 11;
/*
* If false (default), the device will display the time in 24-hour format on screen.
* If true, the device will display the time in 12-hour format on screen.
*/
bool use_12h_clock = 12;
}
/*
@ -844,17 +855,17 @@ message Config {
* Singapore 923mhz
*/
SG_923 = 18;
/*
* Philippines 433mhz
*/
PH_433 = 19;
/*
* Philippines 868mhz
*/
PH_868 = 20;
/*
* Philippines 915mhz
*/
@ -1133,4 +1144,4 @@ message Config {
SessionkeyConfig sessionkey = 9;
DeviceUIConfig device_ui = 10;
}
}
}

View file

@ -108,6 +108,8 @@ const (
Language_NORWEGIAN Language = 14
// Slovenian
Language_SLOVENIAN Language = 15
// Ukrainian
Language_UKRAINIAN Language = 16
// Simplified Chinese (experimental)
Language_SIMPLIFIED_CHINESE Language = 30
// Traditional Chinese (experimental)
@ -133,6 +135,7 @@ var (
13: "GREEK",
14: "NORWEGIAN",
15: "SLOVENIAN",
16: "UKRAINIAN",
30: "SIMPLIFIED_CHINESE",
31: "TRADITIONAL_CHINESE",
}
@ -153,6 +156,7 @@ var (
"GREEK": 13,
"NORWEGIAN": 14,
"SLOVENIAN": 15,
"UKRAINIAN": 16,
"SIMPLIFIED_CHINESE": 30,
"TRADITIONAL_CHINESE": 31,
}
@ -214,6 +218,8 @@ type DeviceUIConfig struct {
NodeHighlight *NodeHighlight `protobuf:"bytes,13,opt,name=node_highlight,json=nodeHighlight,proto3" json:"node_highlight,omitempty"`
// 8 integers for screen calibration data
CalibrationData []byte `protobuf:"bytes,14,opt,name=calibration_data,json=calibrationData,proto3" json:"calibration_data,omitempty"`
// Map related data
MapData *Map `protobuf:"bytes,15,opt,name=map_data,json=mapData,proto3" json:"map_data,omitempty"`
}
func (x *DeviceUIConfig) Reset() {
@ -346,6 +352,13 @@ func (x *DeviceUIConfig) GetCalibrationData() []byte {
return nil
}
func (x *DeviceUIConfig) GetMapData() *Map {
if x != nil {
return x.MapData
}
return nil
}
type NodeFilter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -532,12 +545,144 @@ func (x *NodeHighlight) GetNodeName() string {
return ""
}
type GeoPoint struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Zoom level
Zoom int32 `protobuf:"varint,1,opt,name=zoom,proto3" json:"zoom,omitempty"`
// Coordinate: latitude
Latitude int32 `protobuf:"varint,2,opt,name=latitude,proto3" json:"latitude,omitempty"`
// Coordinate: longitude
Longitude int32 `protobuf:"varint,3,opt,name=longitude,proto3" json:"longitude,omitempty"`
}
func (x *GeoPoint) Reset() {
*x = GeoPoint{}
if protoimpl.UnsafeEnabled {
mi := &file_protobufs_device_ui_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GeoPoint) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GeoPoint) ProtoMessage() {}
func (x *GeoPoint) ProtoReflect() protoreflect.Message {
mi := &file_protobufs_device_ui_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 GeoPoint.ProtoReflect.Descriptor instead.
func (*GeoPoint) Descriptor() ([]byte, []int) {
return file_protobufs_device_ui_proto_rawDescGZIP(), []int{3}
}
func (x *GeoPoint) GetZoom() int32 {
if x != nil {
return x.Zoom
}
return 0
}
func (x *GeoPoint) GetLatitude() int32 {
if x != nil {
return x.Latitude
}
return 0
}
func (x *GeoPoint) GetLongitude() int32 {
if x != nil {
return x.Longitude
}
return 0
}
type Map struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Home coordinates
Home *GeoPoint `protobuf:"bytes,1,opt,name=home,proto3" json:"home,omitempty"`
// Map tile style
Style string `protobuf:"bytes,2,opt,name=style,proto3" json:"style,omitempty"`
// Map scroll follows GPS
FollowGps bool `protobuf:"varint,3,opt,name=follow_gps,json=followGps,proto3" json:"follow_gps,omitempty"`
}
func (x *Map) Reset() {
*x = Map{}
if protoimpl.UnsafeEnabled {
mi := &file_protobufs_device_ui_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Map) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Map) ProtoMessage() {}
func (x *Map) ProtoReflect() protoreflect.Message {
mi := &file_protobufs_device_ui_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 Map.ProtoReflect.Descriptor instead.
func (*Map) Descriptor() ([]byte, []int) {
return file_protobufs_device_ui_proto_rawDescGZIP(), []int{4}
}
func (x *Map) GetHome() *GeoPoint {
if x != nil {
return x.Home
}
return nil
}
func (x *Map) GetStyle() string {
if x != nil {
return x.Style
}
return ""
}
func (x *Map) GetFollowGps() bool {
if x != nil {
return x.FollowGps
}
return false
}
var File_protobufs_device_ui_proto protoreflect.FileDescriptor
var file_protobufs_device_ui_proto_rawDesc = []byte{
0x0a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x69,
0x63, 0x65, 0x5f, 0x75, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x65, 0x73,
0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0xce, 0x04, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69,
0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0xfa, 0x04, 0x0a, 0x0e, 0x44, 0x65, 0x76, 0x69,
0x63, 0x65, 0x55, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x62,
@ -574,64 +719,80 @@ var file_protobufs_device_ui_proto_rawDesc = []byte{
0x6e, 0x6f, 0x64, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x29, 0x0a,
0x10, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74,
0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x83, 0x02, 0x0a, 0x0a, 0x4e, 0x6f, 0x64,
0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x6b, 0x6e, 0x6f,
0x77, 0x6e, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x0d, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x25,
0x0a, 0x0e, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53,
0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f,
0x6b, 0x65, 0x79, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x70, 0x73, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x18, 0x04,
0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x68, 0x6f, 0x70, 0x73, 0x41, 0x77, 0x61, 0x79, 0x12, 0x27,
0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63,
0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65,
0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18,
0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xc0,
0x01, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74,
0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18,
0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x77,
0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x69,
0x74, 0x69, 0x6f, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x65,
0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53,
0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x61, 0x71, 0x5f, 0x73, 0x77, 0x69,
0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x61, 0x71, 0x53, 0x77,
0x69, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d,
0x65, 0x2a, 0x25, 0x0a, 0x05, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41,
0x52, 0x4b, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x01, 0x12,
0x07, 0x0a, 0x03, 0x52, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x8b, 0x02, 0x0a, 0x08, 0x4c, 0x61, 0x6e,
0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48,
0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x52, 0x45, 0x4e, 0x43, 0x48, 0x10, 0x01, 0x12, 0x0a,
0x0a, 0x06, 0x47, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x54,
0x41, 0x4c, 0x49, 0x41, 0x4e, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x52, 0x54, 0x55,
0x47, 0x55, 0x45, 0x53, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x50, 0x41, 0x4e, 0x49,
0x53, 0x48, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x57, 0x45, 0x44, 0x49, 0x53, 0x48, 0x10,
0x06, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x49, 0x4e, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x07, 0x12, 0x0a,
0x0a, 0x06, 0x50, 0x4f, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x55,
0x52, 0x4b, 0x49, 0x53, 0x48, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x42, 0x49,
0x41, 0x4e, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x53, 0x53, 0x49, 0x41, 0x4e, 0x10,
0x0b, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x55, 0x54, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05,
0x47, 0x52, 0x45, 0x45, 0x4b, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x52, 0x57, 0x45,
0x47, 0x49, 0x41, 0x4e, 0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, 0x4f, 0x56, 0x45, 0x4e,
0x49, 0x41, 0x4e, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x46,
0x49, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x1e, 0x12, 0x17, 0x0a,
0x13, 0x54, 0x52, 0x41, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x49,
0x4e, 0x45, 0x53, 0x45, 0x10, 0x1f, 0x42, 0x87, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67,
0x65, 0x65, 0x6b, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0e,
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x55, 0x49, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x46,
0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d,
0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69,
0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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,
0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f,
0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x65, 0x73,
0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x6d, 0x61, 0x70,
0x44, 0x61, 0x74, 0x61, 0x22, 0x83, 0x02, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c,
0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x73,
0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x6e, 0x6b,
0x6e, 0x6f, 0x77, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x66,
0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0d, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x75,
0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a,
0x09, 0x68, 0x6f, 0x70, 0x73, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x68, 0x6f, 0x70, 0x73, 0x41, 0x77, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6f,
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x77, 0x69,
0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xc0, 0x01, 0x0a, 0x0d, 0x4e,
0x6f, 0x64, 0x65, 0x48, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1f, 0x0a, 0x0b,
0x63, 0x68, 0x61, 0x74, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x27, 0x0a,
0x0f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68,
0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65,
0x74, 0x72, 0x79, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63,
0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x61, 0x71, 0x5f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18,
0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x61, 0x71, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x58, 0x0a,
0x08, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6f,
0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x7a, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x0a,
0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e,
0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6c, 0x6f,
0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x22, 0x64, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x28,
0x0a, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d,
0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x47, 0x65, 0x6f, 0x50, 0x6f, 0x69,
0x6e, 0x74, 0x52, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x67, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x08, 0x52, 0x09, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x70, 0x73, 0x2a, 0x25, 0x0a,
0x05, 0x54, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41, 0x52, 0x4b, 0x10, 0x00,
0x12, 0x09, 0x0a, 0x05, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x52,
0x45, 0x44, 0x10, 0x02, 0x2a, 0x9a, 0x02, 0x0a, 0x08, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
0x65, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x47, 0x4c, 0x49, 0x53, 0x48, 0x10, 0x00, 0x12, 0x0a,
0x0a, 0x06, 0x46, 0x52, 0x45, 0x4e, 0x43, 0x48, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x45,
0x52, 0x4d, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x54, 0x41, 0x4c, 0x49, 0x41,
0x4e, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x52, 0x54, 0x55, 0x47, 0x55, 0x45, 0x53,
0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x50, 0x41, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x05,
0x12, 0x0b, 0x0a, 0x07, 0x53, 0x57, 0x45, 0x44, 0x49, 0x53, 0x48, 0x10, 0x06, 0x12, 0x0b, 0x0a,
0x07, 0x46, 0x49, 0x4e, 0x4e, 0x49, 0x53, 0x48, 0x10, 0x07, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x4f,
0x4c, 0x49, 0x53, 0x48, 0x10, 0x08, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x55, 0x52, 0x4b, 0x49, 0x53,
0x48, 0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x42, 0x49, 0x41, 0x4e, 0x10, 0x0a,
0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x53, 0x53, 0x49, 0x41, 0x4e, 0x10, 0x0b, 0x12, 0x09, 0x0a,
0x05, 0x44, 0x55, 0x54, 0x43, 0x48, 0x10, 0x0c, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x52, 0x45, 0x45,
0x4b, 0x10, 0x0d, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x52, 0x57, 0x45, 0x47, 0x49, 0x41, 0x4e,
0x10, 0x0e, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x4c, 0x4f, 0x56, 0x45, 0x4e, 0x49, 0x41, 0x4e, 0x10,
0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4b, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x41, 0x4e, 0x10, 0x10,
0x12, 0x16, 0x0a, 0x12, 0x53, 0x49, 0x4d, 0x50, 0x4c, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x43,
0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10, 0x1e, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x52, 0x41, 0x44,
0x49, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x53, 0x45, 0x10,
0x1f, 0x42, 0x87, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b, 0x73, 0x76,
0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63,
0x65, 0x55, 0x49, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a,
0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66,
0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67,
0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73,
0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x73, 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 (
@ -647,24 +808,28 @@ func file_protobufs_device_ui_proto_rawDescGZIP() []byte {
}
var file_protobufs_device_ui_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_protobufs_device_ui_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_protobufs_device_ui_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_protobufs_device_ui_proto_goTypes = []interface{}{
(Theme)(0), // 0: meshtastic.Theme
(Language)(0), // 1: meshtastic.Language
(*DeviceUIConfig)(nil), // 2: meshtastic.DeviceUIConfig
(*NodeFilter)(nil), // 3: meshtastic.NodeFilter
(*NodeHighlight)(nil), // 4: meshtastic.NodeHighlight
(*GeoPoint)(nil), // 5: meshtastic.GeoPoint
(*Map)(nil), // 6: meshtastic.Map
}
var file_protobufs_device_ui_proto_depIdxs = []int32{
0, // 0: meshtastic.DeviceUIConfig.theme:type_name -> meshtastic.Theme
1, // 1: meshtastic.DeviceUIConfig.language:type_name -> meshtastic.Language
3, // 2: meshtastic.DeviceUIConfig.node_filter:type_name -> meshtastic.NodeFilter
4, // 3: meshtastic.DeviceUIConfig.node_highlight:type_name -> meshtastic.NodeHighlight
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
6, // 4: meshtastic.DeviceUIConfig.map_data:type_name -> meshtastic.Map
5, // 5: meshtastic.Map.home:type_name -> meshtastic.GeoPoint
6, // [6:6] is the sub-list for method output_type
6, // [6:6] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_protobufs_device_ui_proto_init() }
@ -709,6 +874,30 @@ func file_protobufs_device_ui_proto_init() {
return nil
}
}
file_protobufs_device_ui_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GeoPoint); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protobufs_device_ui_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Map); 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{
@ -716,7 +905,7 @@ func file_protobufs_device_ui_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protobufs_device_ui_proto_rawDesc,
NumEnums: 2,
NumMessages: 3,
NumMessages: 5,
NumExtensions: 0,
NumServices: 0,
},

View file

@ -19,24 +19,24 @@ message DeviceUIConfig {
uint32 version = 1;
/*
* TFT display brightness 1..255
* TFT display brightness 1..255
*/
uint32 screen_brightness = 2;
/*
* Screen timeout 0..900
* Screen timeout 0..900
*/
uint32 screen_timeout = 3;
/*
* Screen/Settings lock enabled
* Screen/Settings lock enabled
*/
bool screen_lock = 4;
bool settings_lock = 5;
uint32 pin_code = 6;
/*
* Color theme
* Color theme
*/
Theme theme = 7;
@ -48,12 +48,12 @@ message DeviceUIConfig {
uint32 ring_tone_id = 10;
/*
* Localization
* Localization
*/
Language language = 11;
/*
* Node list filter
* Node list filter
*/
NodeFilter node_filter = 12;
@ -66,6 +66,11 @@ message DeviceUIConfig {
* 8 integers for screen calibration data
*/
bytes calibration_data = 14;
/*
* Map related data
*/
Map map_data = 15;
}
@ -79,32 +84,32 @@ message NodeFilter {
* Filter offline nodes
*/
bool offline_switch = 2;
/*
* Filter nodes w/o public key
*/
bool public_key_switch = 3;
/*
* Filter based on hops away
*/
int32 hops_away = 4;
/*
* Filter nodes w/o position
*/
bool position_switch = 5;
/*
* Filter nodes by matching name string
*/
string node_name = 6;
/*
* Filter based on channel
*/
int32 channel = 7;
}
message NodeHighlight {
@ -117,7 +122,7 @@ message NodeHighlight {
* Highlight nodes w/ position
*/
bool position_switch = 2;
/*
* Highlight nodes w/ telemetry data
*/
@ -127,12 +132,46 @@ message NodeHighlight {
* Highlight nodes w/ iaq data
*/
bool iaq_switch = 4;
/*
* Highlight nodes by matching name string
*/
string node_name = 5;
}
message GeoPoint {
/*
* Zoom level
*/
int32 zoom = 1;
/*
* Coordinate: latitude
*/
int32 latitude = 2;
/*
* Coordinate: longitude
*/
int32 longitude = 3;
}
message Map {
/*
* Home coordinates
*/
GeoPoint home = 1;
/*
* Map tile style
*/
string style = 2;
/*
* Map scroll follows GPS
*/
bool follow_gps = 3;
}
enum Theme {
@ -188,17 +227,17 @@ enum Language {
* Swedish
*/
SWEDISH = 6;
/*
* Finnish
*/
FINNISH = 7;
/*
* Polish
*/
POLISH = 8;
/*
* Turkish
*/
@ -234,6 +273,11 @@ enum Language {
*/
SLOVENIAN = 15;
/*
* Ukrainian
*/
UKRAINIAN = 16;
/*
* Simplified Chinese (experimental)
*/
@ -244,4 +288,3 @@ enum Language {
*/
TRADITIONAL_CHINESE = 31;
}

View file

@ -403,7 +403,10 @@ type DeviceState struct {
//
// Deprecated: Do not use.
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.
// Previously used to manage GPS factory resets.
// Deprecated in 2.5.23
//
// Deprecated: Do not use.
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.
@ -411,8 +414,6 @@ type DeviceState struct {
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() {
@ -490,6 +491,7 @@ func (x *DeviceState) GetNoSave() bool {
return false
}
// Deprecated: Do not use.
func (x *DeviceState) GetDidGpsReset() bool {
if x != nil {
return x.DidGpsReset
@ -511,9 +513,61 @@ func (x *DeviceState) GetNodeRemoteHardwarePins() []*NodeRemoteHardwarePin {
return nil
}
func (x *DeviceState) GetNodeDbLite() []*NodeInfoLite {
type NodeDatabase struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A version integer used to invalidate old save files when we make
// incompatible changes This integer is set at build time and is private to
// NodeDB.cpp in the device code.
Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
// New lite version of NodeDB to decrease memory footprint
Nodes []*NodeInfoLite `protobuf:"bytes,2,rep,name=nodes,proto3" json:"nodes,omitempty"`
}
func (x *NodeDatabase) Reset() {
*x = NodeDatabase{}
if protoimpl.UnsafeEnabled {
mi := &file_protobufs_deviceonly_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NodeDatabase) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NodeDatabase) ProtoMessage() {}
func (x *NodeDatabase) ProtoReflect() protoreflect.Message {
mi := &file_protobufs_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 NodeDatabase.ProtoReflect.Descriptor instead.
func (*NodeDatabase) Descriptor() ([]byte, []int) {
return file_protobufs_deviceonly_proto_rawDescGZIP(), []int{4}
}
func (x *NodeDatabase) GetVersion() uint32 {
if x != nil {
return x.NodeDbLite
return x.Version
}
return 0
}
func (x *NodeDatabase) GetNodes() []*NodeInfoLite {
if x != nil {
return x.Nodes
}
return nil
}
@ -535,7 +589,7 @@ type ChannelFile struct {
func (x *ChannelFile) Reset() {
*x = ChannelFile{}
if protoimpl.UnsafeEnabled {
mi := &file_protobufs_deviceonly_proto_msgTypes[4]
mi := &file_protobufs_deviceonly_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -548,7 +602,7 @@ func (x *ChannelFile) String() string {
func (*ChannelFile) ProtoMessage() {}
func (x *ChannelFile) ProtoReflect() protoreflect.Message {
mi := &file_protobufs_deviceonly_proto_msgTypes[4]
mi := &file_protobufs_deviceonly_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -561,7 +615,7 @@ func (x *ChannelFile) ProtoReflect() protoreflect.Message {
// Deprecated: Use ChannelFile.ProtoReflect.Descriptor instead.
func (*ChannelFile) Descriptor() ([]byte, []int) {
return file_protobufs_deviceonly_proto_rawDescGZIP(), []int{4}
return file_protobufs_deviceonly_proto_rawDescGZIP(), []int{5}
}
func (x *ChannelFile) GetChannels() []*Channel {
@ -578,6 +632,100 @@ func (x *ChannelFile) GetVersion() uint32 {
return 0
}
// The on-disk backup of the node's preferences
type BackupPreferences struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The version of the backup
Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
// The timestamp of the backup (if node has time)
Timestamp uint32 `protobuf:"fixed32,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// The node's configuration
Config *LocalConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
// The node's module configuration
ModuleConfig *LocalModuleConfig `protobuf:"bytes,4,opt,name=module_config,json=moduleConfig,proto3" json:"module_config,omitempty"`
// The node's channels
Channels *ChannelFile `protobuf:"bytes,5,opt,name=channels,proto3" json:"channels,omitempty"`
// The node's user (owner) information
Owner *User `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"`
}
func (x *BackupPreferences) Reset() {
*x = BackupPreferences{}
if protoimpl.UnsafeEnabled {
mi := &file_protobufs_deviceonly_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BackupPreferences) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BackupPreferences) ProtoMessage() {}
func (x *BackupPreferences) ProtoReflect() protoreflect.Message {
mi := &file_protobufs_deviceonly_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 BackupPreferences.ProtoReflect.Descriptor instead.
func (*BackupPreferences) Descriptor() ([]byte, []int) {
return file_protobufs_deviceonly_proto_rawDescGZIP(), []int{6}
}
func (x *BackupPreferences) GetVersion() uint32 {
if x != nil {
return x.Version
}
return 0
}
func (x *BackupPreferences) GetTimestamp() uint32 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *BackupPreferences) GetConfig() *LocalConfig {
if x != nil {
return x.Config
}
return nil
}
func (x *BackupPreferences) GetModuleConfig() *LocalModuleConfig {
if x != nil {
return x.ModuleConfig
}
return nil
}
func (x *BackupPreferences) GetChannels() *ChannelFile {
if x != nil {
return x.Channels
}
return nil
}
func (x *BackupPreferences) GetOwner() *User {
if x != nil {
return x.Owner
}
return nil
}
var File_protobufs_deviceonly_proto protoreflect.FileDescriptor
var file_protobufs_deviceonly_proto_rawDesc = []byte{
@ -589,117 +737,139 @@ var file_protobufs_deviceonly_proto_rawDesc = []byte{
0x68, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x73, 0x2f, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x16, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x6e, 0x61, 0x6e, 0x6f, 0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 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, 0x94, 0x02, 0x0a,
0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x6d, 0x61, 0x63,
0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07,
0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 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, 0x34, 0x0a, 0x08, 0x68, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18,
0x04, 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, 0x05, 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, 0x06, 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, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b,
0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
0x4b, 0x65, 0x79, 0x22, 0xb3, 0x03, 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, 0x28, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69,
0x63, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x74, 0x65, 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, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x69, 0x61, 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x18,
0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x69, 0x61, 0x4d, 0x71, 0x74, 0x74, 0x12, 0x20,
0x0a, 0x09, 0x68, 0x6f, 0x70, 0x73, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0d, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, 0x70, 0x73, 0x41, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01,
0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74,
0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64,
0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f,
0x68, 0x6f, 0x70, 0x73, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x22, 0xbd, 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, 0x1b, 0x0a, 0x07, 0x6e, 0x6f, 0x5f,
0x73, 0x61, 0x76, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 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, 0x66, 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, 0x42, 0x2a, 0x92, 0x3f, 0x27, 0x92, 0x01, 0x24, 0x73, 0x74, 0x64, 0x3a, 0x3a, 0x76, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x3c, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x5f,
0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x3e, 0x52, 0x0a, 0x6e,
0x6f, 0x64, 0x65, 0x44, 0x62, 0x4c, 0x69, 0x74, 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, 0x42, 0x91, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e,
0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e,
0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d,
0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74,
0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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, 0x92, 0x3f, 0x0b, 0xc2, 0x01, 0x08, 0x3c,
0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x6f, 0x6e, 0x6c, 0x79, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73,
0x2f, 0x6e, 0x61, 0x6e, 0x6f, 0x70, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0x94, 0x02, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72,
0x4c, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x61, 0x64, 0x64, 0x72, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x61, 0x64,
0x64, 0x72, 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, 0x34,
0x0a, 0x08, 0x68, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 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, 0x05, 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, 0x06, 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,
0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0xb3,
0x03, 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, 0x28, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x14, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x55, 0x73, 0x65,
0x72, 0x4c, 0x69, 0x74, 0x65, 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, 0x12, 0x19,
0x0a, 0x08, 0x76, 0x69, 0x61, 0x5f, 0x6d, 0x71, 0x74, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
0x52, 0x07, 0x76, 0x69, 0x61, 0x4d, 0x71, 0x74, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x68, 0x6f, 0x70,
0x73, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08,
0x68, 0x6f, 0x70, 0x73, 0x41, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, 0x69,
0x73, 0x5f, 0x66, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0a, 0x69, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x69, 0x73, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08,
0x52, 0x09, 0x69, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6e,
0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x6e,
0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x5f,
0x61, 0x77, 0x61, 0x79, 0x22, 0xd9, 0x03, 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, 0x1b, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x18,
0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x6e, 0x6f, 0x53, 0x61, 0x76,
0x65, 0x12, 0x26, 0x0a, 0x0d, 0x64, 0x69, 0x64, 0x5f, 0x67, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x73,
0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 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,
0x22, 0x84, 0x01, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73,
0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5a, 0x0a, 0x05, 0x6e,
0x6f, 0x64, 0x65, 0x73, 0x18, 0x02, 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, 0x42, 0x2a, 0x92, 0x3f, 0x27, 0x92, 0x01, 0x24, 0x73, 0x74, 0x64, 0x3a,
0x3a, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3c, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74,
0x69, 0x63, 0x5f, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x74, 0x65, 0x3e,
0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 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, 0x9d, 0x02, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x72, 0x65, 0x66,
0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02,
0x20, 0x01, 0x28, 0x07, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
0x2f, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 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, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x12, 0x42, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x18, 0x04, 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, 0x0c, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73,
0x74, 0x69, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x52,
0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x6f, 0x77, 0x6e,
0x65, 0x72, 0x18, 0x06, 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, 0x42, 0x91, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79,
0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f,
0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65,
0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73,
0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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, 0x92, 0x3f, 0x0b, 0xc2, 0x01, 0x08, 0x3c, 0x76, 0x65,
0x63, 0x74, 0x6f, 0x72, 0x3e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -714,43 +884,51 @@ func file_protobufs_deviceonly_proto_rawDescGZIP() []byte {
return file_protobufs_deviceonly_proto_rawDescData
}
var file_protobufs_deviceonly_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_protobufs_deviceonly_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_protobufs_deviceonly_proto_goTypes = []interface{}{
(*PositionLite)(nil), // 0: meshtastic.PositionLite
(*UserLite)(nil), // 1: meshtastic.UserLite
(*NodeInfoLite)(nil), // 2: meshtastic.NodeInfoLite
(*DeviceState)(nil), // 3: meshtastic.DeviceState
(*ChannelFile)(nil), // 4: meshtastic.ChannelFile
(Position_LocSource)(0), // 5: meshtastic.Position.LocSource
(HardwareModel)(0), // 6: meshtastic.HardwareModel
(Config_DeviceConfig_Role)(0), // 7: meshtastic.Config.DeviceConfig.Role
(*DeviceMetrics)(nil), // 8: meshtastic.DeviceMetrics
(*MyNodeInfo)(nil), // 9: meshtastic.MyNodeInfo
(*User)(nil), // 10: meshtastic.User
(*MeshPacket)(nil), // 11: meshtastic.MeshPacket
(*NodeRemoteHardwarePin)(nil), // 12: meshtastic.NodeRemoteHardwarePin
(*Channel)(nil), // 13: meshtastic.Channel
(*NodeDatabase)(nil), // 4: meshtastic.NodeDatabase
(*ChannelFile)(nil), // 5: meshtastic.ChannelFile
(*BackupPreferences)(nil), // 6: meshtastic.BackupPreferences
(Position_LocSource)(0), // 7: meshtastic.Position.LocSource
(HardwareModel)(0), // 8: meshtastic.HardwareModel
(Config_DeviceConfig_Role)(0), // 9: meshtastic.Config.DeviceConfig.Role
(*DeviceMetrics)(nil), // 10: meshtastic.DeviceMetrics
(*MyNodeInfo)(nil), // 11: meshtastic.MyNodeInfo
(*User)(nil), // 12: meshtastic.User
(*MeshPacket)(nil), // 13: meshtastic.MeshPacket
(*NodeRemoteHardwarePin)(nil), // 14: meshtastic.NodeRemoteHardwarePin
(*Channel)(nil), // 15: meshtastic.Channel
(*LocalConfig)(nil), // 16: meshtastic.LocalConfig
(*LocalModuleConfig)(nil), // 17: meshtastic.LocalModuleConfig
}
var file_protobufs_deviceonly_proto_depIdxs = []int32{
5, // 0: meshtastic.PositionLite.location_source:type_name -> meshtastic.Position.LocSource
6, // 1: meshtastic.UserLite.hw_model:type_name -> meshtastic.HardwareModel
7, // 2: meshtastic.UserLite.role:type_name -> meshtastic.Config.DeviceConfig.Role
7, // 0: meshtastic.PositionLite.location_source:type_name -> meshtastic.Position.LocSource
8, // 1: meshtastic.UserLite.hw_model:type_name -> meshtastic.HardwareModel
9, // 2: meshtastic.UserLite.role:type_name -> meshtastic.Config.DeviceConfig.Role
1, // 3: meshtastic.NodeInfoLite.user:type_name -> meshtastic.UserLite
0, // 4: meshtastic.NodeInfoLite.position:type_name -> meshtastic.PositionLite
8, // 5: meshtastic.NodeInfoLite.device_metrics:type_name -> meshtastic.DeviceMetrics
9, // 6: meshtastic.DeviceState.my_node:type_name -> meshtastic.MyNodeInfo
10, // 7: meshtastic.DeviceState.owner:type_name -> meshtastic.User
11, // 8: meshtastic.DeviceState.receive_queue:type_name -> meshtastic.MeshPacket
11, // 9: meshtastic.DeviceState.rx_text_message:type_name -> meshtastic.MeshPacket
11, // 10: meshtastic.DeviceState.rx_waypoint:type_name -> meshtastic.MeshPacket
12, // 11: meshtastic.DeviceState.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin
2, // 12: meshtastic.DeviceState.node_db_lite:type_name -> meshtastic.NodeInfoLite
13, // 13: meshtastic.ChannelFile.channels:type_name -> meshtastic.Channel
14, // [14:14] is the sub-list for method output_type
14, // [14:14] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension type_name
14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
10, // 5: meshtastic.NodeInfoLite.device_metrics:type_name -> meshtastic.DeviceMetrics
11, // 6: meshtastic.DeviceState.my_node:type_name -> meshtastic.MyNodeInfo
12, // 7: meshtastic.DeviceState.owner:type_name -> meshtastic.User
13, // 8: meshtastic.DeviceState.receive_queue:type_name -> meshtastic.MeshPacket
13, // 9: meshtastic.DeviceState.rx_text_message:type_name -> meshtastic.MeshPacket
13, // 10: meshtastic.DeviceState.rx_waypoint:type_name -> meshtastic.MeshPacket
14, // 11: meshtastic.DeviceState.node_remote_hardware_pins:type_name -> meshtastic.NodeRemoteHardwarePin
2, // 12: meshtastic.NodeDatabase.nodes:type_name -> meshtastic.NodeInfoLite
15, // 13: meshtastic.ChannelFile.channels:type_name -> meshtastic.Channel
16, // 14: meshtastic.BackupPreferences.config:type_name -> meshtastic.LocalConfig
17, // 15: meshtastic.BackupPreferences.module_config:type_name -> meshtastic.LocalModuleConfig
5, // 16: meshtastic.BackupPreferences.channels:type_name -> meshtastic.ChannelFile
12, // 17: meshtastic.BackupPreferences.owner:type_name -> meshtastic.User
18, // [18:18] is the sub-list for method output_type
18, // [18:18] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
}
func init() { file_protobufs_deviceonly_proto_init() }
@ -762,6 +940,7 @@ func file_protobufs_deviceonly_proto_init() {
file_protobufs_mesh_proto_init()
file_protobufs_telemetry_proto_init()
file_protobufs_config_proto_init()
file_protobufs_localonly_proto_init()
file_protobufs_nanopb_proto_init()
if !protoimpl.UnsafeEnabled {
file_protobufs_deviceonly_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
@ -813,6 +992,18 @@ func file_protobufs_deviceonly_proto_init() {
}
}
file_protobufs_deviceonly_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NodeDatabase); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protobufs_deviceonly_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChannelFile); i {
case 0:
return &v.state
@ -824,6 +1015,18 @@ func file_protobufs_deviceonly_proto_init() {
return nil
}
}
file_protobufs_deviceonly_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BackupPreferences); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_protobufs_deviceonly_proto_msgTypes[2].OneofWrappers = []interface{}{}
type x struct{}
@ -832,7 +1035,7 @@ func file_protobufs_deviceonly_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protobufs_deviceonly_proto_rawDesc,
NumEnums: 0,
NumMessages: 5,
NumMessages: 7,
NumExtensions: 0,
NumServices: 0,
},

View file

@ -6,6 +6,7 @@ import "protobufs/channel.proto";
import "protobufs/mesh.proto";
import "protobufs/telemetry.proto";
import "protobufs/config.proto";
import "protobufs/localonly.proto";
import "protobufs/nanopb.proto";
option csharp_namespace = "Meshtastic.Protobufs";
@ -155,7 +156,7 @@ message NodeInfoLite {
bool is_ignored = 11;
/*
* Last byte of the node number of the node that should be used as the next hop to reach this node.
* Last byte of the node number of the node that should be used as the next hop to reach this node.
*/
uint32 next_hop = 12;
}
@ -205,9 +206,10 @@ message DeviceState {
bool no_save = 9 [deprecated = true];
/*
* Some GPS receivers seem to have bogus settings from the factory, so we always do one factory reset.
* Previously used to manage GPS factory resets.
* Deprecated in 2.5.23
*/
bool did_gps_reset = 11;
bool did_gps_reset = 11 [deprecated = true];
/*
* We keep the last received waypoint stored in the device flash,
@ -220,11 +222,20 @@ message DeviceState {
* The mesh's nodes with their available gpio pins for RemoteHardware module
*/
repeated NodeRemoteHardwarePin node_remote_hardware_pins = 13;
}
message NodeDatabase {
/*
* 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.
*/
uint32 version = 1;
/*
* New lite version of NodeDB to decrease memory footprint
*/
repeated NodeInfoLite node_db_lite = 14 [(nanopb).callback_datatype = "std::vector<meshtastic_NodeInfoLite>"];
repeated NodeInfoLite nodes = 2 [(nanopb).callback_datatype = "std::vector<meshtastic_NodeInfoLite>"];
}
/*
@ -242,4 +253,39 @@ message ChannelFile {
* NodeDB.cpp in the device code.
*/
uint32 version = 2;
}
}
/*
* The on-disk backup of the node's preferences
*/
message BackupPreferences {
/*
* The version of the backup
*/
uint32 version = 1;
/*
* The timestamp of the backup (if node has time)
*/
fixed32 timestamp = 2;
/*
* The node's configuration
*/
LocalConfig config = 3;
/*
* The node's module configuration
*/
LocalModuleConfig module_config = 4;
/*
* The node's channels
*/
ChannelFile channels = 5;
/*
* The node's user (owner) information
*/
User owner = 6;
}

View file

@ -0,0 +1,407 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.21.12
// source: protobufs/interdevice.proto
package protobufs
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 MessageType int32
const (
MessageType_ACK MessageType = 0
MessageType_COLLECT_INTERVAL MessageType = 160 // in ms
MessageType_BEEP_ON MessageType = 161 // duration ms
MessageType_BEEP_OFF MessageType = 162 // cancel prematurely
MessageType_SHUTDOWN MessageType = 163
MessageType_POWER_ON MessageType = 164
MessageType_SCD41_TEMP MessageType = 176
MessageType_SCD41_HUMIDITY MessageType = 177
MessageType_SCD41_CO2 MessageType = 178
MessageType_AHT20_TEMP MessageType = 179
MessageType_AHT20_HUMIDITY MessageType = 180
MessageType_TVOC_INDEX MessageType = 181
)
// Enum value maps for MessageType.
var (
MessageType_name = map[int32]string{
0: "ACK",
160: "COLLECT_INTERVAL",
161: "BEEP_ON",
162: "BEEP_OFF",
163: "SHUTDOWN",
164: "POWER_ON",
176: "SCD41_TEMP",
177: "SCD41_HUMIDITY",
178: "SCD41_CO2",
179: "AHT20_TEMP",
180: "AHT20_HUMIDITY",
181: "TVOC_INDEX",
}
MessageType_value = map[string]int32{
"ACK": 0,
"COLLECT_INTERVAL": 160,
"BEEP_ON": 161,
"BEEP_OFF": 162,
"SHUTDOWN": 163,
"POWER_ON": 164,
"SCD41_TEMP": 176,
"SCD41_HUMIDITY": 177,
"SCD41_CO2": 178,
"AHT20_TEMP": 179,
"AHT20_HUMIDITY": 180,
"TVOC_INDEX": 181,
}
)
func (x MessageType) Enum() *MessageType {
p := new(MessageType)
*p = x
return p
}
func (x MessageType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MessageType) Descriptor() protoreflect.EnumDescriptor {
return file_protobufs_interdevice_proto_enumTypes[0].Descriptor()
}
func (MessageType) Type() protoreflect.EnumType {
return &file_protobufs_interdevice_proto_enumTypes[0]
}
func (x MessageType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MessageType.Descriptor instead.
func (MessageType) EnumDescriptor() ([]byte, []int) {
return file_protobufs_interdevice_proto_rawDescGZIP(), []int{0}
}
type SensorData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The message type
Type MessageType `protobuf:"varint,1,opt,name=type,proto3,enum=meshtastic.MessageType" json:"type,omitempty"`
// The sensor data, either as a float or an uint32
//
// Types that are assignable to Data:
//
// *SensorData_FloatValue
// *SensorData_Uint32Value
Data isSensorData_Data `protobuf_oneof:"data"`
}
func (x *SensorData) Reset() {
*x = SensorData{}
if protoimpl.UnsafeEnabled {
mi := &file_protobufs_interdevice_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SensorData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SensorData) ProtoMessage() {}
func (x *SensorData) ProtoReflect() protoreflect.Message {
mi := &file_protobufs_interdevice_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 SensorData.ProtoReflect.Descriptor instead.
func (*SensorData) Descriptor() ([]byte, []int) {
return file_protobufs_interdevice_proto_rawDescGZIP(), []int{0}
}
func (x *SensorData) GetType() MessageType {
if x != nil {
return x.Type
}
return MessageType_ACK
}
func (m *SensorData) GetData() isSensorData_Data {
if m != nil {
return m.Data
}
return nil
}
func (x *SensorData) GetFloatValue() float32 {
if x, ok := x.GetData().(*SensorData_FloatValue); ok {
return x.FloatValue
}
return 0
}
func (x *SensorData) GetUint32Value() uint32 {
if x, ok := x.GetData().(*SensorData_Uint32Value); ok {
return x.Uint32Value
}
return 0
}
type isSensorData_Data interface {
isSensorData_Data()
}
type SensorData_FloatValue struct {
FloatValue float32 `protobuf:"fixed32,2,opt,name=float_value,json=floatValue,proto3,oneof"`
}
type SensorData_Uint32Value struct {
Uint32Value uint32 `protobuf:"varint,3,opt,name=uint32_value,json=uint32Value,proto3,oneof"`
}
func (*SensorData_FloatValue) isSensorData_Data() {}
func (*SensorData_Uint32Value) isSensorData_Data() {}
type InterdeviceMessage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The message data
//
// Types that are assignable to Data:
//
// *InterdeviceMessage_Nmea
// *InterdeviceMessage_Sensor
Data isInterdeviceMessage_Data `protobuf_oneof:"data"`
}
func (x *InterdeviceMessage) Reset() {
*x = InterdeviceMessage{}
if protoimpl.UnsafeEnabled {
mi := &file_protobufs_interdevice_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InterdeviceMessage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InterdeviceMessage) ProtoMessage() {}
func (x *InterdeviceMessage) ProtoReflect() protoreflect.Message {
mi := &file_protobufs_interdevice_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 InterdeviceMessage.ProtoReflect.Descriptor instead.
func (*InterdeviceMessage) Descriptor() ([]byte, []int) {
return file_protobufs_interdevice_proto_rawDescGZIP(), []int{1}
}
func (m *InterdeviceMessage) GetData() isInterdeviceMessage_Data {
if m != nil {
return m.Data
}
return nil
}
func (x *InterdeviceMessage) GetNmea() string {
if x, ok := x.GetData().(*InterdeviceMessage_Nmea); ok {
return x.Nmea
}
return ""
}
func (x *InterdeviceMessage) GetSensor() *SensorData {
if x, ok := x.GetData().(*InterdeviceMessage_Sensor); ok {
return x.Sensor
}
return nil
}
type isInterdeviceMessage_Data interface {
isInterdeviceMessage_Data()
}
type InterdeviceMessage_Nmea struct {
Nmea string `protobuf:"bytes,1,opt,name=nmea,proto3,oneof"`
}
type InterdeviceMessage_Sensor struct {
Sensor *SensorData `protobuf:"bytes,2,opt,name=sensor,proto3,oneof"`
}
func (*InterdeviceMessage_Nmea) isInterdeviceMessage_Data() {}
func (*InterdeviceMessage_Sensor) isInterdeviceMessage_Data() {}
var File_protobufs_interdevice_proto protoreflect.FileDescriptor
var file_protobufs_interdevice_proto_rawDesc = []byte{
0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d,
0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x22, 0x89, 0x01, 0x0a, 0x0a, 0x53, 0x65,
0x6e, 0x73, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73,
0x74, 0x69, 0x63, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6c,
0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74,
0x33, 0x32, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00,
0x52, 0x0b, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x06, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x64, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x64, 0x65,
0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x6e,
0x6d, 0x65, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x6d, 0x65,
0x61, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x53,
0x65, 0x6e, 0x73, 0x6f, 0x72, 0x44, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x06, 0x73, 0x65, 0x6e,
0x73, 0x6f, 0x72, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x2a, 0xd5, 0x01, 0x0a, 0x0b,
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41,
0x43, 0x4b, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x10, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, 0x5f,
0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0xa0, 0x01, 0x12, 0x0c, 0x0a, 0x07, 0x42,
0x45, 0x45, 0x50, 0x5f, 0x4f, 0x4e, 0x10, 0xa1, 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x42, 0x45, 0x45,
0x50, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0xa2, 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x53, 0x48, 0x55, 0x54,
0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa3, 0x01, 0x12, 0x0d, 0x0a, 0x08, 0x50, 0x4f, 0x57, 0x45, 0x52,
0x5f, 0x4f, 0x4e, 0x10, 0xa4, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x53, 0x43, 0x44, 0x34, 0x31, 0x5f,
0x54, 0x45, 0x4d, 0x50, 0x10, 0xb0, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x53, 0x43, 0x44, 0x34, 0x31,
0x5f, 0x48, 0x55, 0x4d, 0x49, 0x44, 0x49, 0x54, 0x59, 0x10, 0xb1, 0x01, 0x12, 0x0e, 0x0a, 0x09,
0x53, 0x43, 0x44, 0x34, 0x31, 0x5f, 0x43, 0x4f, 0x32, 0x10, 0xb2, 0x01, 0x12, 0x0f, 0x0a, 0x0a,
0x41, 0x48, 0x54, 0x32, 0x30, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x10, 0xb3, 0x01, 0x12, 0x13, 0x0a,
0x0e, 0x41, 0x48, 0x54, 0x32, 0x30, 0x5f, 0x48, 0x55, 0x4d, 0x49, 0x44, 0x49, 0x54, 0x59, 0x10,
0xb4, 0x01, 0x12, 0x0f, 0x0a, 0x0a, 0x54, 0x56, 0x4f, 0x43, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58,
0x10, 0xb5, 0x01, 0x42, 0x8a, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x65, 0x65, 0x6b,
0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x42, 0x11, 0x49, 0x6e, 0x74,
0x65, 0x72, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x5a, 0x46,
0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d,
0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69,
0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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_protobufs_interdevice_proto_rawDescOnce sync.Once
file_protobufs_interdevice_proto_rawDescData = file_protobufs_interdevice_proto_rawDesc
)
func file_protobufs_interdevice_proto_rawDescGZIP() []byte {
file_protobufs_interdevice_proto_rawDescOnce.Do(func() {
file_protobufs_interdevice_proto_rawDescData = protoimpl.X.CompressGZIP(file_protobufs_interdevice_proto_rawDescData)
})
return file_protobufs_interdevice_proto_rawDescData
}
var file_protobufs_interdevice_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_protobufs_interdevice_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_protobufs_interdevice_proto_goTypes = []interface{}{
(MessageType)(0), // 0: meshtastic.MessageType
(*SensorData)(nil), // 1: meshtastic.SensorData
(*InterdeviceMessage)(nil), // 2: meshtastic.InterdeviceMessage
}
var file_protobufs_interdevice_proto_depIdxs = []int32{
0, // 0: meshtastic.SensorData.type:type_name -> meshtastic.MessageType
1, // 1: meshtastic.InterdeviceMessage.sensor:type_name -> meshtastic.SensorData
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_protobufs_interdevice_proto_init() }
func file_protobufs_interdevice_proto_init() {
if File_protobufs_interdevice_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_protobufs_interdevice_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SensorData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_protobufs_interdevice_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InterdeviceMessage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_protobufs_interdevice_proto_msgTypes[0].OneofWrappers = []interface{}{
(*SensorData_FloatValue)(nil),
(*SensorData_Uint32Value)(nil),
}
file_protobufs_interdevice_proto_msgTypes[1].OneofWrappers = []interface{}{
(*InterdeviceMessage_Nmea)(nil),
(*InterdeviceMessage_Sensor)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_protobufs_interdevice_proto_rawDesc,
NumEnums: 1,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_protobufs_interdevice_proto_goTypes,
DependencyIndexes: file_protobufs_interdevice_proto_depIdxs,
EnumInfos: file_protobufs_interdevice_proto_enumTypes,
MessageInfos: file_protobufs_interdevice_proto_msgTypes,
}.Build()
File_protobufs_interdevice_proto = out.File
file_protobufs_interdevice_proto_rawDesc = nil
file_protobufs_interdevice_proto_goTypes = nil
file_protobufs_interdevice_proto_depIdxs = nil
}

View file

@ -0,0 +1,44 @@
syntax = "proto3";
package meshtastic;
option csharp_namespace = "Meshtastic.Protobufs";
option go_package = "git.janky.solutions/finn/matrix-bridge-meshtastic/meshtastic/protobufs";
option java_outer_classname = "InterdeviceProtos";
option java_package = "com.geeksville.mesh";
option swift_prefix = "";
// encapsulate up to 1k of NMEA string data
enum MessageType {
ACK = 0;
COLLECT_INTERVAL = 160; // in ms
BEEP_ON = 161; // duration ms
BEEP_OFF = 162; // cancel prematurely
SHUTDOWN = 163;
POWER_ON = 164;
SCD41_TEMP = 176;
SCD41_HUMIDITY = 177;
SCD41_CO2 = 178;
AHT20_TEMP = 179;
AHT20_HUMIDITY = 180;
TVOC_INDEX = 181;
}
message SensorData {
// The message type
MessageType type = 1;
// The sensor data, either as a float or an uint32
oneof data {
float float_value = 2;
uint32 uint32_value = 3;
}
}
message InterdeviceMessage {
// The message data
oneof data {
string nmea = 1;
SensorData sensor = 2;
}
}

View file

@ -229,6 +229,30 @@ const (
// Mesh-Tab, esp32 based
// https://github.com/valzzu/Mesh-Tab
HardwareModel_MESH_TAB HardwareModel = 86
// MeshLink board developed by LoraItalia. NRF52840, eByte E22900M22S (Will also come with other frequencies), 25w MPPT solar charger (5v,12v,18v selectable), support for gps, buzzer, oled or e-ink display, 10 gpios, hardware watchdog
// https://www.loraitalia.it
HardwareModel_MESHLINK HardwareModel = 87
// Seeed XIAO nRF52840 + Wio SX1262 kit
HardwareModel_XIAO_NRF52_KIT HardwareModel = 88
// Elecrow ThinkNode M1 & M2
// https://www.elecrow.com/wiki/ThinkNode-M1_Transceiver_Device(Meshtastic)_Power_By_nRF52840.html
// https://www.elecrow.com/wiki/ThinkNode-M2_Transceiver_Device(Meshtastic)_Power_By_NRF52840.html (this actually uses ESP32-S3)
HardwareModel_THINKNODE_M1 HardwareModel = 89
HardwareModel_THINKNODE_M2 HardwareModel = 90
// Lilygo T-ETH-Elite
HardwareModel_T_ETH_ELITE HardwareModel = 91
// Heltec HRI-3621 industrial probe
HardwareModel_HELTEC_SENSOR_HUB HardwareModel = 92
// Reserved Fried Chicken ID for future use
HardwareModel_RESERVED_FRIED_CHICKEN HardwareModel = 93
// Heltec Magnetic Power Bank with Meshtastic compatible
HardwareModel_HELTEC_MESH_POCKET HardwareModel = 94
// Seeed Solar Node
HardwareModel_SEEED_SOLAR_NODE HardwareModel = 95
// NomadStar Meteor Pro https://nomadstar.ch/
HardwareModel_NOMADSTAR_METEOR_PRO HardwareModel = 96
// Elecrow CrowPanel Advance models, ESP32-S3 and TFT with SX1262 radio plugin
HardwareModel_CROWPANEL HardwareModel = 97
// ------------------------------------------------------------------------------------------------------------------------------------------
// 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.
// ------------------------------------------------------------------------------------------------------------------------------------------
@ -325,6 +349,17 @@ var (
84: "WISMESH_TAP",
85: "ROUTASTIC",
86: "MESH_TAB",
87: "MESHLINK",
88: "XIAO_NRF52_KIT",
89: "THINKNODE_M1",
90: "THINKNODE_M2",
91: "T_ETH_ELITE",
92: "HELTEC_SENSOR_HUB",
93: "RESERVED_FRIED_CHICKEN",
94: "HELTEC_MESH_POCKET",
95: "SEEED_SOLAR_NODE",
96: "NOMADSTAR_METEOR_PRO",
97: "CROWPANEL",
255: "PRIVATE_HW",
}
HardwareModel_value = map[string]int32{
@ -415,6 +450,17 @@ var (
"WISMESH_TAP": 84,
"ROUTASTIC": 85,
"MESH_TAB": 86,
"MESHLINK": 87,
"XIAO_NRF52_KIT": 88,
"THINKNODE_M1": 89,
"THINKNODE_M2": 90,
"T_ETH_ELITE": 91,
"HELTEC_SENSOR_HUB": 92,
"RESERVED_FRIED_CHICKEN": 93,
"HELTEC_MESH_POCKET": 94,
"SEEED_SOLAR_NODE": 95,
"NOMADSTAR_METEOR_PRO": 96,
"CROWPANEL": 97,
"PRIVATE_HW": 255,
}
)
@ -638,25 +684,31 @@ const (
ExcludedModules_DETECTIONSENSOR_CONFIG ExcludedModules = 2048
// Paxcounter module
ExcludedModules_PAXCOUNTER_CONFIG ExcludedModules = 4096
// Bluetooth config (not technically a module, but used to indicate bluetooth capabilities)
ExcludedModules_BLUETOOTH_CONFIG ExcludedModules = 8192
// Network config (not technically a module, but used to indicate network capabilities)
ExcludedModules_NETWORK_CONFIG ExcludedModules = 16384
)
// Enum value maps for ExcludedModules.
var (
ExcludedModules_name = map[int32]string{
0: "EXCLUDED_NONE",
1: "MQTT_CONFIG",
2: "SERIAL_CONFIG",
4: "EXTNOTIF_CONFIG",
8: "STOREFORWARD_CONFIG",
16: "RANGETEST_CONFIG",
32: "TELEMETRY_CONFIG",
64: "CANNEDMSG_CONFIG",
128: "AUDIO_CONFIG",
256: "REMOTEHARDWARE_CONFIG",
512: "NEIGHBORINFO_CONFIG",
1024: "AMBIENTLIGHTING_CONFIG",
2048: "DETECTIONSENSOR_CONFIG",
4096: "PAXCOUNTER_CONFIG",
0: "EXCLUDED_NONE",
1: "MQTT_CONFIG",
2: "SERIAL_CONFIG",
4: "EXTNOTIF_CONFIG",
8: "STOREFORWARD_CONFIG",
16: "RANGETEST_CONFIG",
32: "TELEMETRY_CONFIG",
64: "CANNEDMSG_CONFIG",
128: "AUDIO_CONFIG",
256: "REMOTEHARDWARE_CONFIG",
512: "NEIGHBORINFO_CONFIG",
1024: "AMBIENTLIGHTING_CONFIG",
2048: "DETECTIONSENSOR_CONFIG",
4096: "PAXCOUNTER_CONFIG",
8192: "BLUETOOTH_CONFIG",
16384: "NETWORK_CONFIG",
}
ExcludedModules_value = map[string]int32{
"EXCLUDED_NONE": 0,
@ -673,6 +725,8 @@ var (
"AMBIENTLIGHTING_CONFIG": 1024,
"DETECTIONSENSOR_CONFIG": 2048,
"PAXCOUNTER_CONFIG": 4096,
"BLUETOOTH_CONFIG": 8192,
"NETWORK_CONFIG": 16384,
}
)
@ -4580,7 +4634,7 @@ var file_protobufs_mesh_proto_rawDesc = []byte{
0x65, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x48, 0x00, 0x52, 0x0c,
0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x42, 0x11, 0x0a, 0x0f,
0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x2a,
0xf9, 0x0c, 0x0a, 0x0d, 0x48, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65,
0xda, 0x0e, 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,
@ -4682,61 +4736,78 @@ var file_protobufs_mesh_proto_rawDesc = []byte{
0x0a, 0x08, 0x54, 0x4c, 0x4f, 0x52, 0x41, 0x5f, 0x43, 0x36, 0x10, 0x53, 0x12, 0x0f, 0x0a, 0x0b,
0x57, 0x49, 0x53, 0x4d, 0x45, 0x53, 0x48, 0x5f, 0x54, 0x41, 0x50, 0x10, 0x54, 0x12, 0x0d, 0x0a,
0x09, 0x52, 0x4f, 0x55, 0x54, 0x41, 0x53, 0x54, 0x49, 0x43, 0x10, 0x55, 0x12, 0x0c, 0x0a, 0x08,
0x4d, 0x45, 0x53, 0x48, 0x5f, 0x54, 0x41, 0x42, 0x10, 0x56, 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, 0xe9, 0x01, 0x2a, 0xb4, 0x02, 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, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x4c,
0x41, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x55, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52,
0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0c, 0x12, 0x22, 0x0a, 0x1e,
0x46, 0x4c, 0x41, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x55, 0x50, 0x54, 0x49, 0x4f, 0x4e,
0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0d,
0x2a, 0xd3, 0x02, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, 0x6f, 0x64,
0x75, 0x6c, 0x65, 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x44,
0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x51, 0x54, 0x54, 0x5f,
0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x52, 0x49,
0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x45,
0x58, 0x54, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x04,
0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44,
0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x41, 0x4e,
0x47, 0x45, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x10, 0x12,
0x14, 0x0a, 0x10, 0x54, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4e,
0x46, 0x49, 0x47, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x41, 0x4e, 0x4e, 0x45, 0x44, 0x4d,
0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x40, 0x12, 0x11, 0x0a, 0x0c, 0x41,
0x55, 0x44, 0x49, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x80, 0x01, 0x12, 0x1a,
0x0a, 0x15, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x48, 0x41, 0x52, 0x44, 0x57, 0x41, 0x52, 0x45,
0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x80, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x4e, 0x45,
0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49,
0x47, 0x10, 0x80, 0x04, 0x12, 0x1b, 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, 0x80,
0x08, 0x12, 0x1b, 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, 0x80, 0x10, 0x12, 0x16,
0x0a, 0x11, 0x50, 0x41, 0x58, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e,
0x46, 0x49, 0x47, 0x10, 0x80, 0x20, 0x42, 0x83, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e,
0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64,
0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65,
0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x73, 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,
0x4d, 0x45, 0x53, 0x48, 0x5f, 0x54, 0x41, 0x42, 0x10, 0x56, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x45,
0x53, 0x48, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x57, 0x12, 0x12, 0x0a, 0x0e, 0x58, 0x49, 0x41, 0x4f,
0x5f, 0x4e, 0x52, 0x46, 0x35, 0x32, 0x5f, 0x4b, 0x49, 0x54, 0x10, 0x58, 0x12, 0x10, 0x0a, 0x0c,
0x54, 0x48, 0x49, 0x4e, 0x4b, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x31, 0x10, 0x59, 0x12, 0x10,
0x0a, 0x0c, 0x54, 0x48, 0x49, 0x4e, 0x4b, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4d, 0x32, 0x10, 0x5a,
0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x5f, 0x45, 0x54, 0x48, 0x5f, 0x45, 0x4c, 0x49, 0x54, 0x45, 0x10,
0x5b, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x53,
0x4f, 0x52, 0x5f, 0x48, 0x55, 0x42, 0x10, 0x5c, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x53, 0x45,
0x52, 0x56, 0x45, 0x44, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x49, 0x43, 0x4b,
0x45, 0x4e, 0x10, 0x5d, 0x12, 0x16, 0x0a, 0x12, 0x48, 0x45, 0x4c, 0x54, 0x45, 0x43, 0x5f, 0x4d,
0x45, 0x53, 0x48, 0x5f, 0x50, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x5e, 0x12, 0x14, 0x0a, 0x10,
0x53, 0x45, 0x45, 0x45, 0x44, 0x5f, 0x53, 0x4f, 0x4c, 0x41, 0x52, 0x5f, 0x4e, 0x4f, 0x44, 0x45,
0x10, 0x5f, 0x12, 0x18, 0x0a, 0x14, 0x4e, 0x4f, 0x4d, 0x41, 0x44, 0x53, 0x54, 0x41, 0x52, 0x5f,
0x4d, 0x45, 0x54, 0x45, 0x4f, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x10, 0x60, 0x12, 0x0d, 0x0a, 0x09,
0x43, 0x52, 0x4f, 0x57, 0x50, 0x41, 0x4e, 0x45, 0x4c, 0x10, 0x61, 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, 0xe9, 0x01, 0x2a, 0xb4, 0x02, 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, 0x12, 0x20, 0x0a, 0x1c, 0x46,
0x4c, 0x41, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x55, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x0c, 0x12, 0x22, 0x0a,
0x1e, 0x46, 0x4c, 0x41, 0x53, 0x48, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x55, 0x50, 0x54, 0x49, 0x4f,
0x4e, 0x5f, 0x55, 0x4e, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10,
0x0d, 0x2a, 0x80, 0x03, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x4d, 0x6f,
0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45,
0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x51, 0x54, 0x54,
0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x52,
0x49, 0x41, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f,
0x45, 0x58, 0x54, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10,
0x04, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52,
0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x08, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x41,
0x4e, 0x47, 0x45, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x10,
0x12, 0x14, 0x0a, 0x10, 0x54, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x54, 0x52, 0x59, 0x5f, 0x43, 0x4f,
0x4e, 0x46, 0x49, 0x47, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x41, 0x4e, 0x4e, 0x45, 0x44,
0x4d, 0x53, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x40, 0x12, 0x11, 0x0a, 0x0c,
0x41, 0x55, 0x44, 0x49, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x80, 0x01, 0x12,
0x1a, 0x0a, 0x15, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x48, 0x41, 0x52, 0x44, 0x57, 0x41, 0x52,
0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x80, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x4e,
0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x46,
0x49, 0x47, 0x10, 0x80, 0x04, 0x12, 0x1b, 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,
0x80, 0x08, 0x12, 0x1b, 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, 0x80, 0x10, 0x12,
0x16, 0x0a, 0x11, 0x50, 0x41, 0x58, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x4f,
0x4e, 0x46, 0x49, 0x47, 0x10, 0x80, 0x20, 0x12, 0x15, 0x0a, 0x10, 0x42, 0x4c, 0x55, 0x45, 0x54,
0x4f, 0x4f, 0x54, 0x48, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x80, 0x40, 0x12, 0x14,
0x0a, 0x0e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47,
0x10, 0x80, 0x80, 0x01, 0x42, 0x83, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61,
0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69,
0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65,
0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68,
0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73,
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 (

View file

@ -339,7 +339,7 @@ enum HardwareModel {
* Heltec HRU-3601: https://heltec.org/project/hru-3601/
*/
HELTEC_HRU_3601 = 23;
/*
* Heltec Wireless Bridge
*/
@ -542,7 +542,7 @@ enum HardwareModel {
CDEBYTE_EORA_S3 = 61;
/*
* TWC_MESH_V4
* TWC_MESH_V4
* Adafruit NRF52840 feather express with SX1262, SSD1306 OLED and NEO6M GPS
*/
TWC_MESH_V4 = 62;
@ -558,27 +558,27 @@ enum HardwareModel {
* ESP32-D0WDQ6 With SX1276/SKY66122, SSD1306 OLED and No GPS
*/
RADIOMASTER_900_BANDIT_NANO = 64;
/*
* Heltec Capsule Sensor V3 with ESP32-S3 CPU, Portable LoRa device that can replace GNSS modules or sensors
*/
HELTEC_CAPSULE_SENSOR_V3 = 65;
/*
* Heltec Vision Master T190 with ESP32-S3 CPU, and a 1.90 inch TFT display
*/
HELTEC_VISION_MASTER_T190 = 66;
/*
* Heltec Vision Master E213 with ESP32-S3 CPU, and a 2.13 inch E-Ink display
*/
HELTEC_VISION_MASTER_E213 = 67;
/*
* Heltec Vision Master E290 with ESP32-S3 CPU, and a 2.9 inch E-Ink display
*/
HELTEC_VISION_MASTER_E290 = 68;
/*
* Heltec Mesh Node T114 board with nRF52840 CPU, and a 1.14 inch TFT display, Ultimate low-power design,
* specifically adapted for the Meshtatic project
@ -594,7 +594,7 @@ enum HardwareModel {
* Seeed studio T1000-E tracker card. NRF52840 w/ LR1110 radio, GPS, button, buzzer, and sensors.
*/
TRACKER_T1000_E = 71;
/*
* RAK3172 STM32WLE5 Module (https://store.rakwireless.com/products/wisduo-lpwan-module-rak3172)
*/
@ -626,7 +626,7 @@ enum HardwareModel {
*
*/
RP2040_FEATHER_RFM95 = 76;
/* M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, CoreS3, Paper) https://m5stack.com/ */
M5STACK_COREBASIC = 77;
M5STACK_CORE2 = 78;
@ -636,7 +636,7 @@ enum HardwareModel {
/* M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, CoreS3, Paper) https://m5stack.com/ */
M5STACK_CORES3 = 80;
/* Seeed XIAO S3 DK*/
SEEED_XIAO_S3 = 81;
@ -670,7 +670,59 @@ enum HardwareModel {
*/
MESH_TAB = 86;
/*
* MeshLink board developed by LoraItalia. NRF52840, eByte E22900M22S (Will also come with other frequencies), 25w MPPT solar charger (5v,12v,18v selectable), support for gps, buzzer, oled or e-ink display, 10 gpios, hardware watchdog
* https://www.loraitalia.it
*/
MESHLINK = 87;
/*
* Seeed XIAO nRF52840 + Wio SX1262 kit
*/
XIAO_NRF52_KIT = 88;
/*
* Elecrow ThinkNode M1 & M2
* https://www.elecrow.com/wiki/ThinkNode-M1_Transceiver_Device(Meshtastic)_Power_By_nRF52840.html
* https://www.elecrow.com/wiki/ThinkNode-M2_Transceiver_Device(Meshtastic)_Power_By_NRF52840.html (this actually uses ESP32-S3)
*/
THINKNODE_M1 = 89;
THINKNODE_M2 = 90;
/*
* Lilygo T-ETH-Elite
*/
T_ETH_ELITE = 91;
/*
* Heltec HRI-3621 industrial probe
*/
HELTEC_SENSOR_HUB = 92;
/*
* Reserved Fried Chicken ID for future use
*/
RESERVED_FRIED_CHICKEN = 93;
/*
* Heltec Magnetic Power Bank with Meshtastic compatible
*/
HELTEC_MESH_POCKET = 94;
/*
* Seeed Solar Node
*/
SEEED_SOLAR_NODE = 95;
/*
* NomadStar Meteor Pro https://nomadstar.ch/
*/
NOMADSTAR_METEOR_PRO = 96;
/*
* Elecrow CrowPanel Advance models, ESP32-S3 and TFT with SX1262 radio plugin
*/
CROWPANEL = 97;
/*
* ------------------------------------------------------------------------------------------------------------------------------------------
@ -1092,12 +1144,12 @@ message MeshPacket {
/*
* Higher priority for specific message types (portnums) to distinguish between other reliable packets.
*/
*/
HIGH = 100;
/*
* Higher priority alert message used for critical alerts which take priority over other reliable packets.
*/
*/
ALERT = 110;
/*
@ -1262,7 +1314,7 @@ message MeshPacket {
bool pki_encrypted = 17;
/*
* Last byte of the node number of the node that should be used as the next hop in routing.
* Last byte of the node number of the node that should be used as the next hop in routing.
* Set by the firmware internally, clients are not supposed to set this.
*/
uint32 next_hop = 18;
@ -2010,6 +2062,16 @@ enum ExcludedModules {
* Paxcounter module
*/
PAXCOUNTER_CONFIG = 0x1000;
/*
* Bluetooth config (not technically a module, but used to indicate bluetooth capabilities)
*/
BLUETOOTH_CONFIG = 0x2000;
/*
* Network config (not technically a module, but used to indicate network capabilities)
*/
NETWORK_CONFIG = 0x4000;
}
/*

View file

@ -2016,7 +2016,7 @@ func (x *ModuleConfig_TelemetryConfig) GetHealthScreenEnabled() bool {
return false
}
// TODO: REPLACE
// Canned Messages Module Config
type ModuleConfig_CannedMessageConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

View file

@ -136,7 +136,7 @@ message ModuleConfig {
* Whether in addition to sending it to MQTT and the PhoneAPI, our NeighborInfo should be transmitted over LoRa.
* Note that this is not available on a channel with default key and name.
*/
bool transmit_over_lora = 3;
bool transmit_over_lora = 3;
}
/*
@ -603,7 +603,7 @@ message ModuleConfig {
}
/*
* TODO: REPLACE
* Canned Messages Module Config
*/
message CannedMessageConfig {
/*

View file

@ -825,8 +825,13 @@ var file_protobufs_nanopb_proto_rawDesc = []byte{
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0xf2, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x4e, 0x61, 0x6e,
0x6f, 0x50, 0x42, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x06, 0x6e, 0x61, 0x6e, 0x6f,
0x70, 0x62, 0x42, 0x1a, 0x0a, 0x18, 0x66, 0x69, 0x2e, 0x6b, 0x61, 0x70, 0x73, 0x69, 0x2e, 0x6b,
0x6f, 0x74, 0x69, 0x2e, 0x6a, 0x70, 0x61, 0x2e, 0x6e, 0x61, 0x6e, 0x6f, 0x70, 0x62,
0x70, 0x62, 0x42, 0x62, 0x0a, 0x18, 0x66, 0x69, 0x2e, 0x6b, 0x61, 0x70, 0x73, 0x69, 0x2e, 0x6b,
0x6f, 0x74, 0x69, 0x2e, 0x6a, 0x70, 0x61, 0x2e, 0x6e, 0x61, 0x6e, 0x6f, 0x70, 0x62, 0x5a, 0x46,
0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d,
0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69,
0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x73,
}
var (

View file

@ -9,6 +9,7 @@ syntax = "proto2";
import "google/protobuf/descriptor.proto";
option go_package = "git.janky.solutions/finn/matrix-bridge-meshtastic/meshtastic/protobufs";
option java_package = "fi.kapsi.koti.jpa.nanopb";
enum FieldType {

View file

@ -140,6 +140,9 @@ const (
PortNum_MAP_REPORT_APP PortNum = 73
// PowerStress based monitoring support (for automated power consumption testing)
PortNum_POWERSTRESS_APP PortNum = 74
// Reticulum Network Stack Tunnel App
// ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
PortNum_RETICULUM_TUNNEL_APP PortNum = 76
// Private applications should use portnums >= 256.
// To simplify initial development and testing you can use "PRIVATE_APP"
// in your code without needing to rebuild protobuf files (via [regen-protos.sh](https://github.com/meshtastic/firmware/blob/master/bin/regen-protos.sh))
@ -180,6 +183,7 @@ var (
72: "ATAK_PLUGIN",
73: "MAP_REPORT_APP",
74: "POWERSTRESS_APP",
76: "RETICULUM_TUNNEL_APP",
256: "PRIVATE_APP",
257: "ATAK_FORWARDER",
511: "MAX",
@ -211,6 +215,7 @@ var (
"ATAK_PLUGIN": 72,
"MAP_REPORT_APP": 73,
"POWERSTRESS_APP": 74,
"RETICULUM_TUNNEL_APP": 76,
"PRIVATE_APP": 256,
"ATAK_FORWARDER": 257,
"MAX": 511,
@ -249,7 +254,7 @@ var File_protobufs_portnums_proto protoreflect.FileDescriptor
var file_protobufs_portnums_proto_rawDesc = []byte{
0x0a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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, 0xb1, 0x04, 0x0a, 0x07, 0x50, 0x6f, 0x72, 0x74, 0x4e,
0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2a, 0xcb, 0x04, 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,
@ -281,19 +286,20 @@ var file_protobufs_portnums_proto_rawDesc = []byte{
0x0f, 0x0a, 0x0b, 0x41, 0x54, 0x41, 0x4b, 0x5f, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e, 0x10, 0x48,
0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x41, 0x50, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x41,
0x50, 0x50, 0x10, 0x49, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x4f, 0x57, 0x45, 0x52, 0x53, 0x54, 0x52,
0x45, 0x53, 0x53, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x4a, 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, 0x81, 0x01, 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, 0x46, 0x67, 0x69,
0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e,
0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72,
0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f,
0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x73, 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,
0x45, 0x53, 0x53, 0x5f, 0x41, 0x50, 0x50, 0x10, 0x4a, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x54,
0x49, 0x43, 0x55, 0x4c, 0x55, 0x4d, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x50,
0x50, 0x10, 0x4c, 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, 0x81, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b,
0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e,
0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d,
0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61,
0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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 (

View file

@ -206,6 +206,12 @@ enum PortNum {
*/
POWERSTRESS_APP = 74;
/*
* Reticulum Network Stack Tunnel App
* ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
*/
RETICULUM_TUNNEL_APP = 76;
/*
* Private applications should use portnums >= 256.
* To simplify initial development and testing you can use "PRIVATE_APP"
@ -223,4 +229,4 @@ enum PortNum {
* Currently we limit port nums to no higher than this value
*/
MAX = 511;
}
}

View file

@ -101,4 +101,4 @@ message PowerStressMessage {
Opcode cmd = 1;
float num_seconds = 2;
}
}

View file

@ -94,6 +94,12 @@ const (
TelemetrySensorType_RADSENS TelemetrySensorType = 33
// High accuracy current and voltage
TelemetrySensorType_INA226 TelemetrySensorType = 34
// DFRobot Gravity tipping bucket rain gauge
TelemetrySensorType_DFROBOT_RAIN TelemetrySensorType = 35
// Infineon DPS310 High accuracy pressure and temperature
TelemetrySensorType_DPS310 TelemetrySensorType = 36
// RAKWireless RAK12035 Soil Moisture Sensor Module
TelemetrySensorType_RAK12035 TelemetrySensorType = 37
)
// Enum value maps for TelemetrySensorType.
@ -134,6 +140,9 @@ var (
32: "SCD4X",
33: "RADSENS",
34: "INA226",
35: "DFROBOT_RAIN",
36: "DPS310",
37: "RAK12035",
}
TelemetrySensorType_value = map[string]int32{
"SENSOR_UNSET": 0,
@ -171,6 +180,9 @@ var (
"SCD4X": 32,
"RADSENS": 33,
"INA226": 34,
"DFROBOT_RAIN": 35,
"DPS310": 36,
"RAK12035": 37,
}
)
@ -330,6 +342,14 @@ type EnvironmentMetrics struct {
WindLull *float32 `protobuf:"fixed32,17,opt,name=wind_lull,json=windLull,proto3,oneof" json:"wind_lull,omitempty"`
// Radiation in µR/h
Radiation *float32 `protobuf:"fixed32,18,opt,name=radiation,proto3,oneof" json:"radiation,omitempty"`
// Rainfall in the last hour in mm
Rainfall_1H *float32 `protobuf:"fixed32,19,opt,name=rainfall_1h,json=rainfall1h,proto3,oneof" json:"rainfall_1h,omitempty"`
// Rainfall in the last 24 hours in mm
Rainfall_24H *float32 `protobuf:"fixed32,20,opt,name=rainfall_24h,json=rainfall24h,proto3,oneof" json:"rainfall_24h,omitempty"`
// Soil moisture measured (% 1-100)
SoilMoisture *uint32 `protobuf:"varint,21,opt,name=soil_moisture,json=soilMoisture,proto3,oneof" json:"soil_moisture,omitempty"`
// Soil temperature measured (*C)
SoilTemperature *float32 `protobuf:"fixed32,22,opt,name=soil_temperature,json=soilTemperature,proto3,oneof" json:"soil_temperature,omitempty"`
}
func (x *EnvironmentMetrics) Reset() {
@ -490,6 +510,34 @@ func (x *EnvironmentMetrics) GetRadiation() float32 {
return 0
}
func (x *EnvironmentMetrics) GetRainfall_1H() float32 {
if x != nil && x.Rainfall_1H != nil {
return *x.Rainfall_1H
}
return 0
}
func (x *EnvironmentMetrics) GetRainfall_24H() float32 {
if x != nil && x.Rainfall_24H != nil {
return *x.Rainfall_24H
}
return 0
}
func (x *EnvironmentMetrics) GetSoilMoisture() uint32 {
if x != nil && x.SoilMoisture != nil {
return *x.SoilMoisture
}
return 0
}
func (x *EnvironmentMetrics) GetSoilTemperature() float32 {
if x != nil && x.SoilTemperature != nil {
return *x.SoilTemperature
}
return 0
}
// Power Metrics (voltage / current / etc)
type PowerMetrics struct {
state protoimpl.MessageState
@ -614,7 +662,7 @@ type AirQualityMetrics struct {
Particles_50Um *uint32 `protobuf:"varint,11,opt,name=particles_50um,json=particles50um,proto3,oneof" json:"particles_50um,omitempty"`
// 10.0um Particle Count
Particles_100Um *uint32 `protobuf:"varint,12,opt,name=particles_100um,json=particles100um,proto3,oneof" json:"particles_100um,omitempty"`
// 10.0um Particle Count
// CO2 concentration in ppm
Co2 *uint32 `protobuf:"varint,13,opt,name=co2,proto3,oneof" json:"co2,omitempty"`
}
@ -1185,7 +1233,7 @@ var file_protobufs_telemetry_proto_rawDesc = []byte{
0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x69, 0x72, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x5f, 0x74, 0x78, 0x42,
0x11, 0x0a, 0x0f, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
0x64, 0x73, 0x22, 0x8b, 0x07, 0x0a, 0x12, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
0x64, 0x73, 0x22, 0xfb, 0x08, 0x0a, 0x12, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
0x6e, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x74, 0x65, 0x6d,
0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00,
0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01,
@ -1225,23 +1273,38 @@ var file_protobufs_telemetry_proto_rawDesc = []byte{
0x6e, 0x64, 0x5f, 0x6c, 0x75, 0x6c, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x02, 0x48, 0x10, 0x52,
0x08, 0x77, 0x69, 0x6e, 0x64, 0x4c, 0x75, 0x6c, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09,
0x72, 0x61, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x48,
0x11, 0x52, 0x09, 0x72, 0x61, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42,
0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42,
0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x75, 0x6d,
0x69, 0x64, 0x69, 0x74, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x62, 0x61, 0x72, 0x6f, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x42, 0x11, 0x0a,
0x0f, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x42, 0x0a, 0x0a, 0x08,
0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x69, 0x61, 0x71,
0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x06, 0x0a,
0x04, 0x5f, 0x6c, 0x75, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f,
0x6c, 0x75, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x69, 0x72, 0x5f, 0x6c, 0x75, 0x78, 0x42, 0x09,
0x0a, 0x07, 0x5f, 0x75, 0x76, 0x5f, 0x6c, 0x75, 0x78, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x77, 0x69,
0x6e, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b,
0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f,
0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f,
0x67, 0x75, 0x73, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x6c, 0x75,
0x6c, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x11, 0x52, 0x09, 0x72, 0x61, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12,
0x24, 0x0a, 0x0b, 0x72, 0x61, 0x69, 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x5f, 0x31, 0x68, 0x18, 0x13,
0x20, 0x01, 0x28, 0x02, 0x48, 0x12, 0x52, 0x0a, 0x72, 0x61, 0x69, 0x6e, 0x66, 0x61, 0x6c, 0x6c,
0x31, 0x68, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x61, 0x69, 0x6e, 0x66, 0x61, 0x6c,
0x6c, 0x5f, 0x32, 0x34, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x48, 0x13, 0x52, 0x0b, 0x72,
0x61, 0x69, 0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x32, 0x34, 0x68, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a,
0x0d, 0x73, 0x6f, 0x69, 0x6c, 0x5f, 0x6d, 0x6f, 0x69, 0x73, 0x74, 0x75, 0x72, 0x65, 0x18, 0x15,
0x20, 0x01, 0x28, 0x0d, 0x48, 0x14, 0x52, 0x0c, 0x73, 0x6f, 0x69, 0x6c, 0x4d, 0x6f, 0x69, 0x73,
0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x6f, 0x69, 0x6c, 0x5f,
0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28,
0x02, 0x48, 0x15, 0x52, 0x0f, 0x73, 0x6f, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61,
0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x6d, 0x70,
0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x6c, 0x61,
0x74, 0x69, 0x76, 0x65, 0x5f, 0x68, 0x75, 0x6d, 0x69, 0x64, 0x69, 0x74, 0x79, 0x42, 0x16, 0x0a,
0x14, 0x5f, 0x62, 0x61, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x70, 0x72, 0x65,
0x73, 0x73, 0x75, 0x72, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x67, 0x61, 0x73, 0x5f, 0x72, 0x65,
0x73, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x6f, 0x6c,
0x74, 0x61, 0x67, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
0x42, 0x06, 0x0a, 0x04, 0x5f, 0x69, 0x61, 0x71, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73,
0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x75, 0x78, 0x42, 0x0c, 0x0a,
0x0a, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x75, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f,
0x69, 0x72, 0x5f, 0x6c, 0x75, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x76, 0x5f, 0x6c, 0x75,
0x78, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x73, 0x70,
0x65, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0c,
0x0a, 0x0a, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x67, 0x75, 0x73, 0x74, 0x42, 0x0c, 0x0a, 0x0a,
0x5f, 0x77, 0x69, 0x6e, 0x64, 0x5f, 0x6c, 0x75, 0x6c, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72,
0x61, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x61, 0x69,
0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x5f, 0x31, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x61, 0x69,
0x6e, 0x66, 0x61, 0x6c, 0x6c, 0x5f, 0x32, 0x34, 0x68, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x6f,
0x69, 0x6c, 0x5f, 0x6d, 0x6f, 0x69, 0x73, 0x74, 0x75, 0x72, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f,
0x73, 0x6f, 0x69, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65,
0x22, 0xd2, 0x02, 0x0a, 0x0c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x68, 0x31, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x56, 0x6f, 0x6c,
@ -1389,7 +1452,7 @@ var file_protobufs_telemetry_proto_rawDesc = []byte{
0x7a, 0x65, 0x72, 0x6f, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x61,
0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18,
0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2a, 0xe5, 0x03, 0x0a, 0x13, 0x54, 0x65, 0x6c,
0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2a, 0x91, 0x04, 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,
@ -1420,16 +1483,18 @@ var file_protobufs_telemetry_proto_rawDesc = []byte{
0x0a, 0x08, 0x4d, 0x4c, 0x58, 0x39, 0x30, 0x36, 0x31, 0x34, 0x10, 0x1f, 0x12, 0x09, 0x0a, 0x05,
0x53, 0x43, 0x44, 0x34, 0x58, 0x10, 0x20, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x41, 0x44, 0x53, 0x45,
0x4e, 0x53, 0x10, 0x21, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x41, 0x32, 0x32, 0x36, 0x10, 0x22,
0x42, 0x88, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a,
0x61, 0x6e, 0x6b, 0x79, 0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66,
0x69, 0x6e, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67,
0x65, 0x2d, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73,
0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x73, 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,
0x12, 0x10, 0x0a, 0x0c, 0x44, 0x46, 0x52, 0x4f, 0x42, 0x4f, 0x54, 0x5f, 0x52, 0x41, 0x49, 0x4e,
0x10, 0x23, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x50, 0x53, 0x33, 0x31, 0x30, 0x10, 0x24, 0x12, 0x0c,
0x0a, 0x08, 0x52, 0x41, 0x4b, 0x31, 0x32, 0x30, 0x33, 0x35, 0x10, 0x25, 0x42, 0x88, 0x01, 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, 0x46, 0x67, 0x69, 0x74, 0x2e, 0x6a, 0x61, 0x6e, 0x6b, 0x79,
0x2e, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6e, 0x6e, 0x2f,
0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x2d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x2d, 0x6d, 0x65,
0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73,
0x74, 0x69, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 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 (

View file

@ -72,7 +72,7 @@ message EnvironmentMetrics {
*/
optional float current = 6;
/*
/*
* relative scale IAQ value as measured by Bosch BME680 . value 0-500.
* Belongs to Air Quality but is not particle but VOC measurement. Other VOC values can also be put in here.
*/
@ -134,6 +134,25 @@ message EnvironmentMetrics {
*/
optional float radiation = 18;
/*
* Rainfall in the last hour in mm
*/
optional float rainfall_1h = 19;
/*
* Rainfall in the last 24 hours in mm
*/
optional float rainfall_24h = 20;
/*
* Soil moisture measured (% 1-100)
*/
optional uint32 soil_moisture = 21;
/*
* Soil temperature measured (*C)
*/
optional float soil_temperature = 22;
}
/*
@ -234,9 +253,9 @@ message AirQualityMetrics {
* 10.0um Particle Count
*/
optional uint32 particles_100um = 12;
/*
* 10.0um Particle Count
* CO2 concentration in ppm
*/
optional uint32 co2 = 13;
}
@ -262,7 +281,7 @@ message LocalStats {
* Number of packets sent
*/
uint32 num_packets_tx = 4;
/*
* Number of packets received (both good and bad)
*/
@ -481,17 +500,17 @@ enum TelemetrySensorType {
* AMS TSL25911FN RGB Light Sensor
*/
TSL25911FN = 22;
/*
* AHT10 Integrated temperature and humidity sensor
*/
AHT10 = 23;
/*
* DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction)
* DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction)
*/
DFROBOT_LARK = 24;
/*
* NAU7802 Scale Chip or compatible
*/
@ -518,15 +537,15 @@ enum TelemetrySensorType {
CUSTOM_SENSOR = 29;
/*
* MAX30102 Pulse Oximeter and Heart-Rate Sensor
* MAX30102 Pulse Oximeter and Heart-Rate Sensor
*/
MAX30102 = 30;
/*
* MLX90614 non-contact IR temperature sensor
*/
MLX90614 = 31;
/*
* SCD40/SCD41 CO2, humidity, temperature sensor
*/
@ -536,12 +555,26 @@ enum TelemetrySensorType {
* ClimateGuard RadSens, radiation, Geiger-Muller Tube
*/
RADSENS = 33;
/*
* High accuracy current and voltage
*/
INA226 = 34;
/*
* DFRobot Gravity tipping bucket rain gauge
*/
DFROBOT_RAIN = 35;
/*
* Infineon DPS310 High accuracy pressure and temperature
*/
DPS310 = 36;
/*
* RAKWireless RAK12035 Soil Moisture Sensor Module
*/
RAK12035 = 37;
}
/*