feat: 更新第九章

This commit is contained in:
fishros
2025-02-22 20:45:21 +08:00
parent 497be290f4
commit 2738b34dc1
225 changed files with 42292 additions and 10 deletions

1
chapt9/example_imu/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,513 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/example_imu/include",
"/home/fishros/chapt9/example_imu/src",
"/home/fishros/chapt9/example_imu/.pio/libdeps/fishbot/MPU6050_light/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/example_imu/include",
"/home/fishros/chapt9/example_imu/src",
"/home/fishros/chapt9/example_imu/.pio/libdeps/fishbot/MPU6050_light/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
""
]
},
"defines": [
"PLATFORMIO=60116",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

44
chapt9/example_imu/.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/example_imu/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/example_imu/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/example_imu/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,14 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps = http://github.fishros.org/https://github.com/fishros/MPU6050_light.git

View File

@@ -0,0 +1,55 @@
/* Get all possible data from MPU6050
* Accelerometer values are given as multiple of the gravity [1g = 9.81 m/s²]
* Gyro values are given in deg/s
* Angles are given in degrees
* Note that X and Y are tilt angles and not pitch/roll.
*
* License: MIT
*/
#include "Wire.h"
#include <MPU6050_light.h>
MPU6050 mpu(Wire);
void setup() {
Serial.begin(115200);
Wire.begin(18,19); // sda, scl
byte status = mpu.begin();
Serial.print(F("MPU6050 status: "));
Serial.println(status);
while(status!=0){ } // stop everything if could not connect to MPU6050
Serial.println(F("Calculating offsets, do not move MPU6050"));
delay(1000);
mpu.calcOffsets(true,true); // gyro and accelero
Serial.println("Done!\n");
}
unsigned long timer = 0;
void loop() {
mpu.update();
if(millis() - timer > 1000){ // print data every second
Serial.print(F("TEMPERATURE: "));Serial.println(mpu.getTemp());
Serial.print(F("ACCELERO X: "));Serial.print(mpu.getAccX());
Serial.print("\tY: ");Serial.print(mpu.getAccY());
Serial.print("\tZ: ");Serial.println(mpu.getAccZ());
Serial.print(F("GYRO X: "));Serial.print(mpu.getGyroX());
Serial.print("\tY: ");Serial.print(mpu.getGyroY());
Serial.print("\tZ: ");Serial.println(mpu.getGyroZ());
Serial.print(F("ACC ANGLE X: "));Serial.print(mpu.getAccAngleX());
Serial.print("\tY: ");Serial.println(mpu.getAccAngleY());
Serial.print(F("ANGLE X: "));Serial.print(mpu.getAngleX());
Serial.print("\tY: ");Serial.print(mpu.getAngleY());
Serial.print("\tZ: ");Serial.println(mpu.getAngleZ());
Serial.println(F("=====================================================\n"));
timer = millis();
}
}

View File

@@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

1
chapt9/example_led/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,511 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/example_led/include",
"/home/fishros/chapt9/example_led/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/example_led/include",
"/home/fishros/chapt9/example_led/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
]
},
"defines": [
"PLATFORMIO=60116",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

44
chapt9/example_led/.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/example_led/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/example_led/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/example_led/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,13 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino

View File

@@ -0,0 +1,13 @@
#include <Arduino.h>
void setup()
{
pinMode(2, OUTPUT); // 设置2号引脚模式为OUTPUT模式
}
void loop()
{
digitalWrite(2, LOW); // 低电平打开LED灯
delay(100);
// 休眠1000ms
digitalWrite(2, HIGH); // 高电平关闭LED灯
delay(100);
}

View File

@@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

1
chapt9/example_project/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,511 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/example_project/include",
"/home/fishros/chapt9/example_project/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/example_project/include",
"/home/fishros/chapt9/example_project/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
]
},
"defines": [
"PLATFORMIO=60116",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/example_project/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/example_project/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/example_project/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,13 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino

View File

@@ -0,0 +1,13 @@
#include <Arduino.h>
// setup 函数,启动时调用一次
void setup()
{
Serial.begin(115200); // 设置串口波特率
}
// loop 函数setup 后会被重复调用
void loop()
{
Serial.printf("Hello World!\n"); // 打印Hello World!
delay(100); // 延时函数,单位 ms
}

View File

@@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

1
chapt9/example_ultrasound/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,513 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/example_ultrasound/include",
"/home/fishros/chapt9/example_ultrasound/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/chapt9/example_ultrasound/lib/PidController",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/example_ultrasound/include",
"/home/fishros/chapt9/example_ultrasound/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/chapt9/example_ultrasound/lib/PidController",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
]
},
"defines": [
"PLATFORMIO=60116",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/example_ultrasound/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/example_ultrasound/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/example_ultrasound/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,30 @@
#ifndef __PID_CONTROLLER_H__
#define __PID_CONTROLLER_H__
class PidController
{
public:
PidController() = default;
PidController(float kp, float ki, float kd, float dt);
private:
float target_;
float kp_;
float ki_;
float kd_;
// pid
float error_;
float error_sum_;
float derror_;
float prev_error_;
float intergral_up_ = 2500; // 积分上限
public:
float update(float current); // 提供当前值返回下次输出值也就是PID的结果
}
#endif // __PID_CONTROLLER_H__

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,13 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino

View File

@@ -0,0 +1,24 @@
#include <Arduino.h>
#define TRIG 27
#define ECHO 21
void setup()
{
Serial.begin(115200); // 初始化串口
pinMode(2, OUTPUT); // 设置2号引脚模式为OUTPUT模式
pinMode(TRIG, OUTPUT); // 设置TRIG引脚为输出模式
pinMode(ECHO, INPUT); // 设置ECHO引脚为输入模式
}
void loop()
{
// 啊一下产生一个10微秒的高电平
digitalWrite(TRIG, HIGH);
delayMicroseconds(10); // 延时 10 微秒
digitalWrite(TRIG, LOW);
// 读取ECHO引脚的高电平持续时间
double delta_time = pulseIn(ECHO, HIGH); // 检测高电平持续时间注意返回值是微秒us
float detect_distance = delta_time * 0.0343 / 2; // 计算距离单位 cm, 声速 0.0343
Serial.printf("distance=%f cm\n", detect_distance); // 打印距离
delay(500); // 延时 1 秒
}

View File

@@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,531 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/fishbot_motion_control/include",
"/home/fishros/chapt9/fishbot_motion_control/src",
"/home/fishros/chapt9/fishbot_motion_control/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/libmicroros/include",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino/wifi",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/fishbot_motion_control/include",
"/home/fishros/chapt9/fishbot_motion_control/src",
"/home/fishros/chapt9/fishbot_motion_control/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/libmicroros/include",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino/wifi",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
]
},
"defines": [
"PLATFORMIO=60117",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
"MICRO_ROS_TRANSPORT_ARDUINO_WIFI=1",
"MICRO_ROS_DISTRO_HUMBLE =1",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/fishbot_motion_control/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/fishbot_motion_control/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/fishbot_motion_control/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,5 @@
{
"files.associations": {
"cmath": "cpp"
}
}

View File

@@ -0,0 +1,4 @@
一圈 1930 个脉冲数
轮子的直径是 65mm
轮子转一圈是 65*PI
那么一个脉冲数,相当于走了多远距离 65*PI/1930 0.105805 mm

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,89 @@
#include "Kinematics.h"
// 设置轮子的间距
void Kinematics::set_wheel_distance(float distance)
{
wheel_distance = distance;
}
void Kinematics::set_motor_param(uint8_t id, float per_pluse_distance)
{
motor_param[id].per_pulse_distance = per_pluse_distance;
}
// 运动学正解,将左右轮的速度转换成线速度和角速度
void Kinematics::kinematics_forward(float left_speed, float right_speed, float *out_linear_speed, float *out_angular_speed)
{
*out_linear_speed = (left_speed + right_speed) / 2;
*out_angular_speed = (right_speed - left_speed) / wheel_distance;
}
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void Kinematics::kinematics_inverse(float linear_speed, float angular_speed, float *out_left_speed, float *out_right_speed)
{
*out_left_speed = linear_speed - angular_speed * wheel_distance / 2;
*out_right_speed = linear_speed + angular_speed * wheel_distance / 2;
}
// 输入:左右轮脉冲数,当前时间,输出更新电机速度和编码器数据
void Kinematics::update_motor_speed(uint64_t current_time, int32_t left_tick, int32_t right_tick)
{
int16_t dt = current_time - last_update_time; // ms
delta_ticks[0] = left_tick - motor_param[0].last_encoder_ticks;
delta_ticks[1] = right_tick - motor_param[1].last_encoder_ticks;
motor_param[0].motor_speed = (delta_ticks[0] * 105.805) / dt;
motor_param[1].motor_speed = (delta_ticks[1] * 105.805) / dt;
// 为了下次还可以正常的计算速度
motor_param[0].last_encoder_ticks = left_tick;
motor_param[1].last_encoder_ticks = right_tick;
last_update_time = current_time;
update_odom(dt);
}
// 获取电机速度,返回值是速度
int16_t Kinematics::get_motor_speed(uint8_t id)
{
if (id < 0 || id > 1)
{
return -1;
}
return motor_param[id].motor_speed;
}
odom_t& Kinematics::get_odom()
{
return odom;
}
void Kinematics::TransAngleInPI(float angle,float& out_angle)
{
if(angle>PI)
{
out_angle -= 2*PI;
}else if (angle<-PI)
{
out_angle += 2*PI;
}
}
void Kinematics::update_odom(uint16_t dt)
{
float dt_s = float(dt)/1000.0; // ms -> s
// 获取实时的角速度和线速度呢?我们拿左右轮实时的速度,进行运动学正解
this->kinematics_forward(motor_param[0].motor_speed,motor_param[1].motor_speed,&odom.linear_speed,&odom.angular_speed);
// 计算里程计信息
odom.linear_speed = odom.linear_speed/1000.0; // 转换成米每秒
// 角度积分
odom.angle += odom.angular_speed*dt_s;
TransAngleInPI(odom.angle,odom.angle);
// 计算机器人行走的距离(沿自身前进方向的)
float delta_distance = odom.linear_speed * dt_s;
// 分解到X轴和Y轴
odom.x += delta_distance * std::cos(odom.angle);
odom.y += delta_distance * std::sin(odom.angle);
}

View File

@@ -0,0 +1,57 @@
#ifndef __KINEMATICS_H__
#define __KINEMATICS_H__
#include "Arduino.h"
typedef struct
{
float per_pulse_distance; // 每个脉冲的前进的距离
int16_t motor_speed; // 单位用mm/s
int64_t last_encoder_ticks; // 上一次点击的编码器读数
} motor_param_t;
typedef struct {
float x;
float y;
float angle;
float linear_speed;
float angular_speed;
}odom_t;
/**
* 1. 运动学正逆解(两个轮子的实时速度->当前实时的角速度和线速度 / 当前目标的角速度和线速度->两个轮子的目标速度)
*
*/
class Kinematics
{
private:
/* data */
motor_param_t motor_param[2];
int16_t delta_ticks[2] = {0, 0}; // 用于存储上一次读取的编码器数值
uint64_t last_update_time = 0; // 用于存储上一次更新电机速度的时间,计算速度的时候使用
float wheel_distance = 0.0; // 两个轮子之间的距离
odom_t odom; // 用于存储里程计信息
public:
Kinematics(/* args */) = default;
~Kinematics() = default;
odom_t& get_odom();
void update_odom(uint16_t dt);
void TransAngleInPI(float angle,float& out_angle);
void set_wheel_distance(float distance); // 设置轮子的间距
void set_motor_param(uint8_t id,float per_pluse_distance);
// 运动学正解,将左右轮的速度转换成线速度和角速度
void kinematics_forward(float left_speed,float right_speed,float* out_linear_speed,float* out_angular_speed);
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void kinematics_inverse(float linear_speed,float angular_speed,float* out_left_speed,float* out_right_speed);
// 更新点击速度和编码器数据
void update_motor_speed(uint64_t current_time,int32_t left_tick,int32_t right_tick);
// 获取电机速度,返回值是速度
int16_t get_motor_speed(uint8_t id);
};
#endif // __KINEMATICS_H__

View File

@@ -0,0 +1,64 @@
#include "Arduino.h"
#include "PidController.h"
// 构造函数传入三个PID参数
PidController::PidController(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
float PidController::update(float current)
{
error_ = target_ - current; // 计算error
error_sum_ += error_; // 计算error_sum,同时限制积分上下限
if (error_sum_ > intergral_up_)
error_sum_ = intergral_up_;
if (error_sum_ < -1 * intergral_up_)
error_sum_ = -1 * intergral_up_;
derror_ = prev_error_ - error_; // 计算误差变化率
prev_error_ = error_; // 方便下次计算使用
float output = kp_ * error_ + ki_ * error_sum_ + kd_ * derror_;
if (output > out_max_)
output = out_max_;
if (output < out_min_)
output = out_min_;
return output;
}
void PidController::update_target(float target)
{
target_ = target;
}
void PidController::update_pid(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
void PidController::reset()
{
error_sum_ = 0;
prev_error_ = 0;
error_ = 0;
derror_ = 0;
kp_ = 0;
ki_ = 0;
kd_ = 0;
intergral_up_ = 2500;
out_min_ = 0;
out_max_ = 0;
}
void PidController::out_limit(float min, float max)
{
out_min_ = min;
out_max_ = max;
}

View File

@@ -0,0 +1,33 @@
#ifndef __PID_CONTROLLER_H__
#define __PID_CONTROLLER_H__
class PidController
{
public:
PidController() = default;
PidController(float kp, float ki, float kd);
private:
// PID 参数,可以调节的
float target_;
float out_min_;
float out_max_;
float kp_;
float ki_;
float kd_;
float intergral_up_ = 2500; // 积分上限
// pid 中间过程值
float error_;
float error_sum_;
float derror_;
float prev_error_;
public:
float update(float current); // 提供当前值返回下次输出值也就是PID的结果
void update_target(float target); // 更新目标值
void update_pid(float kp, float ki, float kd); // 更新PID参数
void reset(); // 重置PID
void out_limit(float min, float max); // 设置输出限制
};
#endif // __PID_CONTROLLER_H__

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,19 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino
board_microros_transport = wifi
monitor_speed = 115200
lib_deps =
http://github.fishros.org/https://github.com/fishros/Esp32McpwmMotor.git
http://github.fishros.org/https://github.com/fishros/Esp32PcntEncoder.git
https://gitee.com/ohhuo/micro_ros_platformio.git

View File

@@ -0,0 +1,152 @@
#include <Arduino.h>
#include <Esp32PcntEncoder.h>
#include <Esp32McpwmMotor.h>
#include <PidController.h>
#include <Kinematics.h>
// 引入Microros和wifi相关的库
#include <WiFi.h>
#include <micro_ros_platformio.h>
#include <rcl/rcl.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>
#include <geometry_msgs/msg/twist.h> // 消息接口
#include <nav_msgs/msg/odometry.h> // 里程计消息接口
#include <micro_ros_utilities/string_utilities.h> // 引入字符串内存分配初始化工具
// 声明一些相关的结构体对象
rcl_allocator_t allocator; // 内存分配器,用于动态内存分配管理
rclc_support_t support; // 用于存储时钟,内存分配器和上下文,用于提供支持
rclc_executor_t executor; // 执行器,用于管理订阅和计时器回调的执行
rcl_node_t node; // 节点,用于创建节点
rcl_subscription_t sub_cmd_vel; // 创建一个订阅者
geometry_msgs__msg__Twist msg_cmd_vel; // 订阅到的数据存储到这里
rcl_publisher_t pub_odom; // 创建一个里程计发布者
nav_msgs__msg__Odometry msg_odom; // 里程计消息存储到这里
rcl_timer_t timer; // 定时器,可以定时调用某个函数
Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器
Esp32McpwmMotor motor; // 创建一个名为motor的对象用于控制电机
PidController pid_controller[2];
Kinematics kinematics;
float target_linear_speed = 0.0; // 单位 毫米每秒
float target_angular_speed = 0.0; // 单位 弧度每秒
float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度
float out_right_speed = 0.0;
// 定时器的回调函数
void timer_callback(rcl_timer_t* timer,int64_t last_call_time)
{
// 完成里程计的发布
odom_t odom = kinematics.get_odom(); // 获取当前的里程计
int64_t stamp = rmw_uros_epoch_millis(); // 获取当前的时间
msg_odom.header.stamp.sec = static_cast<int32_t>(stamp/1000); // 秒部分
msg_odom.header.stamp.nanosec = static_cast<int32_t>((stamp%1000)*1e6); // 纳秒部分
msg_odom.pose.pose.position.x = odom.x;
msg_odom.pose.pose.position.y = odom.y;
msg_odom.pose.pose.orientation.w = cos(odom.angle*0.5);
msg_odom.pose.pose.orientation.x = 0;
msg_odom.pose.pose.orientation.y = 0;
msg_odom.pose.pose.orientation.z = sin(odom.angle*0.5);
msg_odom.twist.twist.linear.x = odom.linear_speed;
msg_odom.twist.twist.angular.z = odom.angular_speed;
// 发布里程计,把数据发出去
if(rcl_publish(&pub_odom,&msg_odom,NULL)!=RCL_RET_OK)
{
Serial.println("error: odom pub failed!");
}
}
void twist_callback(const void * msg_in)
{
// 将受到的消息指针转换成 geometry_msgs__msg__Twist 类型的指针
const geometry_msgs__msg__Twist* msg = (const geometry_msgs__msg__Twist*)msg_in;
target_linear_speed = msg->linear.x * 1000;
target_angular_speed = msg->angular.z;
kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed);
Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed);
pid_controller[0].update_target(out_left_speed);
pid_controller[1].update_target(out_right_speed);
}
// 单独创建一个任务运行 micro-ROS 相当于一个线程
void microros_task(void *args)
{
// 1.设置传输协议并延迟一段时间等待设置的完成
IPAddress agent_ip;
agent_ip.fromString("192.168.1.103"); // 设置agent的IP地址
set_microros_wifi_transports("fishros", "88888888", agent_ip, 8888); // 设置传输协议
delay(3000); // 等待2秒,等待WIFI连接
// 2.初始化内存分配器
allocator = rcl_get_default_allocator(); // 获取默认的内存分配器
// 3.初始化支持
rclc_support_init(&support, 0, NULL, &allocator); // 初始化支持
// 4.初始化节点
rclc_node_init_default(&node, "fishbot_motion_control", "", &support); // 初始化节点
// 5.初始化执行器
unsigned int num_handles = 2; // 订阅和计时器的回调数量,注意这是一个要改的参数
rclc_executor_init(&executor, &support.context, num_handles, &allocator); // 初始化执行器
// 初始化订阅者,并将其添加到执行其中
rclc_subscription_init_best_effort(&sub_cmd_vel,&node, ROSIDL_GET_MSG_TYPE_SUPPORT(geometry_msgs,msg,Twist),"/cmd_vel");
rclc_executor_add_subscription(&executor,&sub_cmd_vel,&msg_cmd_vel,&twist_callback,ON_NEW_DATA);
// 初始化msg
msg_odom.header.frame_id = micro_ros_string_utilities_set(msg_odom.header.frame_id, "odom");
msg_odom.child_frame_id = micro_ros_string_utilities_set(msg_odom.child_frame_id, "base_footprint");
// 初始化发布者和定时器
rclc_publisher_init_best_effort(&pub_odom,&node,ROSIDL_GET_MSG_TYPE_SUPPORT(nav_msgs,msg,Odometry),"/odom");
rclc_timer_init_default(&timer,&support,RCL_MS_TO_NS(50),timer_callback);
rclc_executor_add_timer(&executor,&timer);
// 时间同步
while (!rmw_uros_epoch_synchronized())
{
rmw_uros_sync_session(1000);
delay(10);
}
// 循环执行器
rclc_executor_spin(&executor);
}
// v=w*r
// r = v/w = 0.05/0.1 = 0.5 0.02/0.1 = 0.2 m
void setup()
{
// 初始化串口
Serial.begin(115200); // 初始化串口通信设置通信速率为115200
// 初始化电机驱动器
motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23
motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13
// 初始化编码器
encoders[0].init(0, 32, 33); // 初始化第一个编码器使用GPIO 32和33连接
encoders[1].init(1, 26, 25); // 初始化第二个编码器使用GPIO 26和25连接
// 初始化PID控制器的参数
pid_controller[0].update_pid(0.625, 0.125, 0.0);
pid_controller[1].update_pid(0.625, 0.125, 0.0);
pid_controller[0].out_limit(-100, 100);
pid_controller[1].out_limit(-100, 100);
// 初始化运动学参数
kinematics.set_wheel_distance(175); // mm
kinematics.set_motor_param(0, 0.105805);
kinematics.set_motor_param(1, 0.105805);
// 测试下运动学逆解
// 创建一个任务运行 micro-ROS
xTaskCreate(microros_task, "microros_task", 10240, NULL, 1, NULL);
}
void loop()
{
delay(10); // 等待10毫秒
kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks()); // 记得调用更新电机速度函数
motor.updateMotorSpeed(0, pid_controller[0].update(
kinematics.get_motor_speed(0)));
motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(1)));
// Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1));
// Serial.printf("x,y,yaw=%f,%f,%f\n", kinematics.get_odom().x, kinematics.get_odom().y, kinematics.get_odom().angle);
}

