mirror of
https://github.com/meshtastic/protobufs.git
synced 2026-04-20 22:13:55 +00:00
Compare commits
No commits in common. "master" and "v2.7.2" have entirely different histories.
46 changed files with 269 additions and 3693 deletions
|
|
@ -16,9 +16,12 @@ jobs:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Push to schema registry
|
- name: Setup Buf
|
||||||
uses: bufbuild/buf-action@v1.2.0
|
uses: bufbuild/buf-setup-action@v1.30.0
|
||||||
with:
|
with:
|
||||||
github_token: ${{ github.token }}
|
github_token: ${{ github.token }}
|
||||||
token: ${{ secrets.BUF_TOKEN }}
|
|
||||||
push: true
|
- name: Push to schema registry
|
||||||
|
uses: bufbuild/buf-push-action@v1.2.0
|
||||||
|
with:
|
||||||
|
buf_token: ${{ secrets.BUF_TOKEN }}
|
||||||
10
.github/workflows/create_tag.yml
vendored
10
.github/workflows/create_tag.yml
vendored
|
|
@ -58,14 +58,14 @@ jobs:
|
||||||
token: ${{ github.token }}
|
token: ${{ github.token }}
|
||||||
|
|
||||||
- name: Setup Buf
|
- name: Setup Buf
|
||||||
uses: bufbuild/buf-action@v1.2.0
|
uses: bufbuild/buf-setup-action@v1.30.0
|
||||||
with:
|
with:
|
||||||
github_token: ${{ github.token }}
|
github_token: ${{ github.token }}
|
||||||
token: ${{ secrets.BUF_TOKEN }}
|
|
||||||
setup_only: true
|
|
||||||
|
|
||||||
- name: Push to schema registry
|
- name: Push to schema registry
|
||||||
env:
|
# uses: bufbuild/buf-push-action@v1
|
||||||
BUF_TOKEN: ${{ secrets.BUF_TOKEN }}
|
# with:
|
||||||
|
# buf_token: ${{ secrets.BUF_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
|
export BUF_TOKEN=${{ secrets.BUF_TOKEN }}
|
||||||
buf push --tag ${{ steps.version.outputs.NEW_VERSION }}
|
buf push --tag ${{ steps.version.outputs.NEW_VERSION }}
|
||||||
|
|
|
||||||
261
.github/workflows/publish.yml
vendored
261
.github/workflows/publish.yml
vendored
|
|
@ -1,263 +1,30 @@
|
||||||
name: Publish to JSR & NPM
|
name: Push new version to schema registry
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- "v*"
|
- "**"
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: "Version to publish (e.g. v1.2.3). Used when manually dispatching."
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
dry_run:
|
|
||||||
description: "Dry run mode - generate artifacts without publishing"
|
|
||||||
required: false
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
id-token: write
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
codegen:
|
push_to_registry:
|
||||||
runs-on: ubuntu-24.04
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
|
||||||
version: ${{ steps.version.outputs.VERSION }}
|
|
||||||
tag: ${{ steps.version.outputs.TAG }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Determine version
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
if [ "${{ github.ref_type }}" = "tag" ]; then
|
|
||||||
TAG="${{ github.ref_name }}"
|
|
||||||
elif [ -n "${{ inputs.version || '' }}" ]; then
|
|
||||||
TAG="${{ inputs.version }}"
|
|
||||||
else
|
|
||||||
echo "No tag ref and no 'version' input. Provide a tag (push a tag) or pass inputs.version." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
VERSION="${TAG#v}"
|
|
||||||
echo "VERSION=$VERSION" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "TAG=$TAG" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "Resolved VERSION=$VERSION, TAG=$TAG"
|
|
||||||
|
|
||||||
- name: Setup Buf
|
|
||||||
uses: bufbuild/buf-setup-action@main
|
|
||||||
with:
|
|
||||||
github_token: ${{ github.token }}
|
|
||||||
|
|
||||||
- name: Generate protobuf code
|
|
||||||
run: buf generate
|
|
||||||
|
|
||||||
- name: Move generated files to lib root
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
src_dir="packages/ts/lib/meshtastic"
|
|
||||||
dest_dir="packages/ts/lib"
|
|
||||||
|
|
||||||
if [ ! -d "$src_dir" ]; then
|
|
||||||
echo "Expected source directory '$src_dir' does not exist. 'buf generate' may have failed or changed its output paths." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! compgen -G "$src_dir"/*_pb.ts > /dev/null; then
|
|
||||||
echo "No '*_pb.ts' files found in '$src_dir'. 'buf generate' may have produced no TypeScript files or changed their naming." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
mv "$src_dir"/*_pb.ts "$dest_dir"/
|
|
||||||
- name: Show generated files
|
|
||||||
run: |
|
|
||||||
echo "=== packages/ts contents ==="
|
|
||||||
ls -la packages/ts/
|
|
||||||
echo "=== packages/ts/lib contents ==="
|
|
||||||
ls -la packages/ts/lib/ || echo "lib folder not found"
|
|
||||||
|
|
||||||
- name: Set package versions
|
|
||||||
run: |
|
|
||||||
set -euo pipefail
|
|
||||||
VERSION="${{ steps.version.outputs.VERSION }}"
|
|
||||||
for f in packages/ts/deno.json packages/ts/package.json; do
|
|
||||||
test -f "$f" || { echo "Missing $f" >&2; exit 1; }
|
|
||||||
sed -i "s/__PACKAGE_VERSION__/${VERSION}/g" "$f"
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Copy license & README
|
|
||||||
run: cp LICENSE README.md packages/ts/
|
|
||||||
|
|
||||||
- name: Upload TypeScript code
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ts_code
|
|
||||||
path: packages/ts
|
|
||||||
|
|
||||||
build-typescript:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
needs: codegen
|
|
||||||
steps:
|
|
||||||
- name: Download TypeScript code
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: ts_code
|
|
||||||
|
|
||||||
- name: Show downloaded files
|
|
||||||
run: |
|
|
||||||
echo "=== Working directory ==="
|
|
||||||
pwd
|
|
||||||
echo "=== Contents ==="
|
|
||||||
ls -la
|
|
||||||
echo "=== lib/ contents ==="
|
|
||||||
ls -la lib/ || echo "lib folder not found"
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm install
|
|
||||||
|
|
||||||
- name: Build with tsdown
|
|
||||||
run: npm run build
|
|
||||||
|
|
||||||
- name: Show build output
|
|
||||||
run: |
|
|
||||||
echo "=== Build output ==="
|
|
||||||
ls -la
|
|
||||||
ls -la dist/
|
|
||||||
|
|
||||||
- name: Upload built NPM package
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: npm_package
|
|
||||||
path: |
|
|
||||||
dist/
|
|
||||||
package.json
|
|
||||||
LICENSE
|
|
||||||
README.md
|
|
||||||
|
|
||||||
- name: Upload JSR package
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: jsr_package
|
|
||||||
path: |
|
|
||||||
lib/
|
|
||||||
mod.ts
|
|
||||||
deno.json
|
|
||||||
LICENSE
|
|
||||||
README.md
|
|
||||||
|
|
||||||
create-release-zips:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
needs: [codegen, build-typescript]
|
|
||||||
steps:
|
|
||||||
- name: Download NPM package
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: npm_package
|
|
||||||
path: npm_package
|
|
||||||
|
|
||||||
- name: Download JSR package
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: jsr_package
|
|
||||||
path: jsr_package
|
|
||||||
|
|
||||||
- name: Create zip archives
|
|
||||||
run: |
|
|
||||||
cd npm_package && zip -r ../meshtastic-protobufs-npm.zip . && cd ..
|
|
||||||
cd jsr_package && zip -r ../meshtastic-protobufs-jsr.zip . && cd ..
|
|
||||||
|
|
||||||
- name: Upload release zips
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: release_zips
|
|
||||||
path: |
|
|
||||||
meshtastic-protobufs-npm.zip
|
|
||||||
meshtastic-protobufs-jsr.zip
|
|
||||||
|
|
||||||
upload-release-assets:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
needs: [codegen, create-release-zips]
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
steps:
|
|
||||||
- name: Download release zips
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: release_zips
|
|
||||||
|
|
||||||
- name: Upload assets to GitHub release
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
tag_name: ${{ needs.codegen.outputs.tag }}
|
|
||||||
files: |
|
|
||||||
meshtastic-protobufs-npm.zip
|
|
||||||
meshtastic-protobufs-jsr.zip
|
|
||||||
|
|
||||||
push-buf-registry:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
needs: codegen
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Buf
|
- name: Setup Buf
|
||||||
uses: bufbuild/buf-setup-action@main
|
uses: bufbuild/buf-setup-action@v1.30.0
|
||||||
with:
|
with:
|
||||||
github_token: ${{ github.token }}
|
github_token: ${{ github.token }}
|
||||||
|
|
||||||
- name: Push to schema registry
|
- name: Push to schema registry
|
||||||
env:
|
# uses: bufbuild/buf-push-action@v1
|
||||||
BUF_TOKEN: ${{ secrets.BUF_TOKEN }}
|
# with:
|
||||||
run: buf push --tag ${{ needs.codegen.outputs.tag }}
|
# buf_token: ${{ secrets.BUF_TOKEN }}
|
||||||
|
run: |
|
||||||
publish-npm:
|
export BUF_TOKEN=${{ secrets.BUF_TOKEN }}
|
||||||
runs-on: ubuntu-24.04
|
buf push --tag ${{ github.ref_name }}
|
||||||
needs: [codegen, build-typescript]
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
steps:
|
|
||||||
- name: Download NPM package
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: npm_package
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22"
|
|
||||||
registry-url: "https://registry.npmjs.org"
|
|
||||||
|
|
||||||
- name: Publish to NPM
|
|
||||||
run: npm publish --access public
|
|
||||||
env:
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
||||||
|
|
||||||
publish-jsr:
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
needs: [codegen, build-typescript]
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
id-token: write
|
|
||||||
steps:
|
|
||||||
- name: Download JSR package
|
|
||||||
uses: actions/download-artifact@v4
|
|
||||||
with:
|
|
||||||
name: jsr_package
|
|
||||||
|
|
||||||
- name: Setup Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "22"
|
|
||||||
|
|
||||||
- name: Publish to JSR
|
|
||||||
run: npx jsr publish
|
|
||||||
|
|
|
||||||
19
.github/workflows/pull_request.yml
vendored
19
.github/workflows/pull_request.yml
vendored
|
|
@ -2,7 +2,6 @@ name: pull-request
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
on: pull_request
|
on: pull_request
|
||||||
jobs:
|
jobs:
|
||||||
|
|
@ -13,11 +12,17 @@ jobs:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Buf PR Checks
|
- name: Setup Buf
|
||||||
uses: bufbuild/buf-action@v1.2.0
|
uses: bufbuild/buf-setup-action@v1.30.0
|
||||||
with:
|
with:
|
||||||
github_token: ${{ github.token }}
|
github_token: ${{ github.token }}
|
||||||
token: ${{ secrets.BUF_TOKEN }}
|
|
||||||
format: true
|
- name: Lint
|
||||||
lint: true
|
uses: bufbuild/buf-lint-action@v1.1.1
|
||||||
breaking: true
|
|
||||||
|
- name: Push to schema registry
|
||||||
|
uses: bufbuild/buf-push-action@v1.2.0
|
||||||
|
if: ${{ github.event_name != 'pull_request_target' && github.event_name != 'pull_request' }}
|
||||||
|
with:
|
||||||
|
buf_token: ${{ secrets.BUF_TOKEN }}
|
||||||
|
draft: ${{ github.ref_name != 'master'}}
|
||||||
|
|
|
||||||
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -1,5 +1 @@
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
# Generated protobuf files
|
|
||||||
packages/ts/lib/
|
|
||||||
.bin/
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
version: v2
|
|
||||||
plugins:
|
|
||||||
- remote: buf.build/bufbuild/es:v2.1.0
|
|
||||||
out: packages/ts/lib
|
|
||||||
opt: target=ts,import_extension=.ts
|
|
||||||
29
buf.yaml
29
buf.yaml
|
|
@ -1,23 +1,14 @@
|
||||||
version: v2
|
version: v1
|
||||||
modules:
|
|
||||||
- path: .
|
|
||||||
name: buf.build/meshtastic/protobufs
|
name: buf.build/meshtastic/protobufs
|
||||||
excludes:
|
deps: []
|
||||||
- .trunk/
|
build:
|
||||||
- meshtastic/device_only/
|
excludes: []
|
||||||
lint:
|
|
||||||
use:
|
|
||||||
- MINIMAL
|
|
||||||
except:
|
|
||||||
- PACKAGE_NO_IMPORT_CYCLE
|
|
||||||
ignore_only:
|
|
||||||
PACKAGE_DEFINED:
|
|
||||||
- nanopb.proto
|
|
||||||
disallow_comment_ignores: true
|
|
||||||
breaking:
|
breaking:
|
||||||
use:
|
use:
|
||||||
- FILE
|
- FILE
|
||||||
except:
|
lint:
|
||||||
- EXTENSION_NO_DELETE
|
ignore_only:
|
||||||
- FIELD_SAME_DEFAULT
|
PACKAGE_DEFINED:
|
||||||
|
- nanopb.proto
|
||||||
|
use:
|
||||||
|
- MINIMAL
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
*AdminMessage.session_passkey max_size:8
|
*AdminMessage.session_passkey max_size:8
|
||||||
|
|
||||||
*AdminMessage.OTAEvent.ota_hash max_size:32
|
|
||||||
|
|
||||||
*AdminMessage.InputEvent.event_code int_size:8
|
*AdminMessage.InputEvent.event_code int_size:8
|
||||||
*AdminMessage.InputEvent.kb_char int_size:8
|
*AdminMessage.InputEvent.kb_char int_size:8
|
||||||
*AdminMessage.InputEvent.touch_x int_size:16
|
*AdminMessage.InputEvent.touch_x int_size:16
|
||||||
|
|
|
||||||
|
|
@ -2,18 +2,17 @@ syntax = "proto3";
|
||||||
|
|
||||||
package meshtastic;
|
package meshtastic;
|
||||||
|
|
||||||
/* trunk-ignore(buf-lint/COMPILE) */
|
|
||||||
import "meshtastic/channel.proto";
|
import "meshtastic/channel.proto";
|
||||||
import "meshtastic/config.proto";
|
import "meshtastic/config.proto";
|
||||||
import "meshtastic/connection_status.proto";
|
import "meshtastic/connection_status.proto";
|
||||||
import "meshtastic/device_ui.proto";
|
|
||||||
import "meshtastic/mesh.proto";
|
import "meshtastic/mesh.proto";
|
||||||
import "meshtastic/module_config.proto";
|
import "meshtastic/module_config.proto";
|
||||||
|
import "meshtastic/device_ui.proto";
|
||||||
|
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "AdminProtos";
|
option java_outer_classname = "AdminProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -22,6 +21,7 @@ option swift_prefix = "";
|
||||||
* (Prior to 1.2 these operations were done via special ToRadio operations)
|
* (Prior to 1.2 these operations were done via special ToRadio operations)
|
||||||
*/
|
*/
|
||||||
message AdminMessage {
|
message AdminMessage {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The node generates this key and sends it with any get_x_response packets.
|
* The node generates this key and sends it with any get_x_response packets.
|
||||||
* The client MUST include the same key with any set_x commands. Key expires after 300 seconds.
|
* The client MUST include the same key with any set_x commands. Key expires after 300 seconds.
|
||||||
|
|
@ -152,21 +152,6 @@ message AdminMessage {
|
||||||
* TODO: REPLACE
|
* TODO: REPLACE
|
||||||
*/
|
*/
|
||||||
PAXCOUNTER_CONFIG = 12;
|
PAXCOUNTER_CONFIG = 12;
|
||||||
|
|
||||||
/*
|
|
||||||
* TODO: REPLACE
|
|
||||||
*/
|
|
||||||
STATUSMESSAGE_CONFIG = 13;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Traffic management module config
|
|
||||||
*/
|
|
||||||
TRAFFICMANAGEMENT_CONFIG = 14;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TAK module config
|
|
||||||
*/
|
|
||||||
TAK_CONFIG = 15;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum BackupLocation {
|
enum BackupLocation {
|
||||||
|
|
@ -203,23 +188,6 @@ message AdminMessage {
|
||||||
uint32 touch_y = 4;
|
uint32 touch_y = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* User is requesting an over the air update.
|
|
||||||
* Node will reboot into the OTA loader
|
|
||||||
*/
|
|
||||||
message OTAEvent {
|
|
||||||
/*
|
|
||||||
* Tell the node to reboot into OTA mode for firmware update via BLE or WiFi (ESP32 only for now)
|
|
||||||
*/
|
|
||||||
OTAMode reboot_ota_mode = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* A 32 byte hash of the OTA firmware.
|
|
||||||
* Used to verify the integrity of the firmware before applying an update.
|
|
||||||
*/
|
|
||||||
bytes ota_hash = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO: REPLACE
|
* TODO: REPLACE
|
||||||
*/
|
*/
|
||||||
|
|
@ -447,11 +415,6 @@ message AdminMessage {
|
||||||
*/
|
*/
|
||||||
uint32 remove_ignored_node = 48;
|
uint32 remove_ignored_node = 48;
|
||||||
|
|
||||||
/*
|
|
||||||
* Set specified node-num to be muted
|
|
||||||
*/
|
|
||||||
uint32 toggle_muted_node = 49;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Begins an edit transaction for config, module config, owner, and channel settings changes
|
* Begins an edit transaction for config, module config, owner, and channel settings changes
|
||||||
* This will delay the standard *implicit* save to the file system and subsequent reboot behavior until committed (commit_edit_settings)
|
* This will delay the standard *implicit* save to the file system and subsequent reboot behavior until committed (commit_edit_settings)
|
||||||
|
|
@ -481,9 +444,8 @@ message AdminMessage {
|
||||||
/*
|
/*
|
||||||
* Tell the node to reboot into the OTA Firmware in this many seconds (or <0 to cancel reboot)
|
* Tell the node to reboot into the OTA Firmware in this many seconds (or <0 to cancel reboot)
|
||||||
* Only Implemented for ESP32 Devices. This needs to be issued to send a new main firmware via bluetooth.
|
* Only Implemented for ESP32 Devices. This needs to be issued to send a new main firmware via bluetooth.
|
||||||
* Deprecated in favor of reboot_ota_mode in 2.7.17
|
|
||||||
*/
|
*/
|
||||||
int32 reboot_ota_seconds = 95 [deprecated = true];
|
int32 reboot_ota_seconds = 95;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This message is only supported for the simulator Portduino build.
|
* This message is only supported for the simulator Portduino build.
|
||||||
|
|
@ -508,42 +470,11 @@ message AdminMessage {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tell the node to reset the nodedb.
|
* Tell the node to reset the nodedb.
|
||||||
* When true, favorites are preserved through reset.
|
|
||||||
*/
|
*/
|
||||||
bool nodedb_reset = 100;
|
int32 nodedb_reset = 100;
|
||||||
|
|
||||||
/*
|
|
||||||
* Tell the node to reset into the OTA Loader
|
|
||||||
*/
|
|
||||||
OTAEvent ota_request = 102;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Parameters and sensor configuration
|
|
||||||
*/
|
|
||||||
SensorConfig sensor_config = 103;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Firmware update mode for OTA updates
|
|
||||||
*/
|
|
||||||
enum OTAMode {
|
|
||||||
/*
|
|
||||||
* Do not reboot into OTA mode
|
|
||||||
*/
|
|
||||||
NO_REBOOT_OTA = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Reboot into OTA mode for BLE firmware update
|
|
||||||
*/
|
|
||||||
OTA_BLE = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Reboot into OTA mode for WiFi firmware update
|
|
||||||
*/
|
|
||||||
OTA_WIFI = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Parameters for setting up Meshtastic for ameteur radio usage
|
* Parameters for setting up Meshtastic for ameteur radio usage
|
||||||
*/
|
*/
|
||||||
|
|
@ -596,11 +527,6 @@ message SharedContact {
|
||||||
* Add this contact to the blocked / ignored list
|
* Add this contact to the blocked / ignored list
|
||||||
*/
|
*/
|
||||||
bool should_ignore = 3;
|
bool should_ignore = 3;
|
||||||
|
|
||||||
/*
|
|
||||||
* Set the IS_KEY_MANUALLY_VERIFIED bit
|
|
||||||
*/
|
|
||||||
bool manually_verified = 4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -611,6 +537,7 @@ message KeyVerificationAdmin {
|
||||||
* Three stages of this request.
|
* Three stages of this request.
|
||||||
*/
|
*/
|
||||||
enum MessageType {
|
enum MessageType {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the first stage, where a client initiates
|
* This is the first stage, where a client initiates
|
||||||
*/
|
*/
|
||||||
|
|
@ -631,6 +558,7 @@ message KeyVerificationAdmin {
|
||||||
* This is the cancel path, can be taken at any point
|
* This is the cancel path, can be taken at any point
|
||||||
*/
|
*/
|
||||||
DO_NOT_VERIFY = 3;
|
DO_NOT_VERIFY = 3;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageType message_type = 1;
|
MessageType message_type = 1;
|
||||||
|
|
@ -650,113 +578,3 @@ message KeyVerificationAdmin {
|
||||||
*/
|
*/
|
||||||
optional uint32 security_number = 4;
|
optional uint32 security_number = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message SensorConfig {
|
|
||||||
/*
|
|
||||||
* SCD4X CO2 Sensor configuration
|
|
||||||
*/
|
|
||||||
SCD4X_config scd4x_config = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SEN5X PM Sensor configuration
|
|
||||||
*/
|
|
||||||
SEN5X_config sen5x_config = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SCD30 CO2 Sensor configuration
|
|
||||||
*/
|
|
||||||
SCD30_config scd30_config = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SHTXX temperature and relative humidity sensor configuration
|
|
||||||
*/
|
|
||||||
SHTXX_config shtxx_config = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SCD4X_config {
|
|
||||||
/*
|
|
||||||
* Set Automatic self-calibration enabled
|
|
||||||
*/
|
|
||||||
optional bool set_asc = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Recalibration target CO2 concentration in ppm (FRC or ASC)
|
|
||||||
*/
|
|
||||||
optional uint32 set_target_co2_conc = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Reference temperature in degC
|
|
||||||
*/
|
|
||||||
optional float set_temperature = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Altitude of sensor in meters above sea level. 0 - 3000m (overrides ambient pressure)
|
|
||||||
*/
|
|
||||||
optional uint32 set_altitude = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sensor ambient pressure in Pa. 70000 - 120000 Pa (overrides altitude)
|
|
||||||
*/
|
|
||||||
optional uint32 set_ambient_pressure = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Perform a factory reset of the sensor
|
|
||||||
*/
|
|
||||||
optional bool factory_reset = 6;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Power mode for sensor (true for low power, false for normal)
|
|
||||||
*/
|
|
||||||
optional bool set_power_mode = 7;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SEN5X_config {
|
|
||||||
/*
|
|
||||||
* Reference temperature in degC
|
|
||||||
*/
|
|
||||||
optional float set_temperature = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* One-shot mode (true for low power - one-shot mode, false for normal - continuous mode)
|
|
||||||
*/
|
|
||||||
optional bool set_one_shot_mode = 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SCD30_config {
|
|
||||||
/*
|
|
||||||
* Set Automatic self-calibration enabled
|
|
||||||
*/
|
|
||||||
optional bool set_asc = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Recalibration target CO2 concentration in ppm (FRC or ASC)
|
|
||||||
*/
|
|
||||||
optional uint32 set_target_co2_conc = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Reference temperature in degC
|
|
||||||
*/
|
|
||||||
optional float set_temperature = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Altitude of sensor in meters above sea level. 0 - 3000m (overrides ambient pressure)
|
|
||||||
*/
|
|
||||||
optional uint32 set_altitude = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Power mode for sensor (true for low power, false for normal)
|
|
||||||
*/
|
|
||||||
optional uint32 set_measurement_interval = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Perform a factory reset of the sensor
|
|
||||||
*/
|
|
||||||
optional bool soft_reset = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
message SHTXX_config {
|
|
||||||
/*
|
|
||||||
* Accuracy mode (0 = low, 1 = medium, 2 = high)
|
|
||||||
*/
|
|
||||||
optional uint32 set_accuracy = 1;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import "meshtastic/config.proto";
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "AppOnlyProtos";
|
option java_outer_classname = "AppOnlyProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -6,105 +6,3 @@
|
||||||
*GeoChat.to max_size:120
|
*GeoChat.to max_size:120
|
||||||
*GeoChat.to_callsign max_size:120
|
*GeoChat.to_callsign max_size:120
|
||||||
*TAKPacket.detail max_size:220
|
*TAKPacket.detail max_size:220
|
||||||
*TAKPacketV2.cot_type_str max_size:32
|
|
||||||
*TAKPacketV2.callsign max_size:120
|
|
||||||
*TAKPacketV2.uid max_size:48
|
|
||||||
*TAKPacketV2.device_callsign max_size:120
|
|
||||||
*TAKPacketV2.tak_version max_size:64
|
|
||||||
*TAKPacketV2.tak_device max_size:32
|
|
||||||
*TAKPacketV2.tak_platform max_size:32
|
|
||||||
*TAKPacketV2.tak_os max_size:16
|
|
||||||
*TAKPacketV2.endpoint max_size:32
|
|
||||||
*TAKPacketV2.phone max_size:20
|
|
||||||
*TAKPacketV2.raw_detail max_size:220
|
|
||||||
*TAKPacketV2.stale_seconds int_size:16
|
|
||||||
*TAKPacketV2.battery int_size:8
|
|
||||||
*TAKPacketV2.course int_size:16
|
|
||||||
*AircraftTrack.icao max_size:8
|
|
||||||
*AircraftTrack.registration max_size:16
|
|
||||||
*AircraftTrack.flight max_size:16
|
|
||||||
*AircraftTrack.aircraft_type max_size:8
|
|
||||||
*AircraftTrack.squawk int_size:16
|
|
||||||
*AircraftTrack.category max_size:4
|
|
||||||
*AircraftTrack.cot_host_id max_size:64
|
|
||||||
|
|
||||||
# --- Typed geometry payloads (v2 protocol extension) ---
|
|
||||||
#
|
|
||||||
# CotGeoPoint: sint32 deltas from the enclosing event's latitude_i/longitude_i.
|
|
||||||
# For nearby vertices (telestrations, small rectangles) the varint+zigzag
|
|
||||||
# encoding is 2-3 bytes per field, cutting telestration vertex data in half
|
|
||||||
# versus sfixed32. int_size:32 keeps the C type a plain int32.
|
|
||||||
# Named with a `Cot` prefix to avoid a collision with `meshtastic.GeoPoint`
|
|
||||||
# in device_ui.proto, which is an unrelated zoom/latitude/longitude type.
|
|
||||||
*CotGeoPoint.lat_delta_i int_size:32
|
|
||||||
*CotGeoPoint.lon_delta_i int_size:32
|
|
||||||
#
|
|
||||||
# DrawnShape pool sizing. `kind` and `style` are varint enums (no int_size
|
|
||||||
# needed). stroke_color / fill_color are Team enum, also varint. stroke_argb
|
|
||||||
# / fill_argb are fixed32 (always 4 bytes on the wire). Vertex pool is 32
|
|
||||||
# entries x ~12B each ~= 384B worst case. Telestrations beyond 32 vertices
|
|
||||||
# MUST be pre-truncated by the sender with `truncated = true`.
|
|
||||||
*DrawnShape.vertices max_count:32
|
|
||||||
*DrawnShape.major_cm int_size:32
|
|
||||||
*DrawnShape.minor_cm int_size:32
|
|
||||||
*DrawnShape.angle_deg int_size:16
|
|
||||||
*DrawnShape.stroke_weight_x10 int_size:16
|
|
||||||
*DrawnShape.bullseye_distance_dm int_size:32
|
|
||||||
*DrawnShape.bullseye_bearing_ref int_size:8
|
|
||||||
*DrawnShape.bullseye_flags int_size:8
|
|
||||||
*DrawnShape.bullseye_uid_ref max_size:48
|
|
||||||
|
|
||||||
# Marker pool sizing. Strings bounded tight to keep fixed pool small on
|
|
||||||
# ESP32 nanopb. parent_uid matches existing TAKPacketV2.uid cap (48).
|
|
||||||
# iconset fits "f7f71666-8b28-4b57-9fbb-e38e61d33b79/Google/hiker.png"
|
|
||||||
# (~52 chars) with slack.
|
|
||||||
*Marker.parent_uid max_size:48
|
|
||||||
*Marker.parent_type max_size:24
|
|
||||||
*Marker.parent_callsign max_size:24
|
|
||||||
*Marker.iconset max_size:80
|
|
||||||
|
|
||||||
# RangeAndBearing pool sizing.
|
|
||||||
*RangeAndBearing.anchor_uid max_size:48
|
|
||||||
*RangeAndBearing.range_cm int_size:32
|
|
||||||
*RangeAndBearing.bearing_cdeg int_size:16
|
|
||||||
*RangeAndBearing.stroke_weight_x10 int_size:16
|
|
||||||
|
|
||||||
# Route pool sizing. 16 links x ~24B each ~= 384B worst case. prefix is
|
|
||||||
# ATAK's short waypoint name prefix ("CP", "RP", etc.) — 8 chars is plenty.
|
|
||||||
*Route.links max_count:16
|
|
||||||
*Route.prefix max_size:8
|
|
||||||
*Route.stroke_weight_x10 int_size:16
|
|
||||||
*Route.Link.uid max_size:48
|
|
||||||
*Route.Link.callsign max_size:16
|
|
||||||
*Route.Link.link_type int_size:8
|
|
||||||
|
|
||||||
# GeoChat receipt extension. receipt_for_uid matches TAKPacketV2.uid caps.
|
|
||||||
*GeoChat.receipt_for_uid max_size:48
|
|
||||||
|
|
||||||
# CasevacReport pool sizing. All numeric fields are small (0..255 for
|
|
||||||
# patient counts, 1 byte for flags bitfields); strings are short.
|
|
||||||
*CasevacReport.equipment_flags int_size:8
|
|
||||||
*CasevacReport.terrain_flags int_size:8
|
|
||||||
*CasevacReport.litter_patients int_size:8
|
|
||||||
*CasevacReport.ambulatory_patients int_size:8
|
|
||||||
*CasevacReport.us_military int_size:8
|
|
||||||
*CasevacReport.us_civilian int_size:8
|
|
||||||
*CasevacReport.non_us_military int_size:8
|
|
||||||
*CasevacReport.non_us_civilian int_size:8
|
|
||||||
*CasevacReport.epw int_size:8
|
|
||||||
*CasevacReport.child int_size:8
|
|
||||||
*CasevacReport.zone_marker max_size:16
|
|
||||||
*CasevacReport.frequency max_size:16
|
|
||||||
|
|
||||||
# EmergencyAlert pool sizing. UIDs match TAKPacketV2.uid caps (48).
|
|
||||||
*EmergencyAlert.authoring_uid max_size:48
|
|
||||||
*EmergencyAlert.cancel_reference_uid max_size:48
|
|
||||||
|
|
||||||
# TaskRequest pool sizing. All four strings are capped tight so the
|
|
||||||
# worst-case wire size stays under the LoRa MTU with headroom. task_type
|
|
||||||
# is a short category tag; target_uid/assignee_uid match TAKPacketV2.uid
|
|
||||||
# conventions; note is the one user-entered field.
|
|
||||||
*TaskRequest.task_type max_size:12
|
|
||||||
*TaskRequest.target_uid max_size:32
|
|
||||||
*TaskRequest.assignee_uid max_size:32
|
|
||||||
*TaskRequest.note max_size:48
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "CannedMessageConfigProtos";
|
option java_outer_classname = "CannedMessageConfigProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
/* trunk-ignore(buf-lint/PACKAGE_DIRECTORY_MATCH) */
|
|
||||||
package meshtastic;
|
package meshtastic;
|
||||||
|
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "ChannelProtos";
|
option java_outer_classname = "ChannelProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -99,10 +98,10 @@ message ModuleSettings {
|
||||||
uint32 position_precision = 1;
|
uint32 position_precision = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Controls whether or not the client / device should mute the current channel
|
* Controls whether or not the phone / clients should mute the current channel
|
||||||
* Useful for noisy public channels you don't necessarily want to disable
|
* Useful for noisy public channels you don't necessarily want to disable
|
||||||
*/
|
*/
|
||||||
bool is_muted = 2;
|
bool is_client_muted = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import "meshtastic/mesh.proto";
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "ClientOnlyProtos";
|
option java_outer_classname = "ClientOnlyProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import "meshtastic/device_ui.proto";
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "ConfigProtos";
|
option java_outer_classname = "ConfigProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
message Config {
|
message Config {
|
||||||
|
|
@ -48,9 +48,8 @@ message Config {
|
||||||
* Description: Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list.
|
* Description: Infrastructure node for extending network coverage by relaying messages with minimal overhead. Not visible in Nodes list.
|
||||||
* Technical Details: Mesh packets will simply be rebroadcasted over this node. Nodes configured with this role will not originate NodeInfo, Position, Telemetry
|
* Technical Details: Mesh packets will simply be rebroadcasted over this node. Nodes configured with this role will not originate NodeInfo, Position, Telemetry
|
||||||
* or any other packet type. They will simply rebroadcast any mesh packets on the same frequency, channel num, spread factor, and coding rate.
|
* or any other packet type. They will simply rebroadcast any mesh packets on the same frequency, channel num, spread factor, and coding rate.
|
||||||
* Deprecated in v2.7.11 because it creates "holes" in the mesh rebroadcast chain.
|
|
||||||
*/
|
*/
|
||||||
REPEATER = 4 [deprecated = true];
|
REPEATER = 4;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Description: Broadcasts GPS position packets as priority.
|
* Description: Broadcasts GPS position packets as priority.
|
||||||
|
|
@ -109,14 +108,6 @@ message Config {
|
||||||
* consuming hops.
|
* consuming hops.
|
||||||
*/
|
*/
|
||||||
ROUTER_LATE = 11;
|
ROUTER_LATE = 11;
|
||||||
|
|
||||||
/*
|
|
||||||
* Description: Treats packets from or to favorited nodes as ROUTER_LATE, and all other packets as CLIENT.
|
|
||||||
* Technical Details: Used for stronger attic/roof nodes to distribute messages more widely
|
|
||||||
* from weaker, indoor, or less-well-positioned nodes. Recommended for users with multiple nodes
|
|
||||||
* where one CLIENT_BASE acts as a more powerful base station, such as an attic/roof node.
|
|
||||||
*/
|
|
||||||
CLIENT_BASE = 12;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -187,13 +178,6 @@ message Config {
|
||||||
* Buzzer is enabled only for non-notification tones such as button presses, startup, shutdown, but not for alerts.
|
* Buzzer is enabled only for non-notification tones such as button presses, startup, shutdown, but not for alerts.
|
||||||
*/
|
*/
|
||||||
SYSTEM_ONLY = 3;
|
SYSTEM_ONLY = 3;
|
||||||
|
|
||||||
/*
|
|
||||||
* Direct Message notifications only.
|
|
||||||
* Buzzer is enabled only for direct messages and alerts, but not for button presses.
|
|
||||||
* External notification config determines the specifics of the notification behavior.
|
|
||||||
*/
|
|
||||||
DIRECT_MSG_ONLY = 4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -599,10 +583,45 @@ message Config {
|
||||||
*/
|
*/
|
||||||
message DisplayConfig {
|
message DisplayConfig {
|
||||||
/*
|
/*
|
||||||
* Deprecated in 2.7.4: Unused
|
* How the GPS coordinates are displayed on the OLED screen.
|
||||||
*/
|
*/
|
||||||
enum DeprecatedGpsCoordinateFormat {
|
enum GpsCoordinateFormat {
|
||||||
UNUSED = 0;
|
/*
|
||||||
|
* GPS coordinates are displayed in the normal decimal degrees format:
|
||||||
|
* DD.DDDDDD DDD.DDDDDD
|
||||||
|
*/
|
||||||
|
DEC = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GPS coordinates are displayed in the degrees minutes seconds format:
|
||||||
|
* DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant
|
||||||
|
*/
|
||||||
|
DMS = 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Universal Transverse Mercator format:
|
||||||
|
* ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing
|
||||||
|
*/
|
||||||
|
UTM = 2;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Military Grid Reference System format:
|
||||||
|
* ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square,
|
||||||
|
* E is easting, N is northing
|
||||||
|
*/
|
||||||
|
MGRS = 3;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Open Location Code (aka Plus Codes).
|
||||||
|
*/
|
||||||
|
OLC = 4;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Ordnance Survey Grid Reference (the National Grid System of the UK).
|
||||||
|
* Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square,
|
||||||
|
* E is the easting, N is the northing
|
||||||
|
*/
|
||||||
|
OSGR = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -640,14 +659,14 @@ message Config {
|
||||||
OLED_SH1106 = 2;
|
OLED_SH1106 = 2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Can not be auto detected but set by proto. Used for 128x64 screens
|
* Can not be auto detected but set by proto. Used for 128x128 screens
|
||||||
*/
|
*/
|
||||||
OLED_SH1107 = 3;
|
OLED_SH1107 = 3;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Can not be auto detected but set by proto. Used for 128x128 screens
|
* Can not be auto detected but set by proto. Used for 128x64 screens
|
||||||
*/
|
*/
|
||||||
OLED_SH1107_128_128 = 4;
|
OLED_SH1107_128_64 = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -657,10 +676,9 @@ message Config {
|
||||||
uint32 screen_on_secs = 1;
|
uint32 screen_on_secs = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Deprecated in 2.7.4: Unused
|
|
||||||
* How the GPS coordinates are formatted on the OLED screen.
|
* How the GPS coordinates are formatted on the OLED screen.
|
||||||
*/
|
*/
|
||||||
DeprecatedGpsCoordinateFormat gps_format = 2 [deprecated = true];
|
GpsCoordinateFormat gps_format = 2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds.
|
* Automatically toggles to the next page on the screen like a carousel, based the specified interval in seconds.
|
||||||
|
|
@ -672,7 +690,7 @@ message Config {
|
||||||
* If this is set, the displayed compass will always point north. if unset, the old behaviour
|
* If this is set, the displayed compass will always point north. if unset, the old behaviour
|
||||||
* (top of display is heading direction) is used.
|
* (top of display is heading direction) is used.
|
||||||
*/
|
*/
|
||||||
bool compass_north_top = 4 [deprecated = true];
|
bool compass_north_top = 4;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Flip screen vertically, for cases that mount the screen upside down
|
* Flip screen vertically, for cases that mount the screen upside down
|
||||||
|
|
@ -777,17 +795,6 @@ message Config {
|
||||||
* If true, the device will display the time in 12-hour format on screen.
|
* If true, the device will display the time in 12-hour format on screen.
|
||||||
*/
|
*/
|
||||||
bool use_12h_clock = 12;
|
bool use_12h_clock = 12;
|
||||||
|
|
||||||
/*
|
|
||||||
* If false (default), the device will use short names for various display screens.
|
|
||||||
* If true, node names will show in long format
|
|
||||||
*/
|
|
||||||
bool use_long_node_name = 13;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If true, the device will display message bubbles on screen.
|
|
||||||
*/
|
|
||||||
bool enable_message_bubbles = 14;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -904,31 +911,19 @@ message Config {
|
||||||
* Philippines 915mhz
|
* Philippines 915mhz
|
||||||
*/
|
*/
|
||||||
PH_915 = 21;
|
PH_915 = 21;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Australia / New Zealand 433MHz
|
* Australia / New Zealand 433MHz
|
||||||
*/
|
*/
|
||||||
ANZ_433 = 22;
|
ANZ_433 = 22;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Kazakhstan 433MHz
|
* Kazakhstan 433MHz
|
||||||
*/
|
*/
|
||||||
KZ_433 = 23;
|
KZ_433 = 23;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Kazakhstan 863MHz
|
* Kazakhstan 863MHz
|
||||||
*/
|
*/
|
||||||
KZ_863 = 24;
|
KZ_863 = 24;
|
||||||
|
|
||||||
/*
|
|
||||||
* Nepal 865MHz
|
|
||||||
*/
|
|
||||||
NP_865 = 25;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Brazil 902MHz
|
|
||||||
*/
|
|
||||||
BR_902 = 26;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -943,9 +938,8 @@ message Config {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Long Range - Slow
|
* Long Range - Slow
|
||||||
* Deprecated in 2.7: Unpopular slow preset.
|
|
||||||
*/
|
*/
|
||||||
LONG_SLOW = 1 [deprecated = true];
|
LONG_SLOW = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Very Long Range - Slow
|
* Very Long Range - Slow
|
||||||
|
|
@ -984,29 +978,6 @@ message Config {
|
||||||
* It is not legal to use in all regions due to this wider bandwidth.
|
* It is not legal to use in all regions due to this wider bandwidth.
|
||||||
*/
|
*/
|
||||||
SHORT_TURBO = 8;
|
SHORT_TURBO = 8;
|
||||||
|
|
||||||
/*
|
|
||||||
* Long Range - Turbo
|
|
||||||
* This preset performs similarly to LongFast, but with 500Khz bandwidth.
|
|
||||||
*/
|
|
||||||
LONG_TURBO = 9;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum FEM_LNA_Mode {
|
|
||||||
/*
|
|
||||||
* FEM_LNA is present but disabled
|
|
||||||
*/
|
|
||||||
DISABLED = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FEM_LNA is present and enabled
|
|
||||||
*/
|
|
||||||
ENABLED = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FEM_LNA is not present on the device
|
|
||||||
*/
|
|
||||||
NOT_PRESENT = 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -1129,10 +1100,6 @@ message Config {
|
||||||
* Sets the ok_to_mqtt bit on outgoing packets
|
* Sets the ok_to_mqtt bit on outgoing packets
|
||||||
*/
|
*/
|
||||||
bool config_ok_to_mqtt = 105;
|
bool config_ok_to_mqtt = 105;
|
||||||
/*
|
|
||||||
* Set where LORA FEM is enabled, disabled, or not present
|
|
||||||
*/
|
|
||||||
FEM_LNA_Mode fem_lna_mode = 106;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message BluetoothConfig {
|
message BluetoothConfig {
|
||||||
|
|
@ -1170,6 +1137,7 @@ message Config {
|
||||||
}
|
}
|
||||||
|
|
||||||
message SecurityConfig {
|
message SecurityConfig {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The public key of the user's device.
|
* The public key of the user's device.
|
||||||
* Sent out to other nodes on the mesh to allow them to compute a shared secret key.
|
* Sent out to other nodes on the mesh to allow them to compute a shared secret key.
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "ConnStatusProtos";
|
option java_outer_classname = "ConnStatusProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
message DeviceConnectionStatus {
|
message DeviceConnectionStatus {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
*DeviceUIConfig.ring_tone_id int_size:8
|
*DeviceUIConfig.ring_tone_id int_size:8
|
||||||
*DeviceUIConfig.calibration_data max_size:16
|
*DeviceUIConfig.calibration_data max_size:16
|
||||||
*DeviceUIConfig.compass_mode int_size:8
|
*DeviceUIConfig.compass_mode int_size:8
|
||||||
*DeviceUIConfig.gps_format int_size:8
|
|
||||||
*NodeFilter.node_name max_size:16
|
*NodeFilter.node_name max_size:16
|
||||||
*NodeFilter.hops_away int_size:8
|
*NodeFilter.hops_away int_size:8
|
||||||
*NodeFilter.channel int_size:8
|
*NodeFilter.channel int_size:8
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "DeviceUIProtos";
|
option java_outer_classname = "DeviceUIProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -88,61 +88,9 @@ message DeviceUIConfig {
|
||||||
* true for analog clockface, false for digital clockface
|
* true for analog clockface, false for digital clockface
|
||||||
*/
|
*/
|
||||||
bool is_clockface_analog = 18;
|
bool is_clockface_analog = 18;
|
||||||
|
|
||||||
/*
|
|
||||||
* How the GPS coordinates are formatted on the OLED screen.
|
|
||||||
*/
|
|
||||||
GpsCoordinateFormat gps_format = 19;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* How the GPS coordinates are displayed on the OLED screen.
|
|
||||||
*/
|
|
||||||
enum GpsCoordinateFormat {
|
|
||||||
/*
|
|
||||||
* GPS coordinates are displayed in the normal decimal degrees format:
|
|
||||||
* DD.DDDDDD DDD.DDDDDD
|
|
||||||
*/
|
|
||||||
DEC = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* GPS coordinates are displayed in the degrees minutes seconds format:
|
|
||||||
* DD°MM'SS"C DDD°MM'SS"C, where C is the compass point representing the locations quadrant
|
|
||||||
*/
|
|
||||||
DMS = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Universal Transverse Mercator format:
|
|
||||||
* ZZB EEEEEE NNNNNNN, where Z is zone, B is band, E is easting, N is northing
|
|
||||||
*/
|
|
||||||
UTM = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Military Grid Reference System format:
|
|
||||||
* ZZB CD EEEEE NNNNN, where Z is zone, B is band, C is the east 100k square, D is the north 100k square,
|
|
||||||
* E is easting, N is northing
|
|
||||||
*/
|
|
||||||
MGRS = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Open Location Code (aka Plus Codes).
|
|
||||||
*/
|
|
||||||
OLC = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ordnance Survey Grid Reference (the National Grid System of the UK).
|
|
||||||
* Format: AB EEEEE NNNNN, where A is the east 100k square, B is the north 100k square,
|
|
||||||
* E is the easting, N is the northing
|
|
||||||
*/
|
|
||||||
OSGR = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Maidenhead Locator System
|
|
||||||
* Described here: https://en.wikipedia.org/wiki/Maidenhead_Locator_System
|
|
||||||
*/
|
|
||||||
MLS = 6;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message NodeFilter {
|
message NodeFilter {
|
||||||
/*
|
/*
|
||||||
* Filter unknown nodes
|
* Filter unknown nodes
|
||||||
|
|
@ -178,6 +126,7 @@ message NodeFilter {
|
||||||
* Filter based on channel
|
* Filter based on channel
|
||||||
*/
|
*/
|
||||||
int32 channel = 7;
|
int32 channel = 7;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message NodeHighlight {
|
message NodeHighlight {
|
||||||
|
|
@ -205,6 +154,7 @@ message NodeHighlight {
|
||||||
* Highlight nodes by matching name string
|
* Highlight nodes by matching name string
|
||||||
*/
|
*/
|
||||||
string node_name = 5;
|
string node_name = 5;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message GeoPoint {
|
message GeoPoint {
|
||||||
|
|
@ -367,16 +317,6 @@ enum Language {
|
||||||
*/
|
*/
|
||||||
BULGARIAN = 17;
|
BULGARIAN = 17;
|
||||||
|
|
||||||
/*
|
|
||||||
* Czech
|
|
||||||
*/
|
|
||||||
CZECH = 18;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Danish
|
|
||||||
*/
|
|
||||||
DANISH = 19;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Simplified Chinese (experimental)
|
* Simplified Chinese (experimental)
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -2,21 +2,21 @@ syntax = "proto3";
|
||||||
|
|
||||||
package meshtastic;
|
package meshtastic;
|
||||||
|
|
||||||
/* trunk-ignore(buf-lint/COMPILE) */
|
|
||||||
import "meshtastic/channel.proto";
|
import "meshtastic/channel.proto";
|
||||||
import "meshtastic/config.proto";
|
|
||||||
import "meshtastic/localonly.proto";
|
|
||||||
import "meshtastic/mesh.proto";
|
import "meshtastic/mesh.proto";
|
||||||
import "meshtastic/telemetry.proto";
|
import "meshtastic/telemetry.proto";
|
||||||
|
import "meshtastic/config.proto";
|
||||||
|
import "meshtastic/localonly.proto";
|
||||||
import "nanopb.proto";
|
import "nanopb.proto";
|
||||||
|
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "DeviceOnly";
|
option java_outer_classname = "DeviceOnly";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
option (nanopb_fileopt).include = "<vector>";
|
option (nanopb_fileopt).include = "<vector>";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Position with static location information only for NodeDBLite
|
* Position with static location information only for NodeDBLite
|
||||||
*/
|
*/
|
||||||
|
|
@ -168,7 +168,6 @@ message NodeInfoLite {
|
||||||
/*
|
/*
|
||||||
* Bitfield for storing booleans.
|
* Bitfield for storing booleans.
|
||||||
* LSB 0 is_key_manually_verified
|
* LSB 0 is_key_manually_verified
|
||||||
* LSB 1 is_muted
|
|
||||||
*/
|
*/
|
||||||
uint32 bitfield = 13;
|
uint32 bitfield = 13;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "InterdeviceProtos";
|
option java_outer_classname = "InterdeviceProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
// encapsulate up to 1k of NMEA string data
|
// encapsulate up to 1k of NMEA string data
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import "meshtastic/module_config.proto";
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "LocalOnlyProtos";
|
option java_outer_classname = "LocalOnlyProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -131,21 +131,6 @@ message LocalModuleConfig {
|
||||||
*/
|
*/
|
||||||
ModuleConfig.PaxcounterConfig paxcounter = 14;
|
ModuleConfig.PaxcounterConfig paxcounter = 14;
|
||||||
|
|
||||||
/*
|
|
||||||
* StatusMessage Config
|
|
||||||
*/
|
|
||||||
ModuleConfig.StatusMessageConfig statusmessage = 15;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The part of the config that is specific to the Traffic Management module
|
|
||||||
*/
|
|
||||||
ModuleConfig.TrafficManagementConfig traffic_management = 16;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TAK Config
|
|
||||||
*/
|
|
||||||
ModuleConfig.TAKConfig tak = 17;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A version integer used to invalidate old save files when we make
|
* 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
|
* incompatible changes This integer is set at build time and is private to
|
||||||
|
|
|
||||||
|
|
@ -31,9 +31,6 @@
|
||||||
*MyNodeInfo.air_period_tx max_count:8
|
*MyNodeInfo.air_period_tx max_count:8
|
||||||
*MyNodeInfo.air_period_rx max_count:8
|
*MyNodeInfo.air_period_rx max_count:8
|
||||||
|
|
||||||
*MyNodeInfo.firmware_edition int_size:8
|
|
||||||
*MyNodeInfo.nodedb_count int_size:16
|
|
||||||
|
|
||||||
# Note: the actual limit (because of header bytes) on the size of encrypted payloads is 251 bytes, but I use 256
|
# Note: the actual limit (because of header bytes) on the size of encrypted payloads is 251 bytes, but I use 256
|
||||||
# here because we might need to fill with zeros for padding to encryption block size (16 bytes per block)
|
# here because we might need to fill with zeros for padding to encryption block size (16 bytes per block)
|
||||||
*MeshPacket.encrypted max_size:256
|
*MeshPacket.encrypted max_size:256
|
||||||
|
|
@ -69,14 +66,6 @@
|
||||||
*KeyVerification.hash1 max_size:32
|
*KeyVerification.hash1 max_size:32
|
||||||
*KeyVerification.hash2 max_size:32
|
*KeyVerification.hash2 max_size:32
|
||||||
|
|
||||||
*StoreForwardPlusPlus.message_hash max_size:32
|
|
||||||
*StoreForwardPlusPlus.commit_hash max_size:32
|
|
||||||
*StoreForwardPlusPlus.root_hash max_size:32
|
|
||||||
*StoreForwardPlusPlus.message max_size:240
|
|
||||||
|
|
||||||
*RemoteShell.payload max_size:200
|
|
||||||
|
|
||||||
*StatusMessage.status max_size:80
|
|
||||||
|
|
||||||
# MyMessage.name max_size:40
|
# MyMessage.name max_size:40
|
||||||
# or fixed_length or fixed_count, or max_count
|
# or fixed_length or fixed_count, or max_count
|
||||||
|
|
|
||||||
|
|
@ -4,16 +4,16 @@ package meshtastic;
|
||||||
|
|
||||||
import "meshtastic/channel.proto";
|
import "meshtastic/channel.proto";
|
||||||
import "meshtastic/config.proto";
|
import "meshtastic/config.proto";
|
||||||
import "meshtastic/device_ui.proto";
|
|
||||||
import "meshtastic/module_config.proto";
|
import "meshtastic/module_config.proto";
|
||||||
import "meshtastic/portnums.proto";
|
import "meshtastic/portnums.proto";
|
||||||
import "meshtastic/telemetry.proto";
|
import "meshtastic/telemetry.proto";
|
||||||
import "meshtastic/xmodem.proto";
|
import "meshtastic/xmodem.proto";
|
||||||
|
import "meshtastic/device_ui.proto";
|
||||||
|
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "MeshProtos";
|
option java_outer_classname = "MeshProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -388,9 +388,9 @@ enum HardwareModel {
|
||||||
LORA_RELAY_V1 = 32;
|
LORA_RELAY_V1 = 32;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* T-Echo Plus device from LilyGo
|
* TODO: REPLACE
|
||||||
*/
|
*/
|
||||||
T_ECHO_PLUS = 33;
|
NRF52840DK = 33;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO: REPLACE
|
* TODO: REPLACE
|
||||||
|
|
@ -700,9 +700,9 @@ enum HardwareModel {
|
||||||
HELTEC_SENSOR_HUB = 92;
|
HELTEC_SENSOR_HUB = 92;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Muzi Works Muzi-Base device
|
* Reserved Fried Chicken ID for future use
|
||||||
*/
|
*/
|
||||||
MUZI_BASE = 93;
|
RESERVED_FRIED_CHICKEN = 93;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Heltec Magnetic Power Bank with Meshtastic compatible
|
* Heltec Magnetic Power Bank with Meshtastic compatible
|
||||||
|
|
@ -724,169 +724,52 @@ enum HardwareModel {
|
||||||
*/
|
*/
|
||||||
CROWPANEL = 97;
|
CROWPANEL = 97;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Lilygo LINK32 board with sensors
|
* Lilygo LINK32 board with sensors
|
||||||
*/
|
*/
|
||||||
LINK_32 = 98;
|
LINK_32 = 98;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Seeed Tracker L1
|
* Seeed Tracker L1
|
||||||
*/
|
*/
|
||||||
SEEED_WIO_TRACKER_L1 = 99;
|
SEEED_WIO_TRACKER_L1 = 99;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Seeed Tracker L1 EINK driver
|
* Seeed Tracker L1 EINK driver
|
||||||
*/
|
*/
|
||||||
SEEED_WIO_TRACKER_L1_EINK = 100;
|
SEEED_WIO_TRACKER_L1_EINK = 100;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Muzi Works R1 Neo
|
* Reserved ID for future and past use
|
||||||
*/
|
*/
|
||||||
MUZI_R1_NEO = 101;
|
QWANTZ_TINY_ARMS = 101;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Lilygo T-Deck Pro
|
* Lilygo T-Deck Pro
|
||||||
*/
|
*/
|
||||||
T_DECK_PRO = 102;
|
T_DECK_PRO = 102;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Lilygo TLora Pager
|
* Lilygo TLora Pager
|
||||||
*/
|
*/
|
||||||
T_LORA_PAGER = 103;
|
T_LORA_PAGER = 103;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* M5Stack Reserved
|
* GAT562 Mesh Trial Tracker
|
||||||
*/
|
*/
|
||||||
M5STACK_RESERVED = 104; // 0x68
|
GAT562_MESH_TRIAL_TRACKER = 104;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* RAKwireless WisMesh Tag
|
* RAKwireless WisMesh Tag
|
||||||
*/
|
*/
|
||||||
WISMESH_TAG = 105;
|
WISMESH_TAG = 105;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* RAKwireless WisBlock Core RAK3312 https://docs.rakwireless.com/product-categories/wisduo/rak3112-module/overview/
|
* RAKwireless WisBlock Core RAK3312 https://docs.rakwireless.com/product-categories/wisduo/rak3112-module/overview/
|
||||||
*/
|
*/
|
||||||
RAK3312 = 106;
|
RAK3312 = 106;
|
||||||
|
|
||||||
/*
|
|
||||||
* Elecrow ThinkNode M5 https://www.elecrow.com/wiki/ThinkNode_M5_Meshtastic_LoRa_Signal_Transceiver_ESP32-S3.html
|
|
||||||
*/
|
|
||||||
THINKNODE_M5 = 107;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* MeshSolar is an integrated power management and communication solution designed for outdoor low-power devices.
|
|
||||||
* https://heltec.org/project/meshsolar/
|
|
||||||
*/
|
|
||||||
HELTEC_MESH_SOLAR = 108;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Lilygo T-Echo Lite
|
|
||||||
*/
|
|
||||||
T_ECHO_LITE = 109;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* New Heltec LoRA32 with ESP32-S3 CPU
|
|
||||||
*/
|
|
||||||
HELTEC_V4 = 110;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* M5Stack C6L
|
|
||||||
*/
|
|
||||||
M5STACK_C6L = 111;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* M5Stack Cardputer Adv
|
|
||||||
*/
|
|
||||||
M5STACK_CARDPUTER_ADV = 112;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ESP32S3 main controller with GPS and TFT screen.
|
|
||||||
*/
|
|
||||||
HELTEC_WIRELESS_TRACKER_V2 = 113;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LilyGo T-Watch Ultra
|
|
||||||
*/
|
|
||||||
T_WATCH_ULTRA = 114;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Elecrow ThinkNode M3
|
|
||||||
*/
|
|
||||||
THINKNODE_M3 = 115;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* RAK WISMESH_TAP_V2 with ESP32-S3 CPU
|
|
||||||
*/
|
|
||||||
WISMESH_TAP_V2 = 116;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* RAK3401
|
|
||||||
*/
|
|
||||||
RAK3401 = 117;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* RAK6421 Hat+
|
|
||||||
*/
|
|
||||||
RAK6421 = 118;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Elecrow ThinkNode M4
|
|
||||||
*/
|
|
||||||
THINKNODE_M4 = 119;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Elecrow ThinkNode M6
|
|
||||||
*/
|
|
||||||
THINKNODE_M6 = 120;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Elecrow Meshstick 1262
|
|
||||||
*/
|
|
||||||
MESHSTICK_1262 = 121;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LilyGo T-Beam 1W
|
|
||||||
*/
|
|
||||||
TBEAM_1_WATT = 122;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LilyGo T5 S3 ePaper Pro (V1 and V2)
|
|
||||||
*/
|
|
||||||
T5_S3_EPAPER_PRO = 123;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LilyGo T-Beam BPF (144-148Mhz)
|
|
||||||
*/
|
|
||||||
TBEAM_BPF = 124;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LilyGo T-Mini E-paper S3 Kit
|
|
||||||
*/
|
|
||||||
MINI_EPAPER_S3 = 125;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LilyGo T-Display S3 Pro LR1121
|
|
||||||
*/
|
|
||||||
TDISPLAY_S3_PRO = 126;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Heltec Mesh Node T096 board features an nRF52840 CPU and a TFT screen.
|
|
||||||
*/
|
|
||||||
HELTEC_MESH_NODE_T096 = 127;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Seeed studio T1000-E Pro tracker card. NRF52840 w/ LR2021 radio,
|
|
||||||
* GPS, button, buzzer, and sensors.
|
|
||||||
*/
|
|
||||||
TRACKER_T1000_E_PRO = 128;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Elecrow ThinkNode M7, M8 and M9
|
|
||||||
*/
|
|
||||||
THINKNODE_M7 = 129;
|
|
||||||
THINKNODE_M8 = 130;
|
|
||||||
THINKNODE_M9 = 131;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ------------------------------------------------------------------------------------------------------------------------------------------
|
* ------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
@ -1092,18 +975,6 @@ message Routing {
|
||||||
* Admin packet sent using PKC, but not from a public key on the admin key list
|
* Admin packet sent using PKC, but not from a public key on the admin key list
|
||||||
*/
|
*/
|
||||||
ADMIN_PUBLIC_KEY_UNAUTHORIZED = 37;
|
ADMIN_PUBLIC_KEY_UNAUTHORIZED = 37;
|
||||||
|
|
||||||
/*
|
|
||||||
* Airtime fairness rate limit exceeded for a packet
|
|
||||||
* This typically enforced per portnum and is used to prevent a single node from monopolizing airtime
|
|
||||||
*/
|
|
||||||
RATE_LIMIT_EXCEEDED = 38;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PKI encryption failed, due to no public key for the remote node
|
|
||||||
* This is different from PKI_UNKNOWN_PUBKEY which indicates a failure upon receiving a packet
|
|
||||||
*/
|
|
||||||
PKI_SEND_FAIL_PUBLIC_KEY = 39;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
oneof variant {
|
oneof variant {
|
||||||
|
|
@ -1191,6 +1062,7 @@ message Data {
|
||||||
* The actual over-the-mesh message doing KeyVerification
|
* The actual over-the-mesh message doing KeyVerification
|
||||||
*/
|
*/
|
||||||
message KeyVerification {
|
message KeyVerification {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* random value Selected by the requesting node
|
* random value Selected by the requesting node
|
||||||
*/
|
*/
|
||||||
|
|
@ -1208,176 +1080,6 @@ message KeyVerification {
|
||||||
bytes hash2 = 3;
|
bytes hash2 = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* The actual over-the-mesh message doing store and forward++
|
|
||||||
*/
|
|
||||||
message StoreForwardPlusPlus {
|
|
||||||
/*
|
|
||||||
* Enum of message types
|
|
||||||
*/
|
|
||||||
enum SFPP_message_type {
|
|
||||||
/*
|
|
||||||
* Send an announcement of the canonical tip of a chain
|
|
||||||
*/
|
|
||||||
CANON_ANNOUNCE = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Query whether a specific link is on the chain
|
|
||||||
*/
|
|
||||||
CHAIN_QUERY = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Request the next link in the chain
|
|
||||||
*/
|
|
||||||
LINK_REQUEST = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Provide a link to add to the chain
|
|
||||||
*/
|
|
||||||
LINK_PROVIDE = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If we must fragment, send the first half
|
|
||||||
*/
|
|
||||||
LINK_PROVIDE_FIRSTHALF = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If we must fragment, send the second half
|
|
||||||
*/
|
|
||||||
LINK_PROVIDE_SECONDHALF = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Which message type is this
|
|
||||||
*/
|
|
||||||
SFPP_message_type sfpp_message_type = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The hash of the specific message
|
|
||||||
*/
|
|
||||||
bytes message_hash = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The hash of a link on a chain
|
|
||||||
*/
|
|
||||||
bytes commit_hash = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* the root hash of a chain
|
|
||||||
*/
|
|
||||||
bytes root_hash = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The encrypted bytes from a message
|
|
||||||
*/
|
|
||||||
bytes message = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Message ID of the contained message
|
|
||||||
*/
|
|
||||||
uint32 encapsulated_id = 6;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Destination of the contained message
|
|
||||||
*/
|
|
||||||
uint32 encapsulated_to = 7;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sender of the contained message
|
|
||||||
*/
|
|
||||||
uint32 encapsulated_from = 8;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The receive time of the message in question
|
|
||||||
*/
|
|
||||||
uint32 encapsulated_rxtime = 9;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Used in a LINK_REQUEST to specify the message X spots back from head
|
|
||||||
*/
|
|
||||||
uint32 chain_count = 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The actual over-the-mesh message doing RemoteShell
|
|
||||||
*/
|
|
||||||
message RemoteShell {
|
|
||||||
/*
|
|
||||||
* Frame op code for PTY session control and stream transport.
|
|
||||||
*
|
|
||||||
* Values 1-63 are client->server requests.
|
|
||||||
* Values 64-127 are server->client responses/events.
|
|
||||||
*/
|
|
||||||
enum OpCode {
|
|
||||||
OP_UNSET = 0;
|
|
||||||
|
|
||||||
// Client -> server
|
|
||||||
OPEN = 1;
|
|
||||||
INPUT = 2;
|
|
||||||
RESIZE = 3;
|
|
||||||
CLOSE = 4;
|
|
||||||
PING = 5;
|
|
||||||
ACK = 6;
|
|
||||||
|
|
||||||
// Server -> client
|
|
||||||
OPEN_OK = 64;
|
|
||||||
OUTPUT = 65;
|
|
||||||
CLOSED = 66;
|
|
||||||
ERROR = 67;
|
|
||||||
PONG = 68;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Structured frame operation.
|
|
||||||
*/
|
|
||||||
OpCode op = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Logical PTY session identifier.
|
|
||||||
*/
|
|
||||||
uint32 session_id = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Monotonic sequence number for this frame.
|
|
||||||
*/
|
|
||||||
uint32 seq = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Cumulative ack sequence number.
|
|
||||||
*/
|
|
||||||
uint32 ack_seq = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Opaque bytes payload for INPUT/OUTPUT/ERROR and other frame bodies.
|
|
||||||
*/
|
|
||||||
bytes payload = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Terminal size columns used for OPEN/RESIZE signaling.
|
|
||||||
*/
|
|
||||||
uint32 cols = 6;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Terminal size rows used for OPEN/RESIZE signaling.
|
|
||||||
*/
|
|
||||||
uint32 rows = 7;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Bit flags for protocol extensions.
|
|
||||||
*/
|
|
||||||
uint32 flags = 8;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last sequence number TX'd.
|
|
||||||
*/
|
|
||||||
uint32 last_tx_seq = 9;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last sequence number RX'd.
|
|
||||||
*/
|
|
||||||
uint32 last_rx_seq = 10;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Waypoint message, used to share arbitrary locations across the mesh
|
* Waypoint message, used to share arbitrary locations across the mesh
|
||||||
*/
|
*/
|
||||||
|
|
@ -1424,13 +1126,6 @@ message Waypoint {
|
||||||
fixed32 icon = 8;
|
fixed32 icon = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Message for node status
|
|
||||||
*/
|
|
||||||
message StatusMessage {
|
|
||||||
string status = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server
|
* This message will be proxied over the PhoneAPI for the client to deliver to the MQTT server
|
||||||
*/
|
*/
|
||||||
|
|
@ -1563,51 +1258,6 @@ message MeshPacket {
|
||||||
DELAYED_DIRECT = 2;
|
DELAYED_DIRECT = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Enum to identify which transport mechanism this packet arrived over
|
|
||||||
*/
|
|
||||||
enum TransportMechanism {
|
|
||||||
/*
|
|
||||||
* The default case is that the node generated a packet itself
|
|
||||||
*/
|
|
||||||
TRANSPORT_INTERNAL = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Arrived via the primary LoRa radio
|
|
||||||
*/
|
|
||||||
TRANSPORT_LORA = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Arrived via a secondary LoRa radio
|
|
||||||
*/
|
|
||||||
TRANSPORT_LORA_ALT1 = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Arrived via a tertiary LoRa radio
|
|
||||||
*/
|
|
||||||
TRANSPORT_LORA_ALT2 = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Arrived via a quaternary LoRa radio
|
|
||||||
*/
|
|
||||||
TRANSPORT_LORA_ALT3 = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Arrived via an MQTT connection
|
|
||||||
*/
|
|
||||||
TRANSPORT_MQTT = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Arrived via Multicast UDP
|
|
||||||
*/
|
|
||||||
TRANSPORT_MULTICAST_UDP = 6;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Arrived via API connection
|
|
||||||
*/
|
|
||||||
TRANSPORT_API = 7;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The sending node number.
|
* The sending node number.
|
||||||
* Note: Our crypto implementation uses this field as well.
|
* Note: Our crypto implementation uses this field as well.
|
||||||
|
|
@ -1617,10 +1267,6 @@ message MeshPacket {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The (immediate) destination for this packet
|
* The (immediate) destination for this packet
|
||||||
* If the value is 4,294,967,295 (maximum value of an unsigned 32bit integer), this indicates that the packet was
|
|
||||||
* not destined for a specific node, but for a channel as indicated by the value of `channel` below.
|
|
||||||
* If the value is another, this indicates that the packet was destined for a specific
|
|
||||||
* node (i.e. a kind of "Direct Message" to this node) and not broadcast on a channel.
|
|
||||||
*/
|
*/
|
||||||
fixed32 to = 2;
|
fixed32 to = 2;
|
||||||
|
|
||||||
|
|
@ -1759,11 +1405,6 @@ message MeshPacket {
|
||||||
* Set by the firmware internally, clients are not supposed to set this.
|
* Set by the firmware internally, clients are not supposed to set this.
|
||||||
*/
|
*/
|
||||||
uint32 tx_after = 20;
|
uint32 tx_after = 20;
|
||||||
|
|
||||||
/*
|
|
||||||
* Indicates which transport mechanism this packet arrived over
|
|
||||||
*/
|
|
||||||
TransportMechanism transport_mechanism = 21;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -1894,12 +1535,6 @@ message NodeInfo {
|
||||||
* LSB 0 of the bitfield
|
* LSB 0 of the bitfield
|
||||||
*/
|
*/
|
||||||
bool is_key_manually_verified = 12;
|
bool is_key_manually_verified = 12;
|
||||||
|
|
||||||
/*
|
|
||||||
* True if node has been muted
|
|
||||||
* Persistes between NodeDB internal clean ups
|
|
||||||
*/
|
|
||||||
bool is_muted = 13;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -1984,47 +1619,6 @@ enum CriticalErrorCode {
|
||||||
FLASH_CORRUPTION_UNRECOVERABLE = 13;
|
FLASH_CORRUPTION_UNRECOVERABLE = 13;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Enum to indicate to clients whether this firmware is a special firmware build, like an event.
|
|
||||||
* The first 16 values are reserved for non-event special firmwares, like the Smart Citizen use case.
|
|
||||||
*/
|
|
||||||
enum FirmwareEdition {
|
|
||||||
/*
|
|
||||||
* Vanilla firmware
|
|
||||||
*/
|
|
||||||
VANILLA = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Firmware for use in the Smart Citizen environmental monitoring network
|
|
||||||
*/
|
|
||||||
SMART_CITIZEN = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Open Sauce, the maker conference held yearly in CA
|
|
||||||
*/
|
|
||||||
OPEN_SAUCE = 16;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* DEFCON, the yearly hacker conference
|
|
||||||
*/
|
|
||||||
DEFCON = 17;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Burning Man, the yearly hippie gathering in the desert
|
|
||||||
*/
|
|
||||||
BURNING_MAN = 18;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Hamvention, the Dayton amateur radio convention
|
|
||||||
*/
|
|
||||||
HAMVENTION = 19;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Placeholder for DIY and unofficial events
|
|
||||||
*/
|
|
||||||
DIY_EDITION = 127;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unique local debugging info for this node
|
* Unique local debugging info for this node
|
||||||
* Note: we don't include position or the user info, because that will come in the
|
* Note: we don't include position or the user info, because that will come in the
|
||||||
|
|
@ -2058,17 +1652,6 @@ message MyNodeInfo {
|
||||||
* The PlatformIO environment used to build this firmware
|
* The PlatformIO environment used to build this firmware
|
||||||
*/
|
*/
|
||||||
string pio_env = 13;
|
string pio_env = 13;
|
||||||
|
|
||||||
/*
|
|
||||||
* The indicator for whether this device is running event firmware and which
|
|
||||||
*/
|
|
||||||
FirmwareEdition firmware_edition = 14;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The number of nodes in the nodedb.
|
|
||||||
* This is used by the phone to know how many NodeInfo packets to expect on want_config
|
|
||||||
*/
|
|
||||||
uint32 nodedb_count = 15;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -2313,7 +1896,6 @@ message KeyVerificationFinal {
|
||||||
}
|
}
|
||||||
message DuplicatedPublicKey {}
|
message DuplicatedPublicKey {}
|
||||||
message LowEntropyKey {}
|
message LowEntropyKey {}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Individual File info for the device
|
* Individual File info for the device
|
||||||
*/
|
*/
|
||||||
|
|
@ -2602,12 +2184,7 @@ enum ExcludedModules {
|
||||||
* A heartbeat message is sent to the node from the client to keep the connection alive.
|
* A heartbeat message is sent to the node from the client to keep the connection alive.
|
||||||
* This is currently only needed to keep serial connections alive, but can be used by any PhoneAPI.
|
* This is currently only needed to keep serial connections alive, but can be used by any PhoneAPI.
|
||||||
*/
|
*/
|
||||||
message Heartbeat {
|
message Heartbeat {}
|
||||||
/*
|
|
||||||
* The nonce of the heartbeat message
|
|
||||||
*/
|
|
||||||
uint32 nonce = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* RemoteHardwarePins associated with a node
|
* RemoteHardwarePins associated with a node
|
||||||
|
|
|
||||||
|
|
@ -27,5 +27,3 @@
|
||||||
*DetectionSensorConfig.monitor_pin int_size:8
|
*DetectionSensorConfig.monitor_pin int_size:8
|
||||||
*DetectionSensorConfig.name max_size:20
|
*DetectionSensorConfig.name max_size:20
|
||||||
*DetectionSensorConfig.detection_trigger_type max_size:8
|
*DetectionSensorConfig.detection_trigger_type max_size:8
|
||||||
|
|
||||||
*StatusMessageConfig.node_status max_size:80
|
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,10 @@ syntax = "proto3";
|
||||||
|
|
||||||
package meshtastic;
|
package meshtastic;
|
||||||
|
|
||||||
import "meshtastic/atak.proto";
|
|
||||||
|
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "ModuleConfigProtos";
|
option java_outer_classname = "ModuleConfigProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -150,6 +148,7 @@ message ModuleConfig {
|
||||||
* Detection Sensor Module Config
|
* Detection Sensor Module Config
|
||||||
*/
|
*/
|
||||||
message DetectionSensorConfig {
|
message DetectionSensorConfig {
|
||||||
|
|
||||||
enum TriggerType {
|
enum TriggerType {
|
||||||
// Event is triggered if pin is low
|
// Event is triggered if pin is low
|
||||||
LOGIC_LOW = 0;
|
LOGIC_LOW = 0;
|
||||||
|
|
@ -295,82 +294,7 @@ message ModuleConfig {
|
||||||
* BLE RSSI threshold. Defaults to -80
|
* BLE RSSI threshold. Defaults to -80
|
||||||
*/
|
*/
|
||||||
int32 ble_threshold = 4;
|
int32 ble_threshold = 4;
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Config for the Traffic Management module.
|
|
||||||
* Provides packet inspection and traffic shaping to help reduce channel utilization
|
|
||||||
*/
|
|
||||||
message TrafficManagementConfig {
|
|
||||||
/*
|
|
||||||
* Master enable for traffic management module
|
|
||||||
*/
|
|
||||||
bool enabled = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Enable position deduplication to drop redundant position broadcasts
|
|
||||||
*/
|
|
||||||
bool position_dedup_enabled = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of bits of precision for position deduplication (0-32)
|
|
||||||
*/
|
|
||||||
uint32 position_precision_bits = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Minimum interval in seconds between position updates from the same node
|
|
||||||
*/
|
|
||||||
uint32 position_min_interval_secs = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Enable direct response to NodeInfo requests from local cache
|
|
||||||
*/
|
|
||||||
bool nodeinfo_direct_response = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Minimum hop distance from requestor before responding to NodeInfo requests
|
|
||||||
*/
|
|
||||||
uint32 nodeinfo_direct_response_max_hops = 6;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Enable per-node rate limiting to throttle chatty nodes
|
|
||||||
*/
|
|
||||||
bool rate_limit_enabled = 7;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Time window in seconds for rate limiting calculations
|
|
||||||
*/
|
|
||||||
uint32 rate_limit_window_secs = 8;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Maximum packets allowed per node within the rate limit window
|
|
||||||
*/
|
|
||||||
uint32 rate_limit_max_packets = 9;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Enable dropping of unknown/undecryptable packets per rate_limit_window_secs
|
|
||||||
*/
|
|
||||||
bool drop_unknown_enabled = 10;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of unknown packets before dropping from a node
|
|
||||||
*/
|
|
||||||
uint32 unknown_packet_threshold = 11;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set hop_limit to 0 for relayed telemetry broadcasts (own packets unaffected)
|
|
||||||
*/
|
|
||||||
bool exhaust_hop_telemetry = 12;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set hop_limit to 0 for relayed position broadcasts (own packets unaffected)
|
|
||||||
*/
|
|
||||||
bool exhaust_hop_position = 13;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Preserve hop_limit for router-to-router traffic
|
|
||||||
*/
|
|
||||||
bool router_preserve_hops = 14;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -415,12 +339,6 @@ message ModuleConfig {
|
||||||
// VE.Direct is a serial protocol used by Victron Energy products
|
// VE.Direct is a serial protocol used by Victron Energy products
|
||||||
// https://beta.ivc.no/wiki/index.php/Victron_VE_Direct_DIY_Cable
|
// https://beta.ivc.no/wiki/index.php/Victron_VE_Direct_DIY_Cable
|
||||||
VE_DIRECT = 7;
|
VE_DIRECT = 7;
|
||||||
// Used to configure and view some parameters of MeshSolar.
|
|
||||||
// https://heltec.org/project/meshsolar/
|
|
||||||
MS_CONFIG = 8;
|
|
||||||
// Logs mesh traffic to the serial pins, ideal for logging via openLog or similar.
|
|
||||||
LOG = 9; // includes other packets
|
|
||||||
LOGTEXT = 10; // only text (channel & DM)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -611,12 +529,6 @@ message ModuleConfig {
|
||||||
* ESP32 Only
|
* ESP32 Only
|
||||||
*/
|
*/
|
||||||
bool save = 3;
|
bool save = 3;
|
||||||
|
|
||||||
/*
|
|
||||||
* Bool indicating that the node should cleanup / destroy it's RangeTest.csv file.
|
|
||||||
* ESP32 Only
|
|
||||||
*/
|
|
||||||
bool clear_on_reboot = 4;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -696,17 +608,6 @@ message ModuleConfig {
|
||||||
* Enable/Disable the health telemetry module on-device display
|
* Enable/Disable the health telemetry module on-device display
|
||||||
*/
|
*/
|
||||||
bool health_screen_enabled = 13;
|
bool health_screen_enabled = 13;
|
||||||
|
|
||||||
/*
|
|
||||||
* Enable/Disable the device telemetry module to send metrics to the mesh
|
|
||||||
* Note: We will still send telemtry to the connected phone / client every minute over the API
|
|
||||||
*/
|
|
||||||
bool device_telemetry_enabled = 14;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Enable/Disable the air quality telemetry measurement module on-device display
|
|
||||||
*/
|
|
||||||
bool air_quality_screen_enabled = 15;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -801,13 +702,13 @@ message ModuleConfig {
|
||||||
/*
|
/*
|
||||||
* Enable/disable CannedMessageModule.
|
* Enable/disable CannedMessageModule.
|
||||||
*/
|
*/
|
||||||
bool enabled = 9 [deprecated = true];
|
bool enabled = 9;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Input event origin accepted by the canned message module.
|
* Input event origin accepted by the canned message module.
|
||||||
* Can be e.g. "rotEnc1", "upDownEnc1", "scanAndSelect", "cardkb", "serialkb", or keyword "_any"
|
* Can be e.g. "rotEnc1", "upDownEnc1", "scanAndSelect", "cardkb", "serialkb", or keyword "_any"
|
||||||
*/
|
*/
|
||||||
string allow_input_source = 10 [deprecated = true];
|
string allow_input_source = 10;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CannedMessageModule also sends a bell character with the messages.
|
* CannedMessageModule also sends a bell character with the messages.
|
||||||
|
|
@ -847,16 +748,6 @@ message ModuleConfig {
|
||||||
uint32 blue = 5;
|
uint32 blue = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* StatusMessage config - Allows setting a status message for a node to periodically rebroadcast
|
|
||||||
*/
|
|
||||||
message StatusMessageConfig {
|
|
||||||
/*
|
|
||||||
* The actual status string
|
|
||||||
*/
|
|
||||||
string node_status = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO: REPLACE
|
* TODO: REPLACE
|
||||||
*/
|
*/
|
||||||
|
|
@ -925,37 +816,6 @@ message ModuleConfig {
|
||||||
* TODO: REPLACE
|
* TODO: REPLACE
|
||||||
*/
|
*/
|
||||||
PaxcounterConfig paxcounter = 13;
|
PaxcounterConfig paxcounter = 13;
|
||||||
|
|
||||||
/*
|
|
||||||
* TODO: REPLACE
|
|
||||||
*/
|
|
||||||
StatusMessageConfig statusmessage = 14;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Traffic management module config for mesh network optimization
|
|
||||||
*/
|
|
||||||
TrafficManagementConfig traffic_management = 15;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TAK team/role configuration for TAK_TRACKER
|
|
||||||
*/
|
|
||||||
TAKConfig tak = 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TAK team/role configuration
|
|
||||||
*/
|
|
||||||
message TAKConfig {
|
|
||||||
/*
|
|
||||||
* Team color.
|
|
||||||
* Default Unspecifed_Color -> firmware uses Cyan
|
|
||||||
*/
|
|
||||||
Team team = 1;
|
|
||||||
/*
|
|
||||||
* Member role.
|
|
||||||
* Default Unspecifed -> firmware uses TeamMember
|
|
||||||
*/
|
|
||||||
MemberRole role = 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import "meshtastic/mesh.proto";
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "MQTTProtos";
|
option java_outer_classname = "MQTTProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "PaxcountProtos";
|
option java_outer_classname = "PaxcountProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "Portnums";
|
option java_outer_classname = "Portnums";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -115,11 +115,6 @@ enum PortNum {
|
||||||
*/
|
*/
|
||||||
KEY_VERIFICATION_APP = 12;
|
KEY_VERIFICATION_APP = 12;
|
||||||
|
|
||||||
/*
|
|
||||||
* Module/port for handling primitive remote shell access.
|
|
||||||
*/
|
|
||||||
REMOTE_SHELL_APP = 13;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Provides a 'ping' service that replies to any packet it receives.
|
* Provides a 'ping' service that replies to any packet it receives.
|
||||||
* Also serves as a small example module.
|
* Also serves as a small example module.
|
||||||
|
|
@ -139,22 +134,6 @@ enum PortNum {
|
||||||
*/
|
*/
|
||||||
PAXCOUNTER_APP = 34;
|
PAXCOUNTER_APP = 34;
|
||||||
|
|
||||||
/*
|
|
||||||
* Store and Forward++ module included in the firmware
|
|
||||||
* ENCODING: protobuf
|
|
||||||
* This module is specifically for Native Linux nodes, and provides a Git-style
|
|
||||||
* chain of messages.
|
|
||||||
*/
|
|
||||||
STORE_FORWARD_PLUSPLUS_APP = 35;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Node Status module
|
|
||||||
* ENCODING: protobuf
|
|
||||||
* This module allows setting an extra string of status for a node.
|
|
||||||
* Broadcasts on change and on a timer, possibly once a day.
|
|
||||||
*/
|
|
||||||
NODE_STATUS_APP = 36;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Provides a hardware serial interface to send and receive from the Meshtastic network.
|
* Provides a hardware serial interface to send and receive from the Meshtastic network.
|
||||||
* Connect to the RX/TX pins of a device with 38400 8N1. Packets received from the Meshtastic
|
* Connect to the RX/TX pins of a device with 38400 8N1. Packets received from the Meshtastic
|
||||||
|
|
@ -232,12 +211,6 @@ enum PortNum {
|
||||||
*/
|
*/
|
||||||
POWERSTRESS_APP = 74;
|
POWERSTRESS_APP = 74;
|
||||||
|
|
||||||
/*
|
|
||||||
* LoraWAN Payload Transport
|
|
||||||
* ENCODING: compact binary LoRaWAN uplink (10-byte RF metadata + PHY payload) - see LoRaWANBridgeModule
|
|
||||||
*/
|
|
||||||
LORAWAN_BRIDGE = 75;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reticulum Network Stack Tunnel App
|
* Reticulum Network Stack Tunnel App
|
||||||
* ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
|
* ENCODING: Fragmented RNS Packet. Handled by Meshtastic RNS interface
|
||||||
|
|
@ -251,20 +224,6 @@ enum PortNum {
|
||||||
*/
|
*/
|
||||||
CAYENNE_APP = 77;
|
CAYENNE_APP = 77;
|
||||||
|
|
||||||
/*
|
|
||||||
* ATAK Plugin V2
|
|
||||||
* Portnum for payloads from the official Meshtastic ATAK plugin using
|
|
||||||
* TAKPacketV2 with zstd dictionary compression.
|
|
||||||
*/
|
|
||||||
ATAK_PLUGIN_V2 = 78;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* GroupAlarm integration
|
|
||||||
* Used for transporting GroupAlarm-related messages between Meshtastic nodes
|
|
||||||
* and companion applications/services.
|
|
||||||
*/
|
|
||||||
GROUPALARM_APP = 112;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Private applications should use portnums >= 256.
|
* Private applications should use portnums >= 256.
|
||||||
* To simplify initial development and testing you can use "PRIVATE_APP"
|
* To simplify initial development and testing you can use "PRIVATE_APP"
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
package meshtastic;
|
|
||||||
|
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "PowerMonProtos";
|
option java_outer_classname = "PowerMonProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
|
package meshtastic;
|
||||||
|
|
||||||
/* Note: There are no 'PowerMon' messages normally in use (PowerMons are sent only as structured logs - slogs).
|
/* Note: There are no 'PowerMon' messages normally in use (PowerMons are sent only as structured logs - slogs).
|
||||||
* But we wrap our State enum in this message to effectively nest a namespace (without our linter yelling at us)
|
But we wrap our State enum in this message to effectively nest a namespace (without our linter yelling at us)
|
||||||
*/
|
*/
|
||||||
message PowerMon {
|
message PowerMon {
|
||||||
/* Any significant power changing event in meshtastic should be tagged with a powermon state transition.
|
/* Any significant power changing event in meshtastic should be tagged with a powermon state transition.
|
||||||
* If you are making new meshtastic features feel free to add new entries at the end of this definition.
|
If you are making new meshtastic features feel free to add new entries at the end of this definition.
|
||||||
*/
|
*/
|
||||||
enum State {
|
enum State {
|
||||||
None = 0;
|
None = 0;
|
||||||
|
|
@ -44,21 +44,22 @@ message PowerMon {
|
||||||
Wifi_On = 0x400;
|
Wifi_On = 0x400;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GPS is actively trying to find our location
|
GPS is actively trying to find our location
|
||||||
* See GPSPowerState for more details
|
See GPSPowerState for more details
|
||||||
*/
|
*/
|
||||||
GPS_Active = 0x800;
|
GPS_Active = 0x800;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* PowerStress testing support via the C++ PowerStress module
|
* PowerStress testing support via the C++ PowerStress module
|
||||||
*/
|
*/
|
||||||
message PowerStressMessage {
|
message PowerStressMessage {
|
||||||
/*
|
/*
|
||||||
* What operation would we like the UUT to perform.
|
* What operation would we like the UUT to perform.
|
||||||
* note: senders should probably set want_response in their request packets, so that they can know when the state
|
note: senders should probably set want_response in their request packets, so that they can know when the state
|
||||||
* machine has started processing their request
|
machine has started processing their request
|
||||||
*/
|
*/
|
||||||
enum Opcode {
|
enum Opcode {
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "RemoteHardware";
|
option java_outer_classname = "RemoteHardware";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "RTTTLConfigProtos";
|
option java_outer_classname = "RTTTLConfigProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "StoreAndForwardProtos";
|
option java_outer_classname = "StoreAndForwardProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,9 @@
|
||||||
*EnvironmentMetrics.iaq int_size:16
|
*EnvironmentMetrics.iaq int_size:16
|
||||||
*EnvironmentMetrics.wind_direction int_size:16
|
*EnvironmentMetrics.wind_direction int_size:16
|
||||||
*EnvironmentMetrics.soil_moisture int_size:8
|
*EnvironmentMetrics.soil_moisture int_size:8
|
||||||
*EnvironmentMetrics.one_wire_temperature max_count:8
|
|
||||||
|
|
||||||
*LocalStats.num_online_nodes int_size:16
|
*LocalStats.num_online_nodes int_size:16
|
||||||
*LocalStats.num_total_nodes int_size:16
|
*LocalStats.num_total_nodes int_size:16
|
||||||
*LocalStats.num_tx_dropped int_size:16
|
|
||||||
|
|
||||||
*HealthMetrics.heart_bpm int_size:8
|
*HealthMetrics.heart_bpm int_size:8
|
||||||
*HealthMetrics.spO2 int_size:8
|
*HealthMetrics.spO2 int_size:8
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "TelemetryProtos";
|
option java_outer_classname = "TelemetryProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -153,11 +153,6 @@ message EnvironmentMetrics {
|
||||||
* Soil temperature measured (*C)
|
* Soil temperature measured (*C)
|
||||||
*/
|
*/
|
||||||
optional float soil_temperature = 22;
|
optional float soil_temperature = 22;
|
||||||
|
|
||||||
/*
|
|
||||||
* One-wire temperature (*C)
|
|
||||||
*/
|
|
||||||
repeated float one_wire_temperature = 23;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -250,62 +245,62 @@ message PowerMetrics {
|
||||||
*/
|
*/
|
||||||
message AirQualityMetrics {
|
message AirQualityMetrics {
|
||||||
/*
|
/*
|
||||||
* Concentration Units Standard PM1.0 in ug/m3
|
* Concentration Units Standard PM1.0
|
||||||
*/
|
*/
|
||||||
optional uint32 pm10_standard = 1;
|
optional uint32 pm10_standard = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Concentration Units Standard PM2.5 in ug/m3
|
* Concentration Units Standard PM2.5
|
||||||
*/
|
*/
|
||||||
optional uint32 pm25_standard = 2;
|
optional uint32 pm25_standard = 2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Concentration Units Standard PM10.0 in ug/m3
|
* Concentration Units Standard PM10.0
|
||||||
*/
|
*/
|
||||||
optional uint32 pm100_standard = 3;
|
optional uint32 pm100_standard = 3;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Concentration Units Environmental PM1.0 in ug/m3
|
* Concentration Units Environmental PM1.0
|
||||||
*/
|
*/
|
||||||
optional uint32 pm10_environmental = 4;
|
optional uint32 pm10_environmental = 4;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Concentration Units Environmental PM2.5 in ug/m3
|
* Concentration Units Environmental PM2.5
|
||||||
*/
|
*/
|
||||||
optional uint32 pm25_environmental = 5;
|
optional uint32 pm25_environmental = 5;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Concentration Units Environmental PM10.0 in ug/m3
|
* Concentration Units Environmental PM10.0
|
||||||
*/
|
*/
|
||||||
optional uint32 pm100_environmental = 6;
|
optional uint32 pm100_environmental = 6;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 0.3um Particle Count in #/0.1l
|
* 0.3um Particle Count
|
||||||
*/
|
*/
|
||||||
optional uint32 particles_03um = 7;
|
optional uint32 particles_03um = 7;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 0.5um Particle Count in #/0.1l
|
* 0.5um Particle Count
|
||||||
*/
|
*/
|
||||||
optional uint32 particles_05um = 8;
|
optional uint32 particles_05um = 8;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 1.0um Particle Count in #/0.1l
|
* 1.0um Particle Count
|
||||||
*/
|
*/
|
||||||
optional uint32 particles_10um = 9;
|
optional uint32 particles_10um = 9;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 2.5um Particle Count in #/0.1l
|
* 2.5um Particle Count
|
||||||
*/
|
*/
|
||||||
optional uint32 particles_25um = 10;
|
optional uint32 particles_25um = 10;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 5.0um Particle Count in #/0.1l
|
* 5.0um Particle Count
|
||||||
*/
|
*/
|
||||||
optional uint32 particles_50um = 11;
|
optional uint32 particles_50um = 11;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 10.0um Particle Count in #/0.1l
|
* 10.0um Particle Count
|
||||||
*/
|
*/
|
||||||
optional uint32 particles_100um = 12;
|
optional uint32 particles_100um = 12;
|
||||||
|
|
||||||
|
|
@ -323,56 +318,6 @@ message AirQualityMetrics {
|
||||||
* CO2 sensor relative humidity in %
|
* CO2 sensor relative humidity in %
|
||||||
*/
|
*/
|
||||||
optional float co2_humidity = 15;
|
optional float co2_humidity = 15;
|
||||||
|
|
||||||
/*
|
|
||||||
* Formaldehyde sensor formaldehyde concentration in ppb
|
|
||||||
*/
|
|
||||||
optional float form_formaldehyde = 16;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Formaldehyde sensor relative humidity in %RH
|
|
||||||
*/
|
|
||||||
optional float form_humidity = 17;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Formaldehyde sensor temperature in degrees Celsius
|
|
||||||
*/
|
|
||||||
optional float form_temperature = 18;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Concentration Units Standard PM4.0 in ug/m3
|
|
||||||
*/
|
|
||||||
optional uint32 pm40_standard = 19;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 4.0um Particle Count in #/0.1l
|
|
||||||
*/
|
|
||||||
optional uint32 particles_40um = 20;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PM Sensor Temperature
|
|
||||||
*/
|
|
||||||
optional float pm_temperature = 21;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PM Sensor humidity
|
|
||||||
*/
|
|
||||||
optional float pm_humidity = 22;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PM Sensor VOC Index
|
|
||||||
*/
|
|
||||||
optional float pm_voc_idx = 23;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* PM Sensor NOx Index
|
|
||||||
*/
|
|
||||||
optional float pm_nox_idx = 24;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Typical Particle Size in um
|
|
||||||
*/
|
|
||||||
optional float particles_tps = 25;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -443,56 +388,6 @@ message LocalStats {
|
||||||
* Number of bytes free in the heap
|
* Number of bytes free in the heap
|
||||||
*/
|
*/
|
||||||
uint32 heap_free_bytes = 13;
|
uint32 heap_free_bytes = 13;
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of packets that were dropped because the transmit queue was full.
|
|
||||||
*/
|
|
||||||
uint32 num_tx_dropped = 14;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Noise floor value measured in dBm
|
|
||||||
*/
|
|
||||||
int32 noise_floor = 15;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Traffic management statistics for mesh network optimization
|
|
||||||
*/
|
|
||||||
message TrafficManagementStats {
|
|
||||||
/*
|
|
||||||
* Total number of packets inspected by traffic management
|
|
||||||
*/
|
|
||||||
uint32 packets_inspected = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of position packets dropped due to deduplication
|
|
||||||
*/
|
|
||||||
uint32 position_dedup_drops = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of NodeInfo requests answered from cache
|
|
||||||
*/
|
|
||||||
uint32 nodeinfo_cache_hits = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of packets dropped due to rate limiting
|
|
||||||
*/
|
|
||||||
uint32 rate_limit_drops = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of unknown/undecryptable packets dropped
|
|
||||||
*/
|
|
||||||
uint32 unknown_packet_drops = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of packets with hop_limit exhausted for local-only broadcast
|
|
||||||
*/
|
|
||||||
uint32 hop_exhausted_packets = 6;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Number of times router hop preservation was applied
|
|
||||||
*/
|
|
||||||
uint32 router_hops_preserved = 7;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -566,6 +461,7 @@ message HostMetrics {
|
||||||
optional string user_string = 9;
|
optional string user_string = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Types of Measurements the telemetry module is equipped to handle
|
* Types of Measurements the telemetry module is equipped to handle
|
||||||
*/
|
*/
|
||||||
|
|
@ -610,11 +506,6 @@ message Telemetry {
|
||||||
* Linux host metrics
|
* Linux host metrics
|
||||||
*/
|
*/
|
||||||
HostMetrics host_metrics = 8;
|
HostMetrics host_metrics = 8;
|
||||||
|
|
||||||
/*
|
|
||||||
* Traffic management statistics
|
|
||||||
*/
|
|
||||||
TrafficManagementStats traffic_management_stats = 9;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -658,7 +549,7 @@ enum TelemetrySensorType {
|
||||||
BMP280 = 6;
|
BMP280 = 6;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO - REMOVE High accuracy temperature and humidity
|
* High accuracy temperature and humidity
|
||||||
*/
|
*/
|
||||||
SHTC3 = 7;
|
SHTC3 = 7;
|
||||||
|
|
||||||
|
|
@ -683,7 +574,7 @@ enum TelemetrySensorType {
|
||||||
QMC5883L = 11;
|
QMC5883L = 11;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO - REMOVE High accuracy temperature and humidity
|
* High accuracy temperature and humidity
|
||||||
*/
|
*/
|
||||||
SHT31 = 12;
|
SHT31 = 12;
|
||||||
|
|
||||||
|
|
@ -708,7 +599,7 @@ enum TelemetrySensorType {
|
||||||
RCWL9620 = 16;
|
RCWL9620 = 16;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO - REMOVE Sensirion High accuracy temperature and humidity
|
* Sensirion High accuracy temperature and humidity
|
||||||
*/
|
*/
|
||||||
SHT4X = 17;
|
SHT4X = 17;
|
||||||
|
|
||||||
|
|
@ -826,61 +717,6 @@ enum TelemetrySensorType {
|
||||||
* ADS1X15 ADC
|
* ADS1X15 ADC
|
||||||
*/
|
*/
|
||||||
ADS1X15 = 40;
|
ADS1X15 = 40;
|
||||||
|
|
||||||
/*
|
|
||||||
* ADS1X15 ADC_ALT
|
|
||||||
*/
|
|
||||||
ADS1X15_ALT = 41;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sensirion SFA30 Formaldehyde sensor
|
|
||||||
*/
|
|
||||||
SFA30 = 42;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SEN5X PM SENSORS
|
|
||||||
*/
|
|
||||||
SEN5X = 43;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TSL2561 light sensor
|
|
||||||
*/
|
|
||||||
TSL2561 = 44;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* BH1750 light sensor
|
|
||||||
*/
|
|
||||||
BH1750 = 45;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* HDC1080 Temperature and Humidity Sensor
|
|
||||||
*/
|
|
||||||
HDC1080 = 46;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* TODO - REMOVE STH21 Temperature and R. Humidity sensor
|
|
||||||
*/
|
|
||||||
SHT21 = 47;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sensirion STC31 CO2 sensor
|
|
||||||
*/
|
|
||||||
STC31 = 48;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SCD30 CO2, humidity, temperature sensor
|
|
||||||
*/
|
|
||||||
SCD30 = 49;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* SHT family of sensors for temperature and humidity
|
|
||||||
*/
|
|
||||||
SHTXX = 50;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* DS248X Bridge for one-wire temperature sensors
|
|
||||||
*/
|
|
||||||
DS248X = 51;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -897,38 +733,3 @@ message Nau7802Config {
|
||||||
*/
|
*/
|
||||||
float calibrationFactor = 2;
|
float calibrationFactor = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* SEN5X State, for saving to flash
|
|
||||||
*/
|
|
||||||
message SEN5XState {
|
|
||||||
/*
|
|
||||||
* Last cleaning time for SEN5X
|
|
||||||
*/
|
|
||||||
uint32 last_cleaning_time = 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Last cleaning time for SEN5X - valid flag
|
|
||||||
*/
|
|
||||||
bool last_cleaning_valid = 2;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Config flag for one-shot mode (see admin.proto)
|
|
||||||
*/
|
|
||||||
bool one_shot_mode = 3;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Last VOC state time for SEN55
|
|
||||||
*/
|
|
||||||
optional uint32 voc_state_time = 4;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Last VOC state validity flag for SEN55
|
|
||||||
*/
|
|
||||||
optional bool voc_state_valid = 5;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* VOC state array (8x uint8t) for SEN55
|
|
||||||
*/
|
|
||||||
optional fixed64 voc_state_array = 6;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ package meshtastic;
|
||||||
option csharp_namespace = "Meshtastic.Protobufs";
|
option csharp_namespace = "Meshtastic.Protobufs";
|
||||||
option go_package = "github.com/meshtastic/go/generated";
|
option go_package = "github.com/meshtastic/go/generated";
|
||||||
option java_outer_classname = "XmodemProtos";
|
option java_outer_classname = "XmodemProtos";
|
||||||
option java_package = "org.meshtastic.proto";
|
option java_package = "com.geeksville.mesh";
|
||||||
option swift_prefix = "";
|
option swift_prefix = "";
|
||||||
|
|
||||||
message XModem {
|
message XModem {
|
||||||
|
|
|
||||||
105
packages/rust/Cargo.lock
generated
105
packages/rust/Cargo.lock
generated
|
|
@ -1,105 +0,0 @@
|
||||||
# This file is automatically @generated by Cargo.
|
|
||||||
# It is not intended for manual editing.
|
|
||||||
version = 4
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "anyhow"
|
|
||||||
version = "1.0.102"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bytes"
|
|
||||||
version = "1.11.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "either"
|
|
||||||
version = "1.15.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "itertools"
|
|
||||||
version = "0.14.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285"
|
|
||||||
dependencies = [
|
|
||||||
"either",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "meshtastic_protobufs"
|
|
||||||
version = "2.5.5"
|
|
||||||
dependencies = [
|
|
||||||
"prost",
|
|
||||||
"prost-types",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "proc-macro2"
|
|
||||||
version = "1.0.106"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
|
||||||
dependencies = [
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "prost"
|
|
||||||
version = "0.14.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568"
|
|
||||||
dependencies = [
|
|
||||||
"bytes",
|
|
||||||
"prost-derive",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "prost-derive"
|
|
||||||
version = "0.14.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"itertools",
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"syn",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "prost-types"
|
|
||||||
version = "0.14.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7"
|
|
||||||
dependencies = [
|
|
||||||
"prost",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "quote"
|
|
||||||
version = "1.0.45"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "2.0.117"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2",
|
|
||||||
"quote",
|
|
||||||
"unicode-ident",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "unicode-ident"
|
|
||||||
version = "1.0.24"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "meshtastic_protobufs"
|
|
||||||
edition = "2021"
|
|
||||||
version = "__PACKAGE_VERSION__"
|
|
||||||
description = "Meshtastic Protobuf definitions"
|
|
||||||
repository = "https://github.com/meshtastic/protobufs"
|
|
||||||
license-file = "LICENSE"
|
|
||||||
include = [
|
|
||||||
"**/*.rs",
|
|
||||||
"Cargo.toml",
|
|
||||||
]
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
prost = "0.14.3"
|
|
||||||
prost-types = "0.14.3"
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
extern crate prost;
|
|
||||||
extern crate core;
|
|
||||||
extern crate prost_types;
|
|
||||||
|
|
||||||
include!("generated/mod.rs");
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@meshtastic/protobufs",
|
|
||||||
"version": "__PACKAGE_VERSION__",
|
|
||||||
"exports": {
|
|
||||||
".": "./mod.ts"
|
|
||||||
},
|
|
||||||
"imports": {
|
|
||||||
"@bufbuild/protobuf": "npm:@bufbuild/protobuf@^2.2.3"
|
|
||||||
},
|
|
||||||
"publish": {
|
|
||||||
"exclude": [
|
|
||||||
"!lib"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
16
packages/ts/deno.lock
generated
16
packages/ts/deno.lock
generated
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"version": "4",
|
|
||||||
"specifiers": {
|
|
||||||
"npm:@bufbuild/protobuf@^2.2.3": "2.2.3"
|
|
||||||
},
|
|
||||||
"npm": {
|
|
||||||
"@bufbuild/protobuf@2.2.3": {
|
|
||||||
"integrity": "sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg=="
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"workspace": {
|
|
||||||
"dependencies": [
|
|
||||||
"npm:@bufbuild/protobuf@^2.2.3"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
export * as Admin from "./lib/admin_pb.ts";
|
|
||||||
export * as AppOnly from "./lib/apponly_pb.ts";
|
|
||||||
export * as ATAK from "./lib/atak_pb.ts";
|
|
||||||
export * as CannedMessages from "./lib/cannedmessages_pb.ts";
|
|
||||||
export * as Channel from "./lib/channel_pb.ts";
|
|
||||||
export * as ClientOnly from "./lib/clientonly_pb.ts";
|
|
||||||
export * as Config from "./lib/config_pb.ts";
|
|
||||||
export * as ConnectionStatus from "./lib/connection_status_pb.ts";
|
|
||||||
export * as LocalOnly from "./lib/localonly_pb.ts";
|
|
||||||
export * as Mesh from "./lib/mesh_pb.ts";
|
|
||||||
export * as ModuleConfig from "./lib/module_config_pb.ts";
|
|
||||||
export * as Mqtt from "./lib/mqtt_pb.ts";
|
|
||||||
export * as PaxCount from "./lib/paxcount_pb.ts";
|
|
||||||
export * as Portnums from "./lib/portnums_pb.ts";
|
|
||||||
export * as PowerMon from "./lib/powermon_pb.ts";
|
|
||||||
export * as RemoteHardware from "./lib/remote_hardware_pb.ts";
|
|
||||||
export * as Rtttl from "./lib/rtttl_pb.ts";
|
|
||||||
export * as StoreForward from "./lib/storeforward_pb.ts";
|
|
||||||
export * as Telemetry from "./lib/telemetry_pb.ts";
|
|
||||||
export * as Xmodem from "./lib/xmodem_pb.ts";
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@meshtastic/protobufs",
|
|
||||||
"description": "Protobuf definitions for the Meshtastic project",
|
|
||||||
"version": "__PACKAGE_VERSION__",
|
|
||||||
"homepage": "https://github.com/meshtastic/protobufs",
|
|
||||||
"license": "GPLV3",
|
|
||||||
"publishConfig": {
|
|
||||||
"access": "public"
|
|
||||||
},
|
|
||||||
"type": "module",
|
|
||||||
"main": "./dist/mod.js",
|
|
||||||
"module": "./dist/mod.js",
|
|
||||||
"types": "./dist/mod.d.ts",
|
|
||||||
"dependencies": {
|
|
||||||
"@bufbuild/protobuf": "^2.2.3"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"tsdown": "^0.13.4",
|
|
||||||
"typescript": "^5.8.3"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"build": "tsdown"
|
|
||||||
},
|
|
||||||
"tsdown": {
|
|
||||||
"entry": "mod.ts",
|
|
||||||
"dts": true,
|
|
||||||
"format": [
|
|
||||||
"esm"
|
|
||||||
],
|
|
||||||
"splitting": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
||||||
"extends": [
|
|
||||||
"config:recommended"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue