diff --git a/FW/leo_muziekdoos_esp32/data/ping.mp3 b/FW/leo_muziekdoos_esp32/data/ping.mp3 new file mode 100644 index 0000000..99808c8 Binary files /dev/null and b/FW/leo_muziekdoos_esp32/data/ping.mp3 differ diff --git a/FW/leo_muziekdoos_esp32/data/settings.json b/FW/leo_muziekdoos_esp32/data/settings.json index 5868e87..e38b636 100644 --- a/FW/leo_muziekdoos_esp32/data/settings.json +++ b/FW/leo_muziekdoos_esp32/data/settings.json @@ -28,5 +28,6 @@ "GameTimeout": 20000, "PowerTimeout": 30, "PowerOTADelay": 4000, - "Brightness": 2 + "Brightness": 2, + "ping": "/ping.mp3" } \ No newline at end of file diff --git a/FW/leo_muziekdoos_esp32/src/config.cpp b/FW/leo_muziekdoos_esp32/src/config.cpp index 13ac1a1..209984e 100644 --- a/FW/leo_muziekdoos_esp32/src/config.cpp +++ b/FW/leo_muziekdoos_esp32/src/config.cpp @@ -77,7 +77,23 @@ float getFloatParam(String param, int def) } if(!settingsDoc.containsKey(param)) { - log_e("param(%s)",param); + log_e("param(%s) not availavle",param); + return def; + } + return settingsDoc[param]; +} + +String getStringParam(String param, String def) +{ + log_i("Get String param %s",param ); + if( param == "") + { + log_e("No param(%s) given",param); + return def; + } + if(!settingsDoc.containsKey(param)) + { + log_e("param(%s) not availavle",param); return def; } return settingsDoc[param]; diff --git a/FW/leo_muziekdoos_esp32/src/config.h b/FW/leo_muziekdoos_esp32/src/config.h index 1264ce7..96b5a52 100644 --- a/FW/leo_muziekdoos_esp32/src/config.h +++ b/FW/leo_muziekdoos_esp32/src/config.h @@ -7,6 +7,7 @@ bool getUIDvalid(String uid); String GetWifiPassword(String ssid); int GetIntparam(String param, int def = -1); float getFloatParam( String param, int def = -1); +String getStringParam(String param, String def = "error"); void initConfig(void); void handleConfig(void); \ No newline at end of file diff --git a/FW/leo_muziekdoos_esp32/src/main.cpp b/FW/leo_muziekdoos_esp32/src/main.cpp index 23d2944..d164b5d 100644 --- a/FW/leo_muziekdoos_esp32/src/main.cpp +++ b/FW/leo_muziekdoos_esp32/src/main.cpp @@ -47,6 +47,10 @@ void loop() handleHallSensor(); handleGame(); } + else if(getPowerState() == POWERSTATES::poweringOn2) + { + handleAudio(); + } else if (getPowerState() == POWERSTATES::overTheAir2) { handleOta(); diff --git a/FW/leo_muziekdoos_esp32/src/power.cpp b/FW/leo_muziekdoos_esp32/src/power.cpp index a2c9895..4473ba4 100644 --- a/FW/leo_muziekdoos_esp32/src/power.cpp +++ b/FW/leo_muziekdoos_esp32/src/power.cpp @@ -109,6 +109,7 @@ void handlePowerState(void) else { log_i("Release for poweron, hold for %d to OTA", (POWERBUTTONOTADELAY - buttonPower.getPressedFor())); + playSong(getStringParam("ping")); } if (buttonPower.pressedFor(POWERBUTTONOTADELAY)) {