View File

@@ -0,0 +1,91 @@
#include <Arduino.h>
#include <Esp32PcntEncoder.h>
#include <Esp32McpwmMotor.h>
#include <PidController.h>
#include <Kinematics.h>
// 引入Microros和wifi相关的库
#include <WiFi.h>
#include <micro_ros_platformio.h>
#include <rcl/rcl.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>
// 声明一些相关的结构体对象
rcl_allocator_t allocator; // 内存分配器,用于动态内存分配管理
rclc_support_t support; // 用于存储时钟,内存分配器和上下文,用于提供支持
rclc_executor_t executor; // 执行器,用于管理订阅和计时器回调的执行
rcl_node_t node; // 节点,用于创建节点
// 单独创建一个任务运行 micro-ROS 相当于一个线程
void microros_task(void *args)
{
// 1.设置传输协议并延迟一段时间等待设置的完成
IPAddress agent_ip;
agent_ip.fromString("192.168.1.103"); // 设置agent的IP地址
set_microros_wifi_transports("fishros", "88888888", agent_ip, 8888); // 设置传输协议
delay(3000); // 等待2秒,等待WIFI连接
// 2.初始化内存分配器
allocator = rcl_get_default_allocator(); // 获取默认的内存分配器
// 3.初始化支持
rclc_support_init(&support, 0, NULL, &allocator); // 初始化支持
// 4.初始化节点
rclc_node_init_default(&node, "fishbot_motion_control", "", &support); // 初始化节点
// 5.初始化执行器
unsigned int num_handles = 1; // 订阅和计时器的回调数量,注意这是一个要改的参数
rclc_executor_init(&executor, &support.context, num_handles, &allocator); // 初始化执行器
// 循环执行器
rclc_executor_spin(&executor);
}
Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器
Esp32McpwmMotor motor; // 创建一个名为motor的对象用于控制电机
PidController pid_controller[2];
Kinematics kinematics;
float target_linear_speed = 0.0; // 单位 毫米每秒
float target_angular_speed = 0.0; // 单位 弧度每秒
float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度
float out_right_speed = 0.0;
// v=w*r
// r = v/w = 0.05/0.1 = 0.5 0.02/0.1 = 0.2 m
void setup()
{
// 初始化串口
Serial.begin(115200); // 初始化串口通信设置通信速率为115200
// 初始化电机驱动器
motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23
motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13
// 初始化编码器
encoders[0].init(0, 32, 33); // 初始化第一个编码器使用GPIO 32和33连接
encoders[1].init(1, 26, 25); // 初始化第二个编码器使用GPIO 26和25连接
// 初始化PID控制器的参数
pid_controller[0].update_pid(0.625, 0.125, 0.0);
pid_controller[1].update_pid(0.625, 0.125, 0.0);
pid_controller[0].out_limit(-100, 100);
pid_controller[1].out_limit(-100, 100);
// 初始化运动学参数
kinematics.set_wheel_distance(175); // mm
kinematics.set_motor_param(0, 0.105805);
kinematics.set_motor_param(1, 0.105805);
// 测试下运动学逆解
kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed);
Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed);
pid_controller[0].update_target(out_left_speed);
pid_controller[1].update_target(out_right_speed);
// 创建一个任务运行 micro-ROS
xTaskCreate(microros_task, "microros_task", 10240, NULL, 1, NULL);
}
void loop()
{
delay(10); // 等待10毫秒
kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks()); // 记得调用更新电机速度函数
motor.updateMotorSpeed(0, pid_controller[0].update(
kinematics.get_motor_speed(0)));
motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(1)));
// Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1));
// Serial.printf("x,y,yaw=%f,%f,%f\n", kinematics.get_odom().x, kinematics.get_odom().y, kinematics.get_odom().angle);
}

