Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tags: toverainc/esp-adf

Tags

willow-main-2024010900

Toggle willow-main-2024010900's commit message
recorder_sr: fix crash if WakeNet model is missing

When the SR recorder is created with specific wake word, and that wake
word is missing from the model partition, the following crash occurs:

E (5703) AFE_SR: ERROR: Please select wake words!

Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x420703ab  PS      : 0x00060030  A0      : 0x82015d72  A1      : 0x3fcb9e80
A2      : 0x3c26720c  A3      : 0x3fcb9ef0  A4      : 0x00000000  A5      : 0x00000000
A6      : 0x00000001  A7      : 0x3c266f9c  A8      : 0x8207034c  A9      : 0x3fcb9e20
A10     : 0x00000000  A11     : 0x3c1c6e0c  A12     : 0x3c1c7680  A13     : 0x00001647
A14     : 0x3c1c6e0c  A15     : 0x447fc000  SAR     : 0x00000004  EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000008  LBEG    : 0x400556d5  LEND    : 0x400556e5  LCOUNT  : 0xfffffffe

Backtrace: 0x420703a8:0x3fcb9e80 0x42015d6f:0x3fcb9eb0 0x4200cb32:0x3fcb9ef0 0x4200ce2b:0x3fcba0e0 0x4200b785:0x3fcba1b0 0x42170f06:0x3fcba260

Fix this by adding a NULL check.

willow-main-2024010200

Toggle willow-main-2024010200's commit message
i2s_stream: do not unconditionally install I2S driver

Initializing an I2S stream currently unconditionally installs the I2S
driver. When two I2S streams are needed, one for input and one for
output, the following error occurs during initialization of the second
stream:

E (21:53:24.782) i2s(legacy): i2s_check_cfg_validity(926): this i2s port is in use
E (21:53:24.791) i2s(legacy): i2s_driver_install(1582): I2S configuration is invalid

While these error messages are completely harmless, we keep getting
downstream reports from people who think this is a problem. We have
considered disabling logging for the legacy I2S driver, but that could
lead to valid errors being suppressed.

Instead, add a new member to the i2s_stream_cfg_t struct that makes it
possible to skip installing the I2S driver. It is added as true to all
the macros, to not impact existing code.

Signed-off-by: Stijn Tintel <[email protected]>

willow-main-2023110800

Toggle willow-main-2023110800's commit message
http_stream: enable HTTP Basic Auth

We've submitted a PR to Espressif to support enabling HTTP Basic Auth in
ESP-ADF's HTTP stream: espressif#1103. Unfortunately we'd also
require a change to ESP Audio to support enabling HTTP Basic Auth. As we
can't seem to find the ESP Audio source, we'll just enable it
unconditionally in ESP-ADF's HTTP stream. ESP Audio uses ESP-ADF's HTTP
Stream so this is enough to support HTTP Basic Auth to WIS by using a
URL in the form of http://user:[email protected]:19001/.

ESP-IDF's http_parser component will detect the username and password in
the URL, and esp_http_client will set the Authorization header if the
auth type is set to basic, and the parser found a username and password
in the URL. If the parser didn't find a username and password,
esp_http_client will just skip setting the header entirely, so having
auth type hardcoded to basic is not a problem even if users configure a
URL without username and password.

willow-main-2023110700

Toggle willow-main-2023110700's commit message
http_stream: enable HTTP Basic Auth

We've submitted a PR to Espressif to support enabling HTTP Basic Auth in
ESP-ADF's HTTP stream: espressif#1103. Unfortunately we'd also
require a change to ESP Audio to support enabling HTTP Basic Auth. As we
can't seem to find the ESP Audio source, we'll just enable it
unconditionally in ESP-ADF's HTTP stream. ESP Audio uses ESP-ADF's HTTP
Stream so this is enough to support HTTP Basic Auth to WIS by using a
URL in the form of http://user:[email protected]:19001/.

ESP-IDF's http_parser component will detect the username and password in
the URL, and esp_http_client will set the Authorization header if the
auth type is set to basic, and the parser found a username and password
in the URL. If the parser didn't find a username and password,
esp_http_client will just skip setting the header entirely, so having
auth type hardcoded to basic is not a problem even if users configure a
URL without username and password.

willow-main-2023102800

Toggle willow-main-2023102800's commit message
i2c_bus: drop 7 bit address check

This is required to be able to detect the touch controller type.

willow-main-2023092800

Toggle willow-main-2023092800's commit message
audio_recorder: restore ability to select wake word

Commit 5d4ac31 ("audio_recorder: allow setting wake word")
introduced the ability to select which wake word to use at runtime.
This feature was dropped in a later commit. Restore it.

Fixes: 3f6abbb ("audio_recorder: support new feature of esp-sr (break change of `audio_recorder`)")

willow-main-2023092600

Toggle willow-main-2023092600's commit message
http_stream: make user_agent configurable

Add a user_agent field to the http_stream and http_stream_cfg_t structs
so people can override the default user agent set by esp_http_client.

Also add it to the HTTP_STREAM_CFG_DEFAULT macro with value NULL, to
maintain current default behaviour.

Signed-off-by: Stijn Tintel <[email protected]>

willow-release-v0_1-2023091800

Toggle willow-release-v0_1-2023091800's commit message
audio_board: Add esp32-s3-box-3 borad configurations

(cherry picked from commit eabd0ec)

 Conflicts:
	README.md

willow-main-2023091500

Toggle willow-main-2023091500's commit message
audio_recorder: pass wake data volume to recorder->user_data

This way it can be accessed by code using audio_recorder.

willow-main-2023091400

Toggle willow-main-2023091400's commit message
WIP: pass wake data volume in recorder user_data pointer