2 #ifndef __Commanders_HPP__ 3 #define __Commanders_HPP__ 8 typedef void(*CommandersEventHandlerFunction)(
unsigned long inId,
COMMANDERS_EVENT_TYPE inEvent,
int inData);
26 static int lastEventData;
27 static uint8_t lastConfigAddress;
28 static unsigned long StartStatusLed;
29 static CommandersEventHandlerFunction EventHandler;
41 static inline void begin(
int inStatusLedPin = -1,
unsigned int inBlinkDelay = 1000)
43 #ifdef COMMANDERS_DEBUG_MODE 44 Serial.println(F(
""));
45 Serial.println(F(
"Commanders V1.51.2"));
46 Serial.println(F(
"Developed by Thierry Paris."));
47 Serial.println(F(
"(c) Locoduino 2016-2018"));
48 Serial.println(F(
""));
50 Serial.println(F(
"*** Setup Commanders started."));
52 if (inStatusLedPin != -1)
54 StatusLedPin = Arduino_to_GPIO_pin(inStatusLedPin);
55 pinMode2f(StatusLedPin, OUTPUT);
56 BlinkDelay = inBlinkDelay;
65 static inline void begin(CommandersEventHandlerFunction func,
int inStatusLedPin = -1,
unsigned int inBlinkDelay = 1000)
67 Commanders::EventHandler = func;
68 begin(inStatusLedPin, inBlinkDelay);
75 static unsigned long loop();
108 #if defined(COMMANDERS_DEBUG_MODE) || defined(COMMANDERS_PRINT_COMMANDERS) 126 #define COMMANDERS_PRINT_EVENT(id, type, data) Commanders::printEvent(id, type, data); 128 #define COMMANDERS_PRINT_EVENT(id, type, data) 130 #ifdef COMMANDERS_PRINT_COMMANDERS 132 #define PRINT_COMMANDERS() Commanders::printCommanders(); 140 #define PRINT_COMMANDERS() static void printCommanders()
static void printEvent(unsigned long inId, COMMANDERS_EVENT_TYPE inEventType, int inEventData)
static unsigned long RaiseEvent(unsigned long inId, COMMANDERS_EVENT_TYPE inEvent = COMMANDERS_EVENT_MOVEPOSITIONID, int inData = 0)
static void StatusBlink()
static uint8_t GetLastConfigAddress()
static void SetLastEventData(int inData)
static void printEventType(COMMANDERS_EVENT_TYPE inEventType, bool inDataFollow)
static void SetLastEventType(COMMANDERS_EVENT_TYPE inEvent)
static int GetLastEventData()
static void printEventData(COMMANDERS_EVENT_TYPE inEventType, int inEventData)
static COMMANDERS_EVENT_TYPE GetLastEventType()
static void printEventMoveType(COMMANDERS_MOVE_TYPE inMoveType)
static unsigned long loop()
static void begin(CommandersEventHandlerFunction func, int inStatusLedPin = -1, unsigned int inBlinkDelay = 1000)
static void begin(int inStatusLedPin = -1, unsigned int inBlinkDelay = 1000)
static unsigned int BlinkDelay
static GPIO_pin_t StatusLedPin