diff --git a/.vscode/c_cpp_properties-ASUS-M16-CG.json b/.vscode/c_cpp_properties-ASUS-M16-CG.json new file mode 100644 index 0000000..519d6c3 --- /dev/null +++ b/.vscode/c_cpp_properties-ASUS-M16-CG.json @@ -0,0 +1,529 @@ +// +// !!! WARNING !!! AUTO-GENERATED FILE! +// PLEASE DO NOT MODIFY IT AND USE "platformio.ini": +// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags +// +{ + "configurations": [ + { + "name": "PlatformIO", + "includePath": [ + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/include", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/RTClib/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/Adafruit BusIO", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/MFRC522/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/PicoMQTT/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/PrettyOTA/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/ESPAsyncWebServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/AsyncTCP/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/ArduinoJson/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/cores/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/variants/d1_mini32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", + "" + ], + "browse": { + "limitSymbolsToIncludedHeaders": true, + "path": [ + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/include", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/RTClib/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/Adafruit BusIO", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/MFRC522/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/PicoMQTT/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/PrettyOTA/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/ESPAsyncWebServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/AsyncTCP/src", + "C:/Users/repti/OneDrive/Dokumente/Programming/AquaTimer/Code/AquaMasterMQTT/.pio/libdeps/wemos_d1_mini32/ArduinoJson/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/cores/esp32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/variants/d1_mini32", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", + "C:/Users/repti/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", + "" + ] + }, + "defines": [ + "PLATFORMIO=60118", + "ARDUINO_D1_MINI32", + "BOARD_HAS_PSRAM", + "HAVE_CONFIG_H", + "MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"", + "UNITY_INCLUDE_CONFIG_H", + "WITH_POSIX", + "_GNU_SOURCE", + "IDF_VER=\"v4.4.7-dirty\"", + "ESP_PLATFORM", + "_POSIX_READER_WRITER_LOCKS", + "ARDUINO_ARCH_ESP32", + "ESP32", + "F_CPU=240000000L", + "ARDUINO=10812", + "ARDUINO_VARIANT=\"d1_mini32\"", + "ARDUINO_BOARD=\"WEMOS D1 MINI ESP32\"", + "ARDUINO_PARTITION_default", + "" + ], + "cStandard": "gnu99", + "cppStandard": "gnu++11", + "compilerPath": "C:/Users/repti/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2-patch5/bin/xtensa-esp32-elf-gcc.exe", + "compilerArgs": [ + "-mfix-esp32-psram-cache-issue", + "-mlongcalls", + "" + ] + } + ], + "version": 4 +} diff --git a/data/button.bin b/data/button.bin new file mode 100644 index 0000000..462920f Binary files /dev/null and b/data/button.bin differ diff --git a/data/index.css b/data/index.css index a998911..f93ad53 100644 --- a/data/index.css +++ b/data/index.css @@ -79,6 +79,46 @@ html { transform: scale(1.1); } + .heartbeat-indicators { + position: fixed; + top: 20px; + right: 90px; + display: flex; + gap: 15px; + z-index: 1000; + background: rgba(255, 255, 255, 0.1); + backdrop-filter: blur(10px); + border-radius: 25px; + padding: 10px 20px; + border: 1px solid rgba(255, 255, 255, 0.2); + } + + .heartbeat-indicator { + width: 20px; + height: 20px; + border-radius: 50%; + background: #e74c3c; + transition: all 0.3s ease; + position: relative; + } + + .heartbeat-indicator::before { + content: attr(data-label); + position: absolute; + top: -25px; + left: 50%; + transform: translateX(-50%); + font-size: 10px; + font-weight: bold; + white-space: nowrap; + color: rgba(255, 255, 255, 0.8); + } + + .heartbeat-indicator.active { + background: #2ecc71; + box-shadow: 0 0 10px rgba(46, 204, 113, 0.5); + } + .header { text-align: center; margin-bottom: 2vh; @@ -281,14 +321,21 @@ html { font-size: clamp(0.9rem, 1.8vw, 1.1rem); } + /* Responsive Logo Anpassungen für kleine Bildschirme */ @media (max-width: 768px) { - .timer-container { - grid-template-columns: 1fr; - gap: clamp(10px, 2vh, 15px); - padding: 0 3vw; - max-height: 55vh; + .logo { + position: fixed; + top: 10px; + left: 50%; + transform: translateX(-50%); + z-index: 1001; } - + + .header { + margin-top: 60px; /* Platz für das Logo schaffen */ + margin-bottom: 1.5vh; + } + .settings-btn { top: 10px; right: 10px; @@ -298,6 +345,13 @@ html { padding: 8px; } + .timer-container { + grid-template-columns: 1fr; + gap: clamp(10px, 2vh, 15px); + padding: 0 3vw; + max-height: 50vh; /* Reduziert wegen des zusätzlichen Platzes oben */ + } + .header h1 { font-size: clamp(1.5rem, 4vw, 2rem); } @@ -317,6 +371,14 @@ html { } @media (max-width: 480px) { + .logo { + top: 8px; + } + + .header { + margin-top: 65px; /* Etwas mehr Platz auf sehr kleinen Bildschirmen */ + } + .settings-btn { top: 8px; right: 8px; @@ -332,10 +394,22 @@ html { .timer-container { padding: 0 2vw; + max-height: 45vh; } .swimmer-name { font-size: clamp(1rem, 4vw, 1.5rem); padding: clamp(6px, 1vh, 10px) clamp(8px, 1.5vw, 12px); } + } + + /* Für sehr kleine Bildschirme (iPhone SE, etc.) */ + @media (max-width: 375px) { + .header { + margin-top: 70px; + } + + .timer-container { + max-height: 40vh; + } } \ No newline at end of file diff --git a/data/index.html b/data/index.html index e604a6c..e419177 100644 --- a/data/index.html +++ b/data/index.html @@ -14,6 +14,13 @@ ⚙️ +
+
+
+
+
+
+

