From 1cef1094a0df6228b94786fb73c86d8454755b11 Mon Sep 17 00:00:00 2001 From: Jonathan Bennett Date: Mon, 29 Dec 2025 09:42:19 -0600 Subject: [PATCH] More sfpp config --- src/modules/Native/StoreForwardPlusPlus.cpp | 1 - src/platform/portduino/PortduinoGlue.cpp | 4 ++++ src/platform/portduino/PortduinoGlue.h | 6 ++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/modules/Native/StoreForwardPlusPlus.cpp b/src/modules/Native/StoreForwardPlusPlus.cpp index fbeba18a8..4c8d48290 100644 --- a/src/modules/Native/StoreForwardPlusPlus.cpp +++ b/src/modules/Native/StoreForwardPlusPlus.cpp @@ -380,7 +380,6 @@ bool StoreForwardPlusPlusModule::handleReceivedProtobuf(const meshtastic_MeshPac } } else { // if chainEnd() LOG_WARN("No Messages on this chain, request!"); - // todo request using portduino config initial_sync if (airTime->isTxAllowedChannelUtil(true)) { requestMessageCount(t->root_hash.bytes, t->root_hash.size, portduino_config.sfpp_initial_sync); } diff --git a/src/platform/portduino/PortduinoGlue.cpp b/src/platform/portduino/PortduinoGlue.cpp index ef2c8b99f..d7b6ce673 100644 --- a/src/platform/portduino/PortduinoGlue.cpp +++ b/src/platform/portduino/PortduinoGlue.cpp @@ -790,8 +790,12 @@ bool loadConfig(const char *configPath) if (yamlConfig["StoreAndForward"]) { portduino_config.sfpp_stratum0 = (yamlConfig["StoreAndForward"]["Stratum0"]).as(false); + portduino_config.sfpp_enabled = (yamlConfig["StoreAndForward"]["Enabled"]).as(true); + portduino_config.sfpp_db_path = (yamlConfig["StoreAndForward"]["DBPath"]).as("/var/lib/meshtasticd/"); portduino_config.sfpp_initial_sync = (yamlConfig["StoreAndForward"]["InitialSync"]).as(10); portduino_config.sfpp_hops = (yamlConfig["StoreAndForward"]["Hops"]).as(3); + portduino_config.sfpp_announce_interval = (yamlConfig["StoreAndForward"]["AnnounceInterval"]).as(5); + portduino_config.sfpp_max_chain = (yamlConfig["StoreAndForward"]["MaxChain"]).as(1000); } if (yamlConfig["General"]) { diff --git a/src/platform/portduino/PortduinoGlue.h b/src/platform/portduino/PortduinoGlue.h index ea36a1fd6..6b79cd9e9 100644 --- a/src/platform/portduino/PortduinoGlue.h +++ b/src/platform/portduino/PortduinoGlue.h @@ -173,6 +173,7 @@ extern struct portduino_config_struct { // DB location /var/lib/meshtasticd/ std::string sfpp_db_path = "/var/lib/meshtasticd/"; bool sfpp_stratum0 = false; + bool sfpp_enabled = true; int sfpp_initial_sync = 10; int sfpp_hops = 3; int sfpp_announce_interval = 5; // minutes @@ -502,9 +503,10 @@ extern struct portduino_config_struct { } // StoreAndForward - if (sfpp_stratum0 || sfpp_initial_sync != 10 || sfpp_hops != 3 || sfpp_announce_interval != 5 || sfpp_max_chain != 1000) { + if (sfpp_enabled) { out << YAML::Key << "StoreAndForward" << YAML::Value << YAML::BeginMap; - + out << YAML::Key << "Enabled" << YAML::Value << sfpp_enabled; + out << YAML::Key << "DBPath" << YAML::Value << sfpp_db_path; out << YAML::Key << "Stratum0" << YAML::Value << sfpp_stratum0; out << YAML::Key << "InitialSync" << YAML::Value << sfpp_initial_sync; out << YAML::Key << "Hops" << YAML::Value << sfpp_hops;