View File

@@ -0,0 +1,108 @@
#include <Arduino.h>
#include <Esp32PcntEncoder.h>
#include <Esp32McpwmMotor.h>
#include <PidController.h>
#include <Kinematics.h>
// 引入Microros和wifi相关的库
#include <WiFi.h>
#include <micro_ros_platformio.h>
#include <rcl/rcl.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>
#include <geometry_msgs/msg/twist.h> // 消息接口
// 声明一些相关的结构体对象
rcl_allocator_t allocator; // 内存分配器,用于动态内存分配管理
rclc_support_t support; // 用于存储时钟,内存分配器和上下文,用于提供支持
rclc_executor_t executor; // 执行器,用于管理订阅和计时器回调的执行
rcl_node_t node; // 节点,用于创建节点
rcl_subscription_t sub_cmd_vel; // 创建一个订阅者
geometry_msgs__msg__Twist msg_cmd_vel; // 订阅到的数据存储到这里
Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器
Esp32McpwmMotor motor; // 创建一个名为motor的对象用于控制电机
PidController pid_controller[2];
Kinematics kinematics;
float target_linear_speed = 0.0; // 单位 毫米每秒
float target_angular_speed = 0.0; // 单位 弧度每秒
float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度
float out_right_speed = 0.0;
void twist_callback(const void * msg_in)
{
// 将受到的消息指针转换成 geometry_msgs__msg__Twist 类型的指针
const geometry_msgs__msg__Twist* msg = (const geometry_msgs__msg__Twist*)msg_in;
target_linear_speed = msg->linear.x * 1000;
target_angular_speed = msg->angular.z;
kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed);
Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed);
pid_controller[0].update_target(out_left_speed);
pid_controller[1].update_target(out_right_speed);
}
// 单独创建一个任务运行 micro-ROS 相当于一个线程
void microros_task(void *args)
{
// 1.设置传输协议并延迟一段时间等待设置的完成
IPAddress agent_ip;
agent_ip.fromString("192.168.1.103"); // 设置agent的IP地址
set_microros_wifi_transports("fishros", "88888888", agent_ip, 8888); // 设置传输协议
delay(3000); // 等待2秒,等待WIFI连接
// 2.初始化内存分配器
allocator = rcl_get_default_allocator(); // 获取默认的内存分配器
// 3.初始化支持
rclc_support_init(&support, 0, NULL, &allocator); // 初始化支持
// 4.初始化节点
rclc_node_init_default(&node, "fishbot_motion_control", "", &support); // 初始化节点
// 5.初始化执行器
unsigned int num_handles = 1; // 订阅和计时器的回调数量,注意这是一个要改的参数
rclc_executor_init(&executor, &support.context, num_handles, &allocator); // 初始化执行器
// 初始化订阅者,并将其添加到执行其中
rclc_subscription_init_best_effort(&sub_cmd_vel,&node, ROSIDL_GET_MSG_TYPE_SUPPORT(geometry_msgs,msg,Twist),"/cmd_vel");
rclc_executor_add_subscription(&executor,&sub_cmd_vel,&msg_cmd_vel,&twist_callback,ON_NEW_DATA);
// 循环执行器
rclc_executor_spin(&executor);
}
// v=w*r
// r = v/w = 0.05/0.1 = 0.5 0.02/0.1 = 0.2 m
void setup()
{
// 初始化串口
Serial.begin(115200); // 初始化串口通信设置通信速率为115200
// 初始化电机驱动器
motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23
motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13
// 初始化编码器
encoders[0].init(0, 32, 33); // 初始化第一个编码器使用GPIO 32和33连接
encoders[1].init(1, 26, 25); // 初始化第二个编码器使用GPIO 26和25连接
// 初始化PID控制器的参数
pid_controller[0].update_pid(0.625, 0.125, 0.0);
pid_controller[1].update_pid(0.625, 0.125, 0.0);
pid_controller[0].out_limit(-100, 100);
pid_controller[1].out_limit(-100, 100);
// 初始化运动学参数
kinematics.set_wheel_distance(175); // mm
kinematics.set_motor_param(0, 0.105805);
kinematics.set_motor_param(1, 0.105805);
// 测试下运动学逆解
// 创建一个任务运行 micro-ROS
xTaskCreate(microros_task, "microros_task", 10240, NULL, 1, NULL);
}
void loop()
{
delay(10); // 等待10毫秒
kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks()); // 记得调用更新电机速度函数
motor.updateMotorSpeed(0, pid_controller[0].update(
kinematics.get_motor_speed(0)));
motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(1)));
// Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1));
// Serial.printf("x,y,yaw=%f,%f,%f\n", kinematics.get_odom().x, kinematics.get_odom().y, kinematics.get_odom().angle);
}

