|
|
@ -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();
|
|
|
|