diff --git a/CHANGELOG.md b/CHANGELOG.md index 9684767..0d95d45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ Versioning and Conventional Commits. ### Added +- Per-board hardware and usage documentation for all thirteen profiles, with a linked board + index, current build commands, and profile-specific feature and validation limits. - CoreS3-only process-gray pixel-glasses UI, with 23 expressions, four 9 px terminal rows, a 10 px signature and fixed 32 px six-digit pairing codes on its 320x240 display. Automatic faces follow READY/conversation phases; four MCP emotions use bounded holds, diff --git a/README.md b/README.md index 035f4b9..c90922d 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,9 @@ Circular-4 with XIAO ESP32S3, and SenseCAP Watcher. ## Supported Boards +Per-board hardware notes and build instructions are listed in the +[board documentation index](components/mybot_platform/boards/README.md). + | Board profile | Audio | Display and input | Storage | | --- | --- | --- | --- | | `zhengchen-1.54tft-ml307` | I2S microphone and speaker | ST7789, Boot and volume buttons | 16 MB QIO Flash, 8 MB Octal PSRAM | diff --git a/README.zh-CN.md b/README.zh-CN.md index 3441cc9..4ed954f 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -35,6 +35,8 @@ StickS3、M5Stack AtomEchoS3R、搭配 XIAO ESP32S3 的 ReSpeaker Flex XVF3800 C ## 支持的板卡 +各板型的硬件说明、构建方法及支持范围见[板卡说明索引](components/mybot_platform/boards/README.md)。 + | Board profile | 音频 | 显示与输入 | 存储 | | --- | --- | --- | --- | | `zhengchen-1.54tft-ml307` | I2S 麦克风和扬声器 | ST7789、Boot 与音量按键 | 16 MB QIO Flash、8 MB Octal PSRAM | diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index cd054ff..b642ef7 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -37,6 +37,7 @@ It does not replace third-party terms. This file is informational and is not leg | CoreS3 pixel-glasses renderer, geometry/mask generators | MIT; expression helpers/policy retain their file-level Apache-2.0 notices | `components/mybot_platform/src/drivers/display/renderers/lvgl/pixel_glasses_view.cc`, pixel geometry/masks/generators and private expression support | | MyBot Terminal bitmap subsets derived from DejaVu Sans Mono Bold | Bitstream Vera font terms, with public-domain DejaVu changes | `components/mybot_platform/src/drivers/display/renderers/lvgl/pixel_fonts.c`, `TERMINAL_FONT_LICENSE.txt` | | Project-maintained shared LVGL panel adapters | Apache-2.0 unless file SPDX says otherwise | `components/mybot_platform/src/drivers/display/adapters/lvgl/st7789_lvgl_adapter.cc`, `components/mybot_platform/src/drivers/display/adapters/lvgl/shared_lvgl_adapter.cc` | +| Board documentation adapted from xiaozhi-esp32 hardware references | MIT; project-maintained profile descriptions are Apache-2.0 | The board READMEs indexed in `components/mybot_platform/boards/README.md` | | M5Stack CoreS3-derived implementation | MIT | Paths listed under MIT Attributions | | ReSpeaker Flex XVF3800-derived implementation (`b060243`) | MIT | Paths listed under MIT Attributions | | SenseCAP Watcher-derived implementation | MIT | Paths listed under MIT Attributions | @@ -74,6 +75,17 @@ supply an authorized package locally. ## MIT Attributions + +The board READMEs for AtomEchoS3R, ESP-VoCat, the Waveshare AMOLED profiles, CoreS3, +StickS3, SenseCAP Watcher and the Zhengchen profiles adapt hardware material from the +MIT-licensed xiaozhi-esp32 project. Their instructions describe this repository's current +profiles and supported features. The original copyright and full MIT permission notice +are retained in `components/mybot_platform/assets/LICENSE.xiaozhi-esp32`. +The Bread Compact Wi-Fi LCD, Xingzhi Cube and ReSpeaker Flex descriptions are +project-maintained documentation of the checked-in profiles. The board index links +these documents and their actual configuration files. + + The adapted platform implementations listed below can be inspected at the published [ESP32 implementation baseline][esp32-platform-baseline]. This snapshot preserves the delivered code and its file-level notices; the original project and copyright attributions remain below. diff --git a/VENDORED_SOURCES.md b/VENDORED_SOURCES.md index 2dd0587..147febb 100644 --- a/VENDORED_SOURCES.md +++ b/VENDORED_SOURCES.md @@ -41,6 +41,40 @@ also supplies the generated `include/mybot/mybot_version.h`. The official Git tr `git archive 32ac74bc59cb72db70e9a68337753561b59b13d0 include src | sha256sum` produces `6443be044e8210057b0291e53b8ea6dcb92664f54b78fd9c71ac2f10c34e292e`. +## Board reference documents + +Per-board hardware notes and usage instructions are indexed in +[the board documentation index](components/mybot_platform/boards/README.md). +These pages describe the checked-in `board.cmake`, `board_config.h` and board defaults, +using this repository's `MYBOT_BOARD` selector and `scripts/build_all.py` build entry. +Firmware capabilities and validation limits follow the current profiles and the English +and Chinese root READMEs. + +The AtomEchoS3R, ESP-VoCat, Waveshare AMOLED, CoreS3, StickS3, SenseCAP Watcher and Zhengchen +pages adapt MIT-licensed xiaozhi-esp32 hardware reference material. The upstream MIT +notice is retained in `components/mybot_platform/assets/LICENSE.xiaozhi-esp32`. +Bread Compact Wi-Fi LCD, Xingzhi Cube and ReSpeaker Flex have project-maintained profile +descriptions. The adapted pages are maintained for this firmware; they are not unchanged +copies of another application's build or feature documentation. + +| Board profile | Delivered description | +| --- | --- | +| `atom-echos3r` | [README](components/mybot_platform/boards/atom-echos3r/README.md) | +| `bread-compact-wifi-lcd` | [README](components/mybot_platform/boards/bread-compact-wifi-lcd/README.md) | +| `esp-vocat` | [README](components/mybot_platform/boards/esp-vocat/README.md) | +| `esp32-s3-touch-amoled-1.75` | [README](components/mybot_platform/boards/esp32-s3-touch-amoled-1.75/README.md) | +| `esp32-s3-touch-amoled-1.75c` | [README](components/mybot_platform/boards/esp32-s3-touch-amoled-1.75c/README.md) | +| `esp32-s3-touch-amoled-2.16` | [README](components/mybot_platform/boards/esp32-s3-touch-amoled-2.16/README.md) | +| `m5stack-core-s3` | [README](components/mybot_platform/boards/m5stack-core-s3/README.md) | +| `m5stack-stick-s3` | [README](components/mybot_platform/boards/m5stack-stick-s3/README.md) | +| `respeaker-flex-xvf3800-circular4-xiao` | [README](components/mybot_platform/boards/respeaker-flex-xvf3800-circular4-xiao/README.md) | +| `sensecap-watcher` | [README](components/mybot_platform/boards/sensecap-watcher/README.md) / [English](components/mybot_platform/boards/sensecap-watcher/README_en.md) | +| `xingzhi-cube-1.54tft-wifi` | [README](components/mybot_platform/boards/xingzhi-cube-1.54tft-wifi/README.md) | +| `zhengchen-1.54tft-ml307` | [README](components/mybot_platform/boards/zhengchen-1.54tft-ml307/README.md) | +| `zhengchen-1.54tft-wifi` | [README](components/mybot_platform/boards/zhengchen-1.54tft-wifi/README.md) | + +## Platform implementation references + The platform table identifies third-party derivation and hardware references separately from the delivered adaptations. [ESP32 implementation baseline][esp32-platform-baseline] refers to the listed paths at the published `agora-esp32-devkit` commit diff --git a/components/mybot_platform/boards/README.md b/components/mybot_platform/boards/README.md new file mode 100644 index 0000000..7c1ba04 --- /dev/null +++ b/components/mybot_platform/boards/README.md @@ -0,0 +1,37 @@ +# Board documentation / 板卡说明 + +All 13 supported board profiles have documentation for the hardware configuration and firmware +features implemented by `agora-esp32-devkit`. See the [English build guide](../../../README.md#build) +or [中文构建说明](../../../README.zh-CN.md#构建) for environment setup and build options. + +各板型说明按本仓库的 `board.cmake`、`board_config.h` 和 `sdkconfig.defaults` 整理。 +`MYBOT_BOARD` 是手动构建时的板型选择入口;自动脚本在工程根目录运行: + +```sh +python3 scripts/build_all.py --board --language both +``` + +默认生成目录为 `build/build-<板型>-<语言>[-video]/`,合并产物位于 `releases/`。 +CoreS3 默认启用视频并带 `-video` 后缀,其余板型关闭视频。Watcher 必须保留工厂 NVS, +使用其说明中的分段烧录步骤。脚本的目录清理和归属检查见根构建指南。 + +| Board profile | 文档 | 当前配置说明 | +| --- | --- | --- | +| `atom-echos3r` | [README](atom-echos3r/README.md) | ES8311、GPIO41 按键、无屏 | +| `bread-compact-wifi-lcd` | [README](bread-compact-wifi-lcd/README.md) | ST7789、独立 I2S、Boot 按键 | +| `esp-vocat` | [README](esp-vocat/README.md) | ES7210/ES8311、ST77916 与触摸 | +| `esp32-s3-touch-amoled-1.75` | [README](esp32-s3-touch-amoled-1.75/README.md) | CO5300 AMOLED 与触摸 | +| `esp32-s3-touch-amoled-1.75c` | [README](esp32-s3-touch-amoled-1.75c/README.md) | 独立 1.75C profile | +| `esp32-s3-touch-amoled-2.16` | [README](esp32-s3-touch-amoled-2.16/README.md) | 480×480 CO5300 AMOLED | +| `m5stack-core-s3` | [README](m5stack-core-s3/README.md) | 像素眼镜 UI,默认摄像头视频 | +| `m5stack-stick-s3` | [README](m5stack-stick-s3/README.md) | ST7789、ES8311 与主按键 | +| `respeaker-flex-xvf3800-circular4-xiao` | [README](respeaker-flex-xvf3800-circular4-xiao/README.md) | Circular-4、XVF3800 与 AIC3104,无屏 | +| `sensecap-watcher` | [中文](sensecap-watcher/README.md) / [English](sensecap-watcher/README_en.md) | SPD2010、编码器与工厂数据保护 | +| `xingzhi-cube-1.54tft-wifi` | [README](xingzhi-cube-1.54tft-wifi/README.md) | ST7789、独立 I2S 与音量按键 | +| `zhengchen-1.54tft-ml307` | [README](zhengchen-1.54tft-ml307/README.md) | ST7789、独立 I2S,当前使用 Wi-Fi | +| `zhengchen-1.54tft-wifi` | [README](zhengchen-1.54tft-wifi/README.md) | ST7789、独立 I2S 与音量按键 | + +硬件参考资料及文档来源见 +[VENDORED_SOURCES.md](../../../VENDORED_SOURCES.md#board-reference-documents),许可归属见 +[THIRD_PARTY_NOTICES.md](../../../THIRD_PARTY_NOTICES.md)。构建结果与实机验证状态分别记录在 +[平台移植说明](../../../docs/BOARD_PORTING.zh-CN.md)中。 diff --git a/components/mybot_platform/boards/atom-echos3r/README.md b/components/mybot_platform/boards/atom-echos3r/README.md new file mode 100644 index 0000000..e63e1f1 --- /dev/null +++ b/components/mybot_platform/boards/atom-echos3r/README.md @@ -0,0 +1,45 @@ +# M5Stack AtomEchoS3R + +本目录是 agora-esp32-devkit 的 `atom-echos3r` 板级 profile,面向 +ESP32-S3-PICO-1-N8R8 与 ES8311 音频硬件。该 profile 无屏幕,不编入 LVGL。 + +## 硬件与当前 profile + +| 项目 | 当前配置 | +| --- | --- | +| 存储 | 8 MB QIO Flash、80 MHz 8 MB Octal PSRAM | +| 分区 | 根目录 `partitions/v2/8m.csv` | +| ES8311 I2C0 | SDA GPIO45、SCL GPIO0;7 位地址 `0x18` | +| I2S 音频 | MCLK GPIO11、BCLK GPIO17、WS GPIO3、DIN GPIO4、DOUT GPIO48 | +| 扬声器功放 | GPIO18 使能 | +| 用户按键 | GPIO41,当前按低电平有效配置 | + +音频接口使用 16 kHz、单声道、signed 16-bit PCM。引脚定义见 +[board_config.h](board_config.h),构建约束见 [board.cmake](board.cmake) 与 +[sdkconfig.defaults](sdkconfig.defaults)。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后构建中英文固件: + +```sh +. /path/to/esp-idf/export.sh +test "$(idf.py --version)" = "ESP-IDF v5.5.2" +python3 scripts/build_all.py --board atom-echos3r --language both +``` + +中间构建目录为 `build/build-atom-echos3r-<语言>/`,默认生成根目录 `releases/atom-echos3r-zh-CN.bin` 与 +`releases/atom-echos3r-en-US.bin`。构建器默认清理所选构建/输出根目录,详情与烧录入口见 +[根目录构建说明](../../../../README.zh-CN.md#构建)。本板不支持视频构建。 + +## 使用与验证边界 + +未保存 Wi-Fi 凭据时,设备创建配置热点并播放对应语言的配网提示音。短按 GPIO41 用户按键 +开始或结束对话,长按 3 秒先停止 SDK,再进入配网。当前未接入本地唤醒词,不要求通过 +语音唤醒操作设备。 + +GPIO41 用户按键映射、极性及 16 kHz 双向音频质量仍需真机验证。构建成功不代表已经完成 +这些硬件验证;无屏状态可结合串口日志与语音提示确认。 + +板级集成约定见 [板级移植](../../../../docs/BOARD_PORTING.zh-CN.md), +相关上游许可见 [MIT 许可文本](../../assets/LICENSE.xiaozhi-esp32)。 diff --git a/components/mybot_platform/boards/bread-compact-wifi-lcd/README.md b/components/mybot_platform/boards/bread-compact-wifi-lcd/README.md new file mode 100644 index 0000000..9cee408 --- /dev/null +++ b/components/mybot_platform/boards/bread-compact-wifi-lcd/README.md @@ -0,0 +1,34 @@ +# Bread Compact Wi-Fi LCD + +本说明根据本工程的 [board.cmake](board.cmake)、[board_config.h](board_config.h) 和 +[sdkconfig.defaults](sdkconfig.defaults) 整理;参考工程没有该板型的独立 README。 + +## 硬件配置 + +| 项目 | 当前 profile | +| --- | --- | +| MCU | ESP32-S3,N16R8 配置 | +| Flash | 16 MB,QIO | +| PSRAM | 8 MB,Octal,80 MHz | +| 显示 | ST7789,240×320,SPI;GPIO42 PWM 背光 | +| 音频 | 麦克风与扬声器使用独立 I2S,16 kHz 单声道 | +| 输入 | GPIO0 Boot 按键,无独立音量键、无触摸 | +| 网络 | Wi-Fi | +| 分区 | `partitions/v2/16m.csv` | + +麦克风 WS/BCLK/DIN 分别为 GPIO4/5/6,扬声器 DOUT/BCLK/WS 分别为 GPIO7/15/16。 +显示引脚及方向配置见 `board_config.h`。当前 profile 没有摄像头支持。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后执行: + +```sh +python3 scripts/build_all.py --board bread-compact-wifi-lcd --language both +``` + +默认合并产物为 `releases/bread-compact-wifi-lcd-zh-CN.bin` 和 +`releases/bread-compact-wifi-lcd-en-US.bin`。 + +构建与烧录的完整说明见[项目文档](../../../../README.zh-CN.md#构建)。当前板型的 +实机验证状态见[平台移植文档](../../../../docs/BOARD_PORTING.zh-CN.md)。 diff --git a/components/mybot_platform/boards/esp-vocat/README.md b/components/mybot_platform/boards/esp-vocat/README.md new file mode 100644 index 0000000..55af461 --- /dev/null +++ b/components/mybot_platform/boards/esp-vocat/README.md @@ -0,0 +1,51 @@ +# Espressif ESP-VoCat 喵伴 + +本目录是 agora-esp32-devkit 的 `esp-vocat` 板级 profile。硬件资料见 +[ESP-VoCat 开源硬件项目](https://oshwhub.com/esp-college/echoear);硬件具备的器件与算法能力 +不等于本固件已实现的功能。 + +## 硬件与当前 profile + +| 项目 | 当前配置 | +| --- | --- | +| 主控与存储 | ESP32-S3、16 MB QIO Flash、80 MHz Octal PSRAM | +| 分区 | 根目录 `partitions/v2/16m.csv` | +| 音频 | ES7210 采集、ES8311 播放,16 kHz 单声道 signed 16-bit PCM | +| 公共 I2C0 | SDA GPIO2、SCL GPIO1;ES8311 `0x18`、ES7210 `0x40`、CST816S `0x15` | +| I2S | MCLK GPIO42、BCLK GPIO40、WS GPIO39、DOUT GPIO41 | +| 显示 | 360 × 360 ST77916 QSPI 圆屏,共享 LVGL UI | +| 输入 | CST816S 触摸中断 GPIO10、Boot GPIO0 | +| 控制台 | USB Serial/JTAG,避免 UART0 与板载外设引脚冲突 | + +初始化时探测兼容的 PCB 版本:V1.0 使用 DIN GPIO15、PA GPIO4、GPIO3 低有效 LCD reset; +V1.2 使用 DIN GPIO3、PA GPIO15、GPIO47 高有效 LCD reset。无法探测 ES8311 时初始化失败, +不会盲选引脚。完整定义见 [board_config.h](board_config.h)、[board.cmake](board.cmake) 与 +[sdkconfig.defaults](sdkconfig.defaults)。发布设备仍需确认实际 PSRAM 容量和 PCB 引脚映射。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后构建中英文固件: + +```sh +. /path/to/esp-idf/export.sh +test "$(idf.py --version)" = "ESP-IDF v5.5.2" +python3 scripts/build_all.py --board esp-vocat --language both +``` + +中间构建目录为 `build/build-esp-vocat-<语言>/`,默认生成根目录 `releases/esp-vocat-zh-CN.bin` 与 +`releases/esp-vocat-en-US.bin`。构建器默认清理所选构建/输出根目录,详情与烧录入口见 +[根目录构建说明](../../../../README.zh-CN.md#构建)。本板不支持视频构建。 + +当前 UI 由板级配置自动启用,无需下载额外 UI 资源包。 + +## 使用与验证边界 + +短触屏幕或短按 Boot 开始/结束对话;长触或长按 3 秒进入配网。当前只向 SDK 提供主麦克风 +采集通道,未接入第二麦克风、播放参考通道、本地 AEC、本地唤醒词或声源定位。 + +电量、IMU、PCB 电容控制、SD 卡、LED、摄像头扩展、关机与低功耗尚未接入。PCB V1.0 有固件 +无法修复的已知硬件供电稳定性问题。本 profile 尚未完成真机验证,编译成功不能替代电源、 +触摸、显示和双向音频验证。 + +板级集成约定见 [板级移植](../../../../docs/BOARD_PORTING.zh-CN.md), +相关上游许可见 [MIT 许可文本](../../assets/LICENSE.xiaozhi-esp32)。 diff --git a/components/mybot_platform/boards/esp32-s3-touch-amoled-1.75/README.md b/components/mybot_platform/boards/esp32-s3-touch-amoled-1.75/README.md new file mode 100644 index 0000000..943e01b --- /dev/null +++ b/components/mybot_platform/boards/esp32-s3-touch-amoled-1.75/README.md @@ -0,0 +1,49 @@ +# Waveshare ESP32-S3-Touch-AMOLED-1.75 + +本目录是 agora-esp32-devkit 的 `esp32-s3-touch-amoled-1.75` 板级 profile,面向 +[Waveshare ESP32-S3-Touch-AMOLED-1.75](https://www.waveshare.com/esp32-s3-touch-amoled-1.75.htm)。 +本版本与 1.75C 引脚不同,需按实际板型选择固件。 + +## 硬件与当前 profile + +| 项目 | 当前配置 | +| --- | --- | +| 主控与存储 | ESP32-S3、16 MB QIO Flash、80 MHz 8 MB Octal PSRAM | +| 分区 | 根目录 `partitions/v2/16m.csv` | +| 音频 | ES7210 采集、ES8311 播放,16 kHz 单声道 signed 16-bit PCM | +| 公共 I2C0 | SDA GPIO15、SCL GPIO14;AXP2101 `0x34`、ES8311 `0x18`、ES7210 `0x40`、CST9217 `0x5a` | +| I2S | MCLK GPIO42、BCLK GPIO9、WS GPIO45、DIN GPIO10、DOUT GPIO8;PA GPIO46 | +| 显示 | 466 × 466 CO5300 QSPI AMOLED,显示偏移 (6, 0),共享 LVGL UI | +| 显示 reset / 触摸 reset | GPIO39 / GPIO40 | +| 输入 | CST9217 中断 GPIO11、Boot GPIO0 | +| TCA9554 | 在 `0x20` 可选探测 | + +完整引脚与配置见 [board_config.h](board_config.h)、[board.cmake](board.cmake) 与 +[sdkconfig.defaults](sdkconfig.defaults)。此 profile 与 1.75C 复用公共板级生命周期、音频和 +输入实现,但分别保留自身的 MCLK、reset 与器件配置。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后构建中英文固件: + +```sh +. /path/to/esp-idf/export.sh +test "$(idf.py --version)" = "ESP-IDF v5.5.2" +python3 scripts/build_all.py --board esp32-s3-touch-amoled-1.75 --language both +``` + +中间构建目录为 `build/build-esp32-s3-touch-amoled-1.75-<语言>/`,默认生成根目录 `releases/esp32-s3-touch-amoled-1.75-zh-CN.bin` 与 +`releases/esp32-s3-touch-amoled-1.75-en-US.bin`。构建器默认清理所选构建/输出根目录,详情与烧录入口见 +[根目录构建说明](../../../../README.zh-CN.md#构建)。本板不支持视频构建。 + +## 使用与验证边界 + +短触屏幕或短按 Boot 开始/结束对话,长触或长按 3 秒进入配网。采集只提供主麦 slot,保留 +Cloud AEC;未向 SDK 提供播放参考通道或本地 AEC。RTC、IMU、TF 卡、电池状态、自动休眠与 +关机手势尚未接入,硬件产品页列出的器件不代表这些功能已在本固件启用。 + +本 profile 尚未完成真机验证,需确认电源时序、显示方向和颜色、触摸及 16 kHz 双向音频。 +编译成功不代表完成上述验证。 + +板级集成约定见 [板级移植](../../../../docs/BOARD_PORTING.zh-CN.md), +相关上游许可见 [MIT 许可文本](../../assets/LICENSE.xiaozhi-esp32)。 diff --git a/components/mybot_platform/boards/esp32-s3-touch-amoled-1.75c/README.md b/components/mybot_platform/boards/esp32-s3-touch-amoled-1.75c/README.md new file mode 100644 index 0000000..fcf90d5 --- /dev/null +++ b/components/mybot_platform/boards/esp32-s3-touch-amoled-1.75c/README.md @@ -0,0 +1,49 @@ +# Waveshare ESP32-S3-Touch-AMOLED-1.75C + +本目录是 agora-esp32-devkit 的 `esp32-s3-touch-amoled-1.75c` 板级 profile。1.75C 与非 C 版本 +的 MCLK、显示和触摸 reset 不同,需选择本板专用固件,不能按屏幕尺寸混用。 + +## 硬件与当前 profile + +| 项目 | 当前配置 | +| --- | --- | +| 主控与存储 | ESP32-S3、保守的 16 MB QIO Flash profile、80 MHz 8 MB Octal PSRAM | +| 分区 | 根目录 `partitions/v2/16m.csv` | +| 音频 | ES7210 采集、ES8311 播放,16 kHz 单声道 signed 16-bit PCM | +| 公共 I2C0 | SDA GPIO15、SCL GPIO14;AXP2101 `0x34`、ES8311 `0x18`、ES7210 `0x40`、CST9217 `0x5a` | +| I2S | MCLK GPIO16、BCLK GPIO9、WS GPIO45、DIN GPIO10、DOUT GPIO8;PA GPIO46 | +| 显示 | 466 × 466 CO5300 QSPI AMOLED,显示偏移 (6, 0),共享 LVGL UI | +| 显示 reset / 触摸 reset | GPIO1 / GPIO2 | +| 输入 | CST9217 中断 GPIO11、Boot GPIO0 | +| TCA9554 | 不探测且不依赖 | + +产品容量描述存在差异;本工程按 16 MB Flash、8 MB PSRAM 使用保守配置,实际物理容量仍需 +通过启动日志核对。确认实际容量之前不要扩大分区。完整定义见 +[board_config.h](board_config.h)、[board.cmake](board.cmake) 与 +[sdkconfig.defaults](sdkconfig.defaults)。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后构建中英文固件: + +```sh +. /path/to/esp-idf/export.sh +test "$(idf.py --version)" = "ESP-IDF v5.5.2" +python3 scripts/build_all.py --board esp32-s3-touch-amoled-1.75c --language both +``` + +中间构建目录为 `build/build-esp32-s3-touch-amoled-1.75c-<语言>/`,默认生成根目录 `releases/esp32-s3-touch-amoled-1.75c-zh-CN.bin` 与 +`releases/esp32-s3-touch-amoled-1.75c-en-US.bin`。构建器默认清理所选构建/输出根目录,详情与烧录入口见 +[根目录构建说明](../../../../README.zh-CN.md#构建)。本板不支持视频构建。 + +## 使用与验证边界 + +短触屏幕或短按 Boot 开始/结束对话,长触或长按 3 秒进入配网。采集只提供主麦 slot,保留 +Cloud AEC;未向 SDK 提供播放参考通道或本地 AEC。当前未支持 RTC、IMU、TF 卡、TCA9554、 +电池状态、自动休眠与关机手势。 + +本 profile 尚未完成真机验证;电源时序、显示方向和颜色、触摸、容量及 16 kHz 双向音频 +均需在实物上确认,不能以构建成功代替。 + +板级集成约定见 [板级移植](../../../../docs/BOARD_PORTING.zh-CN.md), +相关上游许可见 [MIT 许可文本](../../assets/LICENSE.xiaozhi-esp32)。 diff --git a/components/mybot_platform/boards/esp32-s3-touch-amoled-2.16/README.md b/components/mybot_platform/boards/esp32-s3-touch-amoled-2.16/README.md new file mode 100644 index 0000000..24c673f --- /dev/null +++ b/components/mybot_platform/boards/esp32-s3-touch-amoled-2.16/README.md @@ -0,0 +1,49 @@ +# Waveshare ESP32-S3-Touch-AMOLED-2.16 + +本目录是 agora-esp32-devkit 的 `esp32-s3-touch-amoled-2.16` 板级 profile,面向 +[Waveshare ESP32-S3-Touch-AMOLED-2.16](https://www.waveshare.com/esp32-s3-touch-amoled-2.16.htm)。 +本板使用独立的 480 像素面板配置,与 1.75/1.75C 固件不能混用。 + +## 硬件与当前 profile + +| 项目 | 当前配置 | +| --- | --- | +| 主控与存储 | ESP32-S3、保守的 16 MB QIO Flash profile、80 MHz Octal PSRAM;实际容量待核对 | +| 分区 | 根目录 `partitions/v2/16m.csv` | +| 音频 | ES7210 采集、ES8311 播放,16 kHz 单声道 signed 16-bit PCM | +| 公共 I2C0 | SDA GPIO15、SCL GPIO14;AXP2101 `0x34`、ES8311 `0x18`、ES7210 `0x40`、CST9217 `0x5a` | +| I2S | MCLK GPIO42、BCLK GPIO9、WS GPIO45、DIN GPIO10、DOUT GPIO8;PA GPIO46 | +| 显示 | 480 × 480 CO5300 AMOLED,40 MHz QSPI,显示偏移 (0, 0),共享 LVGL UI | +| 显示 reset / 触摸 reset | GPIO39 / GPIO40 | +| 输入 | CST9217 中断 GPIO11、Boot GPIO0 | +| TCA9554 | 在 `0x20` 可选探测,实物是否搭载待核对 | + +面板使用 RGB565 局部 DMA 刷新,并保持刷新区域起止像素边界为偶数。Flash 与 PSRAM 的实际 +物理容量必须在发布设备上确认。完整配置见 [board_config.h](board_config.h)、 +[board.cmake](board.cmake) 与 [sdkconfig.defaults](sdkconfig.defaults)。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后构建中英文固件: + +```sh +. /path/to/esp-idf/export.sh +test "$(idf.py --version)" = "ESP-IDF v5.5.2" +python3 scripts/build_all.py --board esp32-s3-touch-amoled-2.16 --language both +``` + +中间构建目录为 `build/build-esp32-s3-touch-amoled-2.16-<语言>/`,默认生成根目录 `releases/esp32-s3-touch-amoled-2.16-zh-CN.bin` 与 +`releases/esp32-s3-touch-amoled-2.16-en-US.bin`。构建器默认清理所选构建/输出根目录,详情与烧录入口见 +[根目录构建说明](../../../../README.zh-CN.md#构建)。本板不支持视频构建。 + +## 使用与验证边界 + +短触屏幕或短按 Boot 开始/结束对话,长触或长按 3 秒进入配网。采集只提供主麦 slot,保留 +Cloud AEC;未向 SDK 提供播放参考通道或本地 AEC。RTC、IMU、TF 卡、电量、关机与低功耗 +尚未接入。 + +本 profile 已有中英文 ESP-IDF v5.5.2 构建验证,尚未完成真机验证。电源时序、显示方向和 +颜色、CST9217 输入、TCA9554 搭载情况及 16 kHz 双向音频仍需实物确认。 + +板级集成约定见 [板级移植](../../../../docs/BOARD_PORTING.zh-CN.md), +相关上游许可见 [MIT 许可文本](../../assets/LICENSE.xiaozhi-esp32)。 diff --git a/components/mybot_platform/boards/m5stack-core-s3/README.md b/components/mybot_platform/boards/m5stack-core-s3/README.md new file mode 100644 index 0000000..293746a --- /dev/null +++ b/components/mybot_platform/boards/m5stack-core-s3/README.md @@ -0,0 +1,54 @@ +# M5Stack CoreS3 + +本目录是 agora-esp32-devkit 的 `m5stack-core-s3` 板级 profile,提供音频、触摸、像素眼镜 +LVGL UI 与可选 GC0308 视频上行。 + +## 硬件与当前 profile + +| 项目 | 当前配置 | +| --- | --- | +| 主控与存储 | ESP32-S3、16 MB QIO Flash、80 MHz Quad PSRAM | +| 分区 | 根目录 `partitions/v2/16m.csv` | +| 公共 I2C1 | SDA GPIO12、SCL GPIO11 | +| ES7210 / AW88298 I2S | MCLK GPIO0、BCLK GPIO34、WS GPIO33、DIN GPIO14、DOUT GPIO13 | +| 显示 | 320 × 240 ILI9342,SPI MOSI GPIO37、SCLK GPIO36、CS GPIO3、DC GPIO35 | +| 触摸与电源 | FT6336 `0x38`、AXP2101 `0x34`、AW9523 `0x58` | +| 视频 | GC0308,RTC 连接期间上传 320 × 240 JPEG,最多 1 fps | + +GPIO0 是音频 MCLK,不能当作 Boot 用户按键。音频使用 16 kHz 单声道 signed 16-bit PCM, +启动时恢复持久化音量。完整定义见 [board_config.h](board_config.h)、[board.cmake](board.cmake) +与 [sdkconfig.defaults](sdkconfig.defaults)。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后构建中英文固件: + +```sh +. /path/to/esp-idf/export.sh +test "$(idf.py --version)" = "ESP-IDF v5.5.2" +python3 scripts/build_all.py --board m5stack-core-s3 --language both +``` + +默认自动开启视频,中间构建目录为 `build/build-m5stack-core-s3-<语言>-video/`,生成根目录 `releases/m5stack-core-s3-zh-CN-video.bin` 与 +`releases/m5stack-core-s3-en-US-video.bin`。需要无视频对照固件时运行: + +```sh +python3 scripts/build_all.py --board m5stack-core-s3 --language both --video off +``` + +此时文件名为 `releases/m5stack-core-s3-zh-CN.bin` 与 `releases/m5stack-core-s3-en-US.bin`。 +构建器默认清理所选构建/输出根目录;如需同时保留两组,使用独立输出目录,详见 +[根目录构建说明](../../../../README.zh-CN.md#构建)。 + +## 使用与验证边界 + +短触屏幕开始/结束对话,长按屏幕 3 秒进入配网。当前 UI 使用固定工艺灰像素眼镜皮肤。 +详细行为见 [CoreS3 UI](../../../../docs/CORES3_UI.zh-CN.md) 与 +[CoreS3 视频](../../../../docs/CORES3_VIDEO.zh-CN.md)。 + +此前固件的配网、双向音频、摄像头上行与旧状态卡片 UI 已有真机结果;这些结果不能代表新 +像素眼镜 UI 已完成真机回归。当前 UI、视频和音频仍需按本轮固件联合验收。摄像头预览、视频 +下行、电池状态和自动休眠尚未接入。构建成功不能替代实机验证。 + +板级集成约定见 [板级移植](../../../../docs/BOARD_PORTING.zh-CN.md), +相关上游许可见 [MIT 许可文本](../../assets/LICENSE.xiaozhi-esp32)。 diff --git a/components/mybot_platform/boards/m5stack-stick-s3/README.md b/components/mybot_platform/boards/m5stack-stick-s3/README.md new file mode 100644 index 0000000..e5f14d0 --- /dev/null +++ b/components/mybot_platform/boards/m5stack-stick-s3/README.md @@ -0,0 +1,45 @@ +# M5Stack StickS3 + +本目录是 agora-esp32-devkit 的 `m5stack-stick-s3` 板级 profile,提供 ES8311 音频、 +ST7789P3 LCD、主按键与 M5PM1 电源初始化。 + +## 硬件与当前 profile + +| 项目 | 当前配置 | +| --- | --- | +| 主控与存储 | ESP32-S3、8 MB QIO Flash、80 MHz 8 MB Octal PSRAM | +| 分区 | 根目录 `partitions/v2/8m.csv` | +| 公共 I2C0 | SDA GPIO47、SCL GPIO48;M5PM1 `0x6e`、ES8311 `0x18` | +| ES8311 I2S | MCLK GPIO18、BCLK GPIO17、WS GPIO15、DIN GPIO16、DOUT GPIO14 | +| LCD | 135 × 240 ST7789P3,显示偏移 (52, 40),共享 LVGL UI | +| LCD SPI3 | MOSI GPIO39、SCLK GPIO40、CS GPIO41、DC GPIO45、RESET GPIO21、背光 GPIO38 | +| 输入 | 主按键 GPIO11,低电平有效 | + +M5PM1 G2 为显示与 codec 供电,在运行期间保持开启;G3 仅在播放期间开启扬声器功放。 +音频使用 16 kHz 单声道 signed 16-bit PCM。完整定义见 [board_config.h](board_config.h)、 +[board.cmake](board.cmake) 与 [sdkconfig.defaults](sdkconfig.defaults)。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后构建中英文固件: + +```sh +. /path/to/esp-idf/export.sh +test "$(idf.py --version)" = "ESP-IDF v5.5.2" +python3 scripts/build_all.py --board m5stack-stick-s3 --language both +``` + +中间构建目录为 `build/build-m5stack-stick-s3-<语言>/`,默认生成根目录 `releases/m5stack-stick-s3-zh-CN.bin` 与 +`releases/m5stack-stick-s3-en-US.bin`。构建器默认清理所选构建/输出根目录,详情与烧录入口见 +[根目录构建说明](../../../../README.zh-CN.md#构建)。本板不支持视频构建。 + +## 使用与验证边界 + +短按主按键开始/结束对话,长按 3 秒进入配网。GPIO12、IMU、红外、电池状态、关机手势及 +低功耗尚未接入。硬件上存在这些器件不代表当前固件可使用它们。 + +本 profile 尚未完成真机验证,仍需核对电源时序、LCD 颜色和方向、按键、配网及 16 kHz +双向音频。编译成功不能替代上述硬件验证。 + +板级集成约定见 [板级移植](../../../../docs/BOARD_PORTING.zh-CN.md), +相关上游许可见 [MIT 许可文本](../../assets/LICENSE.xiaozhi-esp32)。 diff --git a/components/mybot_platform/boards/respeaker-flex-xvf3800-circular4-xiao/README.md b/components/mybot_platform/boards/respeaker-flex-xvf3800-circular4-xiao/README.md new file mode 100644 index 0000000..4058ea1 --- /dev/null +++ b/components/mybot_platform/boards/respeaker-flex-xvf3800-circular4-xiao/README.md @@ -0,0 +1,39 @@ +# ReSpeaker Flex XVF3800 Circular-4 with XIAO ESP32S3 + +本说明根据本工程的 [board.cmake](board.cmake)、[board_config.h](board_config.h) 和 +[sdkconfig.defaults](sdkconfig.defaults) 整理;参考工程没有该板型的独立 README。 +硬件介绍见 [Seeed Studio ReSpeaker Flex 文档](https://wiki.seeedstudio.com/cn/respeaker_flex_introduction/)。 + +## 硬件配置 + +| 项目 | 当前 profile | +| --- | --- | +| MCU | XIAO ESP32S3 | +| Flash | 8 MB,QIO | +| PSRAM | 8 MB,Octal,80 MHz | +| 音频 | XVF3800 麦克风前端与 AIC3104 输出,SDK 使用 16 kHz 单声道 PCM | +| I2S | BCLK GPIO8、WS GPIO7、DOUT GPIO44、DIN GPIO43 | +| I2C | SDA GPIO5、SCL GPIO6,400 kHz;AIC3104 `0x18`、XVF3800 `0x2c` | +| 输入 | XIAO Boot GPIO0 与 XVF3800 板载按键 | +| 显示 | 无屏幕,不编译 LVGL | +| 控制台 | USB Serial/JTAG;GPIO43/44 已用于 I2S | +| 网络 | Wi-Fi | +| 分区 | `partitions/v2/8m.csv` | + +XVF3800 提供硬件 AEC,当前 profile 关闭 Cloud AEC。当前 profile 没有摄像头支持。 +采集或播放音频前,必须单独为 XVF3800 烧录 Circular-4 的 **16 kHz 双通道 I2S 固件**; +ESP32-S3 作为 I2S 从机连接。此 ESP32 profile 不提供 XVF3800 固件升级流程。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后执行: + +```sh +python3 scripts/build_all.py --board respeaker-flex-xvf3800-circular4-xiao --language both +``` + +默认合并产物为 `releases/respeaker-flex-xvf3800-circular4-xiao-zh-CN.bin` 和 +`releases/respeaker-flex-xvf3800-circular4-xiao-en-US.bin`。 + +构建与烧录的完整说明见[项目文档](../../../../README.zh-CN.md#构建)。当前板型的 +实机验证状态见[平台移植文档](../../../../docs/BOARD_PORTING.zh-CN.md)。 diff --git a/components/mybot_platform/boards/sensecap-watcher/README.md b/components/mybot_platform/boards/sensecap-watcher/README.md new file mode 100644 index 0000000..eba4ad0 --- /dev/null +++ b/components/mybot_platform/boards/sensecap-watcher/README.md @@ -0,0 +1,61 @@ +# SenseCAP Watcher + +[English](README_en.md) + +本说明对应 `agora-esp32-devkit` 的 `sensecap-watcher` profile。 +当前实现以本目录的 [board.cmake](board.cmake)、[board_config.h](board_config.h) 和 +[sdkconfig.defaults](sdkconfig.defaults) 为准。 + +## 当前配置 + +| 项目 | 配置 | +| --- | --- | +| MCU / 存储 | ESP32-S3;32 MB QIO Flash,Octal PSRAM、80 MHz | +| 音频 | ES8311 与 ES7243E,16 kHz 单声道 PCM | +| 音频 MCLK/BCLK/WS/DIN/DOUT | GPIO10/11/12/15/16 | +| 显示 | 412×412 SPD2010 QSPI,LVGL 状态界面 | +| 公共 I2C | SDA GPIO47、SCL GPIO48;TCA9555 地址 `0x21` | +| 输入 | 编码器 GPIO41/42;TCA9555 P0.3 编码器按键 | +| 分区 | [`partitions/v2/32m-sensecap.csv`](../../../../partitions/v2/32m-sensecap.csv) | + +TCA9555 管理系统、屏幕和 codec 功放的上电时序。旋转编码器调节音量,短按开始或结束 +对话,长按 3 秒进入配网。当前固件尚未接入摄像头、触摸、LED、电池状态、关机和低功耗。 + +## 构建 + +在工程根目录加载 ESP-IDF v5.5.2 环境后执行: + +```sh +python3 scripts/build_all.py --board sensecap-watcher --language both +``` + +脚本通过 `MYBOT_BOARD` 选择本 profile,分别准备 +`build/build-sensecap-watcher-zh-CN/` 和 `build/build-sensecap-watcher-en-US/`。 +中文、英文固件使用各自的服务区域。构建脚本也会生成 `releases/sensecap-watcher-*.bin` +合并镜像;Watcher 应使用下述分段烧录流程,不能直接烧录这些合并镜像。 + +## 烧录并保留工厂数据 + +专用分区表保留从 `0x9000` 开始、长度 204800 字节的 `nvsfactory` 工厂分区。 +首次烧录前,替换实际串口并备份该区域,将备份保存在设备之外并妥善保管: + +```sh +python -m esptool --chip esp32s3 --port /dev/ttyUSB0 --baud 460800 \ + --before default_reset --after hard_reset --no-stub read_flash 0x9000 204800 nvsfactory.bin +``` + +对上述脚本生成的中文工程执行分段烧录并查看日志: + +```sh +idf.py -B build/build-sensecap-watcher-zh-CN -p /dev/ttyUSB0 flash monitor +``` + +英文版本使用 `build/build-sensecap-watcher-en-US`。`idf.py flash` 按所选生成工程的 +`flash_args` 写入 bootloader、分区表、OTA 数据和应用分段。应用分段从 `0x200000` +开始,不能把它写到 `0x0`。这些分段避开工厂分区;不要整片擦除,也不要用填充空洞的 +合并镜像覆盖工厂数据。 + +完整环境及构建选项见[项目构建指南](../../../../README.zh-CN.md#构建)。实机验证状态见 +[平台移植说明](../../../../docs/BOARD_PORTING.zh-CN.md);编译成功不代表硬件功能已验证。 +参考材料的 MIT 许可保留于 [LICENSE.xiaozhi-esp32](../../assets/LICENSE.xiaozhi-esp32), +第三方归属见[许可说明](../../../../THIRD_PARTY_NOTICES.md)。 diff --git a/components/mybot_platform/boards/sensecap-watcher/README_en.md b/components/mybot_platform/boards/sensecap-watcher/README_en.md new file mode 100644 index 0000000..660d9e5 --- /dev/null +++ b/components/mybot_platform/boards/sensecap-watcher/README_en.md @@ -0,0 +1,66 @@ +# SenseCAP Watcher + +[中文](README.md) + +This guide describes the `sensecap-watcher` profile in `agora-esp32-devkit`. Its configuration is +provided by [board.cmake](board.cmake), [board_config.h](board_config.h), and +[sdkconfig.defaults](sdkconfig.defaults). + +## Current configuration + +| Item | Configuration | +| --- | --- | +| MCU / storage | ESP32-S3; 32 MB QIO Flash, Octal PSRAM at 80 MHz | +| Audio | ES8311 and ES7243E, 16 kHz mono PCM | +| Audio MCLK/BCLK/WS/DIN/DOUT | GPIO10/11/12/15/16 | +| Display | 412×412 SPD2010 QSPI with the LVGL status view | +| Shared I2C | SDA GPIO47, SCL GPIO48; TCA9555 address `0x21` | +| Input | Rotary encoder GPIO41/42; encoder button on TCA9555 P0.3 | +| Partitions | [`partitions/v2/32m-sensecap.csv`](../../../../partitions/v2/32m-sensecap.csv) | + +TCA9555 controls the system, display, and codec-amplifier power sequence. Rotate the encoder to +change volume, short-press it to start or stop a conversation, and hold it for three seconds to +enter provisioning. Camera, touch, LED, battery reporting, shutdown, and low-power operation are +not implemented by this firmware. + +## Build + +Load ESP-IDF v5.5.2 and run this command from the project root: + +```sh +python3 scripts/build_all.py --board sensecap-watcher --language both +``` + +The builder selects this profile through `MYBOT_BOARD` and creates separate +`build/build-sensecap-watcher-zh-CN/` and `build/build-sensecap-watcher-en-US/` directories. +The languages use their respective service regions. The builder also generates merged images +under `releases/sensecap-watcher-*.bin`; use the segmented flashing procedure below for Watcher +and do not flash those merged images. + +## Flash and preserve factory data + +The dedicated partition table preserves the `nvsfactory` partition at `0x9000` for 204800 bytes. +Before first flashing, replace the serial port and back up that region. Keep the backup outside +the device in a safe location: + +```sh +python -m esptool --chip esp32s3 --port /dev/ttyUSB0 --baud 460800 \ + --before default_reset --after hard_reset --no-stub read_flash 0x9000 204800 nvsfactory.bin +``` + +Flash the generated English build as separate segments and monitor the device: + +```sh +idf.py -B build/build-sensecap-watcher-en-US -p /dev/ttyUSB0 flash monitor +``` + +Use `build/build-sensecap-watcher-zh-CN` for Chinese. `idf.py flash` uses the selected build's +`flash_args` to write the bootloader, partition table, OTA data, and application segments. The +application starts at `0x200000`; do not write it at `0x0`. These segments exclude factory data. +Do not erase the whole chip or flash a merged image that fills the factory-data gap. + +See the [project build guide](../../../../README.md#build) for environment setup and build +options, and the [porting guide](../../../../docs/BOARD_PORTING.md) for validation status. +A successful build does not establish real-device behavior. The reference material's MIT license +is retained in [LICENSE.xiaozhi-esp32](../../assets/LICENSE.xiaozhi-esp32); see the +[third-party notices](../../../../THIRD_PARTY_NOTICES.md) for attribution. diff --git a/components/mybot_platform/boards/xingzhi-cube-1.54tft-wifi/README.md b/components/mybot_platform/boards/xingzhi-cube-1.54tft-wifi/README.md new file mode 100644 index 0000000..469d2f8 --- /dev/null +++ b/components/mybot_platform/boards/xingzhi-cube-1.54tft-wifi/README.md @@ -0,0 +1,35 @@ +# 行者 Cube 1.54 TFT Wi-Fi + +本说明根据本工程的 [board.cmake](board.cmake)、[board_config.h](board_config.h) 和 +[sdkconfig.defaults](sdkconfig.defaults) 整理;参考工程没有该板型的独立 README。 + +## 硬件配置 + +| 项目 | 当前 profile | +| --- | --- | +| MCU | ESP32-S3 | +| Flash | 16 MB,QIO;实际容量待实机核对 | +| PSRAM | Octal,80 MHz;实际容量待实机核对 | +| 显示 | ST7789,240×240,SPI mode 3;GPIO13 PWM 背光 | +| 音频 | 麦克风与扬声器使用独立 I2S,16 kHz 单声道 | +| 输入 | Boot GPIO0、音量加 GPIO40、音量减 GPIO39 | +| 电源保持 | GPIO21 | +| 网络 | Wi-Fi | +| 分区 | `partitions/v2/16m.csv` | + +麦克风 WS/BCLK/DIN 分别为 GPIO4/5/6,扬声器 DOUT/BCLK/WS 分别为 GPIO7/15/16。 +显示引脚及方向配置见 `board_config.h`。当前 profile 没有摄像头支持。 + +## 构建 + +在工程根目录激活 ESP-IDF v5.5.2 后执行: + +```sh +python3 scripts/build_all.py --board xingzhi-cube-1.54tft-wifi --language both +``` + +默认合并产物为 `releases/xingzhi-cube-1.54tft-wifi-zh-CN.bin` 和 +`releases/xingzhi-cube-1.54tft-wifi-en-US.bin`。 + +构建与烧录的完整说明见[项目文档](../../../../README.zh-CN.md#构建)。当前板型的 +实机验证状态见[平台移植文档](../../../../docs/BOARD_PORTING.zh-CN.md)。 diff --git a/components/mybot_platform/boards/zhengchen-1.54tft-ml307/README.md b/components/mybot_platform/boards/zhengchen-1.54tft-ml307/README.md new file mode 100644 index 0000000..9a81c02 --- /dev/null +++ b/components/mybot_platform/boards/zhengchen-1.54tft-ml307/README.md @@ -0,0 +1,45 @@ +# 征辰 1.54 TFT ML307 + +本说明对应 `agora-esp32-devkit` 的 `zhengchen-1.54tft-ml307` profile。 +硬件配置以本目录的 [board_config.h](board_config.h)、[board.cmake](board.cmake) 和 +[sdkconfig.defaults](sdkconfig.defaults) 为准。 + +## 当前配置 + +| 项目 | 配置 | +| --- | --- | +| MCU | ESP32-S3 | +| 存储 | 16 MB QIO Flash profile;Octal PSRAM,80 MHz | +| 显示 | 240×240 ST7789,SPI mode 3;LVGL 状态界面 | +| 音频 | 麦克风与扬声器使用独立 I2S,16 kHz 单声道 PCM | +| 麦克风 WS/BCLK/DIN | GPIO4/5/6 | +| 扬声器 DOUT/BCLK/WS | GPIO7/15/16 | +| 输入 | Boot GPIO0、音量加 GPIO10、音量减 GPIO39 | +| 分区 | [`partitions/v2/16m.csv`](../../../../partitions/v2/16m.csv) | + +短按 Boot 开始或结束对话,长按 3 秒进入配网;音量按键调节并持久化扬声器音量。 +当前固件通过 Wi-Fi 联网;ML307 的 UART 引脚已记录,但尚未接入 ML307/4G 网络功能。 + +## 构建与烧录 + +在工程根目录加载 ESP-IDF v5.5.2 环境后执行: + +```sh +python3 scripts/build_all.py --board zhengchen-1.54tft-ml307 --language both +``` + +脚本通过 `MYBOT_BOARD` 选择本 profile,默认生成 +`releases/zhengchen-1.54tft-ml307-zh-CN.bin` 和 +`releases/zhengchen-1.54tft-ml307-en-US.bin`。分语言构建目录位于 +`build/build-zhengchen-1.54tft-ml307-<语言>/`。 + +例如烧录中文生成工程并查看日志,将串口替换为实际端口: + +```sh +idf.py -B build/build-zhengchen-1.54tft-ml307-zh-CN -p /dev/ttyUSB0 flash monitor +``` + +环境、输出目录清理规则及其他构建选项见[项目构建指南](../../../../README.zh-CN.md#构建)。 +充电状态、电池 ADC、温度监测、自动休眠和低功耗尚未接入;构建成功不能替代实机验证。 +验证状态见[平台移植说明](../../../../docs/BOARD_PORTING.zh-CN.md),第三方归属见 +[许可说明](../../../../THIRD_PARTY_NOTICES.md)。 diff --git a/components/mybot_platform/boards/zhengchen-1.54tft-wifi/README.md b/components/mybot_platform/boards/zhengchen-1.54tft-wifi/README.md new file mode 100644 index 0000000..1e69c60 --- /dev/null +++ b/components/mybot_platform/boards/zhengchen-1.54tft-wifi/README.md @@ -0,0 +1,45 @@ +# 征辰 1.54 TFT Wi-Fi + +本说明对应 `agora-esp32-devkit` 的 `zhengchen-1.54tft-wifi` profile。 +硬件配置以本目录的 [board_config.h](board_config.h)、[board.cmake](board.cmake) 和 +[sdkconfig.defaults](sdkconfig.defaults) 为准。 + +## 当前配置 + +| 项目 | 配置 | +| --- | --- | +| MCU | ESP32-S3 | +| 存储 | 16 MB QIO Flash profile;Octal PSRAM,80 MHz | +| 显示 | 240×240 ST7789,SPI mode 3;LVGL 状态界面 | +| 音频 | 麦克风与扬声器使用独立 I2S,16 kHz 单声道 PCM | +| 麦克风 WS/BCLK/DIN | GPIO4/5/6 | +| 扬声器 DOUT/BCLK/WS | GPIO7/15/16 | +| 输入 | Boot GPIO0、音量加 GPIO10、音量减 GPIO39 | +| 分区 | [`partitions/v2/16m.csv`](../../../../partitions/v2/16m.csv) | + +短按 Boot 开始或结束对话,长按 3 秒进入配网;音量按键调节并持久化扬声器音量。 +当前固件通过 Wi-Fi 联网;实际 PSRAM 容量仍需在目标硬件上核对。 + +## 构建与烧录 + +在工程根目录加载 ESP-IDF v5.5.2 环境后执行: + +```sh +python3 scripts/build_all.py --board zhengchen-1.54tft-wifi --language both +``` + +脚本通过 `MYBOT_BOARD` 选择本 profile,默认生成 +`releases/zhengchen-1.54tft-wifi-zh-CN.bin` 和 +`releases/zhengchen-1.54tft-wifi-en-US.bin`。分语言构建目录位于 +`build/build-zhengchen-1.54tft-wifi-<语言>/`。 + +例如烧录中文生成工程并查看日志,将串口替换为实际端口: + +```sh +idf.py -B build/build-zhengchen-1.54tft-wifi-zh-CN -p /dev/ttyUSB0 flash monitor +``` + +环境、输出目录清理规则及其他构建选项见[项目构建指南](../../../../README.zh-CN.md#构建)。 +充电状态、电池 ADC、温度监测、自动休眠和低功耗尚未接入;构建成功不能替代实机验证。 +验证状态见[平台移植说明](../../../../docs/BOARD_PORTING.zh-CN.md),第三方归属见 +[许可说明](../../../../THIRD_PARTY_NOTICES.md)。