View File

@@ -0,0 +1,91 @@
#include <Arduino.h>
#include <Esp32PcntEncoder.h>
#include <Esp32McpwmMotor.h>
#include <PidController.h>
#include <Kinematics.h>
// 引入Microros和wifi相关的库
#include <WiFi.h>
#include <micro_ros_platformio.h>
#include <rcl/rcl.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>
// 声明一些相关的结构体对象
rcl_allocator_t allocator; // 内存分配器,用于动态内存分配管理
rclc_support_t support; // 用于存储时钟,内存分配器和上下文,用于提供支持
rclc_executor_t executor; // 执行器,用于管理订阅和计时器回调的执行
rcl_node_t node; // 节点,用于创建节点
// 单独创建一个任务运行 micro-ROS 相当于一个线程
void microros_task(void *args)
{
// 1.设置传输协议并延迟一段时间等待设置的完成
IPAddress agent_ip;
agent_ip.fromString("192.168.1.103"); // 设置agent的IP地址
set_microros_wifi_transports("fishros", "88888888", agent_ip, 8888); // 设置传输协议
delay(3000); // 等待2秒,等待WIFI连接
// 2.初始化内存分配器
allocator = rcl_get_default_allocator(); // 获取默认的内存分配器
// 3.初始化支持
rclc_support_init(&support, 0, NULL, &allocator); // 初始化支持
// 4.初始化节点
rclc_node_init_default(&node, "fishbot_motion_control", "", &support); // 初始化节点
// 5.初始化执行器
unsigned int num_handles = 1; // 订阅和计时器的回调数量,注意这是一个要改的参数
rclc_executor_init(&executor, &support.context, num_handles, &allocator); // 初始化执行器
// 循环执行器
rclc_executor_spin(&executor);
}
Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器
Esp32McpwmMotor motor; // 创建一个名为motor的对象用于控制电机
PidController pid_controller[2];
Kinematics kinematics;
float target_linear_speed = 0.0; // 单位 毫米每秒
float target_angular_speed = 0.0; // 单位 弧度每秒
float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度
float out_right_speed = 0.0;
// v=w*r
// r = v/w = 0.05/0.1 = 0.5 0.02/0.1 = 0.2 m
void setup()
{
// 初始化串口
Serial.begin(115200); // 初始化串口通信设置通信速率为115200
// 初始化电机驱动器
motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23
motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13
// 初始化编码器
encoders[0].init(0, 32, 33); // 初始化第一个编码器使用GPIO 32和33连接
encoders[1].init(1, 26, 25); // 初始化第二个编码器使用GPIO 26和25连接
// 初始化PID控制器的参数
pid_controller[0].update_pid(0.625, 0.125, 0.0);
pid_controller[1].update_pid(0.625, 0.125, 0.0);
pid_controller[0].out_limit(-100, 100);
pid_controller[1].out_limit(-100, 100);
// 初始化运动学参数
kinematics.set_wheel_distance(175); // mm
kinematics.set_motor_param(0, 0.105805);
kinematics.set_motor_param(1, 0.105805);
// 测试下运动学逆解
kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed);
Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed);
pid_controller[0].update_target(out_left_speed);
pid_controller[1].update_target(out_right_speed);
// 创建一个任务运行 micro-ROS
xTaskCreate(microros_task, "microros_task", 10240, NULL, 1, NULL);
}
void loop()
{
delay(10); // 等待10毫秒
kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks()); // 记得调用更新电机速度函数
motor.updateMotorSpeed(0, pid_controller[0].update(
kinematics.get_motor_speed(0)));
motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(1)));
// Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1));
// Serial.printf("x,y,yaw=%f,%f,%f\n", kinematics.get_odom().x, kinematics.get_odom().y, kinematics.get_odom().angle);
}

View File

