From c41e47b4c0c0844c5a3e25e10048ce07af61b812 Mon Sep 17 00:00:00 2001 From: Ben Kuper Date: Sun, 30 Jun 2024 20:44:41 +0200 Subject: [PATCH] update platforms and libraries, add support for SD_MMC and Olimex POE --- .../Bentuino/.vscode/c_cpp_properties.json | 666 +++++++++----- Firmware/Bentuino/lib/SD/src/SD.cpp | 106 --- Firmware/Bentuino/lib/SD/src/SD.h | 48 - Firmware/Bentuino/lib/SD/src/sd_defines.h | 25 - Firmware/Bentuino/lib/SD/src/sd_diskio.cpp | 824 ------------------ Firmware/Bentuino/lib/SD/src/sd_diskio.h | 31 - Firmware/Bentuino/lib/SD/src/sd_diskio_crc.c | 103 --- Firmware/Bentuino/package-lock.json | 6 + Firmware/Bentuino/platformio.ini | 81 +- Firmware/Bentuino/src/Common/Helpers.h | 3 - Firmware/Bentuino/src/Component/Component.cpp | 2 +- .../components/files/FilesComponent.cpp | 40 +- .../components/files/FilesComponent.h | 8 + .../components/io/button/ButtonComponent.h | 10 +- .../layers/system/LedStripSystemLayer.cpp | 9 + .../components/ledstrip/LedStripComponent.cpp | 4 +- .../components/server/WebServerComponent.cpp | 6 +- Firmware/Bentuino/src/RootComponent.cpp | 6 +- Firmware/Bentuino/src/UnityIncludes.cpp | 4 +- Firmware/Bentuino/src/UnityIncludes.h | 14 +- 20 files changed, 614 insertions(+), 1382 deletions(-) delete mode 100644 Firmware/Bentuino/lib/SD/src/SD.cpp delete mode 100644 Firmware/Bentuino/lib/SD/src/SD.h delete mode 100644 Firmware/Bentuino/lib/SD/src/sd_defines.h delete mode 100644 Firmware/Bentuino/lib/SD/src/sd_diskio.cpp delete mode 100644 Firmware/Bentuino/lib/SD/src/sd_diskio.h delete mode 100644 Firmware/Bentuino/lib/SD/src/sd_diskio_crc.c create mode 100644 Firmware/Bentuino/package-lock.json diff --git a/Firmware/Bentuino/.vscode/c_cpp_properties.json b/Firmware/Bentuino/.vscode/c_cpp_properties.json index 3610c24e..123d9c44 100644 --- a/Firmware/Bentuino/.vscode/c_cpp_properties.json +++ b/Firmware/Bentuino/.vscode/c_cpp_properties.json @@ -10,99 +10,232 @@ "includePath": [ "D:/Projects/Dev/BenTo/Firmware/Bentuino/include", "D:/Projects/Dev/BenTo/Firmware/Bentuino/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/M5GFX/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/lib/SD/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/FastAccelStepper/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/WebSockets/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/FastAccelStepper/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/WebSockets/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ESP Async WebServer/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/AsyncTCP/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ArtnetWifi/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ESP32Servo/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/SimplexNoise", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Wasm3/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/arduino-timer/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit DotStar", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ESP Async WebServer/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/AsyncTCP/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ArtnetWifi/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ESP32Servo/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/SimplexNoise", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Wasm3/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/arduino-timer/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit DotStar", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/OSC", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/OSC", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ArduinoJson/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ArduinoJson/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit BusIO", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit BusIO", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit BNO055", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit BNO055/utility", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit BNO055", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit BNO055/utility", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit Unified Sensor", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit NeoPixel", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_websocket_client", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit Unified Sensor", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit NeoPixel", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/cores/esp32", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/variants/esp32", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", @@ -112,11 +245,14 @@ "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", @@ -127,99 +263,232 @@ "path": [ "D:/Projects/Dev/BenTo/Firmware/Bentuino/include", "D:/Projects/Dev/BenTo/Firmware/Bentuino/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/M5GFX/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/lib/SD/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/FastAccelStepper/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/WebSockets/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/FastAccelStepper/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/WebSockets/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ESP Async WebServer/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/AsyncTCP/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ArtnetWifi/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ESP32Servo/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/SimplexNoise", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Wasm3/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/arduino-timer/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit DotStar", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ESP Async WebServer/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/AsyncTCP/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ArtnetWifi/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ESP32Servo/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/SimplexNoise", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Wasm3/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/arduino-timer/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit DotStar", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/OSC", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/OSC", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/FS/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/ArduinoJson/src", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/ArduinoJson/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit BusIO", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit BusIO", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit BNO055", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit BNO055/utility", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit BNO055", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit BNO055/utility", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit Unified Sensor", - "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/creatorclub/Adafruit NeoPixel", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/config", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_trace", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/app_update", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/asio", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bootloader_support", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/bt", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/coap", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/console", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/driver", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/efuse", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-tls", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_adc_cal", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_event", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_client", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_http_server", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_ota", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_https_server", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_ringbuf", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp_websocket_client", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/espcoredump", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ethernet", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/expat", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fatfs", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freemodbus", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/freertos", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/heap", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/idf_test", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/jsmn", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/json", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/libsodium", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/log", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mbedtls", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mdns", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/micro-ecc", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/mqtt", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/newlib", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nghttp", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/nvs_flash", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/openssl", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protobuf-c", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/protocomm", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/pthread", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/sdmmc", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/smartconfig_ack", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/soc", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spi_flash", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/spiffs", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcp_transport", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/tcpip_adapter", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/ulp", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/unity", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/vfs", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wear_levelling", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wifi_provisioning", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/wpa_supplicant", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/xtensa-debug-module", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp-face", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/esp32-camera", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/fb_gfx", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit Unified Sensor", + "D:/Projects/Dev/BenTo/Firmware/Bentuino/.pio/libdeps/olimex/Adafruit NeoPixel", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/add/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/addc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mulc/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/sub/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/mul/test/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/cores/esp32", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/variants/esp32", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/AzureIoT/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src", @@ -229,11 +498,14 @@ "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD/src", - "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src", + "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/USB/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/Update/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src", "C:/Users/bkupe/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src", @@ -242,7 +514,7 @@ }, "defines": [ "PLATFORMIO=60115", - "ARDUINO_ESP32_DEV", + "ARDUINO_ESP32_POE", "ARDUINO_BENTUINO", "USE_SERIAL", "USE_SERVER", @@ -252,68 +524,64 @@ "CONFIG_ASYNC_TCP_USE_WDT=0", "USE_WIFI", "USE_OSC", - "BENTUINO_CREATORCLUB", + "BENTUINO_CREATORTAB", "USE_POWER", "POWER_KEEP_PIN=12", - "POWER_WAKEUP_BUTTON=32", + "POWER_WAKEUP_BUTTON=34", "POWER_WAKEUP_BUTTON_STATE=true", "USE_LEDSTRIP", "USE_STREAMING", "LEDSTRIP_MAX_COUNT=1", - "LED_DEFAULT_EN_PIN=27", - "LED_DEFAULT_DATA_PIN=25", - "LED_DEFAULT_CLK_PIN=26", + "LED_DEFAULT_EN_PIN=-1", + "LED_DEFAULT_DATA_PIN=4", + "LED_DEFAULT_CLK_PIN=-1", "LED_DEFAULT_COUNT=32", - "LED_DEFAULT_TYPE=SK9822", - "LED_DEFAULT_COLOR_ORDER=BGR", - "LED_DEFAULT_INVERT_DIRECTION=true", + "LED_DEFAULT_TYPE=WS2812B", + "LED_DEFAULT_COLOR_ORDER=GRB", + "LED_DEFAULT_INVERT_DIRECTION=false", "LED_DEFAULT_BRIGHTNESS=0.5f", "LED_MAX_BRIGHTNESS=0.4f", - "LED_MAX_COUNT=32", + "LED_MAX_COUNT=1000", "PLAYBACK_USE_ALPHA", "PLAYBACK_MAX_SCRIPTS=32", "USE_FX", "USE_BUTTON", - "BUTTON_MAX_COUNT=1", - "BUTTON_DEFAULT_PIN=32", + "BUTTON_MAX_COUNT=4", + "BUTTON_DEFAULT_PIN=34", "USE_IO", - "IO_MAX_COUNT=1", - "IO_DEFAULT_PIN=17", + "IO_MAX_COUNT=4", + "IO_DEFAULT_PIN=-1", "IO_DEFAULT_MODE=IOComponent::PinMode::A_OUTPUT", - "USE_BATTERY", - "BATTERY_DEFAULT_PIN=35", - "BATTERY_DEFAULT_CHARGE_PIN=-1", - "BATTERY_DEFAUT_RAW_MIN=222", - "BATTERY_DEFAULT_RAW_MAX=335", - "BATTERY_DEFAULT_LOW_VOLTAGE=3.5f", "USE_FILES", - "USE_SCRIPT", + "FILES_SD_TYPE=MMC", "FILES_DEFAULT_SDSPEED=27000000", - "FILES_DEFAULT_SD_EN=16", + "FILES_DEFAULT_SD_EN=33", "FILES_DEFAULT_SD_POWER_VALUE=LOW", "FILES_DEFAULT_SD_MISO=19", "FILES_DEFAULT_SD_MOSI=13", "FILES_DEFAULT_SD_SCK=14", "FILES_DEFAULT_SD_CS=15", - "USE_MOTION", - "IMU_DEFAULT_INT=33", - "IMU_DEFAULT_SDA=23", - "IMU_DEFAULT_SCL=22", - "IMU_DEFAULT_ADDR=0x28", - "ESP32", - "ESP_PLATFORM", - "F_CPU=240000000L", + "USE_SCRIPT", "HAVE_CONFIG_H", "MBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"", - "ARDUINO=10805", + "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_BOARD=\"OLIMEX ESP32-PoE\"", + "ARDUINO_PARTITION_huge_app", "" ], "cStandard": "gnu99", "cppStandard": "gnu++11", - "compilerPath": "C:/Users/bkupe/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-gcc.exe", + "compilerPath": "C:/Users/bkupe/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc.exe", "compilerArgs": [ "-mlongcalls", "" diff --git a/Firmware/Bentuino/lib/SD/src/SD.cpp b/Firmware/Bentuino/lib/SD/src/SD.cpp deleted file mode 100644 index 23131371..00000000 --- a/Firmware/Bentuino/lib/SD/src/SD.cpp +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "vfs_api.h" -#include "sd_diskio.h" -#include "ff.h" -#include "FS.h" -#include "SD.h" - -using namespace fs; - -SDFS::SDFS(FSImplPtr impl): FS(impl), _pdrv(0xFF) {} - -bool SDFS::begin(uint8_t ssPin, SPIClass &spi, uint32_t frequency, const char * mountpoint, uint8_t max_files, bool format_if_empty) -{ - if(_pdrv != 0xFF) { - return true; - } - - spi.begin(); - - _pdrv = sdcard_init(ssPin, &spi, frequency); - if(_pdrv == 0xFF) { - return false; - } - - if(!sdcard_mount(_pdrv, mountpoint, max_files, format_if_empty)){ - sdcard_unmount(_pdrv); - sdcard_uninit(_pdrv); - _pdrv = 0xFF; - return false; - } - - _impl->mountpoint(mountpoint); - return true; -} - -void SDFS::end() -{ - if(_pdrv != 0xFF) { - _impl->mountpoint(NULL); - sdcard_unmount(_pdrv); - - sdcard_uninit(_pdrv); - _pdrv = 0xFF; - } -} - -sdcard_type_t SDFS::cardType() -{ - if(_pdrv == 0xFF) { - return CARD_NONE; - } - return sdcard_type(_pdrv); -} - -uint64_t SDFS::cardSize() -{ - if(_pdrv == 0xFF) { - return 0; - } - size_t sectors = sdcard_num_sectors(_pdrv); - size_t sectorSize = sdcard_sector_size(_pdrv); - return (uint64_t)sectors * sectorSize; -} - -uint64_t SDFS::totalBytes() -{ - FATFS* fsinfo; - DWORD fre_clust; - if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0; - uint64_t size = ((uint64_t)(fsinfo->csize))*(fsinfo->n_fatent - 2) -#if _MAX_SS != 512 - *(fsinfo->ssize); -#else - *512; -#endif - return size; -} - -uint64_t SDFS::usedBytes() -{ - FATFS* fsinfo; - DWORD fre_clust; - if(f_getfree("0:",&fre_clust,&fsinfo)!= 0) return 0; - uint64_t size = ((uint64_t)(fsinfo->csize))*((fsinfo->n_fatent - 2) - (fsinfo->free_clst)) -#if _MAX_SS != 512 - *(fsinfo->ssize); -#else - *512; -#endif - return size; -} - -SDFS SD = SDFS(FSImplPtr(new VFSImpl())); diff --git a/Firmware/Bentuino/lib/SD/src/SD.h b/Firmware/Bentuino/lib/SD/src/SD.h deleted file mode 100644 index 375ab110..00000000 --- a/Firmware/Bentuino/lib/SD/src/SD.h +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#ifndef _SD_H_ -#define _SD_H_ - -#include "FS.h" -#include "SPI.h" -#include "sd_defines.h" - -namespace fs -{ - -class SDFS : public FS -{ -protected: - uint8_t _pdrv; - -public: - SDFS(FSImplPtr impl); - bool begin(uint8_t ssPin=SS, SPIClass &spi=SPI, uint32_t frequency=4000000, const char * mountpoint="/sd", uint8_t max_files=5, bool format_if_empty=false); - void end(); - sdcard_type_t cardType(); - uint64_t cardSize(); - uint64_t totalBytes(); - uint64_t usedBytes(); -}; - -} - -extern fs::SDFS SD; - -using namespace fs; -typedef fs::File SDFile; -typedef fs::SDFS SDFileSystemClass; -#define SDFileSystem SD - -#endif /* _SD_H_ */ diff --git a/Firmware/Bentuino/lib/SD/src/sd_defines.h b/Firmware/Bentuino/lib/SD/src/sd_defines.h deleted file mode 100644 index 6e42855a..00000000 --- a/Firmware/Bentuino/lib/SD/src/sd_defines.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#ifndef _SD_DEFINES_H_ -#define _SD_DEFINES_H_ - -typedef enum { - CARD_NONE, - CARD_MMC, - CARD_SD, - CARD_SDHC, - CARD_UNKNOWN -} sdcard_type_t; - -#endif /* _SD_DISKIO_H_ */ diff --git a/Firmware/Bentuino/lib/SD/src/sd_diskio.cpp b/Firmware/Bentuino/lib/SD/src/sd_diskio.cpp deleted file mode 100644 index a6b5e523..00000000 --- a/Firmware/Bentuino/lib/SD/src/sd_diskio.cpp +++ /dev/null @@ -1,824 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#include "sd_diskio.h" -extern "C" { - #include "diskio.h" - #include "ffconf.h" - #include "ff.h" - //#include "esp_vfs.h" - #include "esp_vfs_fat.h" - char CRC7(const char* data, int length); - unsigned short CRC16(const char* data, int length); -} - -typedef enum { - GO_IDLE_STATE = 0, - SEND_OP_COND = 1, - SEND_CID = 2, - SEND_RELATIVE_ADDR = 3, - SEND_SWITCH_FUNC = 6, - SEND_IF_COND = 8, - SEND_CSD = 9, - STOP_TRANSMISSION = 12, - SEND_STATUS = 13, - SET_BLOCKLEN = 16, - READ_BLOCK_SINGLE = 17, - READ_BLOCK_MULTIPLE = 18, - SEND_NUM_WR_BLOCKS = 22, - SET_WR_BLK_ERASE_COUNT = 23, - WRITE_BLOCK_SINGLE = 24, - WRITE_BLOCK_MULTIPLE = 25, - APP_OP_COND = 41, - APP_CLR_CARD_DETECT = 42, - APP_CMD = 55, - READ_OCR = 58, - CRC_ON_OFF = 59 -} ardu_sdcard_command_t; - -typedef struct { - uint8_t ssPin; - SPIClass * spi; - int frequency; - char * base_path; - sdcard_type_t type; - unsigned long sectors; - bool supports_crc; - int status; -} ardu_sdcard_t; - -static ardu_sdcard_t* s_cards[FF_VOLUMES] = { NULL }; - -#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_ERROR -const char * fferr2str[] = { - "(0) Succeeded", - "(1) A hard error occurred in the low level disk I/O layer", - "(2) Assertion failed", - "(3) The physical drive cannot work", - "(4) Could not find the file", - "(5) Could not find the path", - "(6) The path name format is invalid", - "(7) Access denied due to prohibited access or directory full", - "(8) Access denied due to prohibited access", - "(9) The file/directory object is invalid", - "(10) The physical drive is write protected", - "(11) The logical drive number is invalid", - "(12) The volume has no work area", - "(13) There is no valid FAT volume", - "(14) The f_mkfs() aborted due to any problem", - "(15) Could not get a grant to access the volume within defined period", - "(16) The operation is rejected according to the file sharing policy", - "(17) LFN working buffer could not be allocated", - "(18) Number of open files > FF_FS_LOCK", - "(19) Given parameter is invalid" -}; -#endif - -/* - * SD SPI - * */ - -bool sdWait(uint8_t pdrv, int timeout) -{ - char resp; - uint32_t start = millis(); - - do { - resp = s_cards[pdrv]->spi->transfer(0xFF); - } while (resp == 0x00 && (millis() - start) < (unsigned int)timeout); - - if (!resp) { - log_w("Wait Failed"); - } - return (resp > 0x00); -} - -void sdStop(uint8_t pdrv) -{ - s_cards[pdrv]->spi->write(0xFD); -} - -void sdDeselectCard(uint8_t pdrv) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - digitalWrite(card->ssPin, HIGH); -} - -bool sdSelectCard(uint8_t pdrv) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - digitalWrite(card->ssPin, LOW); - bool s = sdWait(pdrv, 300); - if (!s) { - log_e("Select Failed"); - } - return true; -} - -char sdCommand(uint8_t pdrv, char cmd, unsigned int arg, unsigned int* resp) -{ - char token; - ardu_sdcard_t * card = s_cards[pdrv]; - - for (int f = 0; f < 3; f++) { - if (cmd == SEND_NUM_WR_BLOCKS || cmd == SET_WR_BLK_ERASE_COUNT || cmd == APP_OP_COND || cmd == APP_CLR_CARD_DETECT) { - token = sdCommand(pdrv, APP_CMD, 0, NULL); - sdDeselectCard(pdrv); - if (token > 1) { - break; - } - if(!sdSelectCard(pdrv)) { - token = 0xFF; - break; - } - } - - char cmdPacket[7]; - cmdPacket[0] = cmd | 0x40; - cmdPacket[1] = arg >> 24; - cmdPacket[2] = arg >> 16; - cmdPacket[3] = arg >> 8; - cmdPacket[4] = arg; - if(card->supports_crc || cmd == GO_IDLE_STATE || cmd == SEND_IF_COND) { - cmdPacket[5] = (CRC7(cmdPacket, 5) << 1) | 0x01; - } else { - cmdPacket[5] = 0x01; - } - cmdPacket[6] = 0xFF; - - card->spi->writeBytes((uint8_t*)cmdPacket, (cmd == STOP_TRANSMISSION)?7:6); - - for (int i = 0; i < 9; i++) { - token = card->spi->transfer(0xFF); - if (!(token & 0x80)) { - break; - } - } - - if (token == 0xFF) { - log_w("no token received"); - sdDeselectCard(pdrv); - delay(100); - sdSelectCard(pdrv); - continue; - } else if (token & 0x08) { - log_w("crc error"); - sdDeselectCard(pdrv); - delay(100); - sdSelectCard(pdrv); - continue; - } else if (token > 1) { - log_w("token error [%u] 0x%x", cmd, token); - break; - } - - if (cmd == SEND_STATUS && resp) { - *resp = card->spi->transfer(0xFF); - } else if ((cmd == SEND_IF_COND || cmd == READ_OCR) && resp) { - *resp = card->spi->transfer32(0xFFFFFFFF); - } - - break; - } - if (token == 0xFF) { - log_e("Card Failed! cmd: 0x%02x", cmd); - card->status = STA_NOINIT; - } - return token; -} - -bool sdReadBytes(uint8_t pdrv, char* buffer, int length) -{ - char token; - unsigned short crc; - ardu_sdcard_t * card = s_cards[pdrv]; - - uint32_t start = millis(); - do { - token = card->spi->transfer(0xFF); - } while (token == 0xFF && (millis() - start) < 500); - - if (token != 0xFE) { - return false; - } - - card->spi->transferBytes(NULL, (uint8_t*)buffer, length); - crc = card->spi->transfer16(0xFFFF); - return (!card->supports_crc || crc == CRC16(buffer, length)); -} - -char sdWriteBytes(uint8_t pdrv, const char* buffer, char token) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - unsigned short crc = (card->supports_crc)?CRC16(buffer, 512):0xFFFF; - if (!sdWait(pdrv, 500)) { - return false; - } - - card->spi->write(token); - card->spi->writeBytes((uint8_t*)buffer, 512); - card->spi->write16(crc); - return (card->spi->transfer(0xFF) & 0x1F); -} - -/* - * SPI SDCARD Communication - * */ - -char sdTransaction(uint8_t pdrv, char cmd, unsigned int arg, unsigned int* resp) -{ - if(!sdSelectCard(pdrv)) { - return 0xFF; - } - char token = sdCommand(pdrv, cmd, arg, resp); - sdDeselectCard(pdrv); - return token; -} - -bool sdReadSector(uint8_t pdrv, char* buffer, unsigned long long sector) -{ - for (int f = 0; f < 3; f++) { - if(!sdSelectCard(pdrv)) { - return false; - } - if (!sdCommand(pdrv, READ_BLOCK_SINGLE, (s_cards[pdrv]->type == CARD_SDHC) ? sector : sector << 9, NULL)) { - bool success = sdReadBytes(pdrv, buffer, 512); - sdDeselectCard(pdrv); - if (success) { - return true; - } - } else { - break; - } - } - sdDeselectCard(pdrv); - return false; -} - -bool sdReadSectors(uint8_t pdrv, char* buffer, unsigned long long sector, int count) -{ - for (int f = 0; f < 3;) { - if(!sdSelectCard(pdrv)) { - return false; - } - - if (!sdCommand(pdrv, READ_BLOCK_MULTIPLE, (s_cards[pdrv]->type == CARD_SDHC) ? sector : sector << 9, NULL)) { - do { - if (!sdReadBytes(pdrv, buffer, 512)) { - f++; - break; - } - - sector++; - buffer += 512; - f = 0; - } while (--count); - - if (sdCommand(pdrv, STOP_TRANSMISSION, 0, NULL)) { - log_e("command failed"); - break; - } - - sdDeselectCard(pdrv); - if (count == 0) { - return true; - } - } else { - break; - } - } - sdDeselectCard(pdrv); - return false; -} - -bool sdWriteSector(uint8_t pdrv, const char* buffer, unsigned long long sector) -{ - for (int f = 0; f < 3; f++) { - if(!sdSelectCard(pdrv)) { - return false; - } - if (!sdCommand(pdrv, WRITE_BLOCK_SINGLE, (s_cards[pdrv]->type == CARD_SDHC) ? sector : sector << 9, NULL)) { - char token = sdWriteBytes(pdrv, buffer, 0xFE); - sdDeselectCard(pdrv); - - if (token == 0x0A) { - continue; - } else if (token == 0x0C) { - return false; - } - - unsigned int resp; - if (sdTransaction(pdrv, SEND_STATUS, 0, &resp) || resp) { - return false; - } - return true; - } else { - break; - } - } - sdDeselectCard(pdrv); - return false; -} - -bool sdWriteSectors(uint8_t pdrv, const char* buffer, unsigned long long sector, int count) -{ - char token; - const char* currentBuffer = buffer; - unsigned long long currentSector = sector; - int currentCount = count; - ardu_sdcard_t * card = s_cards[pdrv]; - - for (int f = 0; f < 3;) { - if (card->type != CARD_MMC) { - if (sdTransaction(pdrv, SET_WR_BLK_ERASE_COUNT, currentCount, NULL)) { - return false; - } - } - - if(!sdSelectCard(pdrv)) { - return false; - } - - if (!sdCommand(pdrv, WRITE_BLOCK_MULTIPLE, (card->type == CARD_SDHC) ? currentSector : currentSector << 9, NULL)) { - do { - token = sdWriteBytes(pdrv, currentBuffer, 0xFC); - if (token != 0x05) { - f++; - break; - } - currentBuffer += 512; - f = 0; - } while (--currentCount); - - if (!sdWait(pdrv, 500)) { - break; - } - - if (currentCount == 0) { - sdStop(pdrv); - sdDeselectCard(pdrv); - - unsigned int resp; - if (sdTransaction(pdrv, SEND_STATUS, 0, &resp) || resp) { - return false; - } - return true; - } else { - if (sdCommand(pdrv, STOP_TRANSMISSION, 0, NULL)) { - break; - } - - if (token == 0x0A) { - sdDeselectCard(pdrv); - unsigned int writtenBlocks = 0; - if (card->type != CARD_MMC && sdSelectCard(pdrv)) { - if (!sdCommand(pdrv, SEND_NUM_WR_BLOCKS, 0, NULL)) { - char acmdData[4]; - if (sdReadBytes(pdrv, acmdData, 4)) { - writtenBlocks = acmdData[0] << 24; - writtenBlocks |= acmdData[1] << 16; - writtenBlocks |= acmdData[2] << 8; - writtenBlocks |= acmdData[3]; - } - } - sdDeselectCard(pdrv); - } - currentBuffer = buffer + (writtenBlocks << 9); - currentSector = sector + writtenBlocks; - currentCount = count - writtenBlocks; - continue; - } else { - break; - } - } - } else { - break; - } - } - sdDeselectCard(pdrv); - return false; -} - -unsigned long sdGetSectorsCount(uint8_t pdrv) -{ - for (int f = 0; f < 3; f++) { - if(!sdSelectCard(pdrv)) { - return false; - } - - if (!sdCommand(pdrv, SEND_CSD, 0, NULL)) { - char csd[16]; - bool success = sdReadBytes(pdrv, csd, 16); - sdDeselectCard(pdrv); - if (success) { - if ((csd[0] >> 6) == 0x01) { - unsigned long size = ( - ((unsigned long)(csd[7] & 0x3F) << 16) - | ((unsigned long)csd[8] << 8) - | csd[9] - ) + 1; - return size << 10; - } - unsigned long size = ( - ((unsigned long)(csd[6] & 0x03) << 10) - | ((unsigned long)csd[7] << 2) - | ((csd[8] & 0xC0) >> 6) - ) + 1; - size <<= (( - ((csd[9] & 0x03) << 1) - | ((csd[10] & 0x80) >> 7) - ) + 2); - size <<= (csd[5] & 0x0F); - return size >> 9; - } - } else { - break; - } - } - - sdDeselectCard(pdrv); - return 0; -} - - -namespace -{ - -struct AcquireSPI -{ - ardu_sdcard_t *card; - explicit AcquireSPI(ardu_sdcard_t* card) - : card(card) - { - card->spi->beginTransaction(SPISettings(card->frequency, MSBFIRST, SPI_MODE0)); - } - AcquireSPI(ardu_sdcard_t* card, int frequency) - : card(card) - { - card->spi->beginTransaction(SPISettings(frequency, MSBFIRST, SPI_MODE0)); - } - ~AcquireSPI() - { - card->spi->endTransaction(); - } -private: - AcquireSPI(AcquireSPI const&); - AcquireSPI& operator=(AcquireSPI const&); -}; - -} - - -/* - * FATFS API - * */ - -DSTATUS ff_sd_initialize(uint8_t pdrv) -{ - char token; - unsigned int resp; - unsigned int start; - ardu_sdcard_t * card = s_cards[pdrv]; - - if (!(card->status & STA_NOINIT)) { - return card->status; - } - - AcquireSPI card_locked(card, 400000); - - digitalWrite(card->ssPin, HIGH); - for (uint8_t i = 0; i < 20; i++) { - card->spi->transfer(0XFF); - } - - if (sdTransaction(pdrv, GO_IDLE_STATE, 0, NULL) != 1) { - log_w("GO_IDLE_STATE failed"); - goto unknown_card; - } - - token = sdTransaction(pdrv, CRC_ON_OFF, 1, NULL); - if (token == 0x5) { - //old card maybe - card->supports_crc = false; - } else if (token != 1) { - log_w("CRC_ON_OFF failed: %u", token); - goto unknown_card; - } - - if (sdTransaction(pdrv, SEND_IF_COND, 0x1AA, &resp) == 1) { - if ((resp & 0xFFF) != 0x1AA) { - log_w("SEND_IF_COND failed: %03X", resp & 0xFFF); - goto unknown_card; - } - - if (sdTransaction(pdrv, READ_OCR, 0, &resp) != 1 || !(resp & (1 << 20))) { - log_w("READ_OCR failed: %X", resp); - goto unknown_card; - } - - start = millis(); - do { - token = sdTransaction(pdrv, APP_OP_COND, 0x40100000, NULL); - } while (token == 1 && (millis() - start) < 1000); - - if (token) { - log_w("APP_OP_COND failed: %u", token); - goto unknown_card; - } - - if (!sdTransaction(pdrv, READ_OCR, 0, &resp)) { - if (resp & (1 << 30)) { - card->type = CARD_SDHC; - } else { - card->type = CARD_SD; - } - } else { - log_w("READ_OCR failed: %X", resp); - goto unknown_card; - } - } else { - if (sdTransaction(pdrv, READ_OCR, 0, &resp) != 1 || !(resp & (1 << 20))) { - log_w("READ_OCR failed: %X", resp); - goto unknown_card; - } - - start = millis(); - do { - token = sdTransaction(pdrv, APP_OP_COND, 0x100000, NULL); - } while (token == 0x01 && (millis() - start) < 1000); - - if (!token) { - card->type = CARD_SD; - } else { - start = millis(); - do { - token = sdTransaction(pdrv, SEND_OP_COND, 0x100000, NULL); - } while (token != 0x00 && (millis() - start) < 1000); - - if (token == 0x00) { - card->type = CARD_MMC; - } else { - log_w("SEND_OP_COND failed: %u", token); - goto unknown_card; - } - } - } - - if (card->type != CARD_MMC) { - if (sdTransaction(pdrv, APP_CLR_CARD_DETECT, 0, NULL)) { - log_w("APP_CLR_CARD_DETECT failed"); - goto unknown_card; - } - } - - if (card->type != CARD_SDHC) { - if (sdTransaction(pdrv, SET_BLOCKLEN, 512, NULL) != 0x00) { - log_w("SET_BLOCKLEN failed"); - goto unknown_card; - } - } - - card->sectors = sdGetSectorsCount(pdrv); - - if (card->frequency > 25000000) { - card->frequency = 25000000; - } - - card->status &= ~STA_NOINIT; - return card->status; - -unknown_card: - card->type = CARD_UNKNOWN; - return card->status; -} - -DSTATUS ff_sd_status(uint8_t pdrv) -{ - return s_cards[pdrv]->status; -} - -DRESULT ff_sd_read(uint8_t pdrv, uint8_t* buffer, DWORD sector, UINT count) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - if (card->status & STA_NOINIT) { - return RES_NOTRDY; - } - DRESULT res = RES_OK; - - AcquireSPI lock(card); - - if (count > 1) { - res = sdReadSectors(pdrv, (char*)buffer, sector, count) ? RES_OK : RES_ERROR; - } else { - res = sdReadSector(pdrv, (char*)buffer, sector) ? RES_OK : RES_ERROR; - } - return res; -} - -DRESULT ff_sd_write(uint8_t pdrv, const uint8_t* buffer, DWORD sector, UINT count) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - if (card->status & STA_NOINIT) { - return RES_NOTRDY; - } - - if (card->status & STA_PROTECT) { - return RES_WRPRT; - } - DRESULT res = RES_OK; - - AcquireSPI lock(card); - - if (count > 1) { - res = sdWriteSectors(pdrv, (const char*)buffer, sector, count) ? RES_OK : RES_ERROR; - } else { - res = sdWriteSector(pdrv, (const char*)buffer, sector) ? RES_OK : RES_ERROR; - } - return res; -} - -DRESULT ff_sd_ioctl(uint8_t pdrv, uint8_t cmd, void* buff) -{ - switch(cmd) { - case CTRL_SYNC: - { - AcquireSPI lock(s_cards[pdrv]); - if (sdSelectCard(pdrv)) { - sdDeselectCard(pdrv); - return RES_OK; - } - } - return RES_ERROR; - case GET_SECTOR_COUNT: - *((unsigned long*) buff) = s_cards[pdrv]->sectors; - return RES_OK; - case GET_SECTOR_SIZE: - *((WORD*) buff) = 512; - return RES_OK; - case GET_BLOCK_SIZE: - *((uint32_t*)buff) = 1; - return RES_OK; - } - return RES_PARERR; -} - - -/* - * Public methods - * */ - -uint8_t sdcard_uninit(uint8_t pdrv) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - if (pdrv >= FF_VOLUMES || card == NULL) { - return 1; - } - sdTransaction(pdrv, GO_IDLE_STATE, 0, NULL); - ff_diskio_register(pdrv, NULL); - s_cards[pdrv] = NULL; - esp_err_t err = ESP_OK; - if (card->base_path) { - err = esp_vfs_fat_unregister_path(card->base_path); - } - free(card); - return err; -} - -uint8_t sdcard_init(uint8_t cs, SPIClass * spi, int hz) -{ - - uint8_t pdrv = 0xFF; - if (ff_diskio_get_drive(&pdrv) != ESP_OK || pdrv == 0xFF) { - return pdrv; - } - - ardu_sdcard_t * card = (ardu_sdcard_t *)malloc(sizeof(ardu_sdcard_t)); - if (!card) { - return 0xFF; - } - - card->base_path = NULL; - card->frequency = hz; - card->spi = spi; - card->ssPin = cs; - - card->supports_crc = true; - card->type = CARD_NONE; - card->status = STA_NOINIT; - - pinMode(card->ssPin, OUTPUT); - digitalWrite(card->ssPin, HIGH); - - s_cards[pdrv] = card; - - static const ff_diskio_impl_t sd_impl = { - .init = &ff_sd_initialize, - .status = &ff_sd_status, - .read = &ff_sd_read, - .write = &ff_sd_write, - .ioctl = &ff_sd_ioctl - }; - ff_diskio_register(pdrv, &sd_impl); - - return pdrv; -} - -uint8_t sdcard_unmount(uint8_t pdrv) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - if (pdrv >= FF_VOLUMES || card == NULL) { - return 1; - } - card->status |= STA_NOINIT; - card->type = CARD_NONE; - - char drv[3] = {(char)('0' + pdrv), ':', 0}; - f_mount(NULL, drv, 0); - return 0; -} - -bool sdcard_mount(uint8_t pdrv, const char* path, uint8_t max_files, bool format_if_empty) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - if(pdrv >= FF_VOLUMES || card == NULL){ - return false; - } - - if(card->base_path){ - free(card->base_path); - } - card->base_path = strdup(path); - - FATFS* fs; - char drv[3] = {(char)('0' + pdrv), ':', 0}; - esp_err_t err = esp_vfs_fat_register(path, drv, max_files, &fs); - if (err == ESP_ERR_INVALID_STATE) { - log_e("esp_vfs_fat_register failed 0x(%x): SD is registered.", err); - return false; - } else if (err != ESP_OK) { - log_e("esp_vfs_fat_register failed 0x(%x)", err); - return false; - } - - FRESULT res = f_mount(fs, drv, 1); - if (res != FR_OK) { - log_e("f_mount failed: %s", fferr2str[res]); - if(res == 13 && format_if_empty){ - BYTE work[FF_MAX_SS]; - res = f_mkfs(drv, FM_ANY, 0, work, sizeof(work)); - if (res != FR_OK) { - log_e("f_mkfs failed: %s", fferr2str[res]); - esp_vfs_fat_unregister_path(path); - return false; - } - res = f_mount(fs, drv, 1); - if (res != FR_OK) { - log_e("f_mount failed: %s", fferr2str[res]); - esp_vfs_fat_unregister_path(path); - return false; - } - } else { - esp_vfs_fat_unregister_path(path); - return false; - } - } - AcquireSPI lock(card); - card->sectors = sdGetSectorsCount(pdrv); - return true; -} - -uint32_t sdcard_num_sectors(uint8_t pdrv) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - if(pdrv >= FF_VOLUMES || card == NULL){ - return 0; - } - return card->sectors; -} - -uint32_t sdcard_sector_size(uint8_t pdrv) -{ - if(pdrv >= FF_VOLUMES || s_cards[pdrv] == NULL){ - return 0; - } - return 512; -} - -sdcard_type_t sdcard_type(uint8_t pdrv) -{ - ardu_sdcard_t * card = s_cards[pdrv]; - if(pdrv >= FF_VOLUMES || card == NULL){ - return CARD_NONE; - } - return card->type; -} diff --git a/Firmware/Bentuino/lib/SD/src/sd_diskio.h b/Firmware/Bentuino/lib/SD/src/sd_diskio.h deleted file mode 100644 index 5207dbd0..00000000 --- a/Firmware/Bentuino/lib/SD/src/sd_diskio.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#ifndef _SD_DISKIO_H_ -#define _SD_DISKIO_H_ - -#include "Arduino.h" -#include "SPI.h" -#include "sd_defines.h" - -uint8_t sdcard_init(uint8_t cs, SPIClass * spi, int hz); -uint8_t sdcard_uninit(uint8_t pdrv); - -bool sdcard_mount(uint8_t pdrv, const char* path, uint8_t max_files, bool format_if_empty); -uint8_t sdcard_unmount(uint8_t pdrv); - -sdcard_type_t sdcard_type(uint8_t pdrv); -uint32_t sdcard_num_sectors(uint8_t pdrv); -uint32_t sdcard_sector_size(uint8_t pdrv); - -#endif /* _SD_DISKIO_H_ */ diff --git a/Firmware/Bentuino/lib/SD/src/sd_diskio_crc.c b/Firmware/Bentuino/lib/SD/src/sd_diskio_crc.c deleted file mode 100644 index 0372df82..00000000 --- a/Firmware/Bentuino/lib/SD/src/sd_diskio_crc.c +++ /dev/null @@ -1,103 +0,0 @@ -/* SD/MMC File System Library - * Copyright (c) 2014 Neil Thiessen - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -const char m_CRC7Table[] = { - 0x00, 0x09, 0x12, 0x1B, 0x24, 0x2D, 0x36, 0x3F, - 0x48, 0x41, 0x5A, 0x53, 0x6C, 0x65, 0x7E, 0x77, - 0x19, 0x10, 0x0B, 0x02, 0x3D, 0x34, 0x2F, 0x26, - 0x51, 0x58, 0x43, 0x4A, 0x75, 0x7C, 0x67, 0x6E, - 0x32, 0x3B, 0x20, 0x29, 0x16, 0x1F, 0x04, 0x0D, - 0x7A, 0x73, 0x68, 0x61, 0x5E, 0x57, 0x4C, 0x45, - 0x2B, 0x22, 0x39, 0x30, 0x0F, 0x06, 0x1D, 0x14, - 0x63, 0x6A, 0x71, 0x78, 0x47, 0x4E, 0x55, 0x5C, - 0x64, 0x6D, 0x76, 0x7F, 0x40, 0x49, 0x52, 0x5B, - 0x2C, 0x25, 0x3E, 0x37, 0x08, 0x01, 0x1A, 0x13, - 0x7D, 0x74, 0x6F, 0x66, 0x59, 0x50, 0x4B, 0x42, - 0x35, 0x3C, 0x27, 0x2E, 0x11, 0x18, 0x03, 0x0A, - 0x56, 0x5F, 0x44, 0x4D, 0x72, 0x7B, 0x60, 0x69, - 0x1E, 0x17, 0x0C, 0x05, 0x3A, 0x33, 0x28, 0x21, - 0x4F, 0x46, 0x5D, 0x54, 0x6B, 0x62, 0x79, 0x70, - 0x07, 0x0E, 0x15, 0x1C, 0x23, 0x2A, 0x31, 0x38, - 0x41, 0x48, 0x53, 0x5A, 0x65, 0x6C, 0x77, 0x7E, - 0x09, 0x00, 0x1B, 0x12, 0x2D, 0x24, 0x3F, 0x36, - 0x58, 0x51, 0x4A, 0x43, 0x7C, 0x75, 0x6E, 0x67, - 0x10, 0x19, 0x02, 0x0B, 0x34, 0x3D, 0x26, 0x2F, - 0x73, 0x7A, 0x61, 0x68, 0x57, 0x5E, 0x45, 0x4C, - 0x3B, 0x32, 0x29, 0x20, 0x1F, 0x16, 0x0D, 0x04, - 0x6A, 0x63, 0x78, 0x71, 0x4E, 0x47, 0x5C, 0x55, - 0x22, 0x2B, 0x30, 0x39, 0x06, 0x0F, 0x14, 0x1D, - 0x25, 0x2C, 0x37, 0x3E, 0x01, 0x08, 0x13, 0x1A, - 0x6D, 0x64, 0x7F, 0x76, 0x49, 0x40, 0x5B, 0x52, - 0x3C, 0x35, 0x2E, 0x27, 0x18, 0x11, 0x0A, 0x03, - 0x74, 0x7D, 0x66, 0x6F, 0x50, 0x59, 0x42, 0x4B, - 0x17, 0x1E, 0x05, 0x0C, 0x33, 0x3A, 0x21, 0x28, - 0x5F, 0x56, 0x4D, 0x44, 0x7B, 0x72, 0x69, 0x60, - 0x0E, 0x07, 0x1C, 0x15, 0x2A, 0x23, 0x38, 0x31, - 0x46, 0x4F, 0x54, 0x5D, 0x62, 0x6B, 0x70, 0x79 -}; - -char CRC7(const char* data, int length) -{ - char crc = 0; - for (int i = 0; i < length; i++) { - crc = m_CRC7Table[(crc << 1) ^ data[i]]; - } - return crc; -} - -const unsigned short m_CRC16Table[256] = { - 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7, - 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, - 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, - 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, - 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, - 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D, - 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4, - 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, - 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, - 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, - 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12, - 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A, - 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, - 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, - 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, - 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78, - 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F, - 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, - 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, - 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, - 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D, - 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, - 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, - 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, - 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, - 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3, - 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A, - 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, - 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, - 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, - 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8, - 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0 -}; - -unsigned short CRC16(const char* data, int length) -{ - unsigned short crc = 0; - for (int i = 0; i < length; i++) { - crc = (crc << 8) ^ m_CRC16Table[((crc >> 8) ^ data[i]) & 0x00FF]; - } - return crc; -} diff --git a/Firmware/Bentuino/package-lock.json b/Firmware/Bentuino/package-lock.json new file mode 100644 index 00000000..1c825548 --- /dev/null +++ b/Firmware/Bentuino/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "Bentuino", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/Firmware/Bentuino/platformio.ini b/Firmware/Bentuino/platformio.ini index e528f1e2..b773a463 100644 --- a/Firmware/Bentuino/platformio.ini +++ b/Firmware/Bentuino/platformio.ini @@ -9,12 +9,11 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -default_envs = creatorclub - +default_envs = olimex [bentuino] -platform = espressif32@3.5.0 -platform_packages = framework-arduinoespressif32@3.10006.210326 +platform = espressif32 +platform_packages = framework-arduinoespressif32 board = esp32dev framework = arduino lib_deps = @@ -28,6 +27,7 @@ lib_deps = WiFi bblanchon/ArduinoJson @ ^6.18.5 SPIFFS + SD https://github.com/benkuper/OSC ESPmDNS adafruit/Adafruit DotStar @ ^1.2.0 @@ -70,7 +70,7 @@ build_flags = -D USE_POWER -D POWER_KEEP_PIN=12 -D POWER_WAKEUP_BUTTON=32 - -D POWER_WAKEUP_BUTTON_STATE=true + -D POWER_WAKEUP_BUTTON_STATE=false -D USE_LEDSTRIP -D USE_STREAMING -D LEDSTRIP_MAX_COUNT=1 @@ -125,6 +125,7 @@ build_flags = -D POWER_WAKEUP_BUTTON=36 -D POWER_WAKEUP_BUTTON_STATE=true -D USE_LEDSTRIP + -D USE_STREAMING -D LEDSTRIP_MAX_COUNT=1 -D LED_DEFAULT_EN_PIN=27 -D LED_DEFAULT_DATA_PIN=25 @@ -167,6 +168,54 @@ build_flags = -D IMU_DEFAULT_ADDR=0x28 -D USE_SCRIPT +[env:olimex] +extends = bentuino +platform = espressif32 +board = esp32-poe +build_flags = + ${bentuino.build_flags} + -D BENTUINO_CREATORTAB + -D USE_POWER + -D POWER_KEEP_PIN=12 + -D POWER_WAKEUP_BUTTON=34 + -D POWER_WAKEUP_BUTTON_STATE=true + -D USE_LEDSTRIP + -D USE_STREAMING + -D LEDSTRIP_MAX_COUNT=1 + -D LED_DEFAULT_EN_PIN=-1 + -D LED_DEFAULT_DATA_PIN=4 + -D LED_DEFAULT_CLK_PIN=-1 + -D LED_DEFAULT_COUNT=32 + -D LED_DEFAULT_TYPE=WS2812B + -D LED_DEFAULT_COLOR_ORDER=GRB + -D LED_DEFAULT_INVERT_DIRECTION=false + -D LED_DEFAULT_BRIGHTNESS=0.5f + -D LED_MAX_BRIGHTNESS=0.4f + -D LED_MAX_COUNT=1000 + -D PLAYBACK_USE_ALPHA + -D PLAYBACK_MAX_SCRIPTS=32 + -D USE_FX + -D USE_BUTTON + -D BUTTON_MAX_COUNT=4 + -D BUTTON_DEFAULT_PIN=34 + -D USE_IO + -D IO_MAX_COUNT=4 + -D IO_DEFAULT_PIN=-1 + -D IO_DEFAULT_MODE=IOComponent::PinMode::A_OUTPUT + -D USE_FILES + -D FILES_SD_TYPE=MMC + -D FILES_DEFAULT_SDSPEED=27000000 + -D FILES_DEFAULT_SD_EN=33 + -D FILES_DEFAULT_SD_POWER_VALUE=LOW + -D FILES_DEFAULT_SD_MISO=19 + -D FILES_DEFAULT_SD_MOSI=13 + -D FILES_DEFAULT_SD_SCK=14 + -D FILES_DEFAULT_SD_CS=15 + -D USE_SCRIPT +lib_deps = + ${bentuino.lib_deps} + FS + [m5stickc] extends = bentuino platform = espressif32 @@ -223,10 +272,10 @@ board = featheresp32 [env:feathertuino] extends = bentuino -board=featheresp32 -build_flags= +board = featheresp32 +build_flags = ${bentuino.build_flags} - -D USE_STEPPER + -D USE_STEPPER -D STEPPER_DEFAULT_DIR_PIN=25 -D STEPPER_DEFAULT_STEP_PIN=26 -D STEPPER_DEFAULT_EN_PIN=4 @@ -234,23 +283,15 @@ build_flags= [env:tinytuino] extends = bentuino -board=tinypico -build_flags= +board = tinypico +build_flags = ${bentuino.build_flags} - ; -D USE_STEPPER - ; -D STEPPER_DEFAULT_DIR_PIN=25 - ; -D STEPPER_DEFAULT_STEP_PIN=26 - ; -D STEPPER_DEFAULT_EN_PIN=4 -D USE_IO [env:phonetuino] extends = bentuino -build_flags= +build_flags = ${bentuino.build_flags} - ; -D USE_STEPPER - ; -D STEPPER_DEFAULT_DIR_PIN=25 - ; -D STEPPER_DEFAULT_STEP_PIN=26 - ; -D STEPPER_DEFAULT_EN_PIN=4 -D USE_IO -D USE_POWER -D POWER_KEEP_PIN=12 @@ -258,4 +299,4 @@ build_flags= -D POWER_WAKEUP_BUTTON_STATE=true -D USE_BUTTON -D BUTTON_MAX_COUNT=4 - -D BUTTON_DEFAULT_PIN=36 \ No newline at end of file + -D BUTTON_DEFAULT_PIN=36 diff --git a/Firmware/Bentuino/src/Common/Helpers.h b/Firmware/Bentuino/src/Common/Helpers.h index faf4db52..cb9cb068 100644 --- a/Firmware/Bentuino/src/Common/Helpers.h +++ b/Firmware/Bentuino/src/Common/Helpers.h @@ -141,18 +141,15 @@ #define AddMultiParamWithTag(type, class, param, tag, numData) \ { \ \ - DBG(String("Add multi param ") + #param); \ addParam(¶m, ParamType::type, tag); \ if (o.containsKey(#param)) \ { \ JsonArray vArr = o[#param].as(); \ - DBG(" > " + String(vArr.size()) + " <> " + String(numData)); \ var dataV[numData]; \ dataV[0] = vArr[0].as(); \ dataV[1] = vArr[1].as(); \ if (numData > 2) \ dataV[2] = vArr[2].as(); \ - DBG(" Data V is set"); \ setParam(param, dataV, numData); \ } \ } diff --git a/Firmware/Bentuino/src/Component/Component.cpp b/Firmware/Bentuino/src/Component/Component.cpp index 78a2920a..45419ab3 100644 --- a/Firmware/Bentuino/src/Component/Component.cpp +++ b/Firmware/Bentuino/src/Component/Component.cpp @@ -3,6 +3,7 @@ bool Component::init(JsonObject o) { AddBoolParam(enabled); + NDBG("Init"); isInit = initInternal(o); if (!isInit) @@ -441,7 +442,6 @@ void Component::setParam(void *param, var *value, int numData) break; case ParamType::Bool: - // NDBG("Bool : " + String(*((bool *)param)) + " <> " + String(value[0].boolValue())); hasChanged = *((bool *)param) != value[0].boolValue(); if (hasChanged) diff --git a/Firmware/Bentuino/src/Component/components/files/FilesComponent.cpp b/Firmware/Bentuino/src/Component/components/files/FilesComponent.cpp index c63581c8..921bfde9 100644 --- a/Firmware/Bentuino/src/Component/components/files/FilesComponent.cpp +++ b/Firmware/Bentuino/src/Component/components/files/FilesComponent.cpp @@ -1,5 +1,7 @@ ImplementSingleton(FilesComponent); +fs::FS& FilesComponent::fs = FS_TYPE; + bool FilesComponent::initInternal(JsonObject o) { useInternalMemory = false; @@ -42,16 +44,32 @@ bool FilesComponent::initInternal(JsonObject o) pinMode(sdCS, OUTPUT); digitalWrite(sdCS, LOW); + bool mounted = false; +#if FILES_SD_TYPE == MMC + + if (SD_MMC.begin("/sdcard", true)) // if using ESP32 package 3.x.x + { + mounted = true; + } +#else spiSD.begin((int8_t)sdSCK, (int8_t)sdMiso, (int8_t)sdMosi, (int8_t)sdCS); // SCK,MISO,MOSI,ss - if (SD.begin((uint8_t)sdCS, spiSD)) + if (fs.begin((uint8_t)sdCS, spiSD)) { // NDBG("SD Card initialized."); - SD.mkdir("/scripts"); - SD.mkdir("/playback"); - SD.mkdir("/server"); // listDir("/", 1); + + mounted = true; + } +#endif + + if (mounted) + { + NDBG("SD Mounted"); + fs.mkdir("/scripts"); + fs.mkdir("/playback"); + fs.mkdir("/server"); } else { @@ -87,7 +105,7 @@ File FilesComponent::openFile(String fileName, bool forWriting, bool deleteIfExi if (useInternalMemory) f = SPIFFS.open(fileName, forWriting ? "w" : "r"); // Open it else - f = SD.open(fileName.c_str(), forWriting ? FILE_WRITE : FILE_READ); + f = fs.open(fileName.c_str(), forWriting ? FILE_WRITE : FILE_READ); return f; } @@ -99,7 +117,7 @@ bool FilesComponent::deleteFolder(String path) bool result = false; - File dir = SD.open(path); + File dir = fs.open(path); File entry; while (entry = dir.openNextFile()) @@ -120,7 +138,7 @@ bool FilesComponent::deleteFolder(String path) if (useInternalMemory) result = SPIFFS.rmdir(fPath); else - result = SD.rmdir(fPath); + result = fs.rmdir(fPath); } else { @@ -129,7 +147,7 @@ bool FilesComponent::deleteFolder(String path) if (useInternalMemory) result = SPIFFS.remove(fPath); else - result = SD.remove(fPath); + result = fs.remove(fPath); } } @@ -153,8 +171,8 @@ void FilesComponent::deleteFileIfExists(String path) else { - if (SD.exists(path.c_str())) - SD.remove(path.c_str()); + if (fs.exists(path.c_str())) + fs.remove(path.c_str()); } } @@ -167,7 +185,7 @@ String FilesComponent::listDir(const char *dirname, uint8_t levels) if (useInternalMemory) root = SPIFFS.open("/", "r"); else - root = SD.open(dirname); + root = fs.open(dirname); if (!root) { diff --git a/Firmware/Bentuino/src/Component/components/files/FilesComponent.h b/Firmware/Bentuino/src/Component/components/files/FilesComponent.h index e516b6ad..9839920f 100644 --- a/Firmware/Bentuino/src/Component/components/files/FilesComponent.h +++ b/Firmware/Bentuino/src/Component/components/files/FilesComponent.h @@ -5,7 +5,15 @@ DeclareComponentSingleton(Files, "files", ) bool initInternal(JsonObject o) override; bool initInternalMemory(); +#if FILES_SD_TYPE == MMC +#define FS_TYPE SD_MMC +#else +#define FS_TYPE SD SPIClass spiSD; +#endif + +static fs::FS &fs; + bool useInternalMemory; DeclareIntParam(sdEnPin, FILES_DEFAULT_SD_EN); DeclareBoolParam(sdEnVal, FILES_DEFAULT_SD_POWER_VALUE); diff --git a/Firmware/Bentuino/src/Component/components/io/button/ButtonComponent.h b/Firmware/Bentuino/src/Component/components/io/button/ButtonComponent.h index 73c2e61c..37ff498b 100644 --- a/Firmware/Bentuino/src/Component/components/io/button/ButtonComponent.h +++ b/Firmware/Bentuino/src/Component/components/io/button/ButtonComponent.h @@ -6,6 +6,14 @@ #define MULTIPRESS_TIME 300 // each new press shorter than 500ms after the previous one will increase the multiclick #define BUTTONPRESS_DEBOUNCE 5 // denoising, needs five reads to validate a change +#ifndef BUTTON_DEFAULT_SHUTDOWN +#ifdef USE_BATTERY +#define BUTTON_DEFAULT_SHUTDOWN true +#else +#define BUTTON_DEFAULT_SHUTDOWN false +#endif +#endif + class ButtonComponent : public IOComponent { public: @@ -14,7 +22,7 @@ class ButtonComponent : public IOComponent int debounceCount; long timeAtPress; - DeclareBoolParam(canShutDown, true); + DeclareBoolParam(canShutDown, BUTTON_DEFAULT_SHUTDOWN); DeclareIntParam(multiPressCount, 0); DeclareBoolParam(longPress, false); DeclareBoolParam(veryLongPress, false); diff --git a/Firmware/Bentuino/src/Component/components/ledstrip/Layer/layers/system/LedStripSystemLayer.cpp b/Firmware/Bentuino/src/Component/components/ledstrip/Layer/layers/system/LedStripSystemLayer.cpp index 944962b0..6f4a9836 100644 --- a/Firmware/Bentuino/src/Component/components/ledstrip/Layer/layers/system/LedStripSystemLayer.cpp +++ b/Firmware/Bentuino/src/Component/components/ledstrip/Layer/layers/system/LedStripSystemLayer.cpp @@ -33,7 +33,11 @@ void LedStripSystemLayer::updateWifiStatus() if (connectionState != WifiComponent::Connecting && relT > animTime) return; +#ifdef USE_BATTERY Color color = BatteryComponent::instance->getBatteryColor(); +#else + Color color = Color(100, 100, 100); +#endif // NDBG("Wifi status : " + String(connectionState) + " " + String(relT)); @@ -96,7 +100,12 @@ void LedStripSystemLayer::updateShutdown() float t = relT / animTime; +#ifdef USE_BATTERY Color c = BatteryComponent::instance->getBatteryColor(); +#else + Color c = Color(100, 100, 100); +#endif + c = c.withMultipliedAlpha(min(t * 2, 1.f)); float end = constrain((1 - t) * 2, 0, 1); diff --git a/Firmware/Bentuino/src/Component/components/ledstrip/LedStripComponent.cpp b/Firmware/Bentuino/src/Component/components/ledstrip/LedStripComponent.cpp index 685b2e8b..6c4b591c 100644 --- a/Firmware/Bentuino/src/Component/components/ledstrip/LedStripComponent.cpp +++ b/Firmware/Bentuino/src/Component/components/ledstrip/LedStripComponent.cpp @@ -45,7 +45,7 @@ void LedStripComponent::setupLeds() if (!enabled) return; - if (enPin != 0) + if (enPin > 0) { // NDBG("Setting Led Enable pin : " + String(enPin)); pinMode(enPin, OUTPUT); @@ -153,7 +153,7 @@ void LedStripComponent::onEnabledChanged() void LedStripComponent::setStripPower(bool value) { DBG("Set Strip Power " + String(value)); - if (enPin != 0) + if (enPin > 0) digitalWrite(enPin, value); // enable LEDs pinMode(dataPin, value ? OUTPUT : OPEN_DRAIN); diff --git a/Firmware/Bentuino/src/Component/components/server/WebServerComponent.cpp b/Firmware/Bentuino/src/Component/components/server/WebServerComponent.cpp index a7a71bf5..349e460f 100644 --- a/Firmware/Bentuino/src/Component/components/server/WebServerComponent.cpp +++ b/Firmware/Bentuino/src/Component/components/server/WebServerComponent.cpp @@ -93,9 +93,9 @@ bool WebServerComponent::initInternal(JsonObject o) } else { - server.serveStatic("/edit", SD, "/server/edit.html"); - server.serveStatic("/upload", SD, "/server/upload.html"); - server.serveStatic("/server/", SD, "/server"); + server.serveStatic("/edit", FilesComponent::fs, "/server/edit.html"); + server.serveStatic("/upload", FilesComponent::fs, "/server/upload.html"); + server.serveStatic("/server/", FilesComponent::fs, "/server"); } #endif diff --git a/Firmware/Bentuino/src/RootComponent.cpp b/Firmware/Bentuino/src/RootComponent.cpp index 6cac5747..54476008 100644 --- a/Firmware/Bentuino/src/RootComponent.cpp +++ b/Firmware/Bentuino/src/RootComponent.cpp @@ -5,7 +5,6 @@ ImplementSingleton(RootComponent); bool RootComponent::availablePWMChannels[16] = {true}; - bool RootComponent::initInternal(JsonObject) { BoardInit; @@ -108,6 +107,7 @@ void RootComponent::restart() void RootComponent::shutdown() { + NDBG("Sleep now, baby."); timeAtShutdown = millis(); timer.in(1000, [](void *) -> bool { RootComponent::instance->powerdown(); return false; }); @@ -214,7 +214,10 @@ void RootComponent::childParamValueChanged(Component *caller, Component *comp, v ButtonComponent *bc = (ButtonComponent *)comp; // DBG("Root param value changed " + bc->name+" > "+String(param == &bc->veryLongPress) + " / " + String(bc->veryLongPress)+" can sd : "+String(bc->canShutDown)+" / "+String(buttons.items[0]->canShutDown)); if (param == &bc->veryLongPress && bc->veryLongPress && bc->canShutDown) + { + NDBG("Shutdown from button"); shutdown(); + } } #endif } @@ -239,7 +242,6 @@ bool RootComponent::handleCommandInternal(const String &command, var *data, int return true; } - int RootComponent::getFirstAvailablePWMChannel() const { for (int i = 0; i < 16; i++) diff --git a/Firmware/Bentuino/src/UnityIncludes.cpp b/Firmware/Bentuino/src/UnityIncludes.cpp index 673a7ffa..68cd65d9 100644 --- a/Firmware/Bentuino/src/UnityIncludes.cpp +++ b/Firmware/Bentuino/src/UnityIncludes.cpp @@ -12,8 +12,8 @@ //SD shit #ifdef USE_FILES -#include "../lib/SD/src/SD.cpp" //really weird -#include "../lib/SD/src/sd_diskio.cpp" //really weird +// #include "../lib/SD/src/SD.cpp" //really weird +// #include "../lib/SD/src/sd_diskio.cpp" //really weird #include "Component/components/files/FilesComponent.cpp" #endif diff --git a/Firmware/Bentuino/src/UnityIncludes.h b/Firmware/Bentuino/src/UnityIncludes.h index cc280039..e2ace970 100644 --- a/Firmware/Bentuino/src/UnityIncludes.h +++ b/Firmware/Bentuino/src/UnityIncludes.h @@ -35,7 +35,19 @@ #ifdef USE_FILES -#include "../lib/SD/src/SD.h" //really weird + +#ifndef FILES_SD_TYPE +#define FILES_SD_TYPE SPI +#endif + +#if FILES_SD_TYPE == MMC +#include "SD_MMC.h" +#else +// #include "../lib/SD/src/SD.h" //really weird +#endif + +#include "FS.h" + #include "Component/components/files/FilesComponent.h" #endif