Tags: toverainc/esp-adf
Tags
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.
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]>
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.
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.
i2c_bus: drop 7 bit address check This is required to be able to detect the touch controller type.
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`)")
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]>
audio_board: Add esp32-s3-box-3 borad configurations (cherry picked from commit eabd0ec) Conflicts: README.md
audio_recorder: pass wake data volume to recorder->user_data This way it can be accessed by code using audio_recorder.
WIP: pass wake data volume in recorder user_data pointer
PreviousNext