@@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,519 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/include",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/src",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/include",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/src",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control_9.3.4/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
]
},
"defines": [
"PLATFORMIO=60116",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/fishbot_motion_control_9.3.4/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/fishbot_motion_control_9.3.4/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/fishbot_motion_control_9.3.4/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,5 @@
{
"files.associations": {
"cmath": "cpp"
}
}

View File

@@ -0,0 +1,4 @@
一圈 1930 个脉冲数
轮子的直径是 65mm
轮子转一圈是 65*PI
那么一个脉冲数,相当于走了多远距离 65*PI/1930 0.105805 mm

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,89 @@
#include "Kinematics.h"
// 设置轮子的间距
void Kinematics::set_wheel_distance(float distance)
{
wheel_distance = distance;
}
void Kinematics::set_motor_param(uint8_t id, float per_pluse_distance)
{
motor_param[id].per_pulse_distance = per_pluse_distance;
}
// 运动学正解,将左右轮的速度转换成线速度和角速度
void Kinematics::kinematics_forward(float left_speed, float right_speed, float *out_linear_speed, float *out_angular_speed)
{
*out_linear_speed = (left_speed + right_speed) / 2;
*out_angular_speed = (right_speed - left_speed) / wheel_distance;
}
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void Kinematics::kinematics_inverse(float linear_speed, float angular_speed, float *out_left_speed, float *out_right_speed)
{
*out_left_speed = linear_speed - angular_speed * wheel_distance / 2;
*out_right_speed = linear_speed + angular_speed * wheel_distance / 2;
}
// 输入:左右轮脉冲数,当前时间,输出更新电机速度和编码器数据
void Kinematics::update_motor_speed(uint64_t current_time, int32_t left_tick, int32_t right_tick)
{
int16_t dt = current_time - last_update_time; // ms
delta_ticks[0] = left_tick - motor_param[0].last_encoder_ticks;
delta_ticks[1] = right_tick - motor_param[1].last_encoder_ticks;
motor_param[0].motor_speed = (delta_ticks[0] * 105.805) / dt;
motor_param[1].motor_speed = (delta_ticks[1] * 105.805) / dt;
// 为了下次还可以正常的计算速度
motor_param[0].last_encoder_ticks = left_tick;
motor_param[1].last_encoder_ticks = right_tick;
last_update_time = current_time;
update_odom(dt);
}
// 获取电机速度,返回值是速度
int16_t Kinematics::get_motor_speed(uint8_t id)
{
if (id < 0 || id > 1)
{
return -1;
}
return motor_param[id].motor_speed;
}
odom_t& Kinematics::get_odom()
{
return odom;
}
void Kinematics::TransAngleInPI(float angle,float& out_angle)
{
if(angle>PI)
{
out_angle -= 2*PI;
}else if (angle<-PI)
{
out_angle += 2*PI;
}
}
void Kinematics::update_odom(uint16_t dt)
{
float dt_s = float(dt)/1000.0; // ms -> s
// 获取实时的角速度和线速度呢?我们拿左右轮实时的速度,进行运动学正解
this->kinematics_forward(motor_param[0].motor_speed,motor_param[1].motor_speed,&odom.linear_speed,&odom.angular_speed);
// 计算里程计信息
odom.linear_speed = odom.linear_speed/1000.0; // 转换成米每秒
// 角度积分
odom.angle += odom.angular_speed*dt_s;
TransAngleInPI(odom.angle,odom.angle);
// 计算机器人行走的距离(沿自身前进方向的)
float delta_distance = odom.linear_speed * dt_s;
// 分解到X轴和Y轴
odom.x += delta_distance * std::cos(odom.angle);
odom.y += delta_distance * std::sin(odom.angle);
}

View File

@@ -0,0 +1,57 @@
#ifndef __KINEMATICS_H__
#define __KINEMATICS_H__
#include "Arduino.h"
typedef struct
{
float per_pulse_distance; // 每个脉冲的前进的距离
int16_t motor_speed; // 单位用mm/s
int64_t last_encoder_ticks; // 上一次点击的编码器读数
} motor_param_t;
typedef struct {
float x;
float y;
float angle;
float linear_speed;
float angular_speed;
}odom_t;
/**
* 1. 运动学正逆解(两个轮子的实时速度->当前实时的角速度和线速度 / 当前目标的角速度和线速度->两个轮子的目标速度)
*
*/
class Kinematics
{
private:
/* data */
motor_param_t motor_param[2];
int16_t delta_ticks[2] = {0, 0}; // 用于存储上一次读取的编码器数值
uint64_t last_update_time = 0; // 用于存储上一次更新电机速度的时间,计算速度的时候使用
float wheel_distance = 0.0; // 两个轮子之间的距离
odom_t odom; // 用于存储里程计信息
public:
Kinematics(/* args */) = default;
~Kinematics() = default;
odom_t& get_odom();
void update_odom(uint16_t dt);
void TransAngleInPI(float angle,float& out_angle);
void set_wheel_distance(float distance); // 设置轮子的间距
void set_motor_param(uint8_t id,float per_pluse_distance);
// 运动学正解,将左右轮的速度转换成线速度和角速度
void kinematics_forward(float left_speed,float right_speed,float* out_linear_speed,float* out_angular_speed);
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void kinematics_inverse(float linear_speed,float angular_speed,float* out_left_speed,float* out_right_speed);
// 更新点击速度和编码器数据
void update_motor_speed(uint64_t current_time,int32_t left_tick,int32_t right_tick);
// 获取电机速度,返回值是速度
int16_t get_motor_speed(uint8_t id);
};
#endif // __KINEMATICS_H__

View File

@@ -0,0 +1,64 @@
#include "Arduino.h"
#include "PidController.h"
// 构造函数传入三个PID参数
PidController::PidController(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
float PidController::update(float current)
{
error_ = target_ - current; // 计算error
error_sum_ += error_; // 计算error_sum,同时限制积分上下限
if (error_sum_ > intergral_up_)
error_sum_ = intergral_up_;
if (error_sum_ < -1 * intergral_up_)
error_sum_ = -1 * intergral_up_;
derror_ = prev_error_ - error_; // 计算误差变化率
prev_error_ = error_; // 方便下次计算使用
float output = kp_ * error_ + ki_ * error_sum_ + kd_ * derror_;
if (output > out_max_)
output = out_max_;
if (output < out_min_)
output = out_min_;
return output;
}
void PidController::update_target(float target)
{
target_ = target;
}
void PidController::update_pid(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
void PidController::reset()
{
error_sum_ = 0;
prev_error_ = 0;
error_ = 0;
derror_ = 0;
kp_ = 0;
ki_ = 0;
kd_ = 0;
intergral_up_ = 2500;
out_min_ = 0;
out_max_ = 0;
}
void PidController::out_limit(float min, float max)
{
out_min_ = min;
out_max_ = max;
}

View File

@@ -0,0 +1,33 @@
#ifndef __PID_CONTROLLER_H__
#define __PID_CONTROLLER_H__
class PidController
{
public:
PidController() = default;
PidController(float kp, float ki, float kd);
private:
// PID 参数,可以调节的
float target_;
float out_min_;
float out_max_;
float kp_;
float ki_;
float kd_;
float intergral_up_ = 2500; // 积分上限
// pid 中间过程值
float error_;
float error_sum_;
float derror_;
float prev_error_;
public:
float update(float current); // 提供当前值返回下次输出值也就是PID的结果
void update_target(float target); // 更新目标值
void update_pid(float kp, float ki, float kd); // 更新PID参数
void reset(); // 重置PID
void out_limit(float min, float max); // 设置输出限制
};
#endif // __PID_CONTROLLER_H__

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,16 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
http://github.fishros.org/https://github.com/fishros/Esp32McpwmMotor.git
http://github.fishros.org/https://github.com/fishros/Esp32PcntEncoder.git

View File

@@ -0,0 +1,52 @@
#include <Arduino.h>
#include <Esp32PcntEncoder.h>
#include <Esp32McpwmMotor.h>
#include <PidController.h>
#include <Kinematics.h>
Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器
Esp32McpwmMotor motor; // 创建一个名为motor的对象用于控制电机
PidController pid_controller[2];
Kinematics kinematics;
float target_linear_speed = 20.0; // 单位 毫米每秒
float target_angular_speed = 0.1; // 单位 弧度每秒
float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度
float out_right_speed = 0.0;
// v=wr r = v/w
void setup()
{
// 初始化串口
Serial.begin(115200); // 初始化串口通信设置通信速率为115200
// 初始化电机驱动器
motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23
motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13
// 初始化编码器
encoders[0].init(0, 32, 33); // 初始化第一个编码器使用GPIO 32和33连接
encoders[1].init(1, 26, 25); // 初始化第二个编码器使用GPIO 26和25连接
// 初始化PID控制器的参数
pid_controller[0].update_pid(0.625, 0.125, 0.0);
pid_controller[1].update_pid(0.625, 0.125, 0.0);
pid_controller[0].out_limit(-100, 100);
pid_controller[1].out_limit(-100, 100);
// 初始化运动学参数
kinematics.set_wheel_distance(175); // mm
kinematics.set_motor_param(0, 0.105805);
kinematics.set_motor_param(1, 0.105805);
// 测试下运动学逆解
kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed);
Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed);
pid_controller[0].update_target(out_left_speed);
pid_controller[1].update_target(out_right_speed);
}
void loop()
{
delay(10); // 等待10毫秒
// 调用PID获取动态输出值
kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks());
motor.updateMotorSpeed(0, pid_controller[0].update(
kinematics.get_motor_speed(0)));
motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(1)));
// Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1));
}

View File

