51 lines
2.4 KiB
C
51 lines
2.4 KiB
C
|
|
#ifndef MD_PAROLALIB_H
|
|
#define MD_PAROLALIB_H
|
|
/**
|
|
* \file
|
|
* \brief Contains internal library definitions
|
|
*/
|
|
|
|
#define DEBUG_PAROLA 0 ///< Set to 1 to enable General debug output
|
|
#define DEBUG_PAROLA_FSM 0 ///< Set to 1 to enable Finite State Machine debug output
|
|
#define TIME_PROFILING 0 ///< Set to 1 to enable Time Profile debug output
|
|
|
|
#if DEBUG_PAROLA
|
|
#define PRINT(s, v) { Serial.print(F(s)); Serial.print(v); } ///< (GENERAL) Print a string followed by a value (decimal)
|
|
#define PRINTX(s, v) { Serial.print(F(s)); Serial.print(v, HEX); } ///< (GENERAL) Print a string followed by a value (hex)
|
|
#define PRINTS(s) Serial.print(F(s)) ///< (GENERAL) Print a string
|
|
#else
|
|
#define PRINT(s, v) ///< (GENERAL) Print a string followed by a value (decimal)
|
|
#define PRINTX(s, v) ///< (GENERAL) Print a string followed by a value (hex)
|
|
#define PRINTS(s) ///< (GENERAL) Print a string
|
|
#endif
|
|
|
|
#if DEBUG_PAROLA_FSM
|
|
#define FSMPRINT(s, v) { Serial.print(F(s)); Serial.print(v); } ///< (FSM) Print a string followed by a value (decimal)
|
|
#define FSMPRINTX(s, v) { Serial.print(F(s)); Serial.print(v, HEX); } ///< (FSM) Print a string followed by a value (hex)
|
|
#define FSMPRINTS(s) Serial.print(F(s)) ///< (FSM) Print a string
|
|
#define PRINT_STATE(f) { Serial.print(F("\n")); Serial.print(F(f)); Serial.print(F(" fsm ")); Serial.print(state2string(_fsmState)); } ///< (FSM) Print the current FSM state information
|
|
#else
|
|
#define FSMPRINT(s, v) ///< (FSM) Print a string followed by a value (decimal)
|
|
#define FSMPRINTX(s, v) ///< (FSM) Print a string followed by a value (hex)
|
|
#define FSMPRINTS(s) ///< (FSM) Print a string
|
|
#define PRINT_STATE(f) ///< (FSM) Print the current FSM state information
|
|
#endif
|
|
|
|
// General macros and defines
|
|
#define LIGHT_BAR (_inverted ? 0 : 0xFF) ///< Turn display column to all LEDs on
|
|
#define EMPTY_BAR (_inverted ? 0xFF : 0) ///< Turn display column to all LEDs off
|
|
#define DATA_BAR(d) (_inverted ? ~d : d) ///< Turn display column to specified data
|
|
|
|
// Zone effects masks
|
|
#define ZE_SET(b, mask) ((b & ~mask) | mask) ///< clear the bit then put it back in
|
|
#define ZE_RESET(b, mask) (b & ~mask) ///< clear the bit
|
|
#define ZE_TEST(b, mask) ((b & mask) != 0) ///< mask off the bit
|
|
|
|
#define ZE_FLIP_UD_MASK 0x01 ///< mask bit 0
|
|
#define ZE_FLIP_LR_MASK 0x02 ///< mask bit 1
|
|
|
|
#define SFX(s) ((_moveIn && _effectIn == (s)) || (!_moveIn && _effectOut == (s))) ///< Effect is selected if it is the effect for the current motion
|
|
|
|
#endif
|