From e4b894b58e5b78dd3ef238794ea8fb4677ac2a79 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 10 Sep 2019 14:06:37 +0200 Subject: [PATCH] Compilation fix --- radio/src/lua/api_general.cpp | 5 +++-- radio/src/telemetry/telemetry_sensors.h | 10 ++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index 0cfc2b5bc..659fb38ed 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -209,8 +209,9 @@ static void luaPushLatLon(lua_State* L, TelemetrySensor & telemetrySensor, Telem lua_pushtablenumber(L, "lon", telemetryItem.gps.longitude * 0.000001); lua_pushtablenumber(L, "pilot-lon", telemetryItem.pilotLongitude * 0.000001); - if (telemetryItem.hasReceiveTime()) - lua_pushtableinteger(L, "delay", telemetryItem.getDelaySinceLastValue()); + int8_t delay = telemetryItem.getDelaySinceLastValue(); + if (delay >= 0) + lua_pushtableinteger(L, "delay", delay); else lua_pushtablenil(L, "delay"); } diff --git a/radio/src/telemetry/telemetry_sensors.h b/radio/src/telemetry/telemetry_sensors.h index a1fcf55a6..def941861 100644 --- a/radio/src/telemetry/telemetry_sensors.h +++ b/radio/src/telemetry/telemetry_sensors.h @@ -103,6 +103,16 @@ class TelemetryItem return (timeout == TELEMETRY_SENSOR_TIMEOUT_OLD); } + inline bool hasReceiveTime() + { + return timeout >= 0; + } + + inline int8_t getDelaySinceLastValue() + { + return hasReceiveTime() ? TELEMETRY_SENSOR_TIMEOUT_START - timeout : TELEMETRY_SENSOR_TIMEOUT_OLD; + } + inline bool isFresh() { return TELEMETRY_SENSOR_TIMEOUT_START - timeout <= 1; // 2 * 160ms