🏊‍♀️ NinjaCross Timer

Professioneller Zeitmesser für Ninjacross Wettkämpfe

@@ -69,6 +76,20 @@ let name2 = ""; const ws = new WebSocket(`ws://${window.location.host}/ws`); + // Heartbeat timeout tracker +const heartbeatTimeouts = { + start1: 0, + stop1: 0, + start2: 0, + stop2: 0, +}; + +// Set all heartbeats to red initially +["heartbeat1", "heartbeat2", "heartbeat3", "heartbeat4"].forEach(id => { + document.getElementById(id).classList.remove('active'); + //document.getElementById(id).style.backgroundColor = "red"; +}); + // Handle WebSocket events ws.onopen = () => { console.log("WebSocket connected"); @@ -83,6 +104,22 @@ ws.onmessage = (event) => { try { const data = JSON.parse(event.data); + // Heartbeat-Handling + if (data.button && data.mac && data.timestamp) { + let indicatorId = null; + if (data.button === "start1") indicatorId = "heartbeat1"; + else if (data.button === "stop1") indicatorId = "heartbeat2"; + else if (data.button === "start2") indicatorId = "heartbeat3"; + else if (data.button === "stop2") indicatorId = "heartbeat4"; + + if (indicatorId) { + //heartbeatStatus[deviceId].active = true; + //document.getElementById(indicatorId).style.backgroundColor = "limegreen"; + heartbeatTimeouts[data.button] = Date.now(); + document.getElementById(indicatorId).classList.add('active'); + } + } + if ((data.firstname == "" || data.lastname == "") && data.lane == "start1") { name1 = ""; } @@ -200,8 +237,23 @@ ws.onmessage = (event) => { setInterval(syncFromBackend, 1000); // Smooth update every 50ms - setInterval(updateDisplay, 50); - + setInterval(updateDisplay, 50); + + // Heartbeat timeout check (every second) +setInterval(() => { + const now = Date.now(); + [ + {button: "start1", id: "heartbeat1"}, + {button: "stop1", id: "heartbeat2"}, + {button: "start2", id: "heartbeat3"}, + {button: "stop2", id: "heartbeat4"}, + ].forEach(({button, id}) => { + if (now - heartbeatTimeouts[button] > 10000) { + document.getElementById(id).classList.remove('active'); + //document.getElementById(id).style.backgroundColor = "red"; + } + }); +}, 1000); // Initial load syncFromBackend(); diff --git a/data/ota/firmware.bin b/data/ota/firmware.bin deleted file mode 100644 index ab53524..0000000 Binary files a/data/ota/firmware.bin and /dev/null differ diff --git a/platformio.ini b/platformio.ini index 514cdc5..128deac 100644 --- a/platformio.ini +++ b/platformio.ini @@ -74,6 +74,7 @@ board_upload.flash_size = 16MB board_build.partitions = default_16MB.csv targets = uploadfs board_build.psram = disabled +upload_port = COM12 lib_deps = bblanchon/ArduinoJson@^7.4.1 esp32async/ESPAsyncWebServer@^3.7.7 diff --git a/src/communication.h b/src/communication.h index 5b477e4..8840854 100644 --- a/src/communication.h +++ b/src/communication.h @@ -54,7 +54,7 @@ void readButtonJSON(const char * topic, const char * payload) { // Extract values from JSON int pressType = doc["type"] | 0; const char* buttonId = doc["buttonmac"] | "unknown"; - uint64_t timestamp = doc["timestamp"] | 0; + uint64_t timestamp = doc["timestamp"] | 0ULL; // Print received data Serial.printf("Button Press Received:\n"); @@ -87,6 +87,47 @@ void readButtonJSON(const char * topic, const char * payload) { } } +void handleHeartbeatTopic(const char* topic, const char* payload) { + // Topic-Format: heartbeat/alive/CC:DB:A7:2F:95:08 + String topicStr(topic); + int lastSlash = topicStr.lastIndexOf('/'); + if (lastSlash < 0) return; + String macStr = topicStr.substring(lastSlash + 1); + + auto macBytes = macStringToBytes(macStr.c_str()); + + String buttonType = "unknown"; + if (memcmp(macBytes.data(), buttonConfigs.start1.mac, 6) == 0) { + buttonType = "start1"; + } else if (memcmp(macBytes.data(), buttonConfigs.stop1.mac, 6) == 0) { + buttonType = "stop1"; + } else if (memcmp(macBytes.data(), buttonConfigs.start2.mac, 6) == 0) { + buttonType = "start2"; + } else if (memcmp(macBytes.data(), buttonConfigs.stop2.mac, 6) == 0) { + buttonType = "stop2"; + } + + // Parse payload for timestamp (optional, falls im Payload enthalten) + uint64_t timestamp = millis(); + StaticJsonDocument<128> payloadDoc; + if (payload && strlen(payload) > 0 && deserializeJson(payloadDoc, payload) == DeserializationError::Ok) { + if (payloadDoc.containsKey("timestamp")) { + timestamp = payloadDoc["timestamp"]; + } + } + + // JSON bauen + StaticJsonDocument<128> doc; + doc["button"] = buttonType; + doc["mac"] = macStr; + doc["timestamp"] = timestamp; + + String json; + serializeJson(doc, json); + pushUpdateToFrontend(json); // Diese Funktion schickt das JSON an alle WebSocket-Clients + //Serial.printf("Published heartbeat JSON: %s\n", json.c_str()); +} + void readRFIDfromButton(const char * topic, const char * payload) { // Create a JSON document to hold the button press data StaticJsonDocument<256> doc; @@ -175,7 +216,12 @@ void setupMqttServer() { } else if (strncmp(topic, "aquacross/button/rfid/", 22) == 0) { readRFIDfromButton(topic, payload); // Handle RFID read messages - + } + else if (strncmp(topic, "heartbeat/alive/", 16) == 0) { + handleHeartbeatTopic(topic, payload); +} + else { + Serial.printf("Unhandled topic '%s' with payload '%s'\n", topic, payload); } updateStatusLED(3); }); diff --git a/src/timesync.h b/src/timesync.h index 81414fc..832a47e 100644 --- a/src/timesync.h +++ b/src/timesync.h @@ -17,8 +17,6 @@ time_t now; struct tm timeinfo; //Prototypen für Zeit-Management-Funktionen -void setupRTC(); -void setRTC(DateTime dt); void setupTimeAPI(AsyncWebServer& server); String getCurrentTimeJSON(); bool setSystemTime(long timestamp); @@ -56,7 +54,6 @@ bool setSystemTime(long timestamp) { if (settimeofday(&tv, NULL) == 0) { Serial.println("Zeit erfolgreich gesetzt: " + String(timestamp)); - setRTC(DateTime(timestamp)); return true; } else { Serial.println("Fehler beim Setzen der Zeit"); @@ -66,7 +63,7 @@ bool setSystemTime(long timestamp) { void setupTimeAPI(AsyncWebServer& server) { - setupRTC(); + //setupRTC(); // API-Endpunkt: Aktuelle Zeit abrufen server.on("/api/time", HTTP_GET, [](AsyncWebServerRequest *request){ @@ -212,37 +209,3 @@ uint64_t getCurrentTimestampMs() { gettimeofday(&tv, NULL); return (uint64_t)tv.tv_sec * 1000LL + (uint64_t)tv.tv_usec / 1000LL; } - -void setupRTC() { - - Wire.begin(); - - Serial.println("Initialisiere RTC..."); - // Versuche RTC mit Wire zu initialisieren - if (!rtc.begin()) { // Versuche RTC zu initialisieren, Timeout nach 10 Sekunden - Serial.println("RTC nicht gefunden! Versuche erneut..."); - } - - if (!rtc.initialized()) { - Serial.println("RTC nicht initialisiert, versuche Initialisierung..."); - rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); - } else { - Serial.println("RTC bereits initialisiert."); - } - - rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // Setze die RTC auf die Kompilierungszeit - Serial.println("RTC initialisiert."); - // Aktuelle Zeit vom RTC abrufen - DateTime now = rtc.now(); - Serial.printf("Aktuelle RTC-Zeit: %04d-%02d-%02d %02d:%02d:%02d\n", - now.year(), now.month(), now.day(), now.hour(), now.minute(), now.second()); - rtc.start(); // RTC starten, falls gestoppt -} - -// Funktion zum Setzen der RTC-Zeit -void setRTC(DateTime dt) { - rtc.adjust(dt); - DateTime newtime = rtc.now(); - Serial.printf("RTC-Zeit gesetzt: %04d-%02d-%02d %02d:%02d:%02d\n", - newtime.year(), newtime.month(), newtime.day(), newtime.hour(), newtime.minute(), newtime.second()); -} \ No newline at end of file diff --git a/src/webserverrouter.h b/src/webserverrouter.h index ee1b019..57f37e1 100644 --- a/src/webserverrouter.h +++ b/src/webserverrouter.h @@ -32,9 +32,15 @@ void setupRoutes(){ request->send(SPIFFS, "/rfid.html", "text/html"); }); - server.on("/about", HTTP_GET, [](AsyncWebServerRequest *request){ - request->send(SPIFFS, "/about.html", "text/html"); - }); + server.on("/button.bin", HTTP_GET, [](AsyncWebServerRequest *request) { + if (SPIFFS.exists("/button.bin")) { + request->send(SPIFFS, "/button.bin", "application/octet-stream"); + Serial.println("Firmware file served: /button.bin"); + } else { + request->send(404, "application/json", "{\"error\":\"File not found\"}"); + Serial.println("Firmware file not found: /button.bin"); + } +}); server.on("/api/data", HTTP_GET, [](AsyncWebServerRequest *request){ request->send(200, "application/json", getTimerDataJSON()); @@ -248,9 +254,6 @@ server.on("/api/set-location", HTTP_POST, [](AsyncWebServerRequest *request) { }); - - - // Statische Dateien server.serveStatic("/", SPIFFS, "/"); server.begin(); @@ -258,8 +261,6 @@ server.on("/api/set-location", HTTP_POST, [](AsyncWebServerRequest *request) { } - - void setupWebSocket() { ws.onEvent([](AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventType type, void *arg, uint8_t *data, size_t len) { if (type == WS_EVT_CONNECT) { diff --git a/src/wificlass.h b/src/wificlass.h index 6b36082..4946a21 100644 --- a/src/wificlass.h +++ b/src/wificlass.h @@ -31,21 +31,30 @@ void setupWifi() { WiFi.begin(ssidSTA, passwordSTA); WiFi.softAP(ssidAP, passwordAP); - while (WiFi.status() != WL_CONNECTED){ + // Add timeout for WiFi connection + unsigned long startAttemptTime = millis(); + + while (WiFi.status() != WL_CONNECTED && + millis() - startAttemptTime < 10000) { // 10 seconds timeout delay(500); Serial.print("."); - } + + } + if (WiFi.status() != WL_CONNECTED) { + Serial.println("Fehler: Verbindung zum WLAN fehlgeschlagen!"); + Serial.println("Starte Access Point..."); + WiFi.mode(WIFI_MODE_AP); + WiFi.softAP(ssidAP, passwordAP); + } + else { + Serial.println("Erfolgreich mit WLAN verbunden!"); + Serial.print("IP Adresse: "); + Serial.println(WiFi.localIP()); } //Only wait for connection if ssidSTA and passwordSTA are set - - Serial.println(""); - Serial.println("Verbunden mit WLAN!"); - Serial.print("IP-Adresse: "); - Serial.println(WiFi.localIP()); - Serial.println("WiFi AP gestartet"); Serial.print("SSID: "); Serial.println(WiFi.softAPSSID()); @@ -59,6 +68,7 @@ void setupWifi() { } else { Serial.println("Fehler beim Starten von mDNS!"); } + } } void setupOTA(AsyncWebServer *server) {