From 397030b5a6b129f4e405a8b401b3bf1ab98fc1e6 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Mon, 12 Sep 2022 18:07:21 -0500 Subject: [PATCH] GPS intervals (#1693) * GPS intervals * Backwards logic * Oops --- src/gps/GPS.cpp | 21 +++------------------ src/mesh/NodeDB.cpp | 1 + src/mesh/NodeDB.h | 11 +++++++---- src/mesh/RadioInterface.cpp | 1 + 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/gps/GPS.cpp b/src/gps/GPS.cpp index 9cea46c12..69488cbc6 100644 --- a/src/gps/GPS.cpp +++ b/src/gps/GPS.cpp @@ -296,16 +296,7 @@ uint32_t GPS::getWakeTime() const if (t == UINT32_MAX) return t; // already maxint - - if (t == 0) - t = (config.device.role == Config_DeviceConfig_Role_ROUTER) - ? 5 * 60 - : 15 * 60; // Allow up to 15 mins for each attempt (probably will be much - // less if we can find sats) or less if a router - - t *= 1000; // msecs - - return t; + return t * 1000; } /** Get how long we should sleep between aqusition attempts in msecs @@ -320,14 +311,8 @@ uint32_t GPS::getSleepTime() const if (t == UINT32_MAX) return t; // already maxint - - if (t == 0) // default - unset in preferences - t = (config.device.role == Config_DeviceConfig_Role_ROUTER) ? 24 * 60 * 60 - : 2 * 60; // 2 mins or once per day for routers - - t *= 1000; - - return t; + + return t * 1000; } void GPS::publishUpdate() diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 65f983629..9af5b39b2 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -184,6 +184,7 @@ void NodeDB::installDefaultConfig() void NodeDB::initConfigIntervals() { config.position.gps_update_interval = default_gps_update_interval; + config.position.gps_attempt_time = default_gps_attempt_time; config.position.position_broadcast_secs = default_broadcast_interval_secs; config.power.ls_secs = default_ls_secs; diff --git a/src/mesh/NodeDB.h b/src/mesh/NodeDB.h index f7afbf774..85dfd741e 100644 --- a/src/mesh/NodeDB.h +++ b/src/mesh/NodeDB.h @@ -175,12 +175,15 @@ extern NodeDB nodeDB; #define IF_ROUTER(routerVal, normalVal) ((config.device.role == Config_DeviceConfig_Role_ROUTER) ? (routerVal) : (normalVal)) -#define default_gps_update_interval IF_ROUTER(30, 15 * 60) -#define default_broadcast_interval_secs IF_ROUTER(12 * 60 * 60, 15 * 60) +#define ONE_DAY 24 * 60 * 60 + +#define default_gps_attempt_time IF_ROUTER(5 * 60, 15 * 60) +#define default_gps_update_interval IF_ROUTER(ONE_DAY, 2 * 60) +#define default_broadcast_interval_secs IF_ROUTER(ONE_DAY / 2, 15 * 60) #define default_wait_bluetooth_secs IF_ROUTER(1, 60) #define default_mesh_sds_timeout_secs IF_ROUTER(NODE_DELAY_FOREVER, 2 * 60 * 60) -#define default_sds_secs 365 * 24 * 60 * 60 -#define default_ls_secs IF_ROUTER(24 * 60 * 60, 5 * 60) +#define default_sds_secs 365 * ONE_DAY +#define default_ls_secs IF_ROUTER(ONE_DAY, 5 * 60) #define default_min_wake_secs 10 #define default_screen_on_secs 60 * 10 diff --git a/src/mesh/RadioInterface.cpp b/src/mesh/RadioInterface.cpp index 5f698ec0a..864a9726c 100644 --- a/src/mesh/RadioInterface.cpp +++ b/src/mesh/RadioInterface.cpp @@ -415,6 +415,7 @@ void RadioInterface::applyModemConfig() if (power == 0) power = 17; // Default to default power if we don't have a valid power + // Set final tx_power back onto config loraConfig.tx_power = power; // Calculate the number of channels