Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ jobs:
run: |
find main components/mybot_platform tests/atom_echos3r \
tests/st7789_lifecycle tests/co5300_lifecycle tests/bread_compact_wifi_lcd \
tests/cst816s_input tests/tca9554 tests/cores3_pixel_ui -type f \
tests/cst816s_input tests/tca9554 tests/aw9523b tests/compact_panel \
tests/cores3_pixel_ui tests/labplus_stm8_reset -type f \
\( -name '*.c' -o -name '*.h' -o -name '*.cc' -o -name '*.cpp' \) \
-exec clang-format --dry-run --Werror {} +
- name: Whitespace check
Expand All @@ -40,7 +41,8 @@ jobs:
run: |
find main components/mybot_platform tests/atom_echos3r \
tests/st7789_lifecycle tests/co5300_lifecycle tests/bread_compact_wifi_lcd \
tests/cst816s_input tests/tca9554 tests/cores3_pixel_ui -type f \
tests/cst816s_input tests/tca9554 tests/aw9523b tests/compact_panel \
tests/cores3_pixel_ui tests/labplus_stm8_reset -type f \
\( -name '*.c' -o -name '*.h' -o -name '*.cc' -o -name '*.cpp' \) \
-print0 | while IFS= read -r -d '' file; do
head -n 5 "$file" | grep -q 'SPDX-License-Identifier:' || {
Expand All @@ -58,6 +60,12 @@ jobs:
run: sh tests/cst816s_input/run.sh
- name: TCA9554 masked update host tests
run: sh tests/tca9554/run.sh
- name: AW9523B masked update host tests
run: sh tests/aw9523b/run.sh
- name: LabPlus STM8 display reset host tests
run: sh tests/labplus_stm8_reset/run.sh
- name: Compact GC9107/ST7735 panel lifecycle tests
run: sh tests/compact_panel/run.sh
- name: Bread Compact Wi-Fi LCD host lifecycle tests
run: sh tests/bread_compact_wifi_lcd/run.sh
- name: CoreS3 pixel UI host lifecycle tests
Expand Down Expand Up @@ -324,6 +332,13 @@ jobs:
- hu-087
- kevin-sp-v4-dev
- du-chatx
- minsi-k08-dual
- kevin-box-2
- magiclick-2p5
- atk-dnesp32s3-box3
- zhengchen-cam
- labplus-ledong-v2
- labplus-mpython-v3
language: [zh-CN, en-US]
steps:
- uses: actions/checkout@v4
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@ Versioning and Conventional Commits.

### Added

- Three additional ESP32-S3 profiles: Zhengchen Cam with ST7789, ES8311/ES7210 and PCA9557 PA
control; LabPlus Ledong V2 with a 320×172 ST7789-compatible panel, ES8388 and STM8 display
reset; and LabPlus Mpython V3 with the same display/audio family and separate CS/backlight
wiring. Added ES8388 device support and a host test for the bounded STM8 reset sequence. All
three passed local ESP-IDF v5.5.2 Chinese and English
reconfigure/build/size/merge-bin validation; real-device validation remains pending.
- Four additional ESP32-S3 profiles: Minsi K08 Dual with ST7789 and raw I2S, KEVIN Box 2 as a
headless ES8311/ES7210 subset, Magiclick 2.5 with runtime GC9107/ST7735 panel selection, and
ATK DNESP32S3 Box 3 with ST7789, dual codecs and AW9523B power/backlight/PA control. Added
shared compact-panel and AW9523B drivers with host lifecycle tests. All four passed local
ESP-IDF v5.5.2 Chinese and English reconfigure/build/size/merge-bin validation; real-device
validation remains pending. The upstream AtomS3 Echo Base profile was not added because
stock AtomS3 lacks the PSRAM required by the current MyBot/AOSL memory backend.
- KEVIN SP V4 Dev with a 240×280 ST7789 panel and ES8311 audio, plus DuChat X with a 128×160
ST7789 panel, separate raw I2S audio and GPIO1 power hold. Both passed local ESP-IDF v5.5.2
Chinese and English reconfigure/build/size/merge-bin validation; real-device validation
Expand Down
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@ voice-chat runtime on
ESP32-S3 boards. The project owns board initialization, Wi-Fi provisioning, persistent storage,
HTTPS transport, audio, input, display, and the firmware lifecycle around the SDK.

The development baseline is **ESP-IDF v5.5.2**. Fifty-six compile-time board profiles are
supported; the board, Flash, PSRAM, partition table, and hardware drivers are selected with
`MYBOT_BOARD`. See the [board documentation index](components/mybot_platform/boards/README.md)
for hardware details, controls, build commands, and per-board limitations.
The development baseline is **ESP-IDF v5.5.2**. Sixty-three compile-time board profiles are
supported (56 display and 7 headless); the board, Flash, PSRAM, partition table, and hardware
drivers are selected with `MYBOT_BOARD`. See the
[board documentation index](components/mybot_platform/boards/README.md) for hardware details,
controls, build commands, and per-board limitations.

> Project-maintained code is Apache-2.0 unless a file says otherwise. Bundled dependencies and
> media assets have separate terms. Read [License and dependencies](#license-and-dependencies)
Expand Down Expand Up @@ -56,13 +57,14 @@ Display profiles:
`aipi-lite`, `magiclick-2p4`, `movecall-cuican-esp32s3`,
`movecall-moji-esp32s3`,
`kevin-sp-v4-dev`, `du-chatx`,
`genjutech-s3-1.54tft`, `m5stack-core-s3`, `m5stack-stick-s3`, and
`sensecap-watcher`.
`minsi-k08-dual`, `magiclick-2p5`, `atk-dnesp32s3-box3`,
`genjutech-s3-1.54tft`, `zhengchen-cam`, `labplus-ledong-v2`,
`labplus-mpython-v3`, `m5stack-core-s3`, `m5stack-stick-s3`, and `sensecap-watcher`.

Headless profiles:

`atom-echos3r`, `xingzhi-cube-0.96oled-wifi`, `doit-s3-aibox`,
`bread-compact-wifi`, `hu-087`, and
`bread-compact-wifi`, `hu-087`, `kevin-box-2`, and
`respeaker-flex-xvf3800-circular4-xiao`.

All profiles currently use Wi-Fi. The ML307 profile reserves modem UART pins but does not
Expand Down
13 changes: 7 additions & 6 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
工程负责板级初始化、Wi-Fi 配网、持久化存储、HTTPS、音频、输入、显示,以及 SDK 外围的
固件生命周期。

当前开发基线为 **ESP-IDF v5.5.2**,支持 56 个编译期 Board profile。通过 `MYBOT_BOARD`
选择板型、Flash、PSRAM、分区表和硬件驱动。具体硬件配置、输入操作、构建命令和限制见
[板卡说明索引](components/mybot_platform/boards/README.md)。
当前开发基线为 **ESP-IDF v5.5.2**,支持 63 个编译期 Board profile(56 个带屏、7 个无屏)。
通过 `MYBOT_BOARD` 选择板型、Flash、PSRAM、分区表和硬件驱动。具体硬件配置、输入操作、
构建命令和限制见[板卡说明索引](components/mybot_platform/boards/README.md)。

> 除非文件另有声明,本工程自维护代码使用 Apache-2.0。仓库内依赖和媒体资源有各自的
> 许可条款;重新分发源码或固件前请阅读[许可证与依赖](#许可证与依赖)。
Expand Down Expand Up @@ -52,13 +52,14 @@
`aipi-lite`、`magiclick-2p4`、`movecall-cuican-esp32s3`、
`movecall-moji-esp32s3`、
`kevin-sp-v4-dev`、`du-chatx`、
`genjutech-s3-1.54tft`、`m5stack-core-s3`、`m5stack-stick-s3` 和
`sensecap-watcher`。
`minsi-k08-dual`、`magiclick-2p5`、`atk-dnesp32s3-box3`、
`genjutech-s3-1.54tft`、`zhengchen-cam`、`labplus-ledong-v2`、
`labplus-mpython-v3`、`m5stack-core-s3`、`m5stack-stick-s3` 和 `sensecap-watcher`。

无屏 profile:

`atom-echos3r`、`xingzhi-cube-0.96oled-wifi`、`doit-s3-aibox`、
`bread-compact-wifi`、`hu-087` 和
`bread-compact-wifi`、`hu-087`、`kevin-box-2` 和
`respeaker-flex-xvf3800-circular4-xiao`。

所有 profile 当前均使用 Wi-Fi。ML307 profile 仅预留 Modem UART 引脚,未实现 Modem 或
Expand Down
5 changes: 3 additions & 2 deletions VENDORED_SOURCES.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,9 @@ Firmware integration differences are limited to the active ESP32-S3 build:
DSCP/TOS support required by the bundled RTSA package.
- Component Registry manifests and download-cache checksum metadata are omitted because dependencies
are local or supplied by ESP-IDF v5.5.2.
- The codec-device source set contains only the common adapters and ES8311, ES7243E, ES7210, and
AW88298 devices used by supported boards; codec-setting errors are propagated to platform callers.
- The codec-device source set contains only the common adapters and ES8311, ES8388, ES7243E,
ES7210, and AW88298 devices used by supported boards; codec-setting errors are propagated to
platform callers.
- The TCA95xx constructor removes its I2C device if register reset fails.
- The SenseCAP profile uses explicit IO-expander calls and disables the optional global GPIO API
wrapper.
Expand Down
3 changes: 3 additions & 0 deletions components/esp_codec_dev/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ set(component_srcs
if(CONFIG_CODEC_ES8311_SUPPORT)
list(APPEND component_srcs "device/es8311/es8311.c")
endif()
if(CONFIG_CODEC_ES8388_SUPPORT)
list(APPEND component_srcs "device/es8388/es8388.c")
endif()
if(CONFIG_CODEC_ES7243E_SUPPORT)
list(APPEND component_srcs "device/es7243e/es7243e.c")
endif()
Expand Down
4 changes: 4 additions & 0 deletions components/esp_codec_dev/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ menu "Audio Codec Device Configuration"
bool "Support ES8311 codec"
default n

config CODEC_ES8388_SUPPORT
bool "Support ES8388 codec"
default n

config CODEC_ES7243E_SUPPORT
bool "Support ES7243E codec"
default n
Expand Down
Loading
Loading