Browse Source

fixed millis in serial log

pull/1373/head
Telekatz 9 months ago
parent
commit
3375ccc7f6
  1. 2
      src/app.h
  2. 6
      src/utils/helper.cpp
  3. 5
      src/utils/scheduler.h

2
src/app.h

@ -115,7 +115,7 @@ class app : public IApp, public ah::Scheduler {
} }
uint64_t getTimestampMs() { uint64_t getTimestampMs() {
return ((uint64_t)Scheduler::mTimestamp * 1000) + (uint64_t)Scheduler::mTsMillis; return ((uint64_t)Scheduler::mTimestamp * 1000) + ((uint64_t)millis() - (uint64_t)Scheduler::mTsMillis) % 1000;
} }
bool saveSettings(bool reboot) { bool saveSettings(bool reboot) {

6
src/utils/helper.cpp

@ -72,11 +72,13 @@ namespace ah {
String getTimeStrMs(uint64_t t) { String getTimeStrMs(uint64_t t) {
char str[13]; char str[13];
uint16_t m;
if(0 == t) if(0 == t)
sprintf(str, "n/a"); sprintf(str, "n/a");
else { else {
t = (t + (millis() % 1000)) / 1000; m = t % 1000;
sprintf(str, "%02d:%02d:%02d.%03d", hour(t), minute(t), second(t), (uint16_t)(millis() % 1000)); t = t / 1000;
sprintf(str, "%02d:%02d:%02d.%03d", hour(t), minute(t), second(t), m);
} }
return String(str); return String(str);
} }

5
src/utils/scheduler.h

@ -34,9 +34,9 @@ namespace ah {
void setup(bool directStart) { void setup(bool directStart) {
mUptime = 0; mUptime = 0;
mTimestamp = (directStart) ? 1 : 0; mTimestamp = (directStart) ? 1 : 0;
mTsMillis = 0;
mMax = 0; mMax = 0;
mPrevMillis = millis(); mPrevMillis = millis();
mTsMillis = mPrevMillis % 1000;
resetTicker(); resetTicker();
} }
@ -62,7 +62,7 @@ namespace ah {
mUptime += mDiffSeconds; mUptime += mDiffSeconds;
if(0 != mTimestamp) { if(0 != mTimestamp) {
mTimestamp += mDiffSeconds; mTimestamp += mDiffSeconds;
mTsMillis = mMillis % 1000; mTsMillis = mPrevMillis % 1000;
} }
checkTicker(); checkTicker();
@ -80,7 +80,6 @@ namespace ah {
virtual void setTimestamp(uint32_t ts) { virtual void setTimestamp(uint32_t ts) {
mTimestamp = ts; mTimestamp = ts;
mTsMillis = millis() % 1000;
} }
bool resetEveryById(uint8_t id) { bool resetEveryById(uint8_t id) {

Loading…
Cancel
Save