diff --git a/.gitignore b/.gitignore index be96788..81dbea1 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ SomfyController.ino.XIAO_ESP32S3.bin SomfyController.ino.esp32c3.bin SomfyController.ino.esp32s2.bin .vscode/settings.json +.pio \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..e4e5e8d --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,513 @@ +// +// !!! 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/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/include", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/PubSubClient/src", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/SmartRC-CC1101-Driver-Lib", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/WebSockets/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/ArduinoJson/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/newlib/platform_include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include/esp_additions/freertos", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/port/riscv/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include/esp_additions", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/include/soc", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/include/soc/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/port/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/port/esp32c3/private_include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/heap/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/log/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/include/apps", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/include/apps/sntp", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/lwip/src/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/port/esp32/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/port/esp32/include/arch", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/soc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/soc/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/soc/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/platform_port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rom/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rom/include/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rom/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/port/soc", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/port/include/riscv", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/port/public_compat", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/riscv/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/driver/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/driver/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_pm/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_ringbuf/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/efuse/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/efuse/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/vfs/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_wifi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_event/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_netif/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_eth/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/tcpip_adapter/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_phy/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_phy/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_ipc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/app_trace/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_timer/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mbedtls/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mbedtls/mbedtls/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mbedtls/esp_crt_bundle/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/app_update/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/spi_flash/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bootloader_support/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/nvs_flash/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/pthread/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_gdbstub/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_gdbstub/riscv", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_gdbstub/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espcoredump/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espcoredump/include/port/riscv", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wpa_supplicant/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wpa_supplicant/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wpa_supplicant/esp_supplicant/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/ieee802154/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/console", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/asio/asio/asio/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/asio/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/osi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/include/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/api/include/api", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/btc/profile/esp/blufi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/btc/profile/esp/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/host/bluedroid/api/include/api", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_core", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_core/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_core/storage", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/btc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_models/common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_models/client/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_models/server/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/api/core/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/api/models/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/api", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/cbor/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/unity/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/unity/unity/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/cmock/CMock/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/coap/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/coap/libcoap/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/nghttp/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/nghttp/nghttp2/lib/includes", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-tls", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-tls/esp-tls-crypto", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_adc_cal/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hid/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/tcp_transport/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_http_client/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_http_server/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_https_ota/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_https_server/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_lcd/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_lcd/interface", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protobuf-c/protobuf-c", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protocomm/include/common", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protocomm/include/security", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protocomm/include/transports", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mdns/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_local_ctrl/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/sdmmc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_serial_slave_link/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_websocket_client/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/expat/expat/expat/lib", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/expat/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wear_levelling/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fatfs/diskio", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fatfs/vfs", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fatfs/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freemodbus/freemodbus/common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/idf_test/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/idf_test/include/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/jsmn/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json/cJSON", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/libsodium/libsodium/src/libsodium/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/libsodium/port_include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mqtt/esp-mqtt/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/openssl/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/spiffs/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wifi_provisioning/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/rmaker_common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_diagnostics/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/rtc_store/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_insights/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json_parser/upstream/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json_parser/upstream", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json_generator/upstream", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_schedule/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp_secure_cert_mgr/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rainmaker/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/gpio_button/button/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/qrcode/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/ws2812_led", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_littlefs/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/tool", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/typedef", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/image", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/math", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/nn", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/layer", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/detect", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/model_zoo", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp32-camera/driver/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp32-camera/conversions/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/dotprod/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/support/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/support/mem/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/hann/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/blackman/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/blackman_harris/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/nuttall/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/flat_top/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/iir/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/fir/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/add/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/sub/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/mul/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/addc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/mulc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/sqrt/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/mul/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/add/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/addc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/mulc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/sub/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/fft/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/dct/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/conv/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/mul/test/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/kalman/ekf/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fb_gfx/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/qio_qspi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/cores/esp32", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/variants/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", + "" + ], + "browse": { + "limitSymbolsToIncludedHeaders": true, + "path": [ + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/include", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/PubSubClient/src", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/SmartRC-CC1101-Driver-Lib", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/WebSockets/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", + "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/ArduinoJson/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/newlib/platform_include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include/esp_additions/freertos", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/port/riscv/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freertos/include/esp_additions", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/include/soc", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/include/soc/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/port/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hw_support/port/esp32c3/private_include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/heap/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/log/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/include/apps", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/include/apps/sntp", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/lwip/src/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/port/esp32/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/lwip/port/esp32/include/arch", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/soc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/soc/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/soc/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/hal/platform_port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rom/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rom/include/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rom/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/port/soc", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/port/include/riscv", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_system/port/public_compat", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/riscv/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/driver/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/driver/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_pm/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_ringbuf/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/efuse/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/efuse/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/vfs/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_wifi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_event/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_netif/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_eth/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/tcpip_adapter/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_phy/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_phy/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_ipc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/app_trace/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_timer/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mbedtls/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mbedtls/mbedtls/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mbedtls/esp_crt_bundle/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/app_update/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/spi_flash/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bootloader_support/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/nvs_flash/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/pthread/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_gdbstub/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_gdbstub/riscv", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_gdbstub/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espcoredump/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espcoredump/include/port/riscv", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wpa_supplicant/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wpa_supplicant/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wpa_supplicant/esp_supplicant/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/ieee802154/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/console", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/asio/asio/asio/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/asio/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/osi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/include/esp32c3/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/api/include/api", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/btc/profile/esp/blufi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/common/btc/profile/esp/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/host/bluedroid/api/include/api", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_core", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_core/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_core/storage", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/btc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_models/common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_models/client/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/mesh_models/server/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/api/core/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/api/models/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/bt/esp_ble_mesh/api", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/cbor/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/unity/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/unity/unity/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/cmock/CMock/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/coap/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/coap/libcoap/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/nghttp/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/nghttp/nghttp2/lib/includes", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-tls", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-tls/esp-tls-crypto", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_adc_cal/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_hid/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/tcp_transport/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_http_client/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_http_server/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_https_ota/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_https_server/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_lcd/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_lcd/interface", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protobuf-c/protobuf-c", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protocomm/include/common", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protocomm/include/security", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/protocomm/include/transports", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mdns/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_local_ctrl/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/sdmmc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_serial_slave_link/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_websocket_client/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/expat/expat/expat/lib", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/expat/port/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wear_levelling/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fatfs/diskio", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fatfs/vfs", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fatfs/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/freemodbus/freemodbus/common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/idf_test/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/idf_test/include/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/jsmn/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json/cJSON", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/libsodium/libsodium/src/libsodium/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/libsodium/port_include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/mqtt/esp-mqtt/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/openssl/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/spiffs/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/wifi_provisioning/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/rmaker_common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_diagnostics/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/rtc_store/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_insights/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json_parser/upstream/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json_parser/upstream", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/json_generator/upstream", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_schedule/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp_secure_cert_mgr/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_rainmaker/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/gpio_button/button/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/qrcode/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/ws2812_led", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp_littlefs/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/tool", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/typedef", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/image", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/math", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/nn", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/layer", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/detect", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp-dl/include/model_zoo", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp32-camera/driver/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/esp32-camera/conversions/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/dotprod/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/support/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/support/mem/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/hann/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/blackman/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/blackman_harris/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/nuttall/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/windows/flat_top/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/iir/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/fir/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/add/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/sub/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/mul/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/addc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/mulc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/math/sqrt/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/mul/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/add/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/addc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/mulc/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/sub/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/fft/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/dct/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/conv/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/common/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/matrix/mul/test/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/kalman/ekf/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/include/fb_gfx/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32c3/qio_qspi/include", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/cores/esp32", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/variants/esp32c3", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", + "C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", + "" + ] + }, + "defines": [ + "PLATFORMIO=60119", + "ARDUINO_ESP32C3_DEV", + "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=160000000L", + "ARDUINO=10812", + "ARDUINO_VARIANT=\"esp32c3\"", + "ARDUINO_BOARD=\"Espressif ESP32-C3-DevKitM-1\"", + "ARDUINO_PARTITION_min_spiffs", + "" + ], + "cStandard": "gnu99", + "cppStandard": "gnu++11", + "compilerPath": "C:/Users/oem/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc.exe", + "compilerArgs": [ + "-march=rv32imc", + "" + ] + } + ], + "version": 4 +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..080e70d --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format + "recommendations": [ + "platformio.platformio-ide" + ], + "unwantedRecommendations": [ + "ms-vscode.cpptools-extension-pack" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..6f795a7 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,44 @@ +// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY +// +// PlatformIO Debugging Solution +// +// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html +// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html + +{ + "version": "0.2.0", + "configurations": [ + { + "type": "platformio-debug", + "request": "launch", + "name": "PIO Debug", + "executable": "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/build/esp32dev/firmware.elf", + "projectEnvName": "esp32devdbg", + "toolchainBinDir": "C:/Users/oem/.platformio/packages/toolchain-riscv32-esp/bin", + "internalConsoleOptions": "openOnSessionStart", + "preLaunchTask": { + "type": "PlatformIO", + "task": "Pre-Debug" + } + }, + { + "type": "platformio-debug", + "request": "launch", + "name": "PIO Debug (skip Pre-Debug)", + "executable": "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/build/esp32dev/firmware.elf", + "projectEnvName": "esp32devdbg", + "toolchainBinDir": "C:/Users/oem/.platformio/packages/toolchain-riscv32-esp/bin", + "internalConsoleOptions": "openOnSessionStart" + }, + { + "type": "platformio-debug", + "request": "launch", + "name": "PIO Debug (without uploading)", + "executable": "c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/build/esp32dev/firmware.elf", + "projectEnvName": "esp32devdbg", + "toolchainBinDir": "C:/Users/oem/.platformio/packages/toolchain-riscv32-esp/bin", + "internalConsoleOptions": "openOnSessionStart", + "loadMode": "manual" + } + ] +} diff --git a/data-src/apple-icon.png b/data-src/apple-icon.png new file mode 100644 index 0000000..78fc318 Binary files /dev/null and b/data-src/apple-icon.png differ diff --git a/data-src/appversion b/data-src/appversion new file mode 100644 index 0000000..48a6b50 --- /dev/null +++ b/data-src/appversion @@ -0,0 +1 @@ +2.4.7 \ No newline at end of file diff --git a/data-src/favicon.png b/data-src/favicon.png new file mode 100644 index 0000000..80a5dd3 Binary files /dev/null and b/data-src/favicon.png differ diff --git a/data-src/icon.png b/data-src/icon.png new file mode 100644 index 0000000..cbc072e Binary files /dev/null and b/data-src/icon.png differ diff --git a/data/icon.svg b/data-src/icon.svg similarity index 100% rename from data/icon.svg rename to data-src/icon.svg diff --git a/data/icons.css b/data-src/icons.css similarity index 100% rename from data/icons.css rename to data-src/icons.css diff --git a/data/index.html b/data-src/index.html similarity index 100% rename from data/index.html rename to data-src/index.html diff --git a/data/index.js b/data-src/index.js similarity index 100% rename from data/index.js rename to data-src/index.js diff --git a/data/login.html b/data-src/login.html similarity index 100% rename from data/login.html rename to data-src/login.html diff --git a/data/main.css b/data-src/main.css similarity index 100% rename from data/main.css rename to data-src/main.css diff --git a/data/widgets.css b/data-src/widgets.css similarity index 100% rename from data/widgets.css rename to data-src/widgets.css diff --git a/data/icon.svg.gz b/data/icon.svg.gz new file mode 100644 index 0000000..a5c99cd Binary files /dev/null and b/data/icon.svg.gz differ diff --git a/data/icons.css.gz b/data/icons.css.gz new file mode 100644 index 0000000..ec95255 Binary files /dev/null and b/data/icons.css.gz differ diff --git a/data/index.html.gz b/data/index.html.gz new file mode 100644 index 0000000..3f59ce3 Binary files /dev/null and b/data/index.html.gz differ diff --git a/data/index.js.gz b/data/index.js.gz new file mode 100644 index 0000000..859a849 Binary files /dev/null and b/data/index.js.gz differ diff --git a/data/login.html.gz b/data/login.html.gz new file mode 100644 index 0000000..111518d Binary files /dev/null and b/data/login.html.gz differ diff --git a/data/main.css.gz b/data/main.css.gz new file mode 100644 index 0000000..7127f43 Binary files /dev/null and b/data/main.css.gz differ diff --git a/data/widgets.css.gz b/data/widgets.css.gz new file mode 100644 index 0000000..ef6960c Binary files /dev/null and b/data/widgets.css.gz differ diff --git a/huge_app.csv b/huge_app.csv new file mode 100644 index 0000000..1d00925 --- /dev/null +++ b/huge_app.csv @@ -0,0 +1,6 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x300000, +spiffs, data, spiffs, 0x310000,0xE0000, +coredump, data, coredump,0x3F0000,0x10000, diff --git a/include/README b/include/README new file mode 100644 index 0000000..49819c0 --- /dev/null +++ b/include/README @@ -0,0 +1,37 @@ + +This directory is intended for project header files. + +A header file is a file containing C declarations and macro definitions +to be shared between several project source files. You request the use of a +header file in your project source file (C, C++, etc) located in `src` folder +by including it, with the C preprocessing directive `#include'. + +```src/main.c + +#include "header.h" + +int main (void) +{ + ... +} +``` + +Including a header file produces the same results as copying the header file +into each source file that needs it. Such copying would be time-consuming +and error-prone. With a header file, the related declarations appear +in only one place. If they need to be changed, they can be changed in one +place, and programs that include the header file will automatically use the +new version when next recompiled. The header file eliminates the labor of +finding and changing all the copies as well as the risk that a failure to +find one copy will result in inconsistencies within a program. + +In C, the convention is to give header files names that end with `.h'. + +Read more about using header files in official GCC documentation: + +* Include Syntax +* Include Operation +* Once-Only Headers +* Computed Includes + +https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html diff --git a/lib/README b/lib/README new file mode 100644 index 0000000..9379397 --- /dev/null +++ b/lib/README @@ -0,0 +1,46 @@ + +This directory is intended for project specific (private) libraries. +PlatformIO will compile them to static libraries and link into the executable file. + +The source code of each library should be placed in a separate directory +("lib/your_library_name/[Code]"). + +For example, see the structure of the following example libraries `Foo` and `Bar`: + +|--lib +| | +| |--Bar +| | |--docs +| | |--examples +| | |--src +| | |- Bar.c +| | |- Bar.h +| | |- library.json (optional. for custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html +| | +| |--Foo +| | |- Foo.c +| | |- Foo.h +| | +| |- README --> THIS FILE +| +|- platformio.ini +|--src + |- main.c + +Example contents of `src/main.c` using Foo and Bar: +``` +#include +#include + +int main (void) +{ + ... +} + +``` + +The PlatformIO Library Dependency Finder will find automatically dependent +libraries by scanning project source files. + +More information about PlatformIO Library Dependency Finder +- https://docs.platformio.org/page/librarymanager/ldf.html diff --git a/min_spiffs.csv b/min_spiffs.csv new file mode 100644 index 0000000..0990a3b --- /dev/null +++ b/min_spiffs.csv @@ -0,0 +1,7 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x1E0000, +app1, app, ota_1, 0x1F0000,0x1E0000, +spiffs, data, spiffs, 0x3D0000,0x20000, +coredump, data, coredump,0x3F0000,0x10000, diff --git a/minify.py b/minify.py new file mode 100644 index 0000000..ed3dfe2 --- /dev/null +++ b/minify.py @@ -0,0 +1,290 @@ +""" +PlatformIO pre-build script: minify & gzip web assets. + +Copies files from data-src/ → data/ + • HTML – whitespace & comment removal, then gzip + • CSS – whitespace & comment removal, then gzip + • JS – whitespace & comment removal, then gzip + • PNG – copied as-is (optipng if available) + • Other – copied as-is + +Usage in platformio.ini +----------------------- + extra_scripts = pre:minify.py + +Directory layout +---------------- + project/ + ├── data-src/ ← original, human-readable assets + │ ├── index.html + │ ├── css/ + │ ├── js/ + │ └── img/ + ├── data/ ← auto-generated (gitignore this!) + ├── minify.py + └── platformio.ini + +The script runs automatically before LittleFS / SPIFFS image is built. +It also runs once at the start of every build so the data/ dir is always fresh. + +Dependencies: none (pure Python ≥ 3.7). +Optional: optipng (for PNG optimisation) +""" + +Import("env") # PlatformIO macro – gives us the build environment + +import gzip +import os +import re +import shutil +import subprocess +import sys + +# ────────────────────────────────────────────── +# Config +# ────────────────────────────────────────────── +SRC_DIR_NAME = "data-src" +DST_DIR_NAME = "data" + +# Extensions that will be minified + gzipped +MINIFY_AND_GZIP = {".html", ".htm", ".css", ".js", ".json", ".svg", ".xml"} + +# Extensions that optipng can optimise +PNG_EXTENSIONS = {".png"} + +# Everything else is copied verbatim +# ────────────────────────────────────────────── + + +def _project_dir(): + return env.subst("$PROJECT_DIR") + + +def _src_dir(): + return os.path.join(_project_dir(), SRC_DIR_NAME) + + +def _dst_dir(): + return os.path.join(_project_dir(), DST_DIR_NAME) + + +# ────────────────────────────────────────────── +# Minifiers (pure Python, no npm needed) +# ────────────────────────────────────────────── +def minify_html(text: str) -> str: + """Simple but effective HTML minifier.""" + # Remove HTML comments (but keep IE conditional comments) + text = re.sub(r"", "", text, flags=re.DOTALL) + # Collapse whitespace between tags + text = re.sub(r">\s+<", "> <", text) + # Collapse runs of whitespace into a single space + text = re.sub(r"\s{2,}", " ", text) + # Remove whitespace around = in attributes + text = re.sub(r'\s*=\s*', '=', text) + # Strip leading/trailing whitespace per line, rejoin + lines = [line.strip() for line in text.splitlines() if line.strip()] + return " ".join(lines) + + +def minify_css(text: str) -> str: + """Remove comments, collapse whitespace in CSS.""" + # Remove comments + text = re.sub(r"/\*.*?\*/", "", text, flags=re.DOTALL) + # Remove whitespace around : ; { } , + text = re.sub(r"\s*([:{};,])\s*", r"\1", text) + # Collapse remaining whitespace + text = re.sub(r"\s{2,}", " ", text) + # Strip leading/trailing + return text.strip() + + +def minify_js(text: str) -> str: + """ + Light JS minifier – removes comments and collapses whitespace. + For heavy minification install terser and the script will use it + automatically (see _try_terser below). + """ + # Remove single-line comments (careful with URLs – :// ) + text = re.sub(r"(? str: + """Compact JSON by removing unnecessary whitespace.""" + import json + try: + data = json.loads(text) + return json.dumps(data, separators=(",", ":"), ensure_ascii=False) + except json.JSONDecodeError: + return text + + +def minify_svg(text: str) -> str: + """Minimal SVG minifier – comments + whitespace.""" + text = re.sub(r"", "", text, flags=re.DOTALL) + text = re.sub(r">\s+<", "><", text) + text = re.sub(r"\s{2,}", " ", text) + return text.strip() + + +MINIFIERS = { + ".html": minify_html, + ".htm": minify_html, + ".css": minify_css, + ".js": minify_js, + ".json": minify_json, + ".svg": minify_svg, + ".xml": minify_svg, # same approach works for generic XML +} + + +# ────────────────────────────────────────────── +# Optional external tools (used when available) +# ────────────────────────────────────────────── +def _has_command(cmd: str) -> bool: + return shutil.which(cmd) is not None + + +def _try_terser(src_path: str, dst_path: str) -> bool: + """Use terser for JS if installed (npm i -g terser).""" + if not _has_command("terser"): + return False + try: + subprocess.run( + ["terser", src_path, "-o", dst_path, "--compress", "--mangle"], + check=True, capture_output=True, + ) + return True + except subprocess.CalledProcessError: + return False + + +def _try_optipng(path: str) -> None: + """Optimise PNG in-place if optipng is available.""" + if _has_command("optipng"): + try: + subprocess.run( + ["optipng", "-quiet", "-o2", path], + check=True, capture_output=True, + ) + except subprocess.CalledProcessError: + pass + + +# ────────────────────────────────────────────── +# Core logic +# ────────────────────────────────────────────── +def process_file(src_path: str, dst_path: str) -> dict: + """ + Process a single file: minify, gzip or copy. + Returns a small stats dict. + """ + ext = os.path.splitext(src_path)[1].lower() + original_size = os.path.getsize(src_path) + stats = {"src": src_path, "original": original_size, "final": 0, "action": "copy"} + + os.makedirs(os.path.dirname(dst_path), exist_ok=True) + + # ── Text assets: minify + gzip ────────── + if ext in MINIFY_AND_GZIP: + # Try terser for JS first + if ext == ".js" and _try_terser(src_path, dst_path + ".tmp"): + with open(dst_path + ".tmp", "rb") as f: + minified = f.read() + os.remove(dst_path + ".tmp") + stats["action"] = "terser+gzip" + else: + with open(src_path, "r", encoding="utf-8", errors="ignore") as f: + content = f.read() + + minifier = MINIFIERS.get(ext) + if minifier: + content = minifier(content) + stats["action"] = "minify+gzip" + else: + stats["action"] = "gzip" + + minified = content.encode("utf-8") + + # Write gzipped version + gz_path = dst_path + ".gz" + with gzip.open(gz_path, "wb", compresslevel=9) as gz: + gz.write(minified) + + stats["final"] = os.path.getsize(gz_path) + return stats + + # ── PNG: copy + optional optipng ──────── + if ext in PNG_EXTENSIONS: + shutil.copy2(src_path, dst_path) + _try_optipng(dst_path) + stats["final"] = os.path.getsize(dst_path) + stats["action"] = "optipng" if _has_command("optipng") else "copy" + return stats + + # ── Everything else: plain copy ───────── + shutil.copy2(src_path, dst_path) + stats["final"] = os.path.getsize(dst_path) + return stats + + +def minify_all(): + src_dir = _src_dir() + dst_dir = _dst_dir() + + if not os.path.isdir(src_dir): + print(f"[minify] WARNING: '{SRC_DIR_NAME}/' not found – skipping.") + return + + print(f"[minify] {SRC_DIR_NAME}/ → {DST_DIR_NAME}/") + + # Clean destination + if os.path.exists(dst_dir): + shutil.rmtree(dst_dir) + os.makedirs(dst_dir, exist_ok=True) + + total_original = 0 + total_final = 0 + file_count = 0 + + for root, dirs, files in os.walk(src_dir): + for fname in sorted(files): + # Skip hidden files and editor temp files + if fname.startswith(".") or fname.endswith("~"): + continue + + src_path = os.path.join(root, fname) + rel_path = os.path.relpath(src_path, src_dir) + dst_path = os.path.join(dst_dir, rel_path) + + stats = process_file(src_path, dst_path) + + pct = (1 - stats["final"] / stats["original"]) * 100 if stats["original"] > 0 else 0 + print( + f" {rel_path:<40s} " + f"{stats['original']:>8,d} → {stats['final']:>8,d} B " + f"({pct:+.0f}%) [{stats['action']}]" + ) + + total_original += stats["original"] + total_final += stats["final"] + file_count += 1 + + print(f"[minify] {file_count} files processed") + print( + f"[minify] Total: {total_original:,d} → {total_final:,d} bytes " + f"(saved {total_original - total_final:,d} bytes, " + f"{(1 - total_final / total_original) * 100:.0f}%)" + ) + + +# ────────────────────────────────────────────── +# PlatformIO hooks +# ────────────────────────────────────────────── +# Run at the start of every build +minify_all() \ No newline at end of file diff --git a/platformio.ini b/platformio.ini new file mode 100644 index 0000000..4a85885 --- /dev/null +++ b/platformio.ini @@ -0,0 +1,37 @@ +; PlatformIO Project Configuration File +; +; Build options: build flags, source filter +; Upload options: custom upload port, speed and extra flags +; Library options: dependencies, extra library storages +; Advanced options: extra scripting +; +; Please visit documentation for the other options and examples +; https://docs.platformio.org/page/projectconf.html + +[platformio] +default_envs = esp32dev + +[env:esp32dev] +platform = espressif32 +board = esp32-c3-devkitm-1 +framework = arduino +lib_deps = + bblanchon/ArduinoJson@^7.2.2 + links2004/WebSockets@^2.7.3 + lsatan/SmartRC-CC1101-Driver-Lib@^2.5.7 + knolleary/PubSubClient@^2.8 +extra_scripts = pre:minify.py +board_build.partitions = min_spiffs.csv + +[env:esp32devdbg] +build_type = debug +platform = espressif32 +board = esp32dev +framework = arduino +lib_deps = + bblanchon/ArduinoJson@^7.2.2 + links2004/WebSockets@^2.7.3 + lsatan/SmartRC-CC1101-Driver-Lib@^2.5.7 + knolleary/PubSubClient@^2.8 +extra_scripts = pre:minify.py +board_build.partitions = min_spiffs.csv \ No newline at end of file diff --git a/ConfigFile.cpp b/src/ConfigFile.cpp similarity index 100% rename from ConfigFile.cpp rename to src/ConfigFile.cpp diff --git a/ConfigFile.h b/src/ConfigFile.h similarity index 100% rename from ConfigFile.h rename to src/ConfigFile.h diff --git a/ConfigSettings.cpp b/src/ConfigSettings.cpp similarity index 100% rename from ConfigSettings.cpp rename to src/ConfigSettings.cpp diff --git a/ConfigSettings.h b/src/ConfigSettings.h similarity index 100% rename from ConfigSettings.h rename to src/ConfigSettings.h diff --git a/GitOTA.cpp b/src/GitOTA.cpp similarity index 100% rename from GitOTA.cpp rename to src/GitOTA.cpp diff --git a/GitOTA.h b/src/GitOTA.h similarity index 100% rename from GitOTA.h rename to src/GitOTA.h diff --git a/MQTT.cpp b/src/MQTT.cpp similarity index 100% rename from MQTT.cpp rename to src/MQTT.cpp diff --git a/MQTT.h b/src/MQTT.h similarity index 100% rename from MQTT.h rename to src/MQTT.h diff --git a/Network.cpp b/src/Network.cpp similarity index 100% rename from Network.cpp rename to src/Network.cpp diff --git a/Network.h b/src/Network.h similarity index 100% rename from Network.h rename to src/Network.h diff --git a/SSDP.cpp b/src/SSDP.cpp similarity index 100% rename from SSDP.cpp rename to src/SSDP.cpp diff --git a/SSDP.h b/src/SSDP.h similarity index 100% rename from SSDP.h rename to src/SSDP.h diff --git a/Sockets.cpp b/src/Sockets.cpp similarity index 100% rename from Sockets.cpp rename to src/Sockets.cpp diff --git a/Sockets.h b/src/Sockets.h similarity index 100% rename from Sockets.h rename to src/Sockets.h diff --git a/Somfy.cpp b/src/Somfy.cpp similarity index 100% rename from Somfy.cpp rename to src/Somfy.cpp diff --git a/Somfy.h b/src/Somfy.h similarity index 100% rename from Somfy.h rename to src/Somfy.h diff --git a/SomfyController.ino b/src/SomfyController.ino similarity index 100% rename from SomfyController.ino rename to src/SomfyController.ino diff --git a/SomfyController.ino.esp32.bin b/src/SomfyController.ino.esp32.bin similarity index 100% rename from SomfyController.ino.esp32.bin rename to src/SomfyController.ino.esp32.bin diff --git a/SomfyController.ino.esp32s3.bin b/src/SomfyController.ino.esp32s3.bin similarity index 100% rename from SomfyController.ino.esp32s3.bin rename to src/SomfyController.ino.esp32s3.bin diff --git a/SomfyController.littlefs.bin b/src/SomfyController.littlefs.bin similarity index 100% rename from SomfyController.littlefs.bin rename to src/SomfyController.littlefs.bin diff --git a/Utils.cpp b/src/Utils.cpp similarity index 100% rename from Utils.cpp rename to src/Utils.cpp diff --git a/Utils.h b/src/Utils.h similarity index 100% rename from Utils.h rename to src/Utils.h diff --git a/WResp.cpp b/src/WResp.cpp similarity index 100% rename from WResp.cpp rename to src/WResp.cpp diff --git a/WResp.h b/src/WResp.h similarity index 100% rename from WResp.h rename to src/WResp.h diff --git a/Web.cpp b/src/Web.cpp similarity index 100% rename from Web.cpp rename to src/Web.cpp diff --git a/Web.h b/src/Web.h similarity index 100% rename from Web.h rename to src/Web.h diff --git a/esp32.svd b/src/esp32.svd similarity index 100% rename from esp32.svd rename to src/esp32.svd diff --git a/test/README b/test/README new file mode 100644 index 0000000..9b1e87b --- /dev/null +++ b/test/README @@ -0,0 +1,11 @@ + +This directory is intended for PlatformIO Test Runner and project tests. + +Unit Testing is a software testing method by which individual units of +source code, sets of one or more MCU program modules together with associated +control data, usage procedures, and operating procedures, are tested to +determine whether they are fit for use. Unit testing finds problems early +in the development cycle. + +More information about PlatformIO Unit Testing: +- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html