Files
xiaozhi-esp32/main/boards/m5stack-tab5/README.md
T
3e78cd73bd v2.4.0: Migrate to IDF 6.0 (#2120)
* Migrate board builds to ESP-IDF 6.0.1

* Document upstream IDF 6 CI blockers

* Use IDF 6 patched registry components

* Fix board-specific ESP-IDF 6 build errors

* Fix remaining ESP-IDF 6 board builds

* Document final ESP-IDF 6 matrix results [skip ci]

* update IDF 6 component releases

* rebase IDF 6 migration and use upstream SSCMA

* Enhance audio input management in AudioService

- Introduced AS_EVENT_AUDIO_INPUT_STOP_REQUEST to manage audio input stopping more effectively.
- Updated AudioService::Start() to clear the new stop request event.
- Modified AudioService::AudioInputTask() to handle the stop request and ensure proper input disabling.
- Adjusted AdcPdmAudioCodec::Start() to reflect lazy input opening, ensuring start/stop operations run in the same task.

* Refactor audio codec management and configuration

- Added output_device_opened_ flag to track the state of the output device in Es8388 and Es8389 codecs.
- Updated EnableOutput method to prevent unnecessary device reopening and added mute functionality to manage audio output more effectively.
- Enhanced error handling in Es8311AudioCodec by ensuring proper closure and deletion of the codec device.
- Adjusted sample rates in board configurations for atk-dnesp32s3-box2 to 24000 Hz and introduced AUDIO_CODEC_USE_MCLK for improved clock management.

* Update build configurations and documentation for ESP-IDF 6 compatibility

- Added container specification for the build workflow using espressif/idf:v6.0.1.
- Updated the version of the espressif/esp_video component to ^2.3.0.
- Enhanced documentation to clarify the support status of ESP32-P4 variants, specifying that legacy Rev < 3 variants are excluded from the IDF 6 matrix.
- Adjusted board configurations to include IDF version constraints and necessary SDK configurations for legacy support.
- Improved handling of YUV formats in EspVideo to maintain compatibility with previous versions.

* Implement playback drained event handling in Application

- Added MAIN_EVENT_PLAYBACK_DRAINED to manage playback state transitions.
- Introduced callbacks for playback drained events in AudioService to trigger listening state changes.
- Refactored Application::Run() to handle deferred listening start based on playback queue status.
- Enhanced audio processing logic to prevent audio truncation during state changes.
- Updated related methods to ensure proper wake word detection configuration during listening mode.

* Fix variant selection shell in CI

* Update project version to 2.4.0 and adjust component dependencies

- Bump project version in CMakeLists.txt to 2.4.0.
- Change espressif/esp_video component version to ^2.0.1 in idf_component.yml.
- Modify AUDIO_INPUT_REFERENCE setting in config.h to false for m5stack-core-s3.
- Remove unnecessary infinite loops in xmini_c3_board.cc during initialization.

---------

Co-authored-by: Xiaoxia <terrence.huang@tenclass.com>
2026-07-17 13:41:52 +08:00

1.5 KiB
Raw Blame History

使用说明

快速体验

M5Burner 选择 Tab5 搜索小智下载固件

基础使用

  • idf version: v5.5.2 or above (recommended: v6.0-dev)

  • No dependency override needed — the project already specifies the correct esp_video and esp_ipa versions in main/idf_component.yml. Do NOT change the dependency versions unless you are also modifying the source code to match the older API.

release.py 会根据当前 ESP-IDF 版本选择芯片版本:

  • ESP-IDF < 6m5stack-tab5 面向 Rev < 3,并包含 CONFIG_ESP32P4_SELECTS_REV_LESS_V3=yCONFIG_ESP32P4_REV_MIN_100=ym5stack-tab5-p4x 面向 Rev >= 3。
  • ESP-IDF >= 6:只提供面向 Rev >= 3 的 m5stack-tab5-p4x

不要把 IDF 6 生成的固件强制刷入 Rev 1.x 芯片;正常情况下烧录工具会报告:bootloader/bootloader.bin requires chip revision in range [v3.0 - v3.99] (this chip is revision v1.x)

  1. 使用 release.py 编译
python ./scripts/release.py m5stack-tab5

如需手动编译,请参考 m5stack-tab5/config.json 修改 menuconfig 对应选项。

  1. 编译烧录程序
idf.py flash monitor

Note

进入下载模式:长按复位按键(约 2 秒),直至内部绿色 LED 指示灯开始快速闪烁,松开按键。

log

@2025/05/17 测试问题

  1. listening... 需要等几秒才能获取语音输入???
  2. 亮度调节不对
  3. 音量调节不对