From 0b32d3af320ffd2452a9afb0e3d0574b26ae7ba6 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Sat, 11 May 2024 07:58:17 +0000 Subject: [PATCH 1/6] IDF release/v5.1 01b912a9e5 --- package/package_esp32_index.template.json | 68 +++++++++++------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index 1e4a9156691..01ee138740e 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -42,7 +42,7 @@ { "packager": "esp32", "name": "esp32-arduino-libs", - "version": "idf-release_v5.1-d06c758489" + "version": "idf-release_v5.1-01b912a9e5" }, { "packager": "esp32", @@ -105,63 +105,63 @@ "tools": [ { "name": "esp32-arduino-libs", - "version": "idf-release_v5.1-d06c758489", + "version": "idf-release_v5.1-01b912a9e5", "systems": [ { "host": "i686-mingw32", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" }, { "host": "x86_64-mingw32", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" }, { "host": "arm64-apple-darwin", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" }, { "host": "x86_64-apple-darwin", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" }, { "host": "x86_64-pc-linux-gnu", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" }, { "host": "i686-pc-linux-gnu", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" }, { "host": "aarch64-linux-gnu", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" }, { "host": "arm-linux-gnueabihf", - "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/07d6415e1df493c23a3091761be59ece49527313", - "archiveFileName": "esp32-arduino-libs-07d6415e1df493c23a3091761be59ece49527313.zip", - "checksum": "SHA-256:9d47ec1df5b217ce4e163f116dbff7b718d1ca87914725731455eae786add447", - "size": "371892775" + "url": "https://codeload.github.com/espressif/esp32-arduino-libs/zip/c568a64032820a7f2af807cfe5e74c960efd66b8", + "archiveFileName": "esp32-arduino-libs-c568a64032820a7f2af807cfe5e74c960efd66b8.zip", + "checksum": "SHA-256:a239a2effeafc6a6950f1d7360f41585ba5eb6c1d03161d4a2756adf3a6aff11", + "size": "375265552" } ] }, From 412c8e6cef40c7b89a7559694055042a01b09248 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Mon, 13 May 2024 17:35:45 +0200 Subject: [PATCH 2/6] Fix USB OTG Init on new IDF --- CMakeLists.txt | 2 +- cores/esp32/esp32-hal-tinyusb.c | 67 +++++++++++++++++++++++++++++++-- 2 files changed, 65 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e760225a04..389097c6ac1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -288,7 +288,7 @@ set(includedirs variants/${CONFIG_ARDUINO_VARIANT}/ cores/esp32/ ${ARDUINO_LIBRA set(srcs ${CORE_SRCS} ${ARDUINO_LIBRARIES_SRCS}) set(priv_includes cores/esp32/libb64) set(requires spi_flash esp_partition mbedtls wifi_provisioning wpa_supplicant esp_adc esp_eth http_parser) -set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid ${ARDUINO_LIBRARIES_REQUIRES}) +set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid usb ${ARDUINO_LIBRARIES_REQUIRES}) idf_component_register(INCLUDE_DIRS ${includedirs} PRIV_INCLUDE_DIRS ${priv_includes} SRCS ${srcs} REQUIRES ${requires} PRIV_REQUIRES ${priv_requires}) diff --git a/cores/esp32/esp32-hal-tinyusb.c b/cores/esp32/esp32-hal-tinyusb.c index d3b55bf907f..d772b3e9e56 100644 --- a/cores/esp32/esp32-hal-tinyusb.c +++ b/cores/esp32/esp32-hal-tinyusb.c @@ -22,7 +22,6 @@ #include "rom/gpio.h" -#include "hal/usb_hal.h" #include "hal/gpio_ll.h" #include "hal/clk_gate_ll.h" @@ -73,6 +72,10 @@ static bool usb_otg_deinit(void *busptr) { #endif } +#if __has_include("hal/usb_hal.h") + +#include "hal/usb_hal.h" + static void configure_pins(usb_hal_context_t *usb) { for (const usb_iopin_dsc_t *iopin = usb_periph_iopins; iopin->pin != -1; ++iopin) { if ((usb->use_external_phy) || (iopin->ext_phy_only == 0)) { @@ -101,10 +104,67 @@ static void configure_pins(usb_hal_context_t *usb) { } } -esp_err_t tinyusb_driver_install(const tinyusb_config_t *config) { - usb_hal_context_t hal = {.use_external_phy = config->external_phy}; +esp_err_t init_usb_hal(bool external_phy) { + usb_hal_context_t hal = {.use_external_phy = external_phy}; usb_hal_init(&hal); configure_pins(&hal); + return ESP_OK; +} + +esp_err_t deinit_usb_hal() { + return ESP_OK; +} + +#elif __has_include("esp_private/usb_phy.h") + +#include "esp_private/usb_phy.h" + +static usb_phy_handle_t phy_handle = NULL; + +esp_err_t init_usb_hal(bool external_phy) { + esp_err_t ret = ESP_OK; + usb_phy_config_t phy_config = { + .controller = USB_PHY_CTRL_OTG, + .target = USB_PHY_TARGET_INT, + .otg_mode = USB_OTG_MODE_DEVICE, + .otg_speed = USB_PHY_SPEED_FULL, + .ext_io_conf = NULL, + .otg_io_conf = NULL, + }; + + ret = usb_new_phy(&phy_config, &phy_handle); + if (ret != ESP_OK) { + log_e("Failed to init USB PHY"); + } + return ret; +} + +esp_err_t deinit_usb_hal() { + esp_err_t ret = ESP_OK; + if (phy_handle) { + ret = usb_del_phy(phy_handle); + if (ret != ESP_OK) { + log_e("Failed to deinit USB PHY"); + } + } + return ret; +} + +#else + +#error No way to initialize USP PHY + +void init_usb_hal(bool external_phy) { + return ESP_OK; +} + +void deinit_usb_hal() { + return ESP_OK; +} +#endif + +esp_err_t tinyusb_driver_install(const tinyusb_config_t *config) { + init_usb_hal(config->external_phy); if (!tusb_init()) { log_e("Can't initialize the TinyUSB stack."); return ESP_FAIL; @@ -416,6 +476,7 @@ static void hw_cdc_reset_handler(void *arg) { static void usb_switch_to_cdc_jtag() { // Disable USB-OTG + deinit_usb_hal(); periph_ll_reset(PERIPH_USB_MODULE); //periph_ll_enable_clk_clear_rst(PERIPH_USB_MODULE); periph_ll_disable_clk_set_rst(PERIPH_USB_MODULE); From 9b22d50ce7c80eb7fa0976cc26de1171e809e62b Mon Sep 17 00:00:00 2001 From: Rodrigo Garcia Date: Mon, 13 May 2024 13:08:11 -0300 Subject: [PATCH 3/6] Delete libraries/TFLiteMicro/examples/micro_speech directory Done in order to fix a CI problem created by an entire folder that was removed in original Library Repository. --- .../examples/micro_speech/README.md | 22 - .../examples/micro_speech/audio_provider.cpp | 184 ----- .../examples/micro_speech/audio_provider.h | 43 - .../micro_speech/command_responder.cpp | 26 - .../examples/micro_speech/command_responder.h | 29 - .../micro_speech/feature_provider.cpp | 105 --- .../examples/micro_speech/feature_provider.h | 49 -- .../micro_speech/micro_features_generator.cpp | 110 --- .../micro_speech/micro_features_generator.h | 28 - .../micro_speech/micro_model_settings.cpp | 23 - .../micro_speech/micro_model_settings.h | 43 - .../examples/micro_speech/micro_speech.ino | 158 ---- .../examples/micro_speech/model.cpp | 757 ------------------ .../TFLiteMicro/examples/micro_speech/model.h | 27 - .../micro_speech/recognize_commands.cpp | 121 --- .../micro_speech/recognize_commands.h | 154 ---- .../examples/micro_speech/ringbuf.c | 333 -------- .../examples/micro_speech/ringbuf.h | 85 -- 18 files changed, 2297 deletions(-) delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/README.md delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/audio_provider.cpp delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/audio_provider.h delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/command_responder.cpp delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/command_responder.h delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/feature_provider.cpp delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/feature_provider.h delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/micro_features_generator.cpp delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/micro_features_generator.h delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/micro_model_settings.cpp delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/micro_model_settings.h delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/micro_speech.ino delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/model.cpp delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/model.h delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/recognize_commands.cpp delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/recognize_commands.h delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/ringbuf.c delete mode 100644 libraries/TFLiteMicro/examples/micro_speech/ringbuf.h diff --git a/libraries/TFLiteMicro/examples/micro_speech/README.md b/libraries/TFLiteMicro/examples/micro_speech/README.md deleted file mode 100644 index ed293bf2e06..00000000000 --- a/libraries/TFLiteMicro/examples/micro_speech/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Micro Speech Example - -This example shows how to run a 20 kB model that can recognize 2 keywords, -"yes" and "no", from speech data. - -The application listens to its surroundings with a microphone and indicates -when it has detected a word by displaying data on a screen. - -## Deploy to ESP32 - -The sample has been tested on ESP-IDF version `release/v4.2` and `release/v4.4` with the following devices: -- [ESP32-DevKitC](http://esp-idf.readthedocs.io/en/latest/get-started/get-started-devkitc.html) -- [ESP32-S3-DevKitC](https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitc-1.html) -- [ESP-EYE](https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP-EYE_Getting_Started_Guide.md) - -### Sample output - - * When a keyword is detected you will see following output sample output on the log screen: - -``` -Heard yes () at