Debug Modus ein bzw aus schalten

Guten Tag,
hab da ein kleines Problemchen.
Ich betreibe in Spanien 3 ESP.
Wenn ich zu Hause in DE bin, hab ich immer wieder was am Code zu ändern. Dazu habe ich hier meine Test ESP.
Wenn ich den Code testen will, schalte ich den entsprechenden ESP in Spanien über den dortigen Router remote ab.
Etwas nervig ist es, dass ich jedesmal im Code die router daten ändern muss, sowie z.B die print ausgabe am seriellen monitor ein, bzw ausschalten möchte.

Folgende Code Zeilen müsste ich deaktivieren bzw aktivieren können.
Gleich am Code Anfang
#define BLYNK_PRINT Serial
dann die Router IP Config umschalten zwischen ES oder DE
dann noch
Serial.begin(115000);

Wie stelle ich das am besten an?

Bitte schaue mal in diesem Beispiel, ob Dir das hilft.

Hallo agmue,
vielen Dank für den Link, ganz verstanden hab ich das aber noch nicht.

Würde dies funktionieren?

#define ES //ES / DE

#ifdef DE
#define BLYNK_PRINT Serial /* Comment this out to disable prints and save space */
#endif

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <PubSubClient.h>
#include <WidgetRTC.h>
WidgetRTC rtc;
#include <OneWire.h>
#define ONE_WIRE_BUS 2
#include <DallasTemperature.h>

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

#ifdef ES
Daten für spanischen Router

#endif

#ifdef DE
Daten für deutschen Router
#endif

Das am Ende geht. Die Debug Serial Ausgaben hast du nicht verstanden

#define ist eine direkte Text Ersetzung. Wenn man also nichts angibt wird der Text durch "nichts" ersetzt und der Code wird nicht ausgeführt
Die drei Punkte und VA_ARGS erlauben dass man beliebig viele Parameter übergeben kann. Also z.B. auch print(4.2, 3). Das Stichwort hier ist "variadisches Makro".

Oder schau dir die Beispiele von fips an.
Der ist hier auch im Forum tätig.

Kannst Du mir einen konkreten Sketch nennen wo ich sehen kann wie das korrekt angewendet wird?

Auf der Seite von Fips such ich mich ja zu tode bis ich die alle durch habe :frowning:

Falls Du als Beispiel das hier meinst:

#define DEBUG 0

#if (DEBUG == 0)
  #define sp(...)
  #define spn(...)
  #define sbeg(...)
#else
  #define sp(...) Serial.print(__VA_ARGS__)
  #define spn(...) Serial.println(__VA_ARGS__)
  #define sbeg(...) Serial.begin(__VA_ARGS__); while(!Serial)
#endif

// Im Code dann
void setup() {
  sbeg(115200);
  spn("Start");
}
...

Ist auch nicht auf meinem Mist gewachsen, sondern hier aus dem Forum.

Gruß Tommy

rentneruwe:
Kannst Du mir einen konkreten Sketch nennen wo ich sehen kann wie das korrekt angewendet wird?

Auf der Seite von Fips such ich mich ja zu tode bis ich die alle durch habe :frowning:

Das können wir ja nicht verantworten.
Hier das Beispiel.

super, vielen Dank, hat mir geholfen!

Danke für die Rückmeldung!

Wo bist du denn in E ?