diff --git a/zephcore/app/RepeaterDataStore.cpp b/zephcore/app/RepeaterDataStore.cpp index d5ad465..33dc218 100644 --- a/zephcore/app/RepeaterDataStore.cpp +++ b/zephcore/app/RepeaterDataStore.cpp @@ -134,8 +134,7 @@ bool RepeaterDataStore::loadPrefs(NodePrefs& prefs) { initNodePrefs(&prefs); strcpy(prefs.node_name, "Repeater"); prefs.advert_loc_policy = ADVERT_LOC_PREFS; - prefs.flood_advert_interval = 25; - prefs.loop_detect = LOOP_DETECT_MINIMAL; + prefs.loop_detect = LOOP_DETECT_MODERATE; prefs.path_hash_mode = 1; /* Persist defaults so flash always has a prefs file from boot 1. * Lets later code (e.g. tempradio revert) trust that flash is @@ -233,7 +232,7 @@ bool RepeaterDataStore::loadPrefs(NodePrefs& prefs) { if (ret >= 0 && entry.size < 294) { prefs.rx_boost = 1; prefs.path_hash_mode = 1; - prefs.loop_detect = LOOP_DETECT_MINIMAL; + prefs.loop_detect = LOOP_DETECT_MODERATE; savePrefs(prefs); LOG_INF("loadPrefs: upgraded prefs format (%d -> 294 bytes)", (int)entry.size); } diff --git a/zephcore/app/RepeaterMesh.cpp b/zephcore/app/RepeaterMesh.cpp index d53cdc6..0aeb177 100644 --- a/zephcore/app/RepeaterMesh.cpp +++ b/zephcore/app/RepeaterMesh.cpp @@ -873,8 +873,7 @@ RepeaterMesh::RepeaterMesh(mesh::MainBoard& board, mesh::Radio& radio, mesh::Mil initNodePrefs(&_prefs); strcpy(_prefs.node_name, "Repeater"); _prefs.advert_loc_policy = ADVERT_LOC_PREFS; // Repeaters always advertise prefs coordinates - _prefs.flood_advert_interval = 25; // hours - _prefs.loop_detect = LOOP_DETECT_MINIMAL; + _prefs.loop_detect = LOOP_DETECT_MODERATE; _prefs.path_hash_mode = 1; #if IS_ENABLED(CONFIG_ZEPHCORE_REPEATER_UPLINK) && IS_ENABLED(CONFIG_MQTT_LIB) memset(&_uplink_creds, 0, sizeof(_uplink_creds)); diff --git a/zephcore/helpers/NodePrefs.h b/zephcore/helpers/NodePrefs.h index c788ff4..07727f9 100644 --- a/zephcore/helpers/NodePrefs.h +++ b/zephcore/helpers/NodePrefs.h @@ -105,8 +105,8 @@ static inline void initNodePrefs(NodePrefs* prefs) { prefs->tx_power_dbm = 22; // LoRaConfig::TX_POWER_DBM #endif prefs->disable_fwd = 0; - prefs->advert_interval = 60; // 2 minutes (value / 2) - prefs->flood_advert_interval = 12; // 12 hours + prefs->advert_interval = 0; // 0 = periodic local advert off; else minutes = value * 2 + prefs->flood_advert_interval = 25; // hours prefs->rx_delay_base = 0.0f; prefs->tx_delay_factor = 0.5f; prefs->direct_tx_delay_factor = 0.3f;