Shrink debug code in Stopwatch and disable by default

This commit is contained in:
Scott Lahteine 2016-04-20 12:35:37 -07:00
parent e523a0dc61
commit 21a6b66807
2 changed files with 47 additions and 9 deletions

View File

@ -28,7 +28,10 @@ Stopwatch::Stopwatch() {
} }
void Stopwatch::stop() { void Stopwatch::stop() {
if (DEBUGGING(INFO)) SERIAL_ECHOLNPGM("Stopwatch::stop()"); #if ENABLED(DEBUG_STOPWATCH)
debug(PSTR("stop"));
#endif
if (!this->isRunning()) return; if (!this->isRunning()) return;
this->status = STPWTCH_STOPPED; this->status = STPWTCH_STOPPED;
@ -36,7 +39,10 @@ void Stopwatch::stop() {
} }
void Stopwatch::pause() { void Stopwatch::pause() {
if (DEBUGGING(INFO)) SERIAL_ECHOLNPGM("Stopwatch::pause()"); #if ENABLED(DEBUG_STOPWATCH)
debug(PSTR("pause"));
#endif
if (!this->isRunning()) return; if (!this->isRunning()) return;
this->status = STPWTCH_PAUSED; this->status = STPWTCH_PAUSED;
@ -44,7 +50,10 @@ void Stopwatch::pause() {
} }
void Stopwatch::start() { void Stopwatch::start() {
if (DEBUGGING(INFO)) SERIAL_ECHOLNPGM("Stopwatch::start()"); #if ENABLED(DEBUG_STOPWATCH)
debug(PSTR("start"));
#endif
if (this->isRunning()) return; if (this->isRunning()) return;
if (this->isPaused()) this->accumulator = this->duration(); if (this->isPaused()) this->accumulator = this->duration();
@ -55,7 +64,9 @@ void Stopwatch::start() {
} }
void Stopwatch::reset() { void Stopwatch::reset() {
if (DEBUGGING(INFO)) SERIAL_ECHOLNPGM("Stopwatch::reset()"); #if ENABLED(DEBUG_STOPWATCH)
debug(PSTR("reset"));
#endif
this->status = STPWTCH_STOPPED; this->status = STPWTCH_STOPPED;
this->startTimestamp = 0; this->startTimestamp = 0;
@ -75,3 +86,15 @@ uint16_t Stopwatch::duration() {
return (((this->isRunning()) ? millis() : this->stopTimestamp) return (((this->isRunning()) ? millis() : this->stopTimestamp)
- this->startTimestamp) / 1000 + this->accumulator; - this->startTimestamp) / 1000 + this->accumulator;
} }
#if ENABLED(DEBUG_STOPWATCH)
void Stopwatch::debug(const char func[]) {
if (DEBUGGING(INFO)) {
SERIAL_ECHOPGM("Stopwatch::");
serialprintPGM(func);
SERIAL_ECHOLNPGM("()");
}
}
#endif

View File

@ -23,10 +23,15 @@
#ifndef STOPWATCH_H #ifndef STOPWATCH_H
#define STOPWATCH_H #define STOPWATCH_H
#include "macros.h"
// Print debug messages with M111 S2 (Uses 156 bytes of PROGMEM)
//#define DEBUG_STOPWATCH
enum StopwatchStatus { enum StopwatchStatus {
STPWTCH_STOPPED = 0x0, STPWTCH_STOPPED,
STPWTCH_RUNNING = 0x1, STPWTCH_RUNNING,
STPWTCH_PAUSED = 0x2 STPWTCH_PAUSED
}; };
/** /**
@ -94,6 +99,16 @@ class Stopwatch {
* @return uint16_t * @return uint16_t
*/ */
uint16_t duration(); uint16_t duration();
#if ENABLED(DEBUG_STOPWATCH)
/**
* @brief Prints a debug message
* @details Prints a simple debug message "Stopwatch::function"
*/
static void debug(const char func[]);
#endif
}; };
#endif //STOPWATCH_H #endif //STOPWATCH_H