From e74142724cb42f5062fa99cb0b95f9ce4f081d43 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sun, 18 Aug 2024 12:13:44 +0200 Subject: [PATCH] Disable 64-bit timing support --- tasmota/tasmota_support/support.ino | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/tasmota/tasmota_support/support.ino b/tasmota/tasmota_support/support.ino index fc4ea0c7f..d385ec0ac 100755 --- a/tasmota/tasmota_support/support.ino +++ b/tasmota/tasmota_support/support.ino @@ -2280,7 +2280,8 @@ void TasShiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t va /*********************************************************************************************\ * Sleep aware time scheduler functions borrowed from ESPEasy \*********************************************************************************************/ - +/* +// No need to use 64-bit inline uint64_t GetMicros64() { #ifdef ESP8266 return micros64(); @@ -2290,6 +2291,19 @@ inline uint64_t GetMicros64() { #endif } +inline int64_t TimeDifference64(uint64_t prev, uint64_t next) { + return ((int64_t) (next - prev)); +} + +int64_t TimePassedSince64(const uint64_t& timestamp) { + return TimeDifference64(timestamp, GetMicros64()); +} + +bool TimeReached64(const uint64_t& timer) { + return TimePassedSince64(timer) >= 0; +} +*/ + // Return the time difference as a signed value, taking into account the timers may overflow. // Returned timediff is between -24.9 days and +24.9 days. // Returned value is positive when "next" is after "prev" @@ -2297,29 +2311,18 @@ inline int32_t TimeDifference(uint32_t prev, uint32_t next) { return ((int32_t) (next - prev)); } -inline int64_t TimeDifference64(uint64_t prev, uint64_t next) { - return ((int64_t) (next - prev)); -} - int32_t TimePassedSince(uint32_t timestamp) { // Compute the number of milliSeconds passed since timestamp given. // Note: value can be negative if the timestamp has not yet been reached. return TimeDifference(timestamp, millis()); } -int64_t TimePassedSince64(const uint64_t& timestamp) { - return TimeDifference64(timestamp, GetMicros64()); -} - bool TimeReached(uint32_t timer) { // Check if a certain timeout has been reached. + // This is roll-over proof. return TimePassedSince(timer) >= 0; } -bool TimeReached64(const uint64_t& timer) { - return TimePassedSince64(timer) >= 0; -} - void SetNextTimeInterval(uint32_t& timer, const uint32_t step) { timer += step; const long passed = TimePassedSince(timer);