diff --git a/README.md b/README.md index b1c51b2..2d9787f 100644 --- a/README.md +++ b/README.md @@ -170,3 +170,5 @@ PLS files, M3U files or podcast XML feeds are supported). | | `add_mapping==` | Adds a mapping between RFID card and path . See `play` for valid path formats. | | `update` | Runs an update check. | +| `debug=<0|1>` | Enables / disables debug messages. This value is persisted across reboots. | +| `trace=<0|1>` | Enables / disables tracing messages. This value is also persisted across reboots. | \ No newline at end of file diff --git a/include/main.h b/include/main.h index 0117185..be0496e 100644 --- a/include/main.h +++ b/include/main.h @@ -1,5 +1,9 @@ #pragma once +#include void wifi_connect(); extern const uint8_t file_index_html_start[] asm("_binary_src_index_html_start"); +extern bool debug_enabled; +extern bool trace_enabled; +extern Preferences prefs; \ No newline at end of file diff --git a/src/controller.cpp b/src/controller.cpp index 5a30cbb..f5cc26a 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -301,6 +301,24 @@ bool Controller::process_message(String cmd) { } else if (cmd.equals("update")) { Updater::run(); #endif + } else if (cmd.startsWith("trace=")) { + int val = cmd.substring(6).toInt(); + if (val==0) { + trace_enabled = false; + prefs.putBool("trace_enabled", false); + } else if (val==1) { + trace_enabled = true; + prefs.putBool("trace_enabled", true); + } + } else if (cmd.startsWith("debug=")) { + int val = cmd.substring(6).toInt(); + if (val==0) { + debug_enabled = false; + prefs.putBool("debug_enabled", false); + } else if (val==1) { + debug_enabled = true; + prefs.putBool("debug_enabled", true); + } } else { ERROR("Unknown command: %s\n", cmd.c_str()); return false; diff --git a/src/main.cpp b/src/main.cpp index cf458e2..296b002 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include "main.h" #include "config.h" #include "controller.h" @@ -20,6 +21,10 @@ HTTPServer* http_server; uint8_t SPIMaster::state = 0; +bool debug_enabled = true; +bool trace_enabled = false; +Preferences prefs; + void wifi_connect() { INFO("Connecting to WiFi...\n"); WiFiMulti wifi; @@ -69,6 +74,9 @@ void setup() { INFO("ESMP3, version unknown (OTA_VERSION %d)\n", OTA_VERSION); #endif INFO("Initializing...\n"); + prefs.begin("esmp3"); + debug_enabled = prefs.getBool("debug_enabled", true); + trace_enabled = prefs.getBool("trace_enabled", false); PIN_SPEAKER_L_SETUP(); PIN_SPEAKER_R_SETUP();