Skip to content

Commit

Permalink
Merge pull request #698 from fsck-block/development03
Browse files Browse the repository at this point in the history
configurable offset for tickMidnight
  • Loading branch information
lumapu authored Feb 22, 2023
2 parents 6b822a7 + 8342851 commit 20864db
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/app.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ void app::tickNtpUpdate(void) {
if(mConfig->inst.rstValsNotAvail)
everyMin(std::bind(&app::tickMinute, this), "tMin");
if(mConfig->inst.rstYieldMidNight) {
uint32_t midTrig = mTimestamp - ((mTimestamp - 1) % 86400) + 86400; // next midnight
uint32_t midTrig = mTimestamp - ((mTimestamp + MIDNIGHTTICKER_OFFSET) % 86400) + 86400; // next midnight
onceAt(std::bind(&app::tickMidnight, this), midTrig, "midNi");
}
}
Expand Down Expand Up @@ -304,7 +304,7 @@ void app::tickMinute(void) {
//-----------------------------------------------------------------------------
void app::tickMidnight(void) {
// only triggered if 'reset values at midnight is enabled'
uint32_t nxtTrig = mTimestamp - ((mTimestamp - 1) % 86400) + 86400; // next midnight
uint32_t nxtTrig = mTimestamp - ((mTimestamp + MIDNIGHTTICKER_OFFSET) % 86400) + 86400; // next midnight
onceAt(std::bind(&app::tickMidnight, this), nxtTrig, "mid2");

Inverter<> *iv;
Expand Down
7 changes: 7 additions & 0 deletions src/config/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,13 @@
// reconnect delay
#define MQTT_RECONNECT_DELAY 5000

// Offset for midnight Ticker
// relative to UTC
// may be negative for later in the next day or positive for earlier in previous day
// may contain variable like mCalculatedTimezoneOffset
// must be in parentheses
#define MIDNIGHTTICKER_OFFSET (-1)

#if __has_include("config_override.h")
#include "config_override.h"
#endif
Expand Down
4 changes: 4 additions & 0 deletions src/config/config_override_example.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@
#define DEF_RF24_IRQ_PIN 16


// Offset for midnight Ticker Example: 1 second before midnight (local time)
#undef MIDNIGHTTICKER_OFFSET
#define MIDNIGHTTICKER_OFFSET (mCalculatedTimezoneOffset + 1)

// To enable the json endpoint at /json
// #define ENABLE_JSON_EP

Expand Down

0 comments on commit 20864db

Please sign in to comment.