From d58c61454a58a7a1d842377b0b99bb6152f53862 Mon Sep 17 00:00:00 2001 From: Francois Date: Thu, 21 Dec 2023 21:18:24 -0500 Subject: [PATCH] Initial support for VSCode --- .gitignore | 1 + .vscode/arduino-cli.yaml | 27 ++ .vscode/arduino.json | 5 + .vscode/c_cpp_properties.json | 586 ++++++++++++++++++++++++++++++++++ .vscode/settings.json | 78 +++++ .vscode/tasks.json | 147 +++++++++ docs/UsingVSCode.md | 87 +++++ 7 files changed, 931 insertions(+) create mode 100644 .vscode/arduino-cli.yaml create mode 100644 .vscode/arduino.json create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/settings.json create mode 100644 .vscode/tasks.json create mode 100644 docs/UsingVSCode.md diff --git a/.gitignore b/.gitignore index d7e1472..d12c0bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .development .DS_Store +build_output \ No newline at end of file diff --git a/.vscode/arduino-cli.yaml b/.vscode/arduino-cli.yaml new file mode 100644 index 0000000..4731ff7 --- /dev/null +++ b/.vscode/arduino-cli.yaml @@ -0,0 +1,27 @@ +board_manager: + additional_urls: + - https://downloads.arduino.cc/packages/package_staging_index.json +build_cache: + compilations_before_purge: 0 + ttl: 720h0m0s +daemon: + port: "50051" +directories: + data: ${{env.LOCALAPPDATA}}\Arduino15 + downloads: ${{env.LOCALAPPDATA}}\staging + user: ${{env.USERPROFILE}}\Documents\Arduino +library: + enable_unsafe_install: false +logging: + file: "" + format: text + level: info +metrics: + addr: :9090 + enabled: true +output: + no_color: false +sketch: + always_export_binaries: false +updater: + enable_notification: true diff --git a/.vscode/arduino.json b/.vscode/arduino.json new file mode 100644 index 0000000..484e9e9 --- /dev/null +++ b/.vscode/arduino.json @@ -0,0 +1,5 @@ +{ + "configuration": "PartitionScheme=default,FlashMode=qio,FlashFreq=80,UploadSpeed=921600,DebugLevel=none,EraseFlash=none", + "board": "esp32:esp32:esp32wrover", + "programmer": "esptool" +} \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..222ba4c --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,586 @@ +{ + "version": 4, + "configurations": [ + { + "name": "Arduino", + "compilerPath": "", + "compilerArgs": [ + "-mlongcalls", + "-Wno-frame-address", + "-ffunction-sections", + "-fdata-sections", + "-Wno-error=unused-function", + "-Wno-error=unused-variable", + "-Wno-error=deprecated-declarations", + "-Wno-unused-parameter", + "-Wno-sign-compare", + "-freorder-blocks", + "-Wwrite-strings", + "-fstack-protector", + "-fstrict-volatile-bitfields", + "-Wno-error=unused-but-set-variable", + "-fno-jump-tables", + "-fno-tree-switch-conversion", + "-std=gnu++11", + "-fexceptions", + "-fno-rtti" + ], + "intelliSenseMode": "gcc-x86", + "includePath": [ + "${workspaceFolder}\\**", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\newlib\\platform_include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\freertos\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\freertos\\include\\esp_additions\\freertos", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\freertos\\port\\xtensa\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\freertos\\include\\esp_additions", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_hw_support\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_hw_support\\include\\soc", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_hw_support\\include\\soc\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_hw_support\\port\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_hw_support\\port\\esp32\\private_include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\heap\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\log\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\lwip\\include\\apps", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\lwip\\include\\apps\\sntp", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\lwip\\lwip\\src\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\lwip\\port\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\lwip\\port\\esp32\\include\\arch", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\soc\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\soc\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\soc\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\hal\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\hal\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\hal\\platform_port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_rom\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_rom\\include\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_rom\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_common\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_system\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_system\\port\\soc", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_system\\port\\public_compat", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\xtensa\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\xtensa\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\driver\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\driver\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_pm\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_ringbuf\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\efuse\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\efuse\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\vfs\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_wifi\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_event\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_netif\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_eth\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\tcpip_adapter\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_phy\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_phy\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_ipc\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\app_trace\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_timer\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\mbedtls\\port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\mbedtls\\mbedtls\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\mbedtls\\esp_crt_bundle\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\app_update\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\spi_flash\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bootloader_support\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\nvs_flash\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\pthread\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_gdbstub\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_gdbstub\\xtensa", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_gdbstub\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espcoredump\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espcoredump\\include\\port\\xtensa", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\wpa_supplicant\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\wpa_supplicant\\port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\wpa_supplicant\\esp_supplicant\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\ieee802154\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\console", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\asio\\asio\\asio\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\asio\\port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\common\\osi\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\include\\esp32\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\common\\api\\include\\api", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\common\\btc\\profile\\esp\\blufi\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\common\\btc\\profile\\esp\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\host\\bluedroid\\api\\include\\api", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_common\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_common\\tinycrypt\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_core", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_core\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_core\\storage", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\btc\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_models\\common\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_models\\client\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\mesh_models\\server\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\api\\core\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\api\\models\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\bt\\esp_ble_mesh\\api", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\cbor\\port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\unity\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\unity\\unity\\src", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\cmock\\CMock\\src", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\coap\\port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\coap\\libcoap\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\nghttp\\port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\nghttp\\nghttp2\\lib\\includes", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-tls", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-tls\\esp-tls-crypto", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_adc_cal\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_hid\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\tcp_transport\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_http_client\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_http_server\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_https_ota\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_https_server\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_lcd\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_lcd\\interface", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\protobuf-c\\protobuf-c", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\protocomm\\include\\common", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\protocomm\\include\\security", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\protocomm\\include\\transports", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\mdns\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_local_ctrl\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\sdmmc\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_serial_slave_link\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_websocket_client\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\expat\\expat\\expat\\lib", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\expat\\port\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\wear_levelling\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\fatfs\\diskio", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\fatfs\\vfs", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\fatfs\\src", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\freemodbus\\freemodbus\\common\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\idf_test\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\idf_test\\include\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\jsmn\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\json\\cJSON", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\libsodium\\libsodium\\src\\libsodium\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\libsodium\\port_include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\mqtt\\esp-mqtt\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\openssl\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\perfmon\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\spiffs\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\ulp\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\wifi_provisioning\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\rmaker_common\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_diagnostics\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\rtc_store\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_insights\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\json_parser\\upstream\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\json_parser\\upstream", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\json_generator\\upstream", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_schedule\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp_secure_cert_mgr\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_rainmaker\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\gpio_button\\button\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\qrcode\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\ws2812_led", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp_littlefs\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\tool", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\typedef", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\image", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\math", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\nn", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\layer", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\detect", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp-dl\\include\\model_zoo", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp32-camera\\driver\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\esp32-camera\\conversions\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\dotprod\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\support\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\support\\mem\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\hann\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\blackman\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\blackman_harris\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\blackman_nuttall\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\nuttall\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\windows\\flat_top\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\iir\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\fir\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\add\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\sub\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\mul\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\addc\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\mulc\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\math\\sqrt\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\matrix\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\fft\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\dct\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\conv\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\common\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\kalman\\ekf\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\espressif__esp-dsp\\modules\\kalman\\ekf_imu13states\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\include\\fb_gfx\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\tools\\sdk\\esp32\\qio_qspi\\include", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\cores\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\variants\\esp32", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\libraries\\ArduinoOTA\\src", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\libraries\\WiFi\\src", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\libraries\\Update\\src", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\libraries\\ESPmDNS\\src", + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\libraries\\DNSServer\\src", + "${LOCALAPPDATA}\\${config:cpp-compiler-location}\\xtensa-esp32-elf\\include\\c++\\8.4.0", + "${LOCALAPPDATA}\\${config:cpp-compiler-location}\\xtensa-esp32-elf\\include\\c++\\8.4.0\\xtensa-esp32-elf", + "${LOCALAPPDATA}\\${config:cpp-compiler-location}\\xtensa-esp32-elf\\include\\c++\\8.4.0\\backward", + "${LOCALAPPDATA}\\${config:cpp-compiler-location}\\lib\\gcc\\xtensa-esp32-elf\\8.4.0\\include", + "${LOCALAPPDATA}\\${config:cpp-compiler-location}\\lib\\gcc\\xtensa-esp32-elf\\8.4.0\\include-fixed", + "${LOCALAPPDATA}\\${config:cpp-compiler-location}\\xtensa-esp32-elf\\sys-include", + "${LOCALAPPDATA}\\${config:cpp-compiler-location}\\xtensa-esp32-elf\\include" + ], + "forcedInclude": [ + "${LOCALAPPDATA}\\${config:arduino-esp32-include}\\cores\\esp32\\Arduino.h" + ], + "cStandard": "c11", + "cppStandard": "c++11", + "defines": [ + "HAVE_CONFIG_H", + "MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"", + "UNITY_INCLUDE_CONFIG_H", + "WITH_POSIX", + "_GNU_SOURCE", + "IDF_VER=\"v4.4.6-dirty\"", + "ESP_PLATFORM", + "_POSIX_READER_WRITER_LOCKS", + "F_CPU=240000000L", + "ARDUINO=10607", + "ARDUINO_ESP32_DEV", + "ARDUINO_ARCH_ESP32", + "ARDUINO_BOARD=\"ESP32_DEV\"", + "ARDUINO_VARIANT=\"esp32\"", + "ARDUINO_PARTITION_default", + "ESP32", + "CORE_DEBUG_LEVEL=0", + "BOARD_HAS_PSRAM", + "ARDUINO_USB_CDC_ON_BOOT=0", + "__DBL_MIN_EXP__=(-1021)", + "__FLT32X_MAX_EXP__=1024", + "__cpp_attributes=200809", + "__UINT_LEAST16_MAX__=0xffff", + "__ATOMIC_ACQUIRE=2", + "__FLT_MIN__=1.1754943508222875e-38F", + "__GCC_IEC_559_COMPLEX=0", + "__cpp_aggregate_nsdmi=201304", + "__UINT_LEAST8_TYPE__=unsigned char", + "__INTMAX_C(c)=c ## LL", + "__CHAR_BIT__=8", + "__UINT8_MAX__=0xff", + "__WINT_MAX__=0xffffffffU", + "__FLT32_MIN_EXP__=(-125)", + "__cpp_static_assert=200410", + "__ORDER_LITTLE_ENDIAN__=1234", + "__SIZE_MAX__=0xffffffffU", + "__WCHAR_MAX__=0xffff", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1", + "__DBL_DENORM_MIN__=double(4.9406564584124654e-324L)", + "__GCC_ATOMIC_CHAR_LOCK_FREE=2", + "__GCC_IEC_559=0", + "__FLT32X_DECIMAL_DIG__=17", + "__FLT_EVAL_METHOD__=0", + "__cpp_binary_literals=201304", + "__FLT64_DECIMAL_DIG__=17", + "__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2", + "__cpp_variadic_templates=200704", + "__UINT_FAST64_MAX__=0xffffffffffffffffULL", + "__SIG_ATOMIC_TYPE__=int", + "__DBL_MIN_10_EXP__=(-307)", + "__FINITE_MATH_ONLY__=0", + "__cpp_variable_templates=201304", + "__GNUC_PATCHLEVEL__=0", + "__FLT32_HAS_DENORM__=1", + "__UINT_FAST8_MAX__=0xffffffffU", + "__has_include(STR)=__has_include__(STR)", + "__DEC64_MAX_EXP__=385", + "__INT8_C(c)=c", + "__INT_LEAST8_WIDTH__=8", + "__UINT_LEAST64_MAX__=0xffffffffffffffffULL", + "__SHRT_MAX__=0x7fff", + "__LDBL_MAX__=1.7976931348623157e+308L", + "__UINT_LEAST8_MAX__=0xff", + "__GCC_ATOMIC_BOOL_LOCK_FREE=2", + "__UINTMAX_TYPE__=long long unsigned int", + "__DEC32_EPSILON__=1E-6DF", + "__FLT_EVAL_METHOD_TS_18661_3__=0", + "__CHAR_UNSIGNED__=1", + "__UINT32_MAX__=0xffffffffU", + "__GXX_EXPERIMENTAL_CXX0X__=1", + "__LDBL_MAX_EXP__=1024", + "__WINT_MIN__=0U", + "__INT_LEAST16_WIDTH__=16", + "__SCHAR_MAX__=0x7f", + "__WCHAR_MIN__=0", + "__INT64_C(c)=c ## LL", + "__DBL_DIG__=15", + "__GCC_ATOMIC_POINTER_LOCK_FREE=2", + "__SIZEOF_INT__=4", + "__SIZEOF_POINTER__=4", + "__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2", + "__USER_LABEL_PREFIX__", + "__STDC_HOSTED__=1", + "__LDBL_HAS_INFINITY__=1", + "__XTENSA_EL__=1", + "__FLT32_DIG__=6", + "__FLT_EPSILON__=1.1920928955078125e-7F", + "__GXX_WEAK__=1", + "__SHRT_WIDTH__=16", + "__LDBL_MIN__=2.2250738585072014e-308L", + "__DEC32_MAX__=9.999999E96DF", + "__cpp_threadsafe_static_init=200806", + "__FLT32X_HAS_INFINITY__=1", + "__INT32_MAX__=0x7fffffff", + "__INT_WIDTH__=32", + "__SIZEOF_LONG__=4", + "__UINT16_C(c)=c", + "__PTRDIFF_WIDTH__=32", + "__DECIMAL_DIG__=17", + "__FLT64_EPSILON__=2.2204460492503131e-16F64", + "__INTMAX_WIDTH__=64", + "__FLT64_MIN_EXP__=(-1021)", + "__has_include_next(STR)=__has_include_next__(STR)", + "__LDBL_HAS_QUIET_NAN__=1", + "__FLT64_MANT_DIG__=53", + "__GNUC__=8", + "__GXX_RTTI=1", + "__cpp_delegating_constructors=200604", + "__FLT_HAS_DENORM__=1", + "__SIZEOF_LONG_DOUBLE__=8", + "__BIGGEST_ALIGNMENT__=16", + "__STDC_UTF_16__=1", + "__FLT64_MAX_10_EXP__=308", + "__FLT32_HAS_INFINITY__=1", + "__DBL_MAX__=double(1.7976931348623157e+308L)", + "__cpp_raw_strings=200710", + "__INT_FAST32_MAX__=0x7fffffff", + "__DBL_HAS_INFINITY__=1", + "__DEC32_MIN_EXP__=(-94)", + "__INTPTR_WIDTH__=32", + "__FLT32X_HAS_DENORM__=1", + "__INT_FAST16_TYPE__=int", + "__LDBL_HAS_DENORM__=1", + "__cplusplus=201402L", + "__cpp_ref_qualifiers=200710", + "__DEC128_MAX__=9.999999999999999999999999999999999E6144DL", + "__INT_LEAST32_MAX__=0x7fffffff", + "__DEC32_MIN__=1E-95DF", + "__DEPRECATED=1", + "__cpp_rvalue_references=200610", + "__DBL_MAX_EXP__=1024", + "__WCHAR_WIDTH__=16", + "__FLT32_MAX__=3.4028234663852886e+38F32", + "__DEC128_EPSILON__=1E-33DL", + "__PTRDIFF_MAX__=0x7fffffff", + "__FLT32_HAS_QUIET_NAN__=1", + "__GNUG__=8", + "__LONG_LONG_MAX__=0x7fffffffffffffffLL", + "__SIZEOF_SIZE_T__=4", + "__cpp_rvalue_reference=200610", + "__cpp_nsdmi=200809", + "__SIZEOF_WINT_T__=4", + "__LONG_LONG_WIDTH__=64", + "__cpp_initializer_lists=200806", + "__FLT32_MAX_EXP__=128", + "__cpp_hex_float=201603", + "__GXX_ABI_VERSION=1013", + "__FLT_MIN_EXP__=(-125)", + "__cpp_lambdas=200907", + "__INT_FAST64_TYPE__=long long int", + "__FP_FAST_FMAF=1", + "__FLT64_DENORM_MIN__=4.9406564584124654e-324F64", + "__DBL_MIN__=double(2.2250738585072014e-308L)", + "__FLT32X_EPSILON__=2.2204460492503131e-16F32x", + "__FLT64_MIN_10_EXP__=(-307)", + "__DEC128_MIN__=1E-6143DL", + "__REGISTER_PREFIX__", + "__UINT16_MAX__=0xffff", + "__DBL_HAS_DENORM__=1", + "__FLT32_MIN__=1.1754943508222875e-38F32", + "__UINT8_TYPE__=unsigned char", + "__NO_INLINE__=1", + "__FLT_MANT_DIG__=24", + "__LDBL_DECIMAL_DIG__=17", + "__VERSION__=\"8.4.0\"", + "__UINT64_C(c)=c ## ULL", + "__cpp_unicode_characters=200704", + "__cpp_decltype_auto=201304", + "__GCC_ATOMIC_INT_LOCK_FREE=2", + "__FLT32_MANT_DIG__=24", + "__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__SCHAR_WIDTH__=8", + "__INT32_C(c)=c", + "__DEC64_EPSILON__=1E-15DD", + "__ORDER_PDP_ENDIAN__=3412", + "__DEC128_MIN_EXP__=(-6142)", + "__FLT32_MAX_10_EXP__=38", + "__INT_FAST32_TYPE__=int", + "__UINT_LEAST16_TYPE__=short unsigned int", + "__INT16_MAX__=0x7fff", + "__cpp_rtti=199711", + "__SIZE_TYPE__=unsigned int", + "__UINT64_MAX__=0xffffffffffffffffULL", + "__INT8_TYPE__=signed char", + "__cpp_digit_separators=201309", + "__ELF__=1", + "__xtensa__=1", + "__FLT_RADIX__=2", + "__INT_LEAST16_TYPE__=short int", + "__LDBL_EPSILON__=2.2204460492503131e-16L", + "__UINTMAX_C(c)=c ## ULL", + "__SIG_ATOMIC_MAX__=0x7fffffff", + "__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2", + "__SIZEOF_PTRDIFF_T__=4", + "__FLT32X_MANT_DIG__=53", + "__FLT32X_MIN_EXP__=(-1021)", + "__DEC32_SUBNORMAL_MIN__=0.000001E-95DF", + "__INT_FAST16_MAX__=0x7fffffff", + "__FLT64_DIG__=15", + "__UINT_FAST32_MAX__=0xffffffffU", + "__UINT_LEAST64_TYPE__=long long unsigned int", + "__FLT_HAS_QUIET_NAN__=1", + "__FLT_MAX_10_EXP__=38", + "__LONG_MAX__=0x7fffffffL", + "__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL", + "__FLT_HAS_INFINITY__=1", + "__cpp_unicode_literals=200710", + "__UINT_FAST16_TYPE__=unsigned int", + "__DEC64_MAX__=9.999999999999999E384DD", + "__INT_FAST32_WIDTH__=32", + "__CHAR16_TYPE__=short unsigned int", + "__PRAGMA_REDEFINE_EXTNAME=1", + "__SIZE_WIDTH__=32", + "__INT_LEAST16_MAX__=0x7fff", + "__DEC64_MANT_DIG__=16", + "__INT64_MAX__=0x7fffffffffffffffLL", + "__UINT_LEAST32_MAX__=0xffffffffU", + "__FLT32_DENORM_MIN__=1.4012984643248171e-45F32", + "__GCC_ATOMIC_LONG_LOCK_FREE=2", + "__SIG_ATOMIC_WIDTH__=32", + "__INT_LEAST64_TYPE__=long long int", + "__INT16_TYPE__=short int", + "__INT_LEAST8_TYPE__=signed char", + "__DEC32_MAX_EXP__=97", + "__INT_FAST8_MAX__=0x7fffffff", + "__INTPTR_MAX__=0x7fffffff", + "__cpp_sized_deallocation=201309", + "__cpp_range_based_for=200907", + "__FLT64_HAS_QUIET_NAN__=1", + "__FLT32_MIN_10_EXP__=(-37)", + "__EXCEPTIONS=1", + "__LDBL_MANT_DIG__=53", + "__DBL_HAS_QUIET_NAN__=1", + "__FLT64_HAS_INFINITY__=1", + "__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)", + "__cpp_return_type_deduction=201304", + "__INTPTR_TYPE__=int", + "__UINT16_TYPE__=short unsigned int", + "__WCHAR_TYPE__=short unsigned int", + "__SIZEOF_FLOAT__=4", + "__UINTPTR_MAX__=0xffffffffU", + "__INT_FAST64_WIDTH__=64", + "__DEC64_MIN_EXP__=(-382)", + "__cpp_decltype=200707", + "__FLT32_DECIMAL_DIG__=9", + "__INT_FAST64_MAX__=0x7fffffffffffffffLL", + "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1", + "__FLT_DIG__=6", + "__UINT_FAST64_TYPE__=long long unsigned int", + "__INT_MAX__=0x7fffffff", + "__INT64_TYPE__=long long int", + "__FLT_MAX_EXP__=128", + "__DBL_MANT_DIG__=53", + "__cpp_inheriting_constructors=201511", + "__INT_LEAST64_MAX__=0x7fffffffffffffffLL", + "__FP_FAST_FMAF32=1", + "__DEC64_MIN__=1E-383DD", + "__WINT_TYPE__=unsigned int", + "__UINT_LEAST32_TYPE__=unsigned int", + "__SIZEOF_SHORT__=2", + "__LDBL_MIN_EXP__=(-1021)", + "__FLT64_MAX__=1.7976931348623157e+308F64", + "__WINT_WIDTH__=32", + "__INT_LEAST8_MAX__=0x7f", + "__FLT32X_MAX_10_EXP__=308", + "__WCHAR_UNSIGNED__=1", + "__LDBL_MAX_10_EXP__=308", + "__ATOMIC_RELAXED=0", + "__DBL_EPSILON__=double(2.2204460492503131e-16L)", + "__XTENSA_WINDOWED_ABI__=1", + "__UINT8_C(c)=c", + "__FLT64_MAX_EXP__=1024", + "__INT_LEAST32_TYPE__=int", + "__SIZEOF_WCHAR_T__=2", + "__INT_FAST8_TYPE__=int", + "__GNUC_STDC_INLINE__=1", + "__FLT64_HAS_DENORM__=1", + "__FLT32_EPSILON__=1.1920928955078125e-7F32", + "__DBL_DECIMAL_DIG__=17", + "__STDC_UTF_32__=1", + "__INT_FAST8_WIDTH__=32", + "__DEC_EVAL_METHOD__=2", + "__FLT32X_MAX__=1.7976931348623157e+308F32x", + "__XTENSA__=1", + "__ORDER_BIG_ENDIAN__=4321", + "__cpp_runtime_arrays=198712", + "__UINT64_TYPE__=long long unsigned int", + "__UINT32_C(c)=c ## U", + "__INTMAX_MAX__=0x7fffffffffffffffLL", + "__cpp_alias_templates=200704", + "__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__FLT_DENORM_MIN__=1.4012984643248171e-45F", + "__INT8_MAX__=0x7f", + "__LONG_WIDTH__=32", + "__UINT_FAST32_TYPE__=unsigned int", + "__CHAR32_TYPE__=unsigned int", + "__FLT_MAX__=3.4028234663852886e+38F", + "__cpp_constexpr=201304", + "__INT32_TYPE__=int", + "__SIZEOF_DOUBLE__=8", + "__cpp_exceptions=199711", + "__FLT_MIN_10_EXP__=(-37)", + "__FLT64_MIN__=2.2250738585072014e-308F64", + "__INT_LEAST32_WIDTH__=32", + "__INTMAX_TYPE__=long long int", + "__DEC128_MAX_EXP__=6145", + "__FLT32X_HAS_QUIET_NAN__=1", + "__ATOMIC_CONSUME=1", + "__GNUC_MINOR__=4", + "__INT_FAST16_WIDTH__=32", + "__UINTMAX_MAX__=0xffffffffffffffffULL", + "__DEC32_MANT_DIG__=7", + "__FLT32X_DENORM_MIN__=4.9406564584124654e-324F32x", + "__DBL_MAX_10_EXP__=308", + "__LDBL_DENORM_MIN__=4.9406564584124654e-324L", + "__INT16_C(c)=c", + "__cpp_generic_lambdas=201304", + "__STDC__=1", + "__FLT32X_DIG__=15", + "__PTRDIFF_TYPE__=int", + "__ATOMIC_SEQ_CST=5", + "__UINT32_TYPE__=unsigned int", + "__FLT32X_MIN_10_EXP__=(-307)", + "__UINTPTR_TYPE__=unsigned int", + "__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD", + "__DEC128_MANT_DIG__=34", + "__LDBL_MIN_10_EXP__=(-307)", + "__SIZEOF_LONG_LONG__=8", + "__cpp_user_defined_literals=200809", + "__GCC_ATOMIC_LLONG_LOCK_FREE=1", + "__FLT32X_MIN__=2.2250738585072014e-308F32x", + "__LDBL_DIG__=15", + "__FLT_DECIMAL_DIG__=9", + "__UINT_FAST16_MAX__=0xffffffffU", + "__GCC_ATOMIC_SHORT_LOCK_FREE=2", + "__INT_LEAST64_WIDTH__=64", + "__UINT_FAST8_TYPE__=unsigned int", + "__cpp_init_captures=201304", + "__ATOMIC_ACQ_REL=4", + "__ATOMIC_RELEASE=3", + "USBCON" + ] + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a06d518 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,78 @@ +{ + "projectName": "src", + "ota-password" : "homespan-ota", + "ota-host" : "homespan.local", + "ota-port" : "3232", + "arduino-esp32-version": "2.0.14", + "arduino-cli-location" : "%USERPROFILE%\\Documents\\arduino-cli\\arduino-cli.exe", + "arduino-cli-fqbn" : "esp32:esp32:esp32wrover", + "arduino-cli-compile-flags" : "-DADD_YOUR_COMPILE_FLAGS", + "arduino-cli-build-output" : "${workspaceFolder}\\build_output", + "arduino-esp32-include" : "Arduino15\\packages\\esp32\\hardware\\esp32\\${config:arduino-esp32-version}", + "esp-tool-location" : "%LOCALAPPDATA%\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5.1\\esptool.exe", + "cpp-compiler-location" : "Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\esp-2021r2-patch5-8.4.0", + "C_Cpp.default.compilerPath": "%LOCALAPPDATA%\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\esp-2021r2-patch5-8.4.0\\bin\\xtensa-esp32-elf-g++", + "arduino.enableUSBDetection": true, + "arduino.disableTestingOpen": false, + "arduino.skipHeaderProvider": false, + "arduino.additionalUrls": [ + "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" + ], + "idf.portWin": "COM3", + "idf.flashType": "UART", + "files.associations": { + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "string": "cpp", + "unordered_map": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "optional": "cpp", + "random": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "cmath": "cpp", + "istream": "cpp", + "numeric": "cpp", + "ostream": "cpp", + "regex": "cpp", + "utility": "cpp", + "bitset": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "compare": "cpp", + "concepts": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "list": "cpp", + "map": "cpp", + "vector": "cpp", + "exception": "cpp", + "iterator": "cpp", + "string_view": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "limits": "cpp", + "new": "cpp", + "ranges": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "cinttypes": "cpp", + "typeinfo": "cpp" + }, + "cmake.configureOnOpen": false + } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..3705edd --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,147 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Compile", + "type": "shell", + "command": "${config:arduino-cli-location}", + "args": [ + "compile", + "--fqbn", + "${config:arduino-cli-fqbn}", + "--config-file", + "${workspaceFolder}\\.vscode\\arduino.yaml", + "--build-property", + "compiler.cpp.extra_flags=\"${config:arduino-cli-compile-flags}\"", + "--build-path", + "${config:arduino-cli-build-output}", + "--verbose", + "${workspaceFolder}\\src\\${config:projectName}.ino" + ], + "options": { + "shell": { + "executable": "cmd.exe", + "args": [ + "/c" + ] + } + }, + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": { + "base": "$gcc", + "fileLocation": "absolute" + } + }, + { + "label": "OTA Upload", + "type": "shell", + "command": "python", + "args": [ + "%LOCALAPPDATA%\\Arduino15\\packages\\esp32\\hardware\\esp32\\${config:arduino-esp32-version}\\tools\\espota.py", + "-i", + "${config:ota-host}", + "-p", + "${config:ota-port}", + "-a", + "${config:ota-password}", + "-f", + "${config:arduino-cli-build-output}\\${config:projectName}.ino.bin", + "-r" + ], + "options": { + "shell": { + "executable": "cmd.exe", + "args": [ + "/c" + ] + } + }, + "problemMatcher": [ + "$espIdf" + ] + }, + { + "label": "COM Upload app only", + "type": "shell", + "command": "${config:esp-tool-location}", + "args": [ + "--chip", + "esp32", + "--port", + "${config:idf.portWin}", + "--baud", + "115200", + "--before", + "default_reset", + "--after", + "hard_reset", + "write_flash", + "-z", + "--flash_mode", + "dio", + "--flash_size", + "detect", + "--flash_freq", + "keep", + "0x10000", + "${config:arduino-cli-build-output}\\${config:projectName}.ino.bin" + ], + "options": { + "shell": { + "executable": "cmd.exe", + "args": [ + "/c" + ] + } + }, + "problemMatcher": [] + }, + { + "label": "COM Upload with partitions", + "type": "shell", + "command": "${config:esp-tool-location}", + "args": [ + "--chip", + "esp32", + "--port", + "${config:idf.portWin}", + "--baud", + "115200", + "--before", + "default_reset", + "--after", + "hard_reset", + "write_flash", + "-z", + "--flash_mode", + "dio", + "--flash_size", + "detect", + "--flash_freq", + "keep", + "0x1000", + "${config:arduino-cli-build-output}\\${config:projectName}.ino.bootloader.bin", + "0x8000", + "${config:arduino-cli-build-output}\\${config:projectName}.ino.partitions.bin", + "0xe000", + "%LOCALAPPDATA%\\Arduino15\\packages\\esp32\\hardware\\esp32\\${config:arduino-esp32-version}\\tools\\partitions\\boot_app0.bin", + "0x10000", + "${config:arduino-cli-build-output}\\${config:projectName}.ino.bin" + ], + "options": { + "shell": { + "executable": "cmd.exe", + "args": [ + "/c" + ] + } + }, + "problemMatcher": [] + } + ] + } \ No newline at end of file diff --git a/docs/UsingVSCode.md b/docs/UsingVSCode.md new file mode 100644 index 0000000..ff5546c --- /dev/null +++ b/docs/UsingVSCode.md @@ -0,0 +1,87 @@ + +# Using VSCode +*Experimental support for VSCode*. +1. [Pre-requisites](#pre-requisites) +1. [Configuration](#configuration) +1. [Building](#building) +1. [Flashing](#flashing) +1. [Known Issues](#known-issues) + 1. [arduino-cli.yaml](#arduino-cliyaml) + 1. [Defines specific to boards](#defines-specific-to-boards) + 1. [Intellisense](#intellisense) + 1. [Folder name must match .ino filename](#folder-name-must-match-ino-filename) + +## Pre-requisites +- arduino-cli, from https://arduino.github.io/arduino-cli/ +- Microsoft [VSCode](https://code.visualstudio.com/download), with the following extensions + - Arduino + - C/C++ + - C/C++ Extension Pack + - C/C++ Themes (optional ??) + - Espressif IDF (for compilation problemMatcher, and maybe more??) + +## Configuration +- Edit the file `.vscode/settings.json` and modify the following variables to match your development environment: + +|Setting name|Description| +|------------|-----------| +|ota-password|Password for Over-The-Air updates| +|ota-host|Hostname or IP address for OTA updates| +|ota-port|Port for OTA updates| +|arduino-esp32-version|Version of Arduino package `esp32:esp32`| +|arduino-cli-location|Full path to `arduino-cli.exe` / `arduino-cli`| +|arduino-cli-fqbn|ESP32 FQBN, such as `esp32:esp32:esp32wrover`| +|arduino-cli-compile-flags|Your own *define* compilation flags, such as `-DADD_YOUR_COMPILE_FLAGS`| +|arduino-cli-build-output|Arduino build output location, such as `${workspaceFolder}\\build_output`| +|arduino-esp32-include|Relative-to-AppData location to ESP32 Arduino include folder root| +|esp-tool-location|Full path to `esptool.exe` (Windows) / `esptool` (Linux)| +|cpp-compiler-location|Path to Arduino compiler to use| + +## Building +Just hit `[Ctrl-Alt-b]`, which is the default keyboard shortcut in VSCode to *build* a project. + +## Flashing +To flash / upload the compiled project to the board, *Tasks* have been defined in `tasks.json`. +To run a task, hit `Ctrl-p [space]` and the following *Tasks* will be available to chose from. + +*TIP*: Find your preferred method, such as OTA Upload, and set a keyboard shortcut such as `Ctrl-Alt-9` which is unused by VSCode by default. + +|Task name|Description| +|---------|-----------| +|Compile |Same as hitting `[Ctrl-Alt-b]` or _Verify_ in Arduino IDE| +|COM Upload App only|Upload via UART, but only the application binary (faster, but not always 100% working), not sure why.| +|COM Upload with partitions|Upload all partitions via UART, including the app. Stable method to upload via USB.| +|OTA Upload|Over The Air Upload. Stable.| +| | | + +## Known Issues +### arduino-cli.yaml +It is unclear whether the content of this file has any impact whatsoever. + +### Defines specific to boards +At the moment, `.vscode\c_cpp_properties.json` contains a massive `defines` array which was automatically generated by the _Arduino VSCode Extension_ itself, *for my board only*. +You may have to replace the array with the values respective to your own ESP32 board. +### Intellisense +There seems to be variable replacement issues with Intellisense. +At the moment, in `.vscode\c_cpp_properties.json`, trying to replace this: +``` + "arduino-esp32-version": "2.0.14", + "arduino-esp32-location" : "Arduino15\\packages\\esp32", + "arduino-esp32-include" : "Arduino15\\packages\\esp32\\hardware\\esp32\\${config:arduino-esp32-version}", +``` +with a more simplied version such as this: +``` + "arduino-esp32-version": "2.0.14", + "arduino-esp32-location" : "Arduino15\\packages\\esp32", + "arduino-esp32-include" : "${config:arduino-esp32-location}\\hardware\\esp32\\${config:arduino-esp32-version}", +``` +.. in order to reuse `arduino-esp32-location` in other configuration values will result in Intellisense not finding, among others, `Arduino.h`. +### Folder name must match .ino filename +While it would make sense to rename `src.ino` to something like `HomeSpanDemo.ino`, doing so will fail in +building the project. An error like the following will occur: +``` +Can't open sketch: main file missing from sketch: C:\Users\JohnDoe\Documents\HomeSpan\src\src.ino +``` +There seems to be a limitation where the `.ino` base filename has to match the folder name it is in. +Meaning if we'd want to use `HomeSpanDemo.ino`, the folder name the file is in would have to be +renamed from `src\` to `HomeSpanDemo\`. \ No newline at end of file