mirror of
https://github.com/rstrouse/ESPSomfy-RTS.git
synced 2026-03-30 08:52:11 +02:00
up
This commit is contained in:
parent
9ccc2d4ff5
commit
8c51e1a518
24 changed files with 1285 additions and 405 deletions
7
.claude/settings.local.json
Normal file
7
.claude/settings.local.json
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(~/.platformio/penv/Scripts/platformio.exe run:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -11,3 +11,5 @@ SomfyController.ino.esp32s2.bin
|
|||
.pio/
|
||||
data/
|
||||
build/
|
||||
coredump_report.txt
|
||||
coredump.bin
|
||||
|
|
|
|||
797
.vscode/c_cpp_properties.json
vendored
797
.vscode/c_cpp_properties.json
vendored
|
|
@ -17,7 +17,9 @@
|
|||
"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/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/ESPAsyncWebServer/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
|
||||
"c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/AsyncTCP/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",
|
||||
|
|
@ -26,199 +28,202 @@
|
|||
"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/tools/sdk/esp32/include/newlib/platform_include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_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/variants/esp32",
|
||||
"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",
|
||||
|
|
@ -254,7 +259,9 @@
|
|||
"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/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/ESPAsyncWebServer/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
|
||||
"c:/Users/oem/Documents/PlatformIO/Projects/ESPSomfy-RTS/.pio/libdeps/esp32dev/AsyncTCP/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",
|
||||
|
|
@ -263,199 +270,202 @@
|
|||
"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/tools/sdk/esp32/include/newlib/platform_include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
|
||||
"C:/Users/oem/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_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/variants/esp32",
|
||||
"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",
|
||||
|
|
@ -482,7 +492,12 @@
|
|||
},
|
||||
"defines": [
|
||||
"PLATFORMIO=60119",
|
||||
"ARDUINO_ESP32C3_DEV",
|
||||
"ARDUINO_ESP32_DEV",
|
||||
"CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=1",
|
||||
"CONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=1",
|
||||
"CONFIG_ESP_COREDUMP_CHECKSUM_CRC32=1",
|
||||
"CONFIG_ESP_TASK_WDT_PANIC=1",
|
||||
"CONFIG_ESP_COREDUMP_DECODE_INFO=1",
|
||||
"HAVE_CONFIG_H",
|
||||
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
|
||||
"UNITY_INCLUDE_CONFIG_H",
|
||||
|
|
@ -493,18 +508,18 @@
|
|||
"_POSIX_READER_WRITER_LOCKS",
|
||||
"ARDUINO_ARCH_ESP32",
|
||||
"ESP32",
|
||||
"F_CPU=160000000L",
|
||||
"F_CPU=240000000L",
|
||||
"ARDUINO=10812",
|
||||
"ARDUINO_VARIANT=\"esp32c3\"",
|
||||
"ARDUINO_BOARD=\"Espressif ESP32-C3-DevKitM-1\"",
|
||||
"ARDUINO_PARTITION_min_spiffs",
|
||||
"ARDUINO_VARIANT=\"esp32\"",
|
||||
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
|
||||
"ARDUINO_PARTITION_huge_app",
|
||||
""
|
||||
],
|
||||
"cStandard": "gnu99",
|
||||
"cppStandard": "gnu++11",
|
||||
"compilerPath": "C:/Users/oem/.platformio/packages/toolchain-riscv32-esp/bin/riscv32-esp-elf-gcc.exe",
|
||||
"compilerPath": "C:/Users/oem/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc.exe",
|
||||
"compilerArgs": [
|
||||
"-march=rv32imc",
|
||||
"-mlongcalls",
|
||||
""
|
||||
]
|
||||
}
|
||||
|
|
|
|||
6
.vscode/launch.json
vendored
6
.vscode/launch.json
vendored
|
|
@ -14,7 +14,7 @@
|
|||
"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",
|
||||
"toolchainBinDir": "C:/Users/oem/.platformio/packages/toolchain-xtensa-esp32/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"preLaunchTask": {
|
||||
"type": "PlatformIO",
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
"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",
|
||||
"toolchainBinDir": "C:/Users/oem/.platformio/packages/toolchain-xtensa-esp32/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart"
|
||||
},
|
||||
{
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
"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",
|
||||
"toolchainBinDir": "C:/Users/oem/.platformio/packages/toolchain-xtensa-esp32/bin",
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"loadMode": "manual"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@ Configuration of the Transceiver is done with the ELECHOUSE_CC1101 library which
|
|||
pio pkg exec -p tool-esptoolpy -- esptool.py --port COM9 read_flash 0x3F0000 0x10000 coredump.bin
|
||||
|
||||
|
||||
|
||||
C:\Users\oem\.platformio\packages\framework-espidf\export.ps1
|
||||
esp-coredump info_corefile --core coredump.bin --core-format=raw --gdb C:\Users\oem\.platformio\packages\toolchain-xtensa-esp32\bin\xtensa-esp32-elf-gdb.exe .pio\build\esp32dev\firmware.elf > coredump_report.txt
|
||||
|
||||
C:\Users\oem\.platformio\packages\framework-espidf\export.ps1
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.5 KiB |
|
|
@ -1 +0,0 @@
|
|||
2.4.7
|
||||
BIN
data/favicon.png
BIN
data/favicon.png
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 KiB |
BIN
data/icon.png
BIN
data/icon.png
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB |
BIN
data/icon.svg.gz
BIN
data/icon.svg.gz
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
data/index.js.gz
BIN
data/index.js.gz
Binary file not shown.
Binary file not shown.
BIN
data/main.css.gz
BIN
data/main.css.gz
Binary file not shown.
Binary file not shown.
|
|
@ -21,12 +21,12 @@ lib_deps =
|
|||
lsatan/SmartRC-CC1101-Driver-Lib@^2.5.7
|
||||
knolleary/PubSubClient@^2.8
|
||||
esp32async/ESPAsyncWebServer @ ^3.10.3
|
||||
esp32async/AsyncTCP @ ^3.4.10
|
||||
extra_scripts = pre:minify.py
|
||||
board_build.partitions = huge_app.csv
|
||||
board_build.filesystem = littlefs
|
||||
build_flags =
|
||||
-DCONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=1
|
||||
-DCONFIG_ESP_COREDUMP_ENABLE_TO_UART=1
|
||||
-DCONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=1
|
||||
-DCONFIG_ESP_COREDUMP_CHECKSUM_CRC32=1
|
||||
-DCONFIG_ESP_TASK_WDT_PANIC=1
|
||||
|
|
|
|||
|
|
@ -111,8 +111,11 @@ void SocketEmitter::initClients() {
|
|||
Serial.printf("Initializing Socket Client %u\n", num);
|
||||
esp_task_wdt_reset();
|
||||
settings.emitSockets(num);
|
||||
if(!sockServer.clientIsConnected(num)) { this->newClients[i] = 255; continue; }
|
||||
somfy.emitState(num);
|
||||
if(!sockServer.clientIsConnected(num)) { this->newClients[i] = 255; continue; }
|
||||
git.emitUpdateCheck(num);
|
||||
if(!sockServer.clientIsConnected(num)) { this->newClients[i] = 255; continue; }
|
||||
net.emitSockets(num);
|
||||
esp_task_wdt_reset();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3590,6 +3590,7 @@ void SomfyShadeController::emitState(uint8_t num) {
|
|||
for(uint8_t i = 0; i < SOMFY_MAX_SHADES; i++) {
|
||||
SomfyShade *shade = &this->shades[i];
|
||||
if(shade->getShadeId() == 255) continue;
|
||||
esp_task_wdt_reset();
|
||||
shade->emitState(num);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,18 @@ void setup() {
|
|||
Serial.begin(115200);
|
||||
Serial.println();
|
||||
Serial.println("Startup/Boot....");
|
||||
esp_core_dump_summary_t summary;
|
||||
if (esp_core_dump_get_summary(&summary) == ESP_OK) {
|
||||
Serial.println("*** Previous crash coredump found ***");
|
||||
Serial.printf(" Task: %s\n", summary.exc_task);
|
||||
Serial.printf(" PC: 0x%08x\n", summary.exc_pc);
|
||||
Serial.printf(" Cause: %d\n", summary.ex_info.exc_cause);
|
||||
Serial.printf(" Backtrace:");
|
||||
for (int i = 0; i < summary.exc_bt_info.depth; i++) {
|
||||
Serial.printf(" 0x%08x", summary.exc_bt_info.bt[i]);
|
||||
}
|
||||
Serial.println();
|
||||
}
|
||||
Serial.println("Mounting File System...");
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,35 @@ void JsonResponse::_safecat(const char *val, bool escape) {
|
|||
if(escape) strcat(this->buff, "\"");
|
||||
}
|
||||
|
||||
void AsyncJsonResp::beginResponse(AsyncWebServerRequest *request, char *buff, size_t buffSize) {
|
||||
this->buff = buff;
|
||||
this->buffSize = buffSize;
|
||||
this->buff[0] = 0x00;
|
||||
this->_nocomma = true;
|
||||
this->_headersSent = false;
|
||||
this->_stream = request->beginResponseStream("application/json");
|
||||
}
|
||||
void AsyncJsonResp::endResponse() {
|
||||
if(strlen(this->buff)) this->flush();
|
||||
}
|
||||
void AsyncJsonResp::flush() {
|
||||
if(this->_stream && strlen(this->buff) > 0) {
|
||||
this->_stream->print(this->buff);
|
||||
this->buff[0] = 0x00;
|
||||
}
|
||||
}
|
||||
void AsyncJsonResp::_safecat(const char *val, bool escape) {
|
||||
size_t len = (escape ? this->calcEscapedLength(val) : strlen(val)) + strlen(this->buff);
|
||||
if(escape) len += 2;
|
||||
if(len >= this->buffSize) {
|
||||
this->flush();
|
||||
}
|
||||
if(escape) strcat(this->buff, "\"");
|
||||
if(escape) this->escapeString(val, &this->buff[strlen(this->buff)]);
|
||||
else strcat(this->buff, val);
|
||||
if(escape) strcat(this->buff, "\"");
|
||||
}
|
||||
|
||||
void JsonFormatter::beginObject(const char *name) {
|
||||
if(name && strlen(name) > 0) this->appendElem(name);
|
||||
else if(!this->_nocomma) this->_safecat(",");
|
||||
|
|
|
|||
10
src/WResp.h
10
src/WResp.h
|
|
@ -1,6 +1,7 @@
|
|||
#include <WebServer.h>
|
||||
#include <WebSocketsServer.h>
|
||||
#include <esp_task_wdt.h>
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include "Somfy.h"
|
||||
#ifndef wresp_h
|
||||
#define wresp_h
|
||||
|
|
@ -63,6 +64,15 @@ class JsonResponse : public JsonFormatter {
|
|||
void endResponse();
|
||||
void send();
|
||||
};
|
||||
class AsyncJsonResp : public JsonFormatter {
|
||||
protected:
|
||||
void _safecat(const char *val, bool escape = false) override;
|
||||
AsyncResponseStream *_stream = nullptr;
|
||||
public:
|
||||
void beginResponse(AsyncWebServerRequest *request, char *buff, size_t buffSize);
|
||||
void endResponse();
|
||||
void flush();
|
||||
};
|
||||
class JsonSockEvent : public JsonFormatter {
|
||||
protected:
|
||||
bool _closed = false;
|
||||
|
|
|
|||
787
src/Web.cpp
787
src/Web.cpp
|
|
@ -16,6 +16,7 @@
|
|||
#include "Network.h"
|
||||
#include <AsyncTCP.h>
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include <AsyncJson.h>
|
||||
|
||||
extern ConfigSettings settings;
|
||||
extern SSDPClass SSDP;
|
||||
|
|
@ -29,6 +30,7 @@ extern Network net;
|
|||
//#define WEB_MAX_RESPONSE 34768
|
||||
#define WEB_MAX_RESPONSE 4096
|
||||
static char g_content[WEB_MAX_RESPONSE];
|
||||
static char g_async_content[WEB_MAX_RESPONSE];
|
||||
|
||||
|
||||
// General responses
|
||||
|
|
@ -40,9 +42,10 @@ static const char _encoding_text[] = "text/plain";
|
|||
static const char _encoding_html[] = "text/html";
|
||||
static const char _encoding_json[] = "application/json";
|
||||
|
||||
WebServer apiServer(8081);
|
||||
WebServer apiServer(8082);
|
||||
WebServer server(80);
|
||||
AsyncWebServer aserver(81);
|
||||
AsyncWebServer asyncApiServer(8081);
|
||||
void Web::startup() {
|
||||
Serial.println("Launching web server...");
|
||||
aserver.serveStatic("/", LittleFS, "/").setDefaultFile("index.html");
|
||||
|
|
@ -60,6 +63,8 @@ void Web::startup() {
|
|||
request->send(response);
|
||||
});
|
||||
aserver.begin();
|
||||
asyncApiServer.begin();
|
||||
Serial.println("Async API server started on port 8082");
|
||||
}
|
||||
void Web::loop() {
|
||||
server.handleClient();
|
||||
|
|
@ -1075,6 +1080,741 @@ void Web::handleReboot(WebServer &server) {
|
|||
server.send(201, _encoding_json, "{\"status\":\"ERROR\",\"desc\":\"Invalid HTTP Method: \"}");
|
||||
}
|
||||
}
|
||||
// =====================================================
|
||||
// Async API Handlers (port 8082)
|
||||
// =====================================================
|
||||
// Helper: get a query param as String, or empty if missing
|
||||
static String asyncParam(AsyncWebServerRequest *request, const char *name) {
|
||||
if(request->hasParam(name)) return request->getParam(name)->value();
|
||||
return String();
|
||||
}
|
||||
static bool asyncHasParam(AsyncWebServerRequest *request, const char *name) {
|
||||
return request->hasParam(name);
|
||||
}
|
||||
|
||||
// -- Serialization helpers (accept JsonFormatter& so both sync and async can use them) --
|
||||
static void serializeRoom(SomfyRoom *room, JsonFormatter &json) {
|
||||
json.addElem("roomId", room->roomId);
|
||||
json.addElem("name", room->name);
|
||||
json.addElem("sortOrder", room->sortOrder);
|
||||
}
|
||||
static void serializeShadeRef(SomfyShade *shade, JsonFormatter &json) {
|
||||
json.addElem("shadeId", shade->getShadeId());
|
||||
json.addElem("roomId", shade->roomId);
|
||||
json.addElem("name", shade->name);
|
||||
json.addElem("remoteAddress", (uint32_t)shade->getRemoteAddress());
|
||||
json.addElem("paired", shade->paired);
|
||||
json.addElem("shadeType", static_cast<uint8_t>(shade->shadeType));
|
||||
json.addElem("flipCommands", shade->flipCommands);
|
||||
json.addElem("flipPosition", shade->flipCommands);
|
||||
json.addElem("bitLength", shade->bitLength);
|
||||
json.addElem("proto", static_cast<uint8_t>(shade->proto));
|
||||
json.addElem("flags", shade->flags);
|
||||
json.addElem("sunSensor", shade->hasSunSensor());
|
||||
json.addElem("hasLight", shade->hasLight());
|
||||
json.addElem("repeats", shade->repeats);
|
||||
}
|
||||
static void serializeShade(SomfyShade *shade, JsonFormatter &json) {
|
||||
json.addElem("shadeId", shade->getShadeId());
|
||||
json.addElem("roomId", shade->roomId);
|
||||
json.addElem("name", shade->name);
|
||||
json.addElem("remoteAddress", (uint32_t)shade->getRemoteAddress());
|
||||
json.addElem("upTime", (uint32_t)shade->upTime);
|
||||
json.addElem("downTime", (uint32_t)shade->downTime);
|
||||
json.addElem("paired", shade->paired);
|
||||
json.addElem("lastRollingCode", (uint32_t)shade->lastRollingCode);
|
||||
json.addElem("position", shade->transformPosition(shade->currentPos));
|
||||
json.addElem("tiltType", static_cast<uint8_t>(shade->tiltType));
|
||||
json.addElem("tiltPosition", shade->transformPosition(shade->currentTiltPos));
|
||||
json.addElem("tiltDirection", shade->tiltDirection);
|
||||
json.addElem("tiltTime", (uint32_t)shade->tiltTime);
|
||||
json.addElem("stepSize", (uint32_t)shade->stepSize);
|
||||
json.addElem("tiltTarget", shade->transformPosition(shade->tiltTarget));
|
||||
json.addElem("target", shade->transformPosition(shade->target));
|
||||
json.addElem("myPos", shade->transformPosition(shade->myPos));
|
||||
json.addElem("myTiltPos", shade->transformPosition(shade->myTiltPos));
|
||||
json.addElem("direction", shade->direction);
|
||||
json.addElem("shadeType", static_cast<uint8_t>(shade->shadeType));
|
||||
json.addElem("bitLength", shade->bitLength);
|
||||
json.addElem("proto", static_cast<uint8_t>(shade->proto));
|
||||
json.addElem("flags", shade->flags);
|
||||
json.addElem("flipCommands", shade->flipCommands);
|
||||
json.addElem("flipPosition", shade->flipPosition);
|
||||
json.addElem("inGroup", shade->isInGroup());
|
||||
json.addElem("sunSensor", shade->hasSunSensor());
|
||||
json.addElem("light", shade->hasLight());
|
||||
json.addElem("repeats", shade->repeats);
|
||||
json.addElem("sortOrder", shade->sortOrder);
|
||||
json.addElem("gpioUp", shade->gpioUp);
|
||||
json.addElem("gpioDown", shade->gpioDown);
|
||||
json.addElem("gpioMy", shade->gpioMy);
|
||||
json.addElem("gpioLLTrigger", ((shade->gpioFlags & (uint8_t)gpio_flags_t::LowLevelTrigger) == 0) ? false : true);
|
||||
json.addElem("simMy", shade->simMy());
|
||||
json.beginArray("linkedRemotes");
|
||||
for(uint8_t i = 0; i < SOMFY_MAX_LINKED_REMOTES; i++) {
|
||||
SomfyLinkedRemote &lremote = shade->linkedRemotes[i];
|
||||
if(lremote.getRemoteAddress() != 0) {
|
||||
json.beginObject();
|
||||
json.addElem("remoteAddress", (uint32_t)lremote.getRemoteAddress());
|
||||
json.addElem("lastRollingCode", (uint32_t)lremote.lastRollingCode);
|
||||
json.endObject();
|
||||
}
|
||||
}
|
||||
json.endArray();
|
||||
}
|
||||
static void serializeGroupRef(SomfyGroup *group, JsonFormatter &json) {
|
||||
group->updateFlags();
|
||||
json.addElem("groupId", group->getGroupId());
|
||||
json.addElem("roomId", group->roomId);
|
||||
json.addElem("name", group->name);
|
||||
json.addElem("remoteAddress", (uint32_t)group->getRemoteAddress());
|
||||
json.addElem("lastRollingCode", (uint32_t)group->lastRollingCode);
|
||||
json.addElem("bitLength", group->bitLength);
|
||||
json.addElem("proto", static_cast<uint8_t>(group->proto));
|
||||
json.addElem("sunSensor", group->hasSunSensor());
|
||||
json.addElem("flipCommands", group->flipCommands);
|
||||
json.addElem("flags", group->flags);
|
||||
json.addElem("repeats", group->repeats);
|
||||
json.addElem("sortOrder", group->sortOrder);
|
||||
}
|
||||
static void serializeGroup(SomfyGroup *group, JsonFormatter &json) {
|
||||
serializeGroupRef(group, json);
|
||||
json.beginArray("linkedShades");
|
||||
for(uint8_t i = 0; i < SOMFY_MAX_GROUPED_SHADES; i++) {
|
||||
uint8_t shadeId = group->linkedShades[i];
|
||||
if(shadeId > 0 && shadeId < 255) {
|
||||
SomfyShade *shade = somfy.getShadeById(shadeId);
|
||||
if(shade) {
|
||||
json.beginObject();
|
||||
serializeShadeRef(shade, json);
|
||||
json.endObject();
|
||||
}
|
||||
}
|
||||
}
|
||||
json.endArray();
|
||||
}
|
||||
static void serializeRooms(JsonFormatter &json) {
|
||||
for(uint8_t i = 0; i < SOMFY_MAX_ROOMS; i++) {
|
||||
SomfyRoom *room = &somfy.rooms[i];
|
||||
if(room->roomId != 0) {
|
||||
json.beginObject();
|
||||
serializeRoom(room, json);
|
||||
json.endObject();
|
||||
}
|
||||
}
|
||||
}
|
||||
static void serializeShades(JsonFormatter &json) {
|
||||
for(uint8_t i = 0; i < SOMFY_MAX_SHADES; i++) {
|
||||
SomfyShade &shade = somfy.shades[i];
|
||||
if(shade.getShadeId() != 255) {
|
||||
json.beginObject();
|
||||
serializeShade(&shade, json);
|
||||
json.endObject();
|
||||
}
|
||||
}
|
||||
}
|
||||
static void serializeGroups(JsonFormatter &json) {
|
||||
for(uint8_t i = 0; i < SOMFY_MAX_GROUPS; i++) {
|
||||
SomfyGroup &group = somfy.groups[i];
|
||||
if(group.getGroupId() != 255) {
|
||||
json.beginObject();
|
||||
serializeGroup(&group, json);
|
||||
json.endObject();
|
||||
}
|
||||
}
|
||||
}
|
||||
static void serializeRepeaters(JsonFormatter &json) {
|
||||
for(uint8_t i = 0; i < SOMFY_MAX_REPEATERS; i++) {
|
||||
if(somfy.repeaters[i] != 0) json.addElem((uint32_t)somfy.repeaters[i]);
|
||||
}
|
||||
}
|
||||
static void serializeTransceiverConfig(JsonFormatter &json) {
|
||||
auto &cfg = somfy.transceiver.config;
|
||||
json.addElem("type", cfg.type);
|
||||
json.addElem("TXPin", cfg.TXPin);
|
||||
json.addElem("RXPin", cfg.RXPin);
|
||||
json.addElem("SCKPin", cfg.SCKPin);
|
||||
json.addElem("MOSIPin", cfg.MOSIPin);
|
||||
json.addElem("MISOPin", cfg.MISOPin);
|
||||
json.addElem("CSNPin", cfg.CSNPin);
|
||||
json.addElem("rxBandwidth", cfg.rxBandwidth);
|
||||
json.addElem("frequency", cfg.frequency);
|
||||
json.addElem("deviation", cfg.deviation);
|
||||
json.addElem("txPower", cfg.txPower);
|
||||
json.addElem("proto", static_cast<uint8_t>(cfg.proto));
|
||||
json.addElem("enabled", cfg.enabled);
|
||||
json.addElem("radioInit", cfg.radioInit);
|
||||
}
|
||||
static void serializeAppVersion(JsonFormatter &json, appver_t &ver) {
|
||||
json.addElem("name", ver.name);
|
||||
json.addElem("major", ver.major);
|
||||
json.addElem("minor", ver.minor);
|
||||
json.addElem("build", ver.build);
|
||||
json.addElem("suffix", ver.suffix);
|
||||
}
|
||||
static void serializeGitVersion(JsonFormatter &json) {
|
||||
json.addElem("available", git.updateAvailable);
|
||||
json.addElem("status", git.status);
|
||||
json.addElem("error", (int32_t)git.error);
|
||||
json.addElem("cancelled", git.cancelled);
|
||||
json.addElem("checkForUpdate", settings.checkForUpdate);
|
||||
json.addElem("inetAvailable", git.inetAvailable);
|
||||
json.beginObject("fwVersion");
|
||||
serializeAppVersion(json, settings.fwVersion);
|
||||
json.endObject();
|
||||
json.beginObject("appVersion");
|
||||
serializeAppVersion(json, settings.appVersion);
|
||||
json.endObject();
|
||||
json.beginObject("latest");
|
||||
serializeAppVersion(json, git.latest);
|
||||
json.endObject();
|
||||
}
|
||||
static void serializeGitRelease(GitRelease *rel, JsonFormatter &json) {
|
||||
Timestamp ts;
|
||||
char buff[20];
|
||||
sprintf(buff, "%llu", rel->id);
|
||||
json.addElem("id", buff);
|
||||
json.addElem("name", rel->name);
|
||||
json.addElem("date", ts.getISOTime(rel->releaseDate));
|
||||
json.addElem("draft", rel->draft);
|
||||
json.addElem("preRelease", rel->preRelease);
|
||||
json.addElem("main", rel->main);
|
||||
json.addElem("hasFS", rel->hasFS);
|
||||
json.addElem("hwVersions", rel->hwVersions);
|
||||
json.beginObject("version");
|
||||
serializeAppVersion(json, rel->version);
|
||||
json.endObject();
|
||||
}
|
||||
|
||||
// -- Async handler implementations --
|
||||
void Web::handleDiscovery(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_POST || request->method() == HTTP_GET) {
|
||||
Serial.println("Async Discovery Requested");
|
||||
char connType[10] = "Unknown";
|
||||
if(net.connType == conn_types_t::ethernet) strcpy(connType, "Ethernet");
|
||||
else if(net.connType == conn_types_t::wifi) strcpy(connType, "Wifi");
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
resp.addElem("serverId", settings.serverId);
|
||||
resp.addElem("version", settings.fwVersion.name);
|
||||
resp.addElem("latest", git.latest.name);
|
||||
resp.addElem("model", "ESPSomfyRTS");
|
||||
resp.addElem("hostname", settings.hostname);
|
||||
resp.addElem("authType", static_cast<uint8_t>(settings.Security.type));
|
||||
resp.addElem("permissions", settings.Security.permissions);
|
||||
resp.addElem("chipModel", settings.chipModel);
|
||||
resp.addElem("connType", connType);
|
||||
resp.addElem("checkForUpdate", settings.checkForUpdate);
|
||||
resp.beginObject("memory");
|
||||
resp.addElem("max", ESP.getMaxAllocHeap());
|
||||
resp.addElem("free", ESP.getFreeHeap());
|
||||
resp.addElem("min", ESP.getMinFreeHeap());
|
||||
resp.addElem("total", ESP.getHeapSize());
|
||||
resp.addElem("uptime", (uint64_t)millis());
|
||||
resp.endObject();
|
||||
resp.beginArray("rooms");
|
||||
serializeRooms(resp);
|
||||
resp.endArray();
|
||||
resp.beginArray("shades");
|
||||
serializeShades(resp);
|
||||
resp.endArray();
|
||||
resp.beginArray("groups");
|
||||
serializeGroups(resp);
|
||||
resp.endArray();
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
net.needsBroadcast = true;
|
||||
}
|
||||
else
|
||||
request->send(500, _encoding_text, "Invalid http method");
|
||||
}
|
||||
void Web::handleGetRooms(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_POST || request->method() == HTTP_GET) {
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginArray();
|
||||
serializeRooms(resp);
|
||||
resp.endArray();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(404, _encoding_text, _response_404);
|
||||
}
|
||||
void Web::handleGetShades(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_POST || request->method() == HTTP_GET) {
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginArray();
|
||||
serializeShades(resp);
|
||||
resp.endArray();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(404, _encoding_text, _response_404);
|
||||
}
|
||||
void Web::handleGetGroups(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_POST || request->method() == HTTP_GET) {
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginArray();
|
||||
serializeGroups(resp);
|
||||
resp.endArray();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(404, _encoding_text, _response_404);
|
||||
}
|
||||
void Web::handleController(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_POST || request->method() == HTTP_GET) {
|
||||
settings.printAvailHeap();
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
resp.addElem("maxRooms", (uint8_t)SOMFY_MAX_ROOMS);
|
||||
resp.addElem("maxShades", (uint8_t)SOMFY_MAX_SHADES);
|
||||
resp.addElem("maxGroups", (uint8_t)SOMFY_MAX_GROUPS);
|
||||
resp.addElem("maxGroupedShades", (uint8_t)SOMFY_MAX_GROUPED_SHADES);
|
||||
resp.addElem("maxLinkedRemotes", (uint8_t)SOMFY_MAX_LINKED_REMOTES);
|
||||
resp.addElem("startingAddress", (uint32_t)somfy.startingAddress);
|
||||
resp.beginObject("transceiver");
|
||||
resp.beginObject("config");
|
||||
serializeTransceiverConfig(resp);
|
||||
resp.endObject();
|
||||
resp.endObject();
|
||||
resp.beginObject("version");
|
||||
serializeGitVersion(resp);
|
||||
resp.endObject();
|
||||
resp.beginArray("rooms");
|
||||
serializeRooms(resp);
|
||||
resp.endArray();
|
||||
resp.beginArray("shades");
|
||||
serializeShades(resp);
|
||||
resp.endArray();
|
||||
resp.beginArray("groups");
|
||||
serializeGroups(resp);
|
||||
resp.endArray();
|
||||
resp.beginArray("repeaters");
|
||||
serializeRepeaters(resp);
|
||||
resp.endArray();
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(404, _encoding_text, _response_404);
|
||||
}
|
||||
void Web::handleLogin(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
char token[65];
|
||||
memset(&token, 0x00, sizeof(token));
|
||||
this->createAPIToken(request->client()->remoteIP(), token);
|
||||
if(settings.Security.type == security_types::None) {
|
||||
snprintf(g_async_content, sizeof(g_async_content),
|
||||
"{\"type\":%u,\"apiKey\":\"%s\",\"msg\":\"Success\",\"success\":true}",
|
||||
static_cast<uint8_t>(settings.Security.type), token);
|
||||
request->send(200, _encoding_json, g_async_content);
|
||||
return;
|
||||
}
|
||||
char username[33] = "";
|
||||
char password[33] = "";
|
||||
char pin[5] = "";
|
||||
// Try query params first
|
||||
if(asyncHasParam(request, "username")) strlcpy(username, asyncParam(request, "username").c_str(), sizeof(username));
|
||||
if(asyncHasParam(request, "password")) strlcpy(password, asyncParam(request, "password").c_str(), sizeof(password));
|
||||
if(asyncHasParam(request, "pin")) strlcpy(pin, asyncParam(request, "pin").c_str(), sizeof(pin));
|
||||
// Override from JSON body if present
|
||||
if(!json.isNull()) {
|
||||
JsonObject obj = json.as<JsonObject>();
|
||||
if(obj.containsKey("username")) strlcpy(username, obj["username"], sizeof(username));
|
||||
if(obj.containsKey("password")) strlcpy(password, obj["password"], sizeof(password));
|
||||
if(obj.containsKey("pin")) strlcpy(pin, obj["pin"], sizeof(pin));
|
||||
}
|
||||
bool success = false;
|
||||
if(settings.Security.type == security_types::PinEntry) {
|
||||
char ptok[65];
|
||||
memset(ptok, 0x00, sizeof(ptok));
|
||||
this->createAPIPinToken(request->client()->remoteIP(), pin, ptok);
|
||||
if(String(ptok) == String(token)) success = true;
|
||||
}
|
||||
else if(settings.Security.type == security_types::Password) {
|
||||
char ptok[65];
|
||||
memset(ptok, 0x00, sizeof(ptok));
|
||||
this->createAPIPasswordToken(request->client()->remoteIP(), username, password, ptok);
|
||||
if(String(ptok) == String(token)) success = true;
|
||||
}
|
||||
if(success) {
|
||||
snprintf(g_async_content, sizeof(g_async_content),
|
||||
"{\"type\":%u,\"apiKey\":\"%s\",\"msg\":\"Success\",\"success\":true}",
|
||||
static_cast<uint8_t>(settings.Security.type), token);
|
||||
request->send(200, _encoding_json, g_async_content);
|
||||
}
|
||||
else {
|
||||
snprintf(g_async_content, sizeof(g_async_content),
|
||||
"{\"type\":%u,\"msg\":\"Invalid credentials\",\"success\":false}",
|
||||
static_cast<uint8_t>(settings.Security.type));
|
||||
request->send(401, _encoding_json, g_async_content);
|
||||
}
|
||||
}
|
||||
void Web::handleShadeCommand(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
uint8_t shadeId = 255;
|
||||
uint8_t target = 255;
|
||||
uint8_t stepSize = 0;
|
||||
int8_t repeat = -1;
|
||||
somfy_commands command = somfy_commands::My;
|
||||
// Try query params
|
||||
if(asyncHasParam(request, "shadeId")) {
|
||||
shadeId = asyncParam(request, "shadeId").toInt();
|
||||
if(asyncHasParam(request, "command")) command = translateSomfyCommand(asyncParam(request, "command"));
|
||||
else if(asyncHasParam(request, "target")) target = asyncParam(request, "target").toInt();
|
||||
if(asyncHasParam(request, "repeat")) repeat = asyncParam(request, "repeat").toInt();
|
||||
if(asyncHasParam(request, "stepSize")) stepSize = asyncParam(request, "stepSize").toInt();
|
||||
}
|
||||
else if(!json.isNull()) {
|
||||
JsonObject obj = json.as<JsonObject>();
|
||||
if(obj.containsKey("shadeId")) shadeId = obj["shadeId"];
|
||||
else { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"No shade id was supplied.\"}")); return; }
|
||||
if(obj.containsKey("command")) { String scmd = obj["command"]; command = translateSomfyCommand(scmd); }
|
||||
else if(obj.containsKey("target")) target = obj["target"].as<uint8_t>();
|
||||
if(obj.containsKey("repeat")) repeat = obj["repeat"].as<uint8_t>();
|
||||
if(obj.containsKey("stepSize")) stepSize = obj["stepSize"].as<uint8_t>();
|
||||
}
|
||||
else { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"No shade object supplied.\"}")); return; }
|
||||
SomfyShade *shade = somfy.getShadeById(shadeId);
|
||||
if(shade) {
|
||||
if(target <= 100) shade->moveToTarget(shade->transformPosition(target));
|
||||
else shade->sendCommand(command, repeat > 0 ? repeat : shade->repeats, stepSize);
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeShadeRef(shade, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Shade with the specified id not found.\"}"));
|
||||
}
|
||||
void Web::handleGroupCommand(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
uint8_t groupId = 255;
|
||||
uint8_t stepSize = 0;
|
||||
int8_t repeat = -1;
|
||||
somfy_commands command = somfy_commands::My;
|
||||
if(asyncHasParam(request, "groupId")) {
|
||||
groupId = asyncParam(request, "groupId").toInt();
|
||||
if(asyncHasParam(request, "command")) command = translateSomfyCommand(asyncParam(request, "command"));
|
||||
if(asyncHasParam(request, "repeat")) repeat = asyncParam(request, "repeat").toInt();
|
||||
if(asyncHasParam(request, "stepSize")) stepSize = asyncParam(request, "stepSize").toInt();
|
||||
}
|
||||
else if(!json.isNull()) {
|
||||
JsonObject obj = json.as<JsonObject>();
|
||||
if(obj.containsKey("groupId")) groupId = obj["groupId"];
|
||||
else { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"No group id was supplied.\"}")); return; }
|
||||
if(obj.containsKey("command")) { String scmd = obj["command"]; command = translateSomfyCommand(scmd); }
|
||||
if(obj.containsKey("repeat")) repeat = obj["repeat"].as<uint8_t>();
|
||||
if(obj.containsKey("stepSize")) stepSize = obj["stepSize"].as<uint8_t>();
|
||||
}
|
||||
else { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"No group object supplied.\"}")); return; }
|
||||
SomfyGroup *group = somfy.getGroupById(groupId);
|
||||
if(group) {
|
||||
group->sendCommand(command, repeat >= 0 ? repeat : group->repeats, stepSize);
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeGroupRef(group, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Group with the specified id not found.\"}"));
|
||||
}
|
||||
void Web::handleTiltCommand(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
uint8_t shadeId = 255;
|
||||
uint8_t target = 255;
|
||||
somfy_commands command = somfy_commands::My;
|
||||
if(asyncHasParam(request, "shadeId")) {
|
||||
shadeId = asyncParam(request, "shadeId").toInt();
|
||||
if(asyncHasParam(request, "command")) command = translateSomfyCommand(asyncParam(request, "command"));
|
||||
else if(asyncHasParam(request, "target")) target = asyncParam(request, "target").toInt();
|
||||
}
|
||||
else if(!json.isNull()) {
|
||||
JsonObject obj = json.as<JsonObject>();
|
||||
if(obj.containsKey("shadeId")) shadeId = obj["shadeId"];
|
||||
else { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"No shade id was supplied.\"}")); return; }
|
||||
if(obj.containsKey("command")) { String scmd = obj["command"]; command = translateSomfyCommand(scmd); }
|
||||
else if(obj.containsKey("target")) target = obj["target"].as<uint8_t>();
|
||||
}
|
||||
else { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"No shade object supplied.\"}")); return; }
|
||||
SomfyShade *shade = somfy.getShadeById(shadeId);
|
||||
if(shade) {
|
||||
if(target <= 100) shade->moveToTiltTarget(shade->transformPosition(target));
|
||||
else shade->sendTiltCommand(command);
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeShadeRef(shade, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Shade with the specified id not found.\"}"));
|
||||
}
|
||||
void Web::handleRepeatCommand(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
uint8_t shadeId = 255;
|
||||
uint8_t groupId = 255;
|
||||
uint8_t stepSize = 0;
|
||||
int8_t repeat = -1;
|
||||
somfy_commands command = somfy_commands::My;
|
||||
if(asyncHasParam(request, "shadeId")) shadeId = asyncParam(request, "shadeId").toInt();
|
||||
else if(asyncHasParam(request, "groupId")) groupId = asyncParam(request, "groupId").toInt();
|
||||
if(asyncHasParam(request, "command")) command = translateSomfyCommand(asyncParam(request, "command"));
|
||||
if(asyncHasParam(request, "repeat")) repeat = asyncParam(request, "repeat").toInt();
|
||||
if(asyncHasParam(request, "stepSize")) stepSize = asyncParam(request, "stepSize").toInt();
|
||||
if(shadeId == 255 && groupId == 255 && !json.isNull()) {
|
||||
JsonObject obj = json.as<JsonObject>();
|
||||
if(obj.containsKey("shadeId")) shadeId = obj["shadeId"];
|
||||
if(obj.containsKey("groupId")) groupId = obj["groupId"];
|
||||
if(obj.containsKey("stepSize")) stepSize = obj["stepSize"];
|
||||
if(obj.containsKey("command")) { String scmd = obj["command"]; command = translateSomfyCommand(scmd); }
|
||||
if(obj.containsKey("repeat")) repeat = obj["repeat"].as<uint8_t>();
|
||||
}
|
||||
if(shadeId != 255) {
|
||||
SomfyShade *shade = somfy.getShadeById(shadeId);
|
||||
if(!shade) { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Shade reference could not be found.\"}")); return; }
|
||||
if(shade->shadeType == shade_types::garage1 && command == somfy_commands::Prog) command = somfy_commands::Toggle;
|
||||
if(!shade->isLastCommand(command)) shade->sendCommand(command, repeat >= 0 ? repeat : shade->repeats, stepSize);
|
||||
else shade->repeatFrame(repeat >= 0 ? repeat : shade->repeats);
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginArray();
|
||||
serializeShadeRef(shade, resp);
|
||||
resp.endArray();
|
||||
resp.endResponse();
|
||||
}
|
||||
else if(groupId != 255) {
|
||||
SomfyGroup *group = somfy.getGroupById(groupId);
|
||||
if(!group) { request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Group reference could not be found.\"}")); return; }
|
||||
if(!group->isLastCommand(command)) group->sendCommand(command, repeat >= 0 ? repeat : group->repeats, stepSize);
|
||||
else group->repeatFrame(repeat >= 0 ? repeat : group->repeats);
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeGroupRef(group, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Invalid Http method\"}"));
|
||||
}
|
||||
void Web::handleRoom(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
if(request->method() == HTTP_GET) {
|
||||
if(asyncHasParam(request, "roomId")) {
|
||||
int roomId = asyncParam(request, "roomId").toInt();
|
||||
SomfyRoom *room = somfy.getRoomById(roomId);
|
||||
if(room) {
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeRoom(room, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Room Id not found.\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"You must supply a valid room id.\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Invalid Http method\"}"));
|
||||
}
|
||||
void Web::handleShade(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
if(request->method() == HTTP_GET) {
|
||||
if(asyncHasParam(request, "shadeId")) {
|
||||
int shadeId = asyncParam(request, "shadeId").toInt();
|
||||
SomfyShade *shade = somfy.getShadeById(shadeId);
|
||||
if(shade) {
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeShade(shade, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Shade Id not found.\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"You must supply a valid shade id.\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Invalid Http method\"}"));
|
||||
}
|
||||
void Web::handleGroup(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
if(request->method() == HTTP_GET) {
|
||||
if(asyncHasParam(request, "groupId")) {
|
||||
int groupId = asyncParam(request, "groupId").toInt();
|
||||
SomfyGroup *group = somfy.getGroupById(groupId);
|
||||
if(group) {
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeGroup(group, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Group Id not found.\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"You must supply a valid group id.\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Invalid Http method\"}"));
|
||||
}
|
||||
void Web::handleSetPositions(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
uint8_t shadeId = asyncHasParam(request, "shadeId") ? asyncParam(request, "shadeId").toInt() : 255;
|
||||
int8_t pos = asyncHasParam(request, "position") ? asyncParam(request, "position").toInt() : -1;
|
||||
int8_t tiltPos = asyncHasParam(request, "tiltPosition") ? asyncParam(request, "tiltPosition").toInt() : -1;
|
||||
if(!json.isNull()) {
|
||||
JsonObject obj = json.as<JsonObject>();
|
||||
if(obj.containsKey("shadeId")) shadeId = obj["shadeId"];
|
||||
if(obj.containsKey("position")) pos = obj["position"];
|
||||
if(obj.containsKey("tiltPosition")) tiltPos = obj["tiltPosition"];
|
||||
}
|
||||
if(shadeId != 255) {
|
||||
SomfyShade *shade = somfy.getShadeById(shadeId);
|
||||
if(shade) {
|
||||
if(pos >= 0) shade->target = shade->currentPos = pos;
|
||||
if(tiltPos >= 0 && shade->tiltType != tilt_types::none) shade->tiltTarget = shade->currentTiltPos = tiltPos;
|
||||
shade->emitState();
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeShade(shade, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"An invalid shadeId was provided\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"shadeId was not provided\"}"));
|
||||
}
|
||||
void Web::handleSetSensor(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
uint8_t shadeId = asyncHasParam(request, "shadeId") ? asyncParam(request, "shadeId").toInt() : 255;
|
||||
uint8_t groupId = asyncHasParam(request, "groupId") ? asyncParam(request, "groupId").toInt() : 255;
|
||||
int8_t sunny = asyncHasParam(request, "sunny") ? (toBoolean(asyncParam(request, "sunny").c_str(), false) ? 1 : 0) : -1;
|
||||
int8_t windy = asyncHasParam(request, "windy") ? asyncParam(request, "windy").toInt() : -1;
|
||||
int8_t repeat = asyncHasParam(request, "repeat") ? asyncParam(request, "repeat").toInt() : -1;
|
||||
if(!json.isNull()) {
|
||||
JsonObject obj = json.as<JsonObject>();
|
||||
if(obj.containsKey("shadeId")) shadeId = obj["shadeId"].as<uint8_t>();
|
||||
if(obj.containsKey("groupId")) groupId = obj["groupId"].as<uint8_t>();
|
||||
if(obj.containsKey("sunny")) {
|
||||
if(obj["sunny"].is<bool>()) sunny = obj["sunny"].as<bool>() ? 1 : 0;
|
||||
else sunny = obj["sunny"].as<int8_t>();
|
||||
}
|
||||
if(obj.containsKey("windy")) {
|
||||
if(obj["windy"].is<bool>()) windy = obj["windy"].as<bool>() ? 1 : 0;
|
||||
else windy = obj["windy"].as<int8_t>();
|
||||
}
|
||||
if(obj.containsKey("repeat")) repeat = obj["repeat"].as<uint8_t>();
|
||||
}
|
||||
if(shadeId != 255) {
|
||||
SomfyShade *shade = somfy.getShadeById(shadeId);
|
||||
if(shade) {
|
||||
shade->sendSensorCommand(windy, sunny, repeat >= 0 ? (uint8_t)repeat : shade->repeats);
|
||||
shade->emitState();
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeShade(shade, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"An invalid shadeId was provided\"}"));
|
||||
}
|
||||
else if(groupId != 255) {
|
||||
SomfyGroup *group = somfy.getGroupById(groupId);
|
||||
if(group) {
|
||||
group->sendSensorCommand(windy, sunny, repeat >= 0 ? (uint8_t)repeat : group->repeats);
|
||||
group->emitState();
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeGroup(group, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"An invalid groupId was provided\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"shadeId was not provided\"}"));
|
||||
}
|
||||
void Web::handleDownloadFirmware(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
GitRepo repo;
|
||||
GitRelease *rel = nullptr;
|
||||
int8_t err = repo.getReleases();
|
||||
Serial.println("Async downloadFirmware called...");
|
||||
if(err == 0) {
|
||||
if(asyncHasParam(request, "ver")) {
|
||||
String ver = asyncParam(request, "ver");
|
||||
if(ver == "latest") rel = &repo.releases[0];
|
||||
else if(ver == "main") rel = &repo.releases[GIT_MAX_RELEASES];
|
||||
else {
|
||||
for(uint8_t i = 0; i < GIT_MAX_RELEASES; i++) {
|
||||
if(repo.releases[i].id == 0) continue;
|
||||
if(strcmp(repo.releases[i].name, ver.c_str()) == 0) { rel = &repo.releases[i]; break; }
|
||||
}
|
||||
}
|
||||
if(rel) {
|
||||
AsyncJsonResp resp;
|
||||
resp.beginResponse(request, g_async_content, sizeof(g_async_content));
|
||||
resp.beginObject();
|
||||
serializeGitRelease(rel, resp);
|
||||
resp.endObject();
|
||||
resp.endResponse();
|
||||
strcpy(git.targetRelease, rel->name);
|
||||
git.status = GIT_AWAITING_UPDATE;
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Release not found in repo.\"}"));
|
||||
}
|
||||
else request->send(500, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Release version not supplied.\"}"));
|
||||
}
|
||||
else request->send(err, _encoding_json, F("{\"status\":\"ERROR\",\"desc\":\"Error communicating with Github.\"}"));
|
||||
}
|
||||
void Web::handleBackup(AsyncWebServerRequest *request) {
|
||||
bool attach = false;
|
||||
if(asyncHasParam(request, "attach")) attach = toBoolean(asyncParam(request, "attach").c_str(), false);
|
||||
Serial.println("Async saving current shade information");
|
||||
somfy.writeBackup();
|
||||
if(somfy.backupData.length() == 0) {
|
||||
request->send(500, _encoding_text, "backup failed");
|
||||
return;
|
||||
}
|
||||
if(attach) {
|
||||
char filename[120];
|
||||
Timestamp ts;
|
||||
char *iso = ts.getISOTime();
|
||||
for(uint8_t i = 0; i < strlen(iso); i++) {
|
||||
if(iso[i] == '.') { iso[i] = '\0'; break; }
|
||||
if(iso[i] == ':') iso[i] = '_';
|
||||
}
|
||||
snprintf(filename, sizeof(filename), "attachment; filename=\"ESPSomfyRTS %s.backup\"", iso);
|
||||
AsyncWebServerResponse *response = request->beginResponse(200, _encoding_text, somfy.backupData);
|
||||
response->addHeader("Content-Disposition", filename);
|
||||
response->addHeader("Access-Control-Expose-Headers", "Content-Disposition");
|
||||
request->send(response);
|
||||
}
|
||||
else {
|
||||
request->send(200, _encoding_text, somfy.backupData);
|
||||
}
|
||||
}
|
||||
void Web::handleReboot(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
if(request->method() == HTTP_POST || request->method() == HTTP_PUT) {
|
||||
Serial.println("Async Rebooting ESP...");
|
||||
rebootDelay.reboot = true;
|
||||
rebootDelay.rebootTime = millis() + 500;
|
||||
request->send(200, _encoding_json, "{\"status\":\"OK\",\"desc\":\"Successfully started reboot\"}");
|
||||
}
|
||||
else request->send(201, _encoding_json, "{\"status\":\"ERROR\",\"desc\":\"Invalid HTTP Method\"}");
|
||||
}
|
||||
void Web::handleNotFound(AsyncWebServerRequest *request) {
|
||||
if(request->method() == HTTP_OPTIONS) { request->send(200); return; }
|
||||
snprintf(g_async_content, sizeof(g_async_content), "404 Service Not Found: %s", request->url().c_str());
|
||||
request->send(404, _encoding_text, g_async_content);
|
||||
}
|
||||
|
||||
void Web::begin() {
|
||||
Serial.println("Creating Web MicroServices...");
|
||||
server.enableCORS(true);
|
||||
|
|
@ -1103,6 +1843,51 @@ void Web::begin() {
|
|||
apiServer.on("/backup", []() { webServer.handleBackup(apiServer); });
|
||||
apiServer.on("/reboot", []() { webServer.handleReboot(apiServer); });
|
||||
|
||||
// Async API Server (port 8082)
|
||||
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");
|
||||
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Methods", "PUT,POST,GET,OPTIONS");
|
||||
DefaultHeaders::Instance().addHeader("Access-Control-Allow-Headers", "*");
|
||||
// GET endpoints
|
||||
asyncApiServer.on("/discovery", WebRequestMethodComposite(HTTP_GET) | HTTP_POST, [](AsyncWebServerRequest *r) { webServer.handleDiscovery(r); });
|
||||
asyncApiServer.on("/rooms", WebRequestMethodComposite(HTTP_GET) | HTTP_POST, [](AsyncWebServerRequest *r) { webServer.handleGetRooms(r); });
|
||||
asyncApiServer.on("/shades", WebRequestMethodComposite(HTTP_GET) | HTTP_POST, [](AsyncWebServerRequest *r) { webServer.handleGetShades(r); });
|
||||
asyncApiServer.on("/groups", WebRequestMethodComposite(HTTP_GET) | HTTP_POST, [](AsyncWebServerRequest *r) { webServer.handleGetGroups(r); });
|
||||
asyncApiServer.on("/controller", WebRequestMethodComposite(HTTP_GET) | HTTP_POST, [](AsyncWebServerRequest *r) { webServer.handleController(r); });
|
||||
asyncApiServer.on("/room", HTTP_GET, [](AsyncWebServerRequest *r) { webServer.handleRoom(r); });
|
||||
asyncApiServer.on("/shade", HTTP_GET, [](AsyncWebServerRequest *r) { webServer.handleShade(r); });
|
||||
asyncApiServer.on("/group", HTTP_GET, [](AsyncWebServerRequest *r) { webServer.handleGroup(r); });
|
||||
asyncApiServer.on("/downloadFirmware", WebRequestMethodComposite(HTTP_GET) | HTTP_POST, [](AsyncWebServerRequest *r) { webServer.handleDownloadFirmware(r); });
|
||||
asyncApiServer.on("/backup", WebRequestMethodComposite(HTTP_GET) | HTTP_POST, [](AsyncWebServerRequest *r) { webServer.handleBackup(r); });
|
||||
asyncApiServer.on("/reboot", WebRequestMethodComposite(HTTP_POST) | HTTP_PUT, [](AsyncWebServerRequest *r) { webServer.handleReboot(r); });
|
||||
// JSON body endpoints
|
||||
asyncApiServer.addHandler(new AsyncCallbackJsonWebHandler("/shadeCommand",
|
||||
[](AsyncWebServerRequest *r, JsonVariant &j) { webServer.handleShadeCommand(r, j); }));
|
||||
asyncApiServer.addHandler(new AsyncCallbackJsonWebHandler("/groupCommand",
|
||||
[](AsyncWebServerRequest *r, JsonVariant &j) { webServer.handleGroupCommand(r, j); }));
|
||||
asyncApiServer.addHandler(new AsyncCallbackJsonWebHandler("/tiltCommand",
|
||||
[](AsyncWebServerRequest *r, JsonVariant &j) { webServer.handleTiltCommand(r, j); }));
|
||||
asyncApiServer.addHandler(new AsyncCallbackJsonWebHandler("/repeatCommand",
|
||||
[](AsyncWebServerRequest *r, JsonVariant &j) { webServer.handleRepeatCommand(r, j); }));
|
||||
asyncApiServer.addHandler(new AsyncCallbackJsonWebHandler("/setPositions",
|
||||
[](AsyncWebServerRequest *r, JsonVariant &j) { webServer.handleSetPositions(r, j); }));
|
||||
asyncApiServer.addHandler(new AsyncCallbackJsonWebHandler("/setSensor",
|
||||
[](AsyncWebServerRequest *r, JsonVariant &j) { webServer.handleSetSensor(r, j); }));
|
||||
asyncApiServer.addHandler(new AsyncCallbackJsonWebHandler("/login",
|
||||
[](AsyncWebServerRequest *r, JsonVariant &j) { webServer.handleLogin(r, j); }));
|
||||
// GET fallback for command endpoints (query params)
|
||||
asyncApiServer.on("/shadeCommand", HTTP_GET, [](AsyncWebServerRequest *r) { JsonVariant v; webServer.handleShadeCommand(r, v); });
|
||||
asyncApiServer.on("/groupCommand", HTTP_GET, [](AsyncWebServerRequest *r) { JsonVariant v; webServer.handleGroupCommand(r, v); });
|
||||
asyncApiServer.on("/tiltCommand", HTTP_GET, [](AsyncWebServerRequest *r) { JsonVariant v; webServer.handleTiltCommand(r, v); });
|
||||
asyncApiServer.on("/repeatCommand", HTTP_GET, [](AsyncWebServerRequest *r) { JsonVariant v; webServer.handleRepeatCommand(r, v); });
|
||||
asyncApiServer.on("/setPositions", HTTP_GET, [](AsyncWebServerRequest *r) { JsonVariant v; webServer.handleSetPositions(r, v); });
|
||||
asyncApiServer.on("/setSensor", HTTP_GET, [](AsyncWebServerRequest *r) { JsonVariant v; webServer.handleSetSensor(r, v); });
|
||||
asyncApiServer.on("/login", HTTP_GET, [](AsyncWebServerRequest *r) { JsonVariant v; webServer.handleLogin(r, v); });
|
||||
// OPTIONS preflight + not found
|
||||
asyncApiServer.onNotFound([](AsyncWebServerRequest *r) {
|
||||
if(r->method() == HTTP_OPTIONS) { r->send(200); return; }
|
||||
webServer.handleNotFound(r);
|
||||
});
|
||||
|
||||
// Web Interface
|
||||
server.on("/tiltCommand", []() { webServer.handleTiltCommand(server); });
|
||||
server.on("/repeatCommand", []() { webServer.handleRepeatCommand(server); });
|
||||
|
|
|
|||
26
src/Web.h
26
src/Web.h
|
|
@ -1,4 +1,6 @@
|
|||
#include <WebServer.h>
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include <AsyncJson.h>
|
||||
#include "Somfy.h"
|
||||
#ifndef webserver_h
|
||||
#define webserver_h
|
||||
|
|
@ -42,9 +44,25 @@ class Web {
|
|||
bool createAPIPasswordToken(const IPAddress ipAddress, const char *username, const char *password, char *token);
|
||||
bool isAuthenticated(WebServer &server, bool cfg = false);
|
||||
|
||||
//void chunkRoomsResponse(WebServer &server, const char *elem = nullptr);
|
||||
//void chunkShadesResponse(WebServer &server, const char *elem = nullptr);
|
||||
//void chunkGroupsResponse(WebServer &server, const char *elem = nullptr);
|
||||
//void chunkGroupResponse(WebServer &server, SomfyGroup *, const char *prefix = nullptr);
|
||||
// Async API handler overloads (port 8082)
|
||||
void handleDiscovery(AsyncWebServerRequest *request);
|
||||
void handleGetRooms(AsyncWebServerRequest *request);
|
||||
void handleGetShades(AsyncWebServerRequest *request);
|
||||
void handleGetGroups(AsyncWebServerRequest *request);
|
||||
void handleController(AsyncWebServerRequest *request);
|
||||
void handleRoom(AsyncWebServerRequest *request);
|
||||
void handleShade(AsyncWebServerRequest *request);
|
||||
void handleGroup(AsyncWebServerRequest *request);
|
||||
void handleLogin(AsyncWebServerRequest *request, JsonVariant &json);
|
||||
void handleShadeCommand(AsyncWebServerRequest *request, JsonVariant &json);
|
||||
void handleGroupCommand(AsyncWebServerRequest *request, JsonVariant &json);
|
||||
void handleTiltCommand(AsyncWebServerRequest *request, JsonVariant &json);
|
||||
void handleRepeatCommand(AsyncWebServerRequest *request, JsonVariant &json);
|
||||
void handleSetPositions(AsyncWebServerRequest *request, JsonVariant &json);
|
||||
void handleSetSensor(AsyncWebServerRequest *request, JsonVariant &json);
|
||||
void handleDownloadFirmware(AsyncWebServerRequest *request);
|
||||
void handleBackup(AsyncWebServerRequest *request);
|
||||
void handleReboot(AsyncWebServerRequest *request);
|
||||
void handleNotFound(AsyncWebServerRequest *request);
|
||||
};
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue