From 03b5089b406aee6afb9be7514dcbfaf291e8fb5f Mon Sep 17 00:00:00 2001 From: niccellular <79813408+niccellular@users.noreply.github.com> Date: Sun, 22 Feb 2026 18:35:43 -0500 Subject: [PATCH] enhancement: Add TAKConfig message for on-device TAK team/role configuration Add TAKConfig to ModuleConfig with Team and MemberRole fields, allowing TAK_TRACKER devices to configure ATAK group settings instead of using hardcoded defaults. - module_config.proto: TAKConfig message (team, role) at oneof field 16 - localonly.proto: tak field at position 17 in LocalModuleConfig - admin.proto: TAK_CONFIG = 15 in ModuleConfigType enum Co-Authored-By: Claude Opus 4.6 --- meshtastic/admin.proto | 5 +++++ meshtastic/localonly.proto | 5 +++++ meshtastic/module_config.proto | 23 +++++++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/meshtastic/admin.proto b/meshtastic/admin.proto index 0fbfbe3..5ecf310 100644 --- a/meshtastic/admin.proto +++ b/meshtastic/admin.proto @@ -162,6 +162,11 @@ message AdminMessage { * Traffic management module config */ TRAFFICMANAGEMENT_CONFIG = 14; + + /* + * TAK module config + */ + TAK_CONFIG = 15; } enum BackupLocation { diff --git a/meshtastic/localonly.proto b/meshtastic/localonly.proto index 50b74f7..2a6c7ca 100644 --- a/meshtastic/localonly.proto +++ b/meshtastic/localonly.proto @@ -141,6 +141,11 @@ message LocalModuleConfig { */ ModuleConfig.TrafficManagementConfig traffic_management = 16; + /* + * TAK Config + */ + ModuleConfig.TAKConfig tak = 17; + /* * 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 diff --git a/meshtastic/module_config.proto b/meshtastic/module_config.proto index a8a4307..10753c6 100644 --- a/meshtastic/module_config.proto +++ b/meshtastic/module_config.proto @@ -2,6 +2,8 @@ syntax = "proto3"; package meshtastic; +import "meshtastic/atak.proto"; + option csharp_namespace = "Meshtastic.Protobufs"; option go_package = "github.com/meshtastic/go/generated"; option java_outer_classname = "ModuleConfigProtos"; @@ -933,6 +935,27 @@ message ModuleConfig { * 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; } }