|
@ -27,12 +27,12 @@ PrintCounter::PrintCounter(): super() { |
|
|
this->loadStats(); |
|
|
this->loadStats(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
uint16_t PrintCounter::deltaDuration() { |
|
|
millis_t PrintCounter::deltaDuration() { |
|
|
#if ENABLED(DEBUG_PRINTCOUNTER) |
|
|
#if ENABLED(DEBUG_PRINTCOUNTER) |
|
|
PrintCounter::debug(PSTR("deltaDuration")); |
|
|
PrintCounter::debug(PSTR("deltaDuration")); |
|
|
#endif |
|
|
#endif |
|
|
|
|
|
|
|
|
uint16_t tmp = this->lastDuration; |
|
|
millis_t tmp = this->lastDuration; |
|
|
this->lastDuration = this->duration(); |
|
|
this->lastDuration = this->duration(); |
|
|
return this->lastDuration - tmp; |
|
|
return this->lastDuration - tmp; |
|
|
} |
|
|
} |
|
@ -88,12 +88,12 @@ void PrintCounter::showStats() { |
|
|
SERIAL_ECHO(this->data.totalPrints - this->data.finishedPrints |
|
|
SERIAL_ECHO(this->data.totalPrints - this->data.finishedPrints |
|
|
- ((this->isRunning() || this->isPaused()) ? 1 : 0)); // Removes 1 from failures with an active counter
|
|
|
- ((this->isRunning() || this->isPaused()) ? 1 : 0)); // Removes 1 from failures with an active counter
|
|
|
|
|
|
|
|
|
uint32_t t = this->data.printTime / 60; |
|
|
millis_t t = this->data.printTime / 60; // minutes from seconds
|
|
|
SERIAL_ECHOPGM(", Total print time: "); |
|
|
SERIAL_ECHOPGM(", Total print time: "); |
|
|
SERIAL_ECHO(t / 60); |
|
|
SERIAL_ECHO(t / 60); // hours
|
|
|
|
|
|
|
|
|
SERIAL_ECHOPGM("h "); |
|
|
SERIAL_ECHOPGM("h "); |
|
|
SERIAL_ECHO(t % 60); |
|
|
SERIAL_ECHO(t % 60); // minutes
|
|
|
|
|
|
|
|
|
SERIAL_ECHOPGM("min"); |
|
|
SERIAL_ECHOPGM("min"); |
|
|
|
|
|
|
|
@ -110,10 +110,10 @@ void PrintCounter::showStats() { |
|
|
void PrintCounter::tick() { |
|
|
void PrintCounter::tick() { |
|
|
if (!this->isRunning()) return; |
|
|
if (!this->isRunning()) return; |
|
|
|
|
|
|
|
|
static uint32_t update_before = millis(), |
|
|
static millis_t update_before = millis(), |
|
|
eeprom_before = millis(); |
|
|
eeprom_before = millis(); |
|
|
|
|
|
|
|
|
uint32_t now = millis(); |
|
|
millis_t now = millis(); |
|
|
|
|
|
|
|
|
// Trying to get the amount of calculations down to the bare min
|
|
|
// Trying to get the amount of calculations down to the bare min
|
|
|
const static uint16_t i = this->updateInterval * 1000; |
|
|
const static uint16_t i = this->updateInterval * 1000; |
|
@ -128,8 +128,7 @@ void PrintCounter::tick() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// Trying to get the amount of calculations down to the bare min
|
|
|
// Trying to get the amount of calculations down to the bare min
|
|
|
const static uint32_t j = this->saveInterval * 1000; |
|
|
const static millis_t j = this->saveInterval * 1000; |
|
|
|
|
|
|
|
|
if (now - eeprom_before >= j) { |
|
|
if (now - eeprom_before >= j) { |
|
|
eeprom_before = now; |
|
|
eeprom_before = now; |
|
|
this->saveStats(); |
|
|
this->saveStats(); |
|
|