From 10c2d7e841b8aea5a3397505069ec60d27e05a68 Mon Sep 17 00:00:00 2001 From: Owen Date: Sun, 9 May 2021 14:59:18 +0200 Subject: [PATCH] Better debug toggle and setup --- esp32-cam-webserver.ino | 46 ++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/esp32-cam-webserver.ino b/esp32-cam-webserver.ino index a765fe8..6090f9f 100644 --- a/esp32-cam-webserver.ino +++ b/esp32-cam-webserver.ino @@ -179,32 +179,33 @@ const int pwmMax = pow(2,pwmresolution)-1; // will be returned for all http requests String critERR = ""; -// Debug Data for stream and capture -#if defined(DEBUG_DEFAULT_ON) - bool debugData = true; -#else - bool debugData = false; -#endif +// Debug flag for stream and capture data +bool debugData; -void debugToggle() { +void debugOn() { + debugData = true; + Serial.println("Camera debug data is enabled (send 'd' for status dump, or any other char to disable debug)"); +} + +void debugOff() { + debugData = false; + Serial.println("Camera debug data is disabled (send 'd' for status dump, or any other char to enable debug)"); +} + +// Serial input (debugging controls) +void handleSerial() { if (Serial.available()) { - if (Serial.read() == 'd' ) { + char cmd = Serial.read(); + if (cmd == 'd' ) { serialDump(); } else { - // Toggle debug output on serial input - if (debugData) { - debugData = false; - Serial.println("Camera debug data is disabled (send 'd' for status dump, or any other char to enable debug)"); - } else { - debugData = true; - Serial.println("Camera debug data is enabled (send 'd' for status dump, or any other char to disable debug)"); - } + if (debugData) debugOff(); + else debugOn(); } } while (Serial.available()) Serial.read(); // chomp the buffer } - // Notification LED void flashLED(int flashtime) { #ifdef LED_PIN // If we have it; flash it. @@ -620,8 +621,11 @@ void setup() { Serial.printf("\nCamera Ready!\nUse '%s' to connect\n", httpURL); Serial.printf("Stream viewer available at '%sview'\n", streamURL); Serial.printf("Raw stream URL is '%s'\n", streamURL); - if (debugData) Serial.println("Camera debug data is enabled (send 'd' for status dump, or any other char to disable debug)"); - else Serial.println("Camera debug data is disabled (send 'd' for status dump, or any other char to enable debug)"); + #if defined(DEBUG_DEFAULT_ON) + debugOn(); + #else + debugOff(); + #endif } else { Serial.printf("\nCamera unavailable due to initialisation errors.\n\n"); } @@ -644,7 +648,7 @@ void loop() { unsigned long start = millis(); while (millis() - start < WIFI_WATCHDOG ) { delay(100); - debugToggle(); + handleSerial(); if (captivePortal) dnsServer.processNextRequest(); } } else { @@ -661,7 +665,7 @@ void loop() { unsigned long start = millis(); while (millis() - start < WIFI_WATCHDOG ) { delay(100); - debugToggle(); + handleSerial(); } } else { // disconnected; attempt to reconnect