// MACRO-START * MACRO-START * MACRO-START * MACRO-START * MACRO-START * MACRO-START *
// a detailed explanation how these macros work is given in this tutorial
// https://forum.arduino.cc/t/comfortable-serial-debug-output-short-to-write-fixed-text-name-and-content-of-any-variable-code-example/888298
#define dbg(myFixedText, variableName) \
Serial.print( F(#myFixedText " " #variableName"=") ); \
Serial.println(variableName);
#define dbgi(myFixedText, variableName,timeInterval) \
{ \
static unsigned long intervalStartTime; \
if ( millis() - intervalStartTime >= timeInterval ){ \
intervalStartTime = millis(); \
Serial.print( F(#myFixedText " " #variableName"=") ); \
Serial.println(variableName); \
} \
}
#define dbgc(myFixedText, variableName) \
{ \
static long lastState; \
if ( lastState != variableName ){ \
Serial.print( F(#myFixedText " " #variableName" changed from ") ); \
Serial.print(lastState); \
Serial.print( F(" to ") ); \
Serial.println(variableName); \
lastState = variableName; \
} \
}
#define dbgcf(myFixedText, variableName) \
{ \
static float lastState; \
if ( lastState != variableName ){ \
Serial.print( F(#myFixedText " " #variableName" changed from ") ); \
Serial.print(lastState); \
Serial.print( F(" to ") ); \
Serial.println(variableName); \
lastState = variableName; \
} \
}
// MACRO-END * MACRO-END * MACRO-END * MACRO-END * MACRO-END * MACRO-END * MACRO-END *
int myInts[1]; //only need 1 cell in array
int a;
void setup() {
Serial.begin(115200);
Serial.println("Setup-Start");
}
void loop() {
Serial.println("Top of Loop");
a = 0; //if a<0 6 will print out if a>=0 10 will print out
dbg("01",a);
myInts[0] = a; //value a= into array 0
dbg("02",myInts[0] );
a = myInts[0]; // retrieve value a from array 0
dbg("03",a);
delay(3000); // value of a will print out here
Serial.println("right before entering while-loop");
while (a < 0) {
Serial.println("inside while-loop");
dbg("04 inside while-llop",a);
a = myInts[0];
dbg("05 inside while-llop",a);
Serial.println(6); //6 will print out when looping in while statement
}
Serial.println("right after = while loop");
Serial.println(10);
delay(3000);
Serial.println("bottom of Loop");
}