@@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,519 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/fishbot_motion_control_9.3/include",
"/home/fishros/chapt9/fishbot_motion_control_9.3/src",
"/home/fishros/chapt9/fishbot_motion_control_9.3/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control_9.3/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control_9.3/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control_9.3/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/fishbot_motion_control_9.3/include",
"/home/fishros/chapt9/fishbot_motion_control_9.3/src",
"/home/fishros/chapt9/fishbot_motion_control_9.3/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control_9.3/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control_9.3/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control_9.3/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
]
},
"defines": [
"PLATFORMIO=60116",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/fishbot_motion_control_9.3/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/fishbot_motion_control_9.3/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/fishbot_motion_control_9.3/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,5 @@
{
"files.associations": {
"cmath": "cpp"
}
}

View File

@@ -0,0 +1,4 @@
一圈 1930 个脉冲数
轮子的直径是 65mm
轮子转一圈是 65*PI
那么一个脉冲数,相当于走了多远距离 65*PI/1930 0.105805 mm

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,89 @@
#include "Kinematics.h"
// 设置轮子的间距
void Kinematics::set_wheel_distance(float distance)
{
wheel_distance = distance;
}
void Kinematics::set_motor_param(uint8_t id, float per_pluse_distance)
{
motor_param[id].per_pulse_distance = per_pluse_distance;
}
// 运动学正解,将左右轮的速度转换成线速度和角速度
void Kinematics::kinematics_forward(float left_speed, float right_speed, float *out_linear_speed, float *out_angular_speed)
{
*out_linear_speed = (left_speed + right_speed) / 2;
*out_angular_speed = (right_speed - left_speed) / wheel_distance;
}
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void Kinematics::kinematics_inverse(float linear_speed, float angular_speed, float *out_left_speed, float *out_right_speed)
{
*out_left_speed = linear_speed - angular_speed * wheel_distance / 2;
*out_right_speed = linear_speed + angular_speed * wheel_distance / 2;
}
// 输入:左右轮脉冲数,当前时间,输出更新电机速度和编码器数据
void Kinematics::update_motor_speed(uint64_t current_time, int32_t left_tick, int32_t right_tick)
{
int16_t dt = current_time - last_update_time; // ms
delta_ticks[0] = left_tick - motor_param[0].last_encoder_ticks;
delta_ticks[1] = right_tick - motor_param[1].last_encoder_ticks;
motor_param[0].motor_speed = (delta_ticks[0] * 105.805) / dt;
motor_param[1].motor_speed = (delta_ticks[1] * 105.805) / dt;
// 为了下次还可以正常的计算速度
motor_param[0].last_encoder_ticks = left_tick;
motor_param[1].last_encoder_ticks = right_tick;
last_update_time = current_time;
update_odom(dt);
}
// 获取电机速度,返回值是速度
int16_t Kinematics::get_motor_speed(uint8_t id)
{
if (id < 0 || id > 1)
{
return -1;
}
return motor_param[id].motor_speed;
}
odom_t& Kinematics::get_odom()
{
return odom;
}
void Kinematics::TransAngleInPI(float angle,float& out_angle)
{
if(angle>PI)
{
out_angle -= 2*PI;
}else if (angle<-PI)
{
out_angle += 2*PI;
}
}
void Kinematics::update_odom(uint16_t dt)
{
float dt_s = float(dt)/1000.0; // ms -> s
// 获取实时的角速度和线速度呢?我们拿左右轮实时的速度,进行运动学正解
this->kinematics_forward(motor_param[0].motor_speed,motor_param[1].motor_speed,&odom.linear_speed,&odom.angular_speed);
// 计算里程计信息
odom.linear_speed = odom.linear_speed/1000.0; // 转换成米每秒
// 角度积分
odom.angle += odom.angular_speed*dt_s;
TransAngleInPI(odom.angle,odom.angle);
// 计算机器人行走的距离(沿自身前进方向的)
float delta_distance = odom.linear_speed * dt_s;
// 分解到X轴和Y轴
odom.x += delta_distance * std::cos(odom.angle);
odom.y += delta_distance * std::sin(odom.angle);
}

View File

@@ -0,0 +1,57 @@
#ifndef __KINEMATICS_H__
#define __KINEMATICS_H__
#include "Arduino.h"
typedef struct
{
float per_pulse_distance; // 每个脉冲的前进的距离
int16_t motor_speed; // 单位用mm/s
int64_t last_encoder_ticks; // 上一次点击的编码器读数
} motor_param_t;
typedef struct {
float x;
float y;
float angle;
float linear_speed;
float angular_speed;
}odom_t;
/**
* 1. 运动学正逆解(两个轮子的实时速度->当前实时的角速度和线速度 / 当前目标的角速度和线速度->两个轮子的目标速度)
*
*/
class Kinematics
{
private:
/* data */
motor_param_t motor_param[2];
int16_t delta_ticks[2] = {0, 0}; // 用于存储上一次读取的编码器数值
uint64_t last_update_time = 0; // 用于存储上一次更新电机速度的时间,计算速度的时候使用
float wheel_distance = 0.0; // 两个轮子之间的距离
odom_t odom; // 用于存储里程计信息
public:
Kinematics(/* args */) = default;
~Kinematics() = default;
odom_t& get_odom();
void update_odom(uint16_t dt);
void TransAngleInPI(float angle,float& out_angle);
void set_wheel_distance(float distance); // 设置轮子的间距
void set_motor_param(uint8_t id,float per_pluse_distance);
// 运动学正解,将左右轮的速度转换成线速度和角速度
void kinematics_forward(float left_speed,float right_speed,float* out_linear_speed,float* out_angular_speed);
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void kinematics_inverse(float linear_speed,float angular_speed,float* out_left_speed,float* out_right_speed);
// 更新点击速度和编码器数据
void update_motor_speed(uint64_t current_time,int32_t left_tick,int32_t right_tick);
// 获取电机速度,返回值是速度
int16_t get_motor_speed(uint8_t id);
};
#endif // __KINEMATICS_H__

View File

@@ -0,0 +1,64 @@
#include "Arduino.h"
#include "PidController.h"
// 构造函数传入三个PID参数
PidController::PidController(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
float PidController::update(float current)
{
error_ = target_ - current; // 计算error
error_sum_ += error_; // 计算error_sum,同时限制积分上下限
if (error_sum_ > intergral_up_)
error_sum_ = intergral_up_;
if (error_sum_ < -1 * intergral_up_)
error_sum_ = -1 * intergral_up_;
derror_ = prev_error_ - error_; // 计算误差变化率
prev_error_ = error_; // 方便下次计算使用
float output = kp_ * error_ + ki_ * error_sum_ + kd_ * derror_;
if (output > out_max_)
output = out_max_;
if (output < out_min_)
output = out_min_;
return output;
}
void PidController::update_target(float target)
{
target_ = target;
}
void PidController::update_pid(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
void PidController::reset()
{
error_sum_ = 0;
prev_error_ = 0;
error_ = 0;
derror_ = 0;
kp_ = 0;
ki_ = 0;
kd_ = 0;
intergral_up_ = 2500;
out_min_ = 0;
out_max_ = 0;
}
void PidController::out_limit(float min, float max)
{
out_min_ = min;
out_max_ = max;
}

View File

@@ -0,0 +1,33 @@
#ifndef __PID_CONTROLLER_H__
#define __PID_CONTROLLER_H__
class PidController
{
public:
PidController() = default;
PidController(float kp, float ki, float kd);
private:
// PID 参数,可以调节的
float target_;
float out_min_;
float out_max_;
float kp_;
float ki_;
float kd_;
float intergral_up_ = 2500; // 积分上限
// pid 中间过程值
float error_;
float error_sum_;
float derror_;
float prev_error_;
public:
float update(float current); // 提供当前值返回下次输出值也就是PID的结果
void update_target(float target); // 更新目标值
void update_pid(float kp, float ki, float kd); // 更新PID参数
void reset(); // 重置PID
void out_limit(float min, float max); // 设置输出限制
};
#endif // __PID_CONTROLLER_H__

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,16 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
http://github.fishros.org/https://github.com/fishros/Esp32McpwmMotor.git
http://github.fishros.org/https://github.com/fishros/Esp32PcntEncoder.git

View File

@@ -0,0 +1,54 @@
#include <Arduino.h>
#include <Esp32PcntEncoder.h>
#include <Esp32McpwmMotor.h>
#include <PidController.h>
#include <Kinematics.h>
Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器
Esp32McpwmMotor motor; // 创建一个名为motor的对象用于控制电机
PidController pid_controller[2];
Kinematics kinematics;
float target_linear_speed = 20.0; // 单位 毫米每秒
float target_angular_speed = 0.1; // 单位 弧度每秒
float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度
float out_right_speed = 0.0;
// v=w*r
// r = v/w = 0.05/0.1 = 0.5 0.02/0.1 = 0.2 m
void setup()
{
// 初始化串口
Serial.begin(115200); // 初始化串口通信设置通信速率为115200
// 初始化电机驱动器
motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23
motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13
// 初始化编码器
encoders[0].init(0, 32, 33); // 初始化第一个编码器使用GPIO 32和33连接
encoders[1].init(1, 26, 25); // 初始化第二个编码器使用GPIO 26和25连接
// 初始化PID控制器的参数
pid_controller[0].update_pid(0.625, 0.125, 0.0);
pid_controller[1].update_pid(0.625, 0.125, 0.0);
pid_controller[0].out_limit(-100, 100);
pid_controller[1].out_limit(-100, 100);
// 初始化运动学参数
kinematics.set_wheel_distance(175); // mm
kinematics.set_motor_param(0, 0.105805);
kinematics.set_motor_param(1, 0.105805);
// 测试下运动学逆解
kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed);
Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed);
pid_controller[0].update_target(out_left_speed);
pid_controller[1].update_target(out_right_speed);
}
void loop()
{
delay(10); // 等待10毫秒
kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks()); // 记得调用更新电机速度函数
motor.updateMotorSpeed(0, pid_controller[0].update(
kinematics.get_motor_speed(0)));
motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(0)));
// Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1));
Serial.printf("x,y,yaw=%f,%f,%f\n", kinematics.get_odom().x, kinematics.get_odom().y, kinematics.get_odom().angle);
}

View File

@@ -0,0 +1,11 @@
This directory is intended for PlatformIO Test Runner and project tests.
Unit Testing is a software testing method by which individual units of
source code, sets of one or more MCU program modules together with associated
control data, usage procedures, and operating procedures, are tested to
determine whether they are fit for use. Unit testing finds problems early
in the development cycle.
More information about PlatformIO Unit Testing:
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html

View File

@@ -0,0 +1 @@
.pio

View File

@@ -0,0 +1,531 @@
//
// !!! WARNING !!! AUTO-GENERATED FILE!
// PLEASE DO NOT MODIFY IT AND USE "platformio.ini":
// https://docs.platformio.org/page/projectconf/section_env_build.html#build-flags
//
{
"configurations": [
{
"name": "PlatformIO",
"includePath": [
"/home/fishros/chapt9/fishbot_motion_control/include",
"/home/fishros/chapt9/fishbot_motion_control/src",
"/home/fishros/chapt9/fishbot_motion_control/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/libmicroros/include",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino/wifi",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"path": [
"/home/fishros/chapt9/fishbot_motion_control/include",
"/home/fishros/chapt9/fishbot_motion_control/src",
"/home/fishros/chapt9/fishbot_motion_control/lib/PidController",
"/home/fishros/chapt9/fishbot_motion_control/lib/Kinematics",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/libmicroros/include",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/micro_ros_platformio/platform_code/arduino/wifi",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32PcntEncoder",
"/home/fishros/chapt9/fishbot_motion_control/.pio/libdeps/fishbot/Esp32McpwmMotor",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/cores/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/variants/esp32",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
"/home/fishros/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
""
]
},
"defines": [
"PLATFORMIO=60116",
"ARDUINO_ESP32_DEV",
"HAVE_CONFIG_H",
"MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"",
"UNITY_INCLUDE_CONFIG_H",
"WITH_POSIX",
"_GNU_SOURCE",
"IDF_VER=\"v4.4.7-dirty\"",
"ESP_PLATFORM",
"_POSIX_READER_WRITER_LOCKS",
"ARDUINO_ARCH_ESP32",
"ESP32",
"F_CPU=240000000L",
"ARDUINO=10812",
"ARDUINO_VARIANT=\"esp32\"",
"ARDUINO_BOARD=\"Espressif ESP32 Dev Module\"",
"ARDUINO_PARTITION_default",
"MICRO_ROS_TRANSPORT_ARDUINO_WIFI=1",
"MICRO_ROS_DISTRO_HUMBLE =1",
""
],
"cStandard": "gnu99",
"cppStandard": "gnu++11",
"compilerPath": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc",
"compilerArgs": [
"-mlongcalls",
""
]
}
],
"version": 4
}

View File

@@ -0,0 +1,10 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

View File

@@ -0,0 +1,44 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PlatformIO Debugging Solution
//
// Documentation: https://docs.platformio.org/en/latest/plus/debugging.html
// Configuration: https://docs.platformio.org/en/latest/projectconf/sections/env/options/debug/index.html
{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "/home/fishros/chapt9/fishbot_motion_control/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "/home/fishros/chapt9/fishbot_motion_control/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "/home/fishros/chapt9/fishbot_motion_control/.pio/build/fishbot/firmware.elf",
"projectEnvName": "fishbot",
"toolchainBinDir": "/home/fishros/.platformio/packages/toolchain-xtensa-esp32/bin",
"internalConsoleOptions": "openOnSessionStart",
"loadMode": "manual"
}
]
}

View File

@@ -0,0 +1,5 @@
{
"files.associations": {
"cmath": "cpp"
}
}

View File

@@ -0,0 +1,4 @@
一圈 1930 个脉冲数
轮子的直径是 65mm
轮子转一圈是 65*PI
那么一个脉冲数,相当于走了多远距离 65*PI/1930 0.105805 mm

View File

@@ -0,0 +1,39 @@
This directory is intended for project header files.
A header file is a file containing C declarations and macro definitions
to be shared between several project source files. You request the use of a
header file in your project source file (C, C++, etc) located in `src` folder
by including it, with the C preprocessing directive `#include'.
```src/main.c
#include "header.h"
int main (void)
{
...
}
```
Including a header file produces the same results as copying the header file
into each source file that needs it. Such copying would be time-consuming
and error-prone. With a header file, the related declarations appear
in only one place. If they need to be changed, they can be changed in one
place, and programs that include the header file will automatically use the
new version when next recompiled. The header file eliminates the labor of
finding and changing all the copies as well as the risk that a failure to
find one copy will result in inconsistencies within a program.
In C, the usual convention is to give header files names that end with `.h'.
It is most portable to use only letters, digits, dashes, and underscores in
header file names, and at most one dot.
Read more about using header files in official GCC documentation:
* Include Syntax
* Include Operation
* Once-Only Headers
* Computed Includes
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html

View File

@@ -0,0 +1,89 @@
#include "Kinematics.h"
// 设置轮子的间距
void Kinematics::set_wheel_distance(float distance)
{
wheel_distance = distance;
}
void Kinematics::set_motor_param(uint8_t id, float per_pluse_distance)
{
motor_param[id].per_pulse_distance = per_pluse_distance;
}
// 运动学正解,将左右轮的速度转换成线速度和角速度
void Kinematics::kinematics_forward(float left_speed, float right_speed, float *out_linear_speed, float *out_angular_speed)
{
*out_linear_speed = (left_speed + right_speed) / 2;
*out_angular_speed = (right_speed - left_speed) / wheel_distance;
}
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void Kinematics::kinematics_inverse(float linear_speed, float angular_speed, float *out_left_speed, float *out_right_speed)
{
*out_left_speed = linear_speed - angular_speed * wheel_distance / 2;
*out_right_speed = linear_speed + angular_speed * wheel_distance / 2;
}
// 输入:左右轮脉冲数,当前时间,输出更新电机速度和编码器数据
void Kinematics::update_motor_speed(uint64_t current_time, int32_t left_tick, int32_t right_tick)
{
int16_t dt = current_time - last_update_time; // ms
delta_ticks[0] = left_tick - motor_param[0].last_encoder_ticks;
delta_ticks[1] = right_tick - motor_param[1].last_encoder_ticks;
motor_param[0].motor_speed = (delta_ticks[0] * 105.805) / dt;
motor_param[1].motor_speed = (delta_ticks[1] * 105.805) / dt;
// 为了下次还可以正常的计算速度
motor_param[0].last_encoder_ticks = left_tick;
motor_param[1].last_encoder_ticks = right_tick;
last_update_time = current_time;
update_odom(dt);
}
// 获取电机速度,返回值是速度
int16_t Kinematics::get_motor_speed(uint8_t id)
{
if (id < 0 || id > 1)
{
return -1;
}
return motor_param[id].motor_speed;
}
odom_t& Kinematics::get_odom()
{
return odom;
}
void Kinematics::TransAngleInPI(float angle,float& out_angle)
{
if(angle>PI)
{
out_angle -= 2*PI;
}else if (angle<-PI)
{
out_angle += 2*PI;
}
}
void Kinematics::update_odom(uint16_t dt)
{
float dt_s = float(dt)/1000.0; // ms -> s
// 获取实时的角速度和线速度呢?我们拿左右轮实时的速度,进行运动学正解
this->kinematics_forward(motor_param[0].motor_speed,motor_param[1].motor_speed,&odom.linear_speed,&odom.angular_speed);
// 计算里程计信息
odom.linear_speed = odom.linear_speed/1000.0; // 转换成米每秒
// 角度积分
odom.angle += odom.angular_speed*dt_s;
TransAngleInPI(odom.angle,odom.angle);
// 计算机器人行走的距离(沿自身前进方向的)
float delta_distance = odom.linear_speed * dt_s;
// 分解到X轴和Y轴
odom.x += delta_distance * std::cos(odom.angle);
odom.y += delta_distance * std::sin(odom.angle);
}

View File

@@ -0,0 +1,57 @@
#ifndef __KINEMATICS_H__
#define __KINEMATICS_H__
#include "Arduino.h"
typedef struct
{
float per_pulse_distance; // 每个脉冲的前进的距离
int16_t motor_speed; // 单位用mm/s
int64_t last_encoder_ticks; // 上一次点击的编码器读数
} motor_param_t;
typedef struct {
float x;
float y;
float angle;
float linear_speed;
float angular_speed;
}odom_t;
/**
* 1. 运动学正逆解(两个轮子的实时速度->当前实时的角速度和线速度 / 当前目标的角速度和线速度->两个轮子的目标速度)
*
*/
class Kinematics
{
private:
/* data */
motor_param_t motor_param[2];
int16_t delta_ticks[2] = {0, 0}; // 用于存储上一次读取的编码器数值
uint64_t last_update_time = 0; // 用于存储上一次更新电机速度的时间,计算速度的时候使用
float wheel_distance = 0.0; // 两个轮子之间的距离
odom_t odom; // 用于存储里程计信息
public:
Kinematics(/* args */) = default;
~Kinematics() = default;
odom_t& get_odom();
void update_odom(uint16_t dt);
void TransAngleInPI(float angle,float& out_angle);
void set_wheel_distance(float distance); // 设置轮子的间距
void set_motor_param(uint8_t id,float per_pluse_distance);
// 运动学正解,将左右轮的速度转换成线速度和角速度
void kinematics_forward(float left_speed,float right_speed,float* out_linear_speed,float* out_angular_speed);
// 运动学逆解,将线速度和角速度转换成左右轮的速度
void kinematics_inverse(float linear_speed,float angular_speed,float* out_left_speed,float* out_right_speed);
// 更新点击速度和编码器数据
void update_motor_speed(uint64_t current_time,int32_t left_tick,int32_t right_tick);
// 获取电机速度,返回值是速度
int16_t get_motor_speed(uint8_t id);
};
#endif // __KINEMATICS_H__

View File

@@ -0,0 +1,64 @@
#include "Arduino.h"
#include "PidController.h"
// 构造函数传入三个PID参数
PidController::PidController(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
float PidController::update(float current)
{
error_ = target_ - current; // 计算error
error_sum_ += error_; // 计算error_sum,同时限制积分上下限
if (error_sum_ > intergral_up_)
error_sum_ = intergral_up_;
if (error_sum_ < -1 * intergral_up_)
error_sum_ = -1 * intergral_up_;
derror_ = prev_error_ - error_; // 计算误差变化率
prev_error_ = error_; // 方便下次计算使用
float output = kp_ * error_ + ki_ * error_sum_ + kd_ * derror_;
if (output > out_max_)
output = out_max_;
if (output < out_min_)
output = out_min_;
return output;
}
void PidController::update_target(float target)
{
target_ = target;
}
void PidController::update_pid(float kp, float ki, float kd)
{
kp_ = kp;
ki_ = ki;
kd_ = kd;
}
void PidController::reset()
{
error_sum_ = 0;
prev_error_ = 0;
error_ = 0;
derror_ = 0;
kp_ = 0;
ki_ = 0;
kd_ = 0;
intergral_up_ = 2500;
out_min_ = 0;
out_max_ = 0;
}
void PidController::out_limit(float min, float max)
{
out_min_ = min;
out_max_ = max;
}

View File

@@ -0,0 +1,33 @@
#ifndef __PID_CONTROLLER_H__
#define __PID_CONTROLLER_H__
class PidController
{
public:
PidController() = default;
PidController(float kp, float ki, float kd);
private:
// PID 参数,可以调节的
float target_;
float out_min_;
float out_max_;
float kp_;
float ki_;
float kd_;
float intergral_up_ = 2500; // 积分上限
// pid 中间过程值
float error_;
float error_sum_;
float derror_;
float prev_error_;
public:
float update(float current); // 提供当前值返回下次输出值也就是PID的结果
void update_target(float target); // 更新目标值
void update_pid(float kp, float ki, float kd); // 更新PID参数
void reset(); // 重置PID
void out_limit(float min, float max); // 设置输出限制
};
#endif // __PID_CONTROLLER_H__

View File

@@ -0,0 +1,46 @@
This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into executable file.
The source code of each library should be placed in an own separate directory
("lib/your_library_name/[here are source files]").
For example, see a structure of the following two libraries `Foo` and `Bar`:
|--lib
| |
| |--Bar
| | |--docs
| | |--examples
| | |--src
| | |- Bar.c
| | |- Bar.h
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
| |
| |--Foo
| | |- Foo.c
| | |- Foo.h
| |
| |- README --> THIS FILE
|
|- platformio.ini
|--src
|- main.c
and a contents of `src/main.c`:
```
#include <Foo.h>
#include <Bar.h>
int main (void)
{
...
}
```
PlatformIO Library Dependency Finder will find automatically dependent
libraries scanning project source files.
More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html

View File

@@ -0,0 +1,19 @@
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:fishbot]
platform = espressif32
board = esp32dev
framework = arduino
board_microros_transport = wifi
monitor_speed = 115200
lib_deps =
http://github.fishros.org/https://github.com/fishros/Esp32McpwmMotor.git
http://github.fishros.org/https://github.com/fishros/Esp32PcntEncoder.git
https://gitee.com/ohhuo/micro_ros_platformio.git

View File

@@ -0,0 +1,93 @@
#include <Arduino.h>
#include <Esp32PcntEncoder.h>
#include <Esp32McpwmMotor.h>
#include <PidController.h>
#include <Kinematics.h>
// 引入Microros和wifi相关的库
#include <WiFi.h>
#include <micro_ros_platformio.h>
#include <rcl/rcl.h>
#include <rclc/rclc.h>
#include <rclc/executor.h>
// 声明一些相关的结构体对象
rcl_allocator_t allocator; // 内存分配器,用于动态内存分配管理
rclc_support_t support; // 用于存储时钟,内存分配器和上下文,用于提供支持
rclc_executor_t executor; // 执行器,用于管理订阅和计时器回调的执行
rcl_node_t node; // 节点,用于创建节点
// 单独创建一个任务运行 micro-ROS 相当于一个线程
void microros_task(void* args)
{
// 1.设置传输协议并延迟一段时间等待设置的完成
IPAddress agent_ip;
agent_ip.fromString("192.168.1.103"); // 设置agent的IP地址
set_microros_wifi_transports("fishros","88888888",agent_ip,8888); // 设置传输协议
delay(3000); // 等待2秒,等待WIFI连接
// 2.初始化内存分配器
allocator = rcl_get_default_allocator(); // 获取默认的内存分配器
// 3.初始化支持
rclc_support_init(&support,0,NULL,&allocator); // 初始化支持
// 4.初始化节点
rclc_node_init_default(&node,"fishbot_motion_control","",&support); // 初始化节点
// 5.初始化执行器
unsigned int num_handles = 0; // 订阅和计时器的回调数量,注意这是一个要改的参数
rclc_executor_init(&executor,&support.context,num_handles,&allocator); // 初始化执行器
// 循环执行器
rclc_executor_spin(&executor);
}
Esp32PcntEncoder encoders[2]; // 创建一个数组用于存储两个编码器
Esp32McpwmMotor motor; // 创建一个名为motor的对象用于控制电机
PidController pid_controller[2];
Kinematics kinematics;
float target_linear_speed = 0.0; // 单位 毫米每秒
float target_angular_speed = 0.0; // 单位 弧度每秒
float out_left_speed = 0.0; // 输出的左右轮速度,不是反馈的左右轮速度
float out_right_speed = 0.0;
// v=w*r
// r = v/w = 0.05/0.1 = 0.5 0.02/0.1 = 0.2 m
void setup()
{
// 初始化串口
Serial.begin(115200); // 初始化串口通信设置通信速率为115200
// 初始化电机驱动器
motor.attachMotor(0, 22, 23); // 将电机0连接到引脚22和引脚23
motor.attachMotor(1, 12, 13); // 将电机1连接到引脚12和引脚13
// 初始化编码器
encoders[0].init(0, 32, 33); // 初始化第一个编码器使用GPIO 32和33连接
encoders[1].init(1, 26, 25); // 初始化第二个编码器使用GPIO 26和25连接
// 初始化PID控制器的参数
pid_controller[0].update_pid(0.625, 0.125, 0.0);
pid_controller[1].update_pid(0.625, 0.125, 0.0);
pid_controller[0].out_limit(-100, 100);
pid_controller[1].out_limit(-100, 100);
// 初始化运动学参数
kinematics.set_wheel_distance(175); // mm
kinematics.set_motor_param(0, 0.105805);
kinematics.set_motor_param(1, 0.105805);
// 测试下运动学逆解
kinematics.kinematics_inverse(target_linear_speed, target_angular_speed, &out_left_speed, &out_right_speed);
Serial.printf("OUT:left_speed=%f,right_speed=%f\n", out_left_speed, out_right_speed);
pid_controller[0].update_target(out_left_speed);
pid_controller[1].update_target(out_right_speed);
// 创建一个任务运行 micro-ROS
xTaskCreatePinnedToCore(microros_task, "microros_task", 10240, NULL, 1, NULL, 1);
}
void loop()
{
delay(10); // 等待10毫秒
kinematics.update_motor_speed(millis(), encoders[0].getTicks(), encoders[1].getTicks()); // 记得调用更新电机速度函数
motor.updateMotorSpeed(0, pid_controller[0].update(
kinematics.get_motor_speed(0)));
motor.updateMotorSpeed(1, pid_controller[1].update(kinematics.get_motor_speed(1)));
// Serial.printf("speed1=%d,speed2=%d\n",kinematics.get_motor_speed(0),kinematics.get_motor_speed(1));
// Serial.printf("x,y,yaw=%f,%f,%f\n", kinematics.get_odom().x, kinematics.get_odom().y, kinematics.get_odom().angle);
}

Some files were not shown because too many files have changed in this diff Show More