From 6f71868bad8cff52a95dc24d9a7e01c240ab9c38 Mon Sep 17 00:00:00 2001 From: Y1hsiaochunnn <66012385+Y1hsiaochunnn@users.noreply.github.com> Date: Wed, 4 Feb 2026 21:03:23 +0800 Subject: [PATCH] fix: Categorizing waveshare products (#1734) content: Update the README.md ci: Adapt to the lower directory ci: the lower directory support ci: board type errors fixed. ci: board_type errors fixed to board_leaf. fix: A naming error problem fix: jd9365 member error fix: Update product naming feat: Add manufacturer parameters to the firmware name for 'release' fix: Verification logic fix: Verification logic --- main/CMakeLists.txt | 151 ++- main/Kconfig.projbuild | 89 +- .../waveshare-p4-wifi6-touch-lcd-4b/README.md | 12 - .../waveshare-p4-wifi6-touch-lcd-4b/config.h | 47 - .../config.json | 16 - .../esp32-p4-wifi6-touch-lcd-4b.cc | 228 ---- .../waveshare-p4-wifi6-touch-lcd-7b/README.md | 12 - .../waveshare-p4-wifi6-touch-lcd-7b/config.h | 47 - .../config.json | 16 - .../waveshare-p4-wifi6-touch-lcd-xc/README.md | 22 - .../waveshare-p4-wifi6-touch-lcd-xc/config.h | 490 -------- .../config.json | 29 - .../esp32-p4-wifi6-touch-lcd-xc.cc | 229 ---- .../waveshare-s3-touch-lcd-3.49/config.json | 12 - .../waveshare-s3-touch-lcd-4b/config.json | 12 - .../esp32-c6-lcd-1.69}/README.md | 0 .../esp32-c6-lcd-1.69}/config.h | 0 .../esp32-c6-lcd-1.69}/config.json | 3 +- .../esp32-c6-lcd-1.69}/esp32-c6-lcd-1.69.cc | 0 .../esp32-c6-lcd-1.69}/power_manager.h | 0 .../esp32-c6-touch-amoled-1.32}/README.md | 0 .../esp32-c6-touch-amoled-1.32}/config.h | 0 .../esp32-c6-touch-amoled-1.32}/config.json | 3 +- .../esp32-c6-touch-amoled-1.32.cc | 0 .../esp32-c6-touch-amoled-1.43}/README.md | 0 .../esp32-c6-touch-amoled-1.43}/config.h | 0 .../esp32-c6-touch-amoled-1.43}/config.json | 3 +- .../esp32-c6-touch-amoled-1.43.cc | 0 .../esp32-c6-touch-amoled-1.8}/README.md | 0 .../esp32-c6-touch-amoled-1.8}/config.h | 0 .../esp32-c6-touch-amoled-1.8}/config.json | 3 +- .../esp32-c6-touch-amoled-1.8.cc | 0 .../esp32-c6-touch-amoled-2.06}/README.md | 0 .../esp32-c6-touch-amoled-2.06}/config.h | 0 .../esp32-c6-touch-amoled-2.06}/config.json | 3 +- .../esp32-c6-touch-amoled-2.06.cc | 0 .../esp32-c6-touch-lcd-1.83}/README.md | 0 .../esp32-c6-touch-lcd-1.83}/config.h | 0 .../esp32-c6-touch-lcd-1.83}/config.json | 3 +- .../esp32-c6-touch-lcd-1.83.cc | 0 .../esp32-p4-nano}/README.md | 36 +- .../esp32-p4-nano}/config.h | 0 .../esp32-p4-nano}/config.json | 4 +- .../esp32-p4-nano}/esp32-p4-nano.cc | 31 +- .../waveshare/esp32-p4-nano/lcd_init_cmds.h | 224 ++++ .../esp32-p4-wifi6-touch-lcd/README.md | 17 + .../esp32-p4-wifi6-touch-lcd/config.h | 91 ++ .../esp32-p4-wifi6-touch-lcd/config.json | 104 ++ .../esp32-p4-wifi6-touch-lcd.cc} | 190 ++- .../esp32-p4-wifi6-touch-lcd/lcd_init_cmds.h | 1073 +++++++++++++++++ .../esp32-s3-audio-board}/README.md | 0 .../esp32-s3-audio-board}/config.h | 0 .../esp32-s3-audio-board}/config.json | 3 +- .../esp32-s3-audio_board.cc | 0 .../esp32-s3-audio-board}/esp_lcd_jd9853.c | 0 .../esp32-s3-audio-board}/esp_lcd_jd9853.h | 0 .../esp32-s3-epaper-1.54}/README.md | 0 .../esp32-s3-epaper-1.54}/board_power_bsp.cc | 0 .../esp32-s3-epaper-1.54}/board_power_bsp.h | 0 .../esp32-s3-epaper-1.54}/config.h | 0 .../esp32-s3-epaper-1.54}/config.json | 3 +- .../custom_lcd_display.cc | 0 .../custom_lcd_display.h | 0 .../waveshare-s3-epaper-1.54.cc | 0 .../esp32-s3-rlcd-4.2}/README.md | 0 .../esp32-s3-rlcd-4.2}/config.h | 0 .../esp32-s3-rlcd-4.2}/config.json | 3 +- .../esp32-s3-rlcd-4.2}/custom_lcd_display.cc | 0 .../esp32-s3-rlcd-4.2}/custom_lcd_display.h | 0 .../waveshare-s3-rlcd-4.2.cc | 0 .../esp32-s3-touch-amoled-1.32}/README.md | 0 .../esp32-s3-touch-amoled-1.32}/config.h | 0 .../esp32-s3-touch-amoled-1.32}/config.json | 3 +- .../esp32-s3-touch-amoled-1.32.cc | 0 .../esp32-s3-touch-amoled-1.75}/README.md | 0 .../esp32-s3-touch-amoled-1.75}/config.h | 0 .../esp32-s3-touch-amoled-1.75/config.json | 13 + .../esp32-s3-touch-amoled-1.75.cc | 0 .../esp32-s3-touch-amoled-1.8/config.h | 0 .../esp32-s3-touch-amoled-1.8/config.json | 1 + .../esp32-s3-touch-amoled-1.8.cc | 0 .../esp32-s3-touch-amoled-2.06}/README.md | 0 .../esp32-s3-touch-amoled-2.06}/config.h | 0 .../esp32-s3-touch-amoled-2.06/config.json | 13 + .../esp32-s3-touch-amoled-2.06.cc | 0 .../esp32-s3-touch-lcd-1.46/README.md | 0 .../esp32-s3-touch-lcd-1.46/config.h | 0 .../esp32-s3-touch-lcd-1.46/config.json | 1 + .../esp32-s3-touch-lcd-1.46.cc | 0 .../esp32-s3-touch-lcd-1.83}/README.md | 0 .../esp32-s3-touch-lcd-1.83}/config.h | 0 .../esp32-s3-touch-lcd-1.83}/config.json | 3 +- .../esp32-s3-touch-lcd-1.83.cc | 0 .../esp32-s3-touch-lcd-1.85/README.md | 0 .../esp32-s3-touch-lcd-1.85/config.h | 0 .../esp32-s3-touch-lcd-1.85/config.json | 1 + .../esp32-s3-touch-lcd-1.85.cc | 0 .../esp32-s3-touch-lcd-1.85c/README.md | 0 .../esp32-s3-touch-lcd-1.85c/config.h | 0 .../esp32-s3-touch-lcd-1.85c/config.json | 1 + .../esp32-s3-touch-lcd-1.85c.cc | 0 .../esp32-s3-touch-lcd-3.49}/README.md | 0 .../esp32-s3-touch-lcd-3.49}/config.h | 0 .../esp32-s3-touch-lcd-3.49}/config.json | 3 +- .../custom_lcd_display.cc | 0 .../custom_lcd_display.h | 0 .../waveshare-s3-touch-lcd-3.49.cc | 0 .../esp32-s3-touch-lcd-3.5/README.md | 0 .../esp32-s3-touch-lcd-3.5/config.h | 0 .../esp32-s3-touch-lcd-3.5/config.json | 1 + .../esp32-s3-touch-lcd-3.5.cc | 0 .../esp32-s3-touch-lcd-3.5b}/README.md | 0 .../esp32-s3-touch-lcd-3.5b}/config.h | 0 .../esp32-s3-touch-lcd-3.5b}/config.json | 3 +- .../custom_lcd_display.cc | 0 .../custom_lcd_display.h | 0 .../waveshare-s3-touch-lcd-3.5b.cc | 0 .../esp32-s3-touch-lcd-4.3c}/README.md | 2 +- .../esp32-s3-touch-lcd-4.3c}/config.h | 0 .../esp32-s3-touch-lcd-4.3c}/config.json | 3 +- .../esp32_s3_touch_lcd_4.3c.cc | 0 .../esp32-s3-touch-lcd-4.3c}/sdkconfig.4_3c | 0 .../esp32-s3-touch-lcd-4b}/README.md | 0 .../esp32-s3-touch-lcd-4b}/config.h | 0 .../esp32-s3-touch-lcd-4b}/config.json | 3 +- .../esp32-s3-touch-lcd-4b.cc | 0 main/idf_component.yml | 2 +- scripts/release.py | 60 +- 128 files changed, 1977 insertions(+), 1345 deletions(-) delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-4b/README.md delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.h delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.json delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-4b/esp32-p4-wifi6-touch-lcd-4b.cc delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-7b/README.md delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.h delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.json delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-xc/README.md delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.h delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.json delete mode 100644 main/boards/waveshare-p4-wifi6-touch-lcd-xc/esp32-p4-wifi6-touch-lcd-xc.cc delete mode 100644 main/boards/waveshare-s3-touch-lcd-3.49/config.json delete mode 100644 main/boards/waveshare-s3-touch-lcd-4b/config.json rename main/boards/{waveshare-c6-lcd-1.69 => waveshare/esp32-c6-lcd-1.69}/README.md (100%) rename main/boards/{waveshare-c6-lcd-1.69 => waveshare/esp32-c6-lcd-1.69}/config.h (100%) rename main/boards/{waveshare-c6-touch-amoled-1.8 => waveshare/esp32-c6-lcd-1.69}/config.json (68%) rename main/boards/{waveshare-c6-lcd-1.69 => waveshare/esp32-c6-lcd-1.69}/esp32-c6-lcd-1.69.cc (100%) rename main/boards/{waveshare-c6-lcd-1.69 => waveshare/esp32-c6-lcd-1.69}/power_manager.h (100%) rename main/boards/{waveshare-c6-touch-amoled-1.32 => waveshare/esp32-c6-touch-amoled-1.32}/README.md (100%) rename main/boards/{waveshare-c6-touch-amoled-1.32 => waveshare/esp32-c6-touch-amoled-1.32}/config.h (100%) rename main/boards/{waveshare-c6-touch-amoled-1.32 => waveshare/esp32-c6-touch-amoled-1.32}/config.json (66%) rename main/boards/{waveshare-c6-touch-amoled-1.32 => waveshare/esp32-c6-touch-amoled-1.32}/esp32-c6-touch-amoled-1.32.cc (100%) rename main/boards/{waveshare-c6-touch-amoled-1.43 => waveshare/esp32-c6-touch-amoled-1.43}/README.md (100%) rename main/boards/{waveshare-c6-touch-amoled-1.43 => waveshare/esp32-c6-touch-amoled-1.43}/config.h (100%) rename main/boards/{waveshare-c6-touch-amoled-1.43 => waveshare/esp32-c6-touch-amoled-1.43}/config.json (66%) rename main/boards/{waveshare-c6-touch-amoled-1.43 => waveshare/esp32-c6-touch-amoled-1.43}/esp32-c6-touch-amoled-1.43.cc (100%) rename main/boards/{waveshare-c6-touch-amoled-1.8 => waveshare/esp32-c6-touch-amoled-1.8}/README.md (100%) rename main/boards/{waveshare-c6-touch-amoled-1.8 => waveshare/esp32-c6-touch-amoled-1.8}/config.h (100%) rename main/boards/{waveshare-c6-lcd-1.69 => waveshare/esp32-c6-touch-amoled-1.8}/config.json (66%) rename main/boards/{waveshare-c6-touch-amoled-1.8 => waveshare/esp32-c6-touch-amoled-1.8}/esp32-c6-touch-amoled-1.8.cc (100%) rename main/boards/{waveshare-c6-touch-amoled-2.06 => waveshare/esp32-c6-touch-amoled-2.06}/README.md (100%) rename main/boards/{waveshare-c6-touch-amoled-2.06 => waveshare/esp32-c6-touch-amoled-2.06}/config.h (100%) rename main/boards/{waveshare-c6-touch-amoled-2.06 => waveshare/esp32-c6-touch-amoled-2.06}/config.json (66%) rename main/boards/{waveshare-c6-touch-amoled-2.06 => waveshare/esp32-c6-touch-amoled-2.06}/esp32-c6-touch-amoled-2.06.cc (100%) rename main/boards/{waveshare-c6-touch-lcd-1.83 => waveshare/esp32-c6-touch-lcd-1.83}/README.md (100%) rename main/boards/{waveshare-c6-touch-lcd-1.83 => waveshare/esp32-c6-touch-lcd-1.83}/config.h (100%) rename main/boards/{waveshare-c6-touch-lcd-1.83 => waveshare/esp32-c6-touch-lcd-1.83}/config.json (72%) rename main/boards/{waveshare-c6-touch-lcd-1.83 => waveshare/esp32-c6-touch-lcd-1.83}/esp32-c6-touch-lcd-1.83.cc (100%) rename main/boards/{waveshare-p4-nano => waveshare/esp32-p4-nano}/README.md (88%) rename main/boards/{waveshare-p4-nano => waveshare/esp32-p4-nano}/config.h (100%) rename main/boards/{waveshare-p4-nano => waveshare/esp32-p4-nano}/config.json (79%) rename main/boards/{waveshare-p4-nano => waveshare/esp32-p4-nano}/esp32-p4-nano.cc (91%) create mode 100644 main/boards/waveshare/esp32-p4-nano/lcd_init_cmds.h create mode 100644 main/boards/waveshare/esp32-p4-wifi6-touch-lcd/README.md create mode 100644 main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.h create mode 100644 main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.json rename main/boards/{waveshare-p4-wifi6-touch-lcd-7b/esp32-p4-wifi6-touch-lcd-7b.cc => waveshare/esp32-p4-wifi6-touch-lcd/esp32-p4-wifi6-touch-lcd.cc} (54%) create mode 100644 main/boards/waveshare/esp32-p4-wifi6-touch-lcd/lcd_init_cmds.h rename main/boards/{waveshare-s3-audio-board => waveshare/esp32-s3-audio-board}/README.md (100%) rename main/boards/{waveshare-s3-audio-board => waveshare/esp32-s3-audio-board}/config.h (100%) rename main/boards/{waveshare-s3-audio-board => waveshare/esp32-s3-audio-board}/config.json (89%) rename main/boards/{waveshare-s3-audio-board => waveshare/esp32-s3-audio-board}/esp32-s3-audio_board.cc (100%) rename main/boards/{waveshare-s3-audio-board => waveshare/esp32-s3-audio-board}/esp_lcd_jd9853.c (100%) rename main/boards/{waveshare-s3-audio-board => waveshare/esp32-s3-audio-board}/esp_lcd_jd9853.h (100%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-epaper-1.54}/README.md (100%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-epaper-1.54}/board_power_bsp.cc (100%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-epaper-1.54}/board_power_bsp.h (100%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-epaper-1.54}/config.h (100%) rename main/boards/{waveshare-s3-touch-amoled-1.32 => waveshare/esp32-s3-epaper-1.54}/config.json (76%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-epaper-1.54}/custom_lcd_display.cc (100%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-epaper-1.54}/custom_lcd_display.h (100%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-epaper-1.54}/waveshare-s3-epaper-1.54.cc (100%) rename main/boards/{waveshare-s3-rlcd-4.2 => waveshare/esp32-s3-rlcd-4.2}/README.md (100%) rename main/boards/{waveshare-s3-rlcd-4.2 => waveshare/esp32-s3-rlcd-4.2}/config.h (100%) rename main/boards/{waveshare-s3-touch-amoled-1.75 => waveshare/esp32-s3-rlcd-4.2}/config.json (74%) rename main/boards/{waveshare-s3-rlcd-4.2 => waveshare/esp32-s3-rlcd-4.2}/custom_lcd_display.cc (100%) rename main/boards/{waveshare-s3-rlcd-4.2 => waveshare/esp32-s3-rlcd-4.2}/custom_lcd_display.h (100%) rename main/boards/{waveshare-s3-rlcd-4.2 => waveshare/esp32-s3-rlcd-4.2}/waveshare-s3-rlcd-4.2.cc (100%) rename main/boards/{waveshare-s3-touch-amoled-1.32 => waveshare/esp32-s3-touch-amoled-1.32}/README.md (100%) rename main/boards/{waveshare-s3-touch-amoled-1.32 => waveshare/esp32-s3-touch-amoled-1.32}/config.h (100%) rename main/boards/{waveshare-s3-epaper-1.54 => waveshare/esp32-s3-touch-amoled-1.32}/config.json (75%) rename main/boards/{waveshare-s3-touch-amoled-1.32 => waveshare/esp32-s3-touch-amoled-1.32}/esp32-s3-touch-amoled-1.32.cc (100%) rename main/boards/{waveshare-s3-touch-amoled-1.75 => waveshare/esp32-s3-touch-amoled-1.75}/README.md (100%) rename main/boards/{waveshare-s3-touch-amoled-1.75 => waveshare/esp32-s3-touch-amoled-1.75}/config.h (100%) create mode 100644 main/boards/waveshare/esp32-s3-touch-amoled-1.75/config.json rename main/boards/{waveshare-s3-touch-amoled-1.75 => waveshare/esp32-s3-touch-amoled-1.75}/esp32-s3-touch-amoled-1.75.cc (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-amoled-1.8/config.h (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-amoled-1.8/config.json (86%) rename main/boards/{ => waveshare}/esp32-s3-touch-amoled-1.8/esp32-s3-touch-amoled-1.8.cc (100%) rename main/boards/{waveshare-s3-touch-amoled-2.06 => waveshare/esp32-s3-touch-amoled-2.06}/README.md (100%) rename main/boards/{waveshare-s3-touch-amoled-2.06 => waveshare/esp32-s3-touch-amoled-2.06}/config.h (100%) create mode 100644 main/boards/waveshare/esp32-s3-touch-amoled-2.06/config.json rename main/boards/{waveshare-s3-touch-amoled-2.06 => waveshare/esp32-s3-touch-amoled-2.06}/esp32-s3-touch-amoled-2.06.cc (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.46/README.md (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.46/config.h (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.46/config.json (82%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.46/esp32-s3-touch-lcd-1.46.cc (100%) rename main/boards/{waveshare-s3-touch-lcd-1.83 => waveshare/esp32-s3-touch-lcd-1.83}/README.md (100%) rename main/boards/{waveshare-s3-touch-lcd-1.83 => waveshare/esp32-s3-touch-lcd-1.83}/config.h (100%) rename main/boards/{waveshare-s3-touch-lcd-1.83 => waveshare/esp32-s3-touch-lcd-1.83}/config.json (72%) rename main/boards/{waveshare-s3-touch-lcd-1.83 => waveshare/esp32-s3-touch-lcd-1.83}/esp32-s3-touch-lcd-1.83.cc (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85/README.md (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85/config.h (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85/config.json (82%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85/esp32-s3-touch-lcd-1.85.cc (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85c/README.md (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85c/config.h (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85c/config.json (82%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc (100%) rename main/boards/{waveshare-s3-touch-lcd-3.49 => waveshare/esp32-s3-touch-lcd-3.49}/README.md (100%) rename main/boards/{waveshare-s3-touch-lcd-3.49 => waveshare/esp32-s3-touch-lcd-3.49}/config.h (100%) rename main/boards/{waveshare-s3-rlcd-4.2 => waveshare/esp32-s3-touch-lcd-3.49}/config.json (72%) rename main/boards/{waveshare-s3-touch-lcd-3.49 => waveshare/esp32-s3-touch-lcd-3.49}/custom_lcd_display.cc (100%) rename main/boards/{waveshare-s3-touch-lcd-3.49 => waveshare/esp32-s3-touch-lcd-3.49}/custom_lcd_display.h (100%) rename main/boards/{waveshare-s3-touch-lcd-3.49 => waveshare/esp32-s3-touch-lcd-3.49}/waveshare-s3-touch-lcd-3.49.cc (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-3.5/README.md (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-3.5/config.h (100%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-3.5/config.json (95%) rename main/boards/{ => waveshare}/esp32-s3-touch-lcd-3.5/esp32-s3-touch-lcd-3.5.cc (100%) rename main/boards/{waveshare-s3-touch-lcd-3.5b => waveshare/esp32-s3-touch-lcd-3.5b}/README.md (100%) rename main/boards/{waveshare-s3-touch-lcd-3.5b => waveshare/esp32-s3-touch-lcd-3.5b}/config.h (100%) rename main/boards/{waveshare-s3-touch-lcd-3.5b => waveshare/esp32-s3-touch-lcd-3.5b}/config.json (89%) rename main/boards/{waveshare-s3-touch-lcd-3.5b => waveshare/esp32-s3-touch-lcd-3.5b}/custom_lcd_display.cc (100%) rename main/boards/{waveshare-s3-touch-lcd-3.5b => waveshare/esp32-s3-touch-lcd-3.5b}/custom_lcd_display.h (100%) rename main/boards/{waveshare-s3-touch-lcd-3.5b => waveshare/esp32-s3-touch-lcd-3.5b}/waveshare-s3-touch-lcd-3.5b.cc (100%) rename main/boards/{waveshare-s3-touch-lcd-4.3c => waveshare/esp32-s3-touch-lcd-4.3c}/README.md (92%) rename main/boards/{waveshare-s3-touch-lcd-4.3c => waveshare/esp32-s3-touch-lcd-4.3c}/config.h (100%) rename main/boards/{waveshare-s3-touch-lcd-4.3c => waveshare/esp32-s3-touch-lcd-4.3c}/config.json (79%) rename main/boards/{waveshare-s3-touch-lcd-4.3c => waveshare/esp32-s3-touch-lcd-4.3c}/esp32_s3_touch_lcd_4.3c.cc (100%) rename main/boards/{waveshare-s3-touch-lcd-4.3c => waveshare/esp32-s3-touch-lcd-4.3c}/sdkconfig.4_3c (100%) rename main/boards/{waveshare-s3-touch-lcd-4b => waveshare/esp32-s3-touch-lcd-4b}/README.md (100%) rename main/boards/{waveshare-s3-touch-lcd-4b => waveshare/esp32-s3-touch-lcd-4b}/config.h (100%) rename main/boards/{waveshare-s3-touch-amoled-2.06 => waveshare/esp32-s3-touch-lcd-4b}/config.json (73%) rename main/boards/{waveshare-s3-touch-lcd-4b => waveshare/esp32-s3-touch-lcd-4b}/esp32-s3-touch-lcd-4b.cc (100%) diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt index 3132e59..528294b 100644 --- a/main/CMakeLists.txt +++ b/main/CMakeLists.txt @@ -255,131 +255,181 @@ elseif(CONFIG_BOARD_TYPE_ESP_SENSAIRSHUTTLE) set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_32) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_AUDIO_BOARD) - set(BOARD_TYPE "waveshare-s3-audio-board") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_AUDIO_BOARD) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-audio-board") set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_32) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_8) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_8) + set(MANUFACTURER "waveshare") set(BOARD_TYPE "esp32-s3-touch-amoled-1.8") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_1_8) - set(BOARD_TYPE "waveshare-c6-touch-amoled-1.8") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_8) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-c6-touch-amoled-1.8") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_2_06) - set(BOARD_TYPE "waveshare-s3-touch-amoled-2.06") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_2_06) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-amoled-2.06") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_2_06) - set(BOARD_TYPE "waveshare-c6-touch-amoled-2.06") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_2_06) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-c6-touch-amoled-2.06") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_4B) - set(BOARD_TYPE "waveshare-s3-touch-lcd-4b") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4B) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-lcd-4b") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_4_3C) - set(BOARD_TYPE "waveshare-s3-touch-lcd-4.3c") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4_3C) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-lcd-4.3c") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_75) - set(BOARD_TYPE "waveshare-s3-touch-amoled-1.75") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_75) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-amoled-1.75") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_83) - set(BOARD_TYPE "waveshare-s3-touch-lcd-1.83") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_83) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-lcd-1.83") set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_85C) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85C) + set(MANUFACTURER "waveshare") set(BOARD_TYPE "esp32-s3-touch-lcd-1.85c") set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_85) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85) + set(MANUFACTURER "waveshare") set(BOARD_TYPE "esp32-s3-touch-lcd-1.85") set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_46) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_46) + set(MANUFACTURER "waveshare") set(BOARD_TYPE "esp32-s3-touch-lcd-1.46") set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_5) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_5) + set(MANUFACTURER "waveshare") set(BOARD_TYPE "esp32-s3-touch-lcd-3.5") set(BUILTIN_TEXT_FONT font_puhui_basic_20_4) set(BUILTIN_ICON_FONT font_awesome_20_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_5B) - set(BOARD_TYPE "waveshare-s3-touch-lcd-3.5b") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_5B) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-lcd-3.5b") set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_32) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_ePaper_1_54) - set(BOARD_TYPE "waveshare-s3-epaper-1.54") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_ePaper_1_54) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-epaper-1.54") set(BUILTIN_TEXT_FONT font_puhui_basic_20_4) set(BUILTIN_ICON_FONT font_awesome_20_4) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_RLCD_4_2) - set(BOARD_TYPE "waveshare-s3-rlcd-4.2") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_RLCD_4_2) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-rlcd-4.2") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_49) - set(BOARD_TYPE "waveshare-s3-touch-lcd-3.49") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_49) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-lcd-3.49") set(LVGL_TEXT_FONT font_puhui_basic_30_4) set(LVGL_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_C6_LCD_1_69) - set(BOARD_TYPE "waveshare-c6-lcd-1.69") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_C6_LCD_1_69) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-c6-lcd-1.69") set(BUILTIN_TEXT_FONT font_puhui_basic_20_4) set(BUILTIN_ICON_FONT font_awesome_20_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_C6_TOUCH_LCD_1_83) - set(BOARD_TYPE "waveshare-c6-touch-lcd-1.83") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_LCD_1_83) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-c6-touch-lcd-1.83") set(BUILTIN_TEXT_FONT font_puhui_basic_16_4) set(BUILTIN_ICON_FONT font_awesome_16_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_1_43) - set(BOARD_TYPE "waveshare-c6-touch-amoled-1.43") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_43) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-c6-touch-amoled-1.43") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_1_32) - set(BOARD_TYPE "waveshare-c6-touch-amoled-1.32") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_32) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-c6-touch-amoled-1.32") set(BUILTIN_TEXT_FONT font_puhui_basic_20_4) set(BUILTIN_ICON_FONT font_awesome_20_4) set(DEFAULT_EMOJI_COLLECTION twemoji_32) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_32) - set(BOARD_TYPE "waveshare-s3-touch-amoled-1.32") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_32) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-s3-touch-amoled-1.32") set(BUILTIN_TEXT_FONT font_puhui_basic_20_4) set(BUILTIN_ICON_FONT font_awesome_20_4) set(DEFAULT_EMOJI_COLLECTION twemoji_32) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_P4_NANO) - set(BOARD_TYPE "waveshare-p4-nano") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_NANO) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-nano") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_4B) - set(BOARD_TYPE "waveshare-p4-wifi6-touch-lcd-4b") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-wifi6-touch-lcd") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_7B) - set(BOARD_TYPE "waveshare-p4-wifi6-touch-lcd-7b") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-wifi6-touch-lcd") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) -elseif(CONFIG_BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_XC) - set(BOARD_TYPE "waveshare-p4-wifi6-touch-lcd-xc") +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-wifi6-touch-lcd") + set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) + set(BUILTIN_ICON_FONT font_awesome_30_4) + set(DEFAULT_EMOJI_COLLECTION twemoji_64) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-wifi6-touch-lcd") + set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) + set(BUILTIN_ICON_FONT font_awesome_30_4) + set(DEFAULT_EMOJI_COLLECTION twemoji_64) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-wifi6-touch-lcd") + set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) + set(BUILTIN_ICON_FONT font_awesome_30_4) + set(DEFAULT_EMOJI_COLLECTION twemoji_64) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-wifi6-touch-lcd") + set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) + set(BUILTIN_ICON_FONT font_awesome_30_4) + set(DEFAULT_EMOJI_COLLECTION twemoji_64) +elseif(CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1) + set(MANUFACTURER "waveshare") + set(BOARD_TYPE "esp32-p4-wifi6-touch-lcd") set(BUILTIN_TEXT_FONT font_puhui_basic_30_4) set(BUILTIN_ICON_FONT font_awesome_30_4) set(DEFAULT_EMOJI_COLLECTION twemoji_64) @@ -644,8 +694,15 @@ elseif(CONFIG_BOARD_TYPE_HU_087) endif() file(GLOB BOARD_SOURCES +if(MANUFACTURER) + ${CMAKE_CURRENT_SOURCE_DIR}/boards/${MANUFACTURER}/${BOARD_TYPE}/*.cc + ${CMAKE_CURRENT_SOURCE_DIR}/boards/${MANUFACTURER}/${BOARD_TYPE}/*.c +else ${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD_TYPE}/*.cc ${CMAKE_CURRENT_SOURCE_DIR}/boards/${BOARD_TYPE}/*.c +endif() + + ) list(APPEND SOURCES ${BOARD_SOURCES}) diff --git a/main/Kconfig.projbuild b/main/Kconfig.projbuild index 79995d3..8a3f86d 100644 --- a/main/Kconfig.projbuild +++ b/main/Kconfig.projbuild @@ -257,83 +257,95 @@ choice BOARD_TYPE config BOARD_TYPE_M5STACK_ATOM_MATRIX_ECHO_BASE bool "M5Stack AtomMatrix + Echo Base" depends on IDF_TARGET_ESP32 - config BOARD_TYPE_WAVESHARE_S3_AUDIO_BOARD + config BOARD_TYPE_WAVESHARE_ESP32_S3_AUDIO_BOARD bool "Waveshare ESP32-S3-Audio-Board" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_8 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_8 bool "Waveshare ESP32-S3-Touch-AMOLED-1.8" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_2_06 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_2_06 bool "Waveshare ESP32-S3-Touch-AMOLED-2.06" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_2_06 + config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_2_06 bool "Waveshare ESP32-C6-Touch-AMOLED-2.06" depends on IDF_TARGET_ESP32C6 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_75 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_75 bool "Waveshare ESP32-S3-Touch-AMOLED-1.75" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_83 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_83 bool "Waveshare ESP32-S3-Touch-LCD-1.83" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_4B + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4B bool "Waveshare ESP32-S3-Touch-LCD-4B" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_4_3C + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4_3C bool "Waveshare ESP32-S3-Touch-LCD-4.3C" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_85C + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85C bool "Waveshare ESP32-S3-Touch-LCD-1.85C" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_85 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_85 bool "Waveshare ESP32-S3-Touch-LCD-1.85" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_46 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_46 bool "Waveshare ESP32-S3-Touch-LCD-1.46" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_C6_LCD_1_69 + config BOARD_TYPE_WAVESHARE_ESP32_C6_LCD_1_69 bool "Waveshare ESP32-C6-LCD-1.69" depends on IDF_TARGET_ESP32C6 - config BOARD_TYPE_WAVESHARE_C6_TOUCH_LCD_1_83 + config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_LCD_1_83 bool "Waveshare ESP32-C6-Touch-LCD-1.83" depends on IDF_TARGET_ESP32C6 - config BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_1_43 + config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_43 bool "Waveshare ESP32-C6-Touch-AMOLOED-1.43" depends on IDF_TARGET_ESP32C6 - config BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_1_32 + config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_32 bool "Waveshare ESP32-C6-Touch-AMOLOED-1.32" depends on IDF_TARGET_ESP32C6 - config BOARD_TYPE_WAVESHARE_C6_TOUCH_AMOLED_1_8 + config BOARD_TYPE_WAVESHARE_ESP32_C6_TOUCH_AMOLED_1_8 bool "Waveshare ESP32-C6-Touch-AMOLED-1.8" depends on IDF_TARGET_ESP32C6 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_32 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_32 bool "Waveshare ESP32-S3-Touch-AMOLOED-1.32" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_49 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_49 bool "Waveshare ESP32-S3-Touch-LCD-3.49" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_5 + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_5 bool "Waveshare ESP32-S3-Touch-LCD-3.5" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_ePaper_1_54 + config BOARD_TYPE_WAVESHARE_ESP32_S3_ePaper_1_54 bool "Waveshare ESP32-S3-ePaper-1.54" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_RLCD_4_2 + config BOARD_TYPE_WAVESHARE_ESP32_S3_RLCD_4_2 bool "Waveshare ESP32-S3-RLCD-4.2" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_5B + config BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_5B bool "Waveshare ESP32-S3-Touch-LCD-3.5B" depends on IDF_TARGET_ESP32S3 - config BOARD_TYPE_WAVESHARE_P4_NANO + config BOARD_TYPE_WAVESHARE_ESP32_P4_NANO bool "Waveshare ESP32-P4-NANO" depends on IDF_TARGET_ESP32P4 - config BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_4B + config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4B" depends on IDF_TARGET_ESP32P4 - config BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_7B + config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-7B" depends on IDF_TARGET_ESP32P4 - config BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_XC - bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C or ESP32-P4-WIFI6-Touch-LCD-4C" + config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C + bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C" + depends on IDF_TARGET_ESP32P4 + config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C + bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4C" + depends on IDF_TARGET_ESP32P4 + config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7 + bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-7" + depends on IDF_TARGET_ESP32P4 + config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8 + bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-8" + depends on IDF_TARGET_ESP32P4 + config BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1 + bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-10.1" depends on IDF_TARGET_ESP32P4 config BOARD_TYPE_TUDOUZI bool "土豆子" @@ -529,7 +541,7 @@ choice DISPLAY_OLED_TYPE endchoice choice DISPLAY_LCD_TYPE - depends on BOARD_TYPE_BREAD_COMPACT_WIFI_LCD || BOARD_TYPE_BREAD_COMPACT_ESP32_LCD || BOARD_TYPE_CGC || BOARD_TYPE_WAVESHARE_P4_NANO || BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_XC || BOARD_TYPE_BREAD_COMPACT_WIFI_CAM + depends on BOARD_TYPE_BREAD_COMPACT_WIFI_LCD || BOARD_TYPE_BREAD_COMPACT_ESP32_LCD || BOARD_TYPE_CGC || BOARD_TYPE_BREAD_COMPACT_WIFI_CAM prompt "LCD Type" default LCD_ST7789_240X320 help @@ -564,14 +576,6 @@ choice DISPLAY_LCD_TYPE bool "ILI9341 240*320, Non-IPS" config LCD_GC9A01_240X240 bool "GC9A01 240*240 Circle" - config LCD_TYPE_800_1280_10_1_INCH - bool "Waveshare 101M-8001280-IPS-CT-K Display" - config LCD_TYPE_800_1280_10_1_INCH_A - bool "Waveshare 10.1-DSI-TOUCH-A Display" - config LCD_TYPE_800_800_3_4_INCH - bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C with 800*800 3.4inch round display" - config LCD_TYPE_720_720_4_INCH - bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4C with 720*720 4inch round display" config LCD_CUSTOM bool "Custom LCD (自定义屏幕参数)" endchoice @@ -589,7 +593,7 @@ choice DISPLAY_ESP32S3_KORVO2_V3 endchoice choice DISPLAY_ESP32S3_AUDIO_BOARD - depends on BOARD_TYPE_WAVESHARE_S3_AUDIO_BOARD + depends on BOARD_TYPE_WAVESHARE_ESP32_S3_AUDIO_BOARD prompt "ESP32S3_AUDIO_BOARD LCD Type" default AUDIO_BOARD_LCD_JD9853 help @@ -701,11 +705,12 @@ config USE_DEVICE_AEC bool "Enable Device-Side AEC" default n depends on USE_AUDIO_PROCESSOR && (BOARD_TYPE_ESP_BOX_3 || BOARD_TYPE_ESP_BOX || BOARD_TYPE_ESP_BOX_LITE \ - || BOARD_TYPE_LICHUANG_DEV_S3 || BOARD_TYPE_ESP_KORVO2_V3 || BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_1_75 || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_1_83\ - || BOARD_TYPE_WAVESHARE_S3_TOUCH_AMOLED_2_06 || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_7B \ - || BOARD_TYPE_WAVESHARE_P4_WIFI6_TOUCH_LCD_XC || BOARD_TYPE_ESP_S3_LCD_EV_Board_2 || BOARD_TYPE_YUNLIAO_S3 \ - || BOARD_TYPE_ECHOEAR || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_49 || BOARD_TYPE_WAVESHARE_S3_RLCD_4_2 || BOARD_TYPE_ZHENGCHEN_CAM || BOARD_TYPE_ZHENGCHEN_CAM_ML307 \ - || BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_4_3C) + || BOARD_TYPE_LICHUANG_DEV_S3 || BOARD_TYPE_ESP_KORVO2_V3 || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_1_75 || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_1_83\ + || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_AMOLED_2_06 || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B \ + || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C || BOARD_TYPE_ESP_S3_LCD_EV_Board_2 || BOARD_TYPE_YUNLIAO_S3 \ + || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7 || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8 || BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1 \ + || BOARD_TYPE_ECHOEAR || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_3_49 || BOARD_TYPE_WAVESHARE_ESP32_S3_RLCD_4_2 || BOARD_TYPE_ZHENGCHEN_CAM || BOARD_TYPE_ZHENGCHEN_CAM_ML307 \ + || BOARD_TYPE_WAVESHARE_ESP32_S3_TOUCH_LCD_4_3C) help To work properly, device-side AEC requires a clean output reference path from the speaker signal and physical acoustic isolation between the microphone and speaker. diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/README.md b/main/boards/waveshare-p4-wifi6-touch-lcd-4b/README.md deleted file mode 100644 index eb94e64..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Waveshare ESP32-P4-WIFI6-Touch-LCD-4B - - -[ESP32-P4-WIFI6-Touch-LCD-4B](https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-4b.htm) is waveshare electronics designed an intelligent 86 box based on ESP32-P4 module equipped with a 720*720 IPS capacitive touch screen - - -## Configuration - -Configuration in `menuconfig`. - -Selection Board Type `Xiaozhi Assistant --> Board Type` -- Waveshare ESP32-P4-WIFI6-Touch-LCD-4B \ No newline at end of file diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.h b/main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.h deleted file mode 100644 index 027c215..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _BOARD_CONFIG_H_ -#define _BOARD_CONFIG_H_ - -#include - -#define AUDIO_INPUT_SAMPLE_RATE 24000 -#define AUDIO_OUTPUT_SAMPLE_RATE 24000 - -#define AUDIO_INPUT_REFERENCE true - -#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_13 -#define AUDIO_I2S_GPIO_WS GPIO_NUM_10 -#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_12 -#define AUDIO_I2S_GPIO_DIN GPIO_NUM_11 -#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_9 - -#define AUDIO_CODEC_PA_PIN GPIO_NUM_53 -#define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_7 -#define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_8 -#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR -#define AUDIO_CODEC_ES7210_ADDR ES7210_CODEC_DEFAULT_ADDR - -#define BOOT_BUTTON_GPIO GPIO_NUM_35 - -#define DISPLAY_WIDTH 720 -#define DISPLAY_HEIGHT 720 - -#define LCD_BIT_PER_PIXEL (16) -#define PIN_NUM_LCD_RST GPIO_NUM_27 - -#define DELAY_TIME_MS (3000) -#define LCD_MIPI_DSI_LANE_NUM (2) // 2 data lanes - -#define MIPI_DSI_PHY_PWR_LDO_CHAN (3) -#define MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV (2500) - -#define DISPLAY_SWAP_XY false -#define DISPLAY_MIRROR_X false -#define DISPLAY_MIRROR_Y false - -#define DISPLAY_OFFSET_X 0 -#define DISPLAY_OFFSET_Y 0 - -#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 -#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true - -#endif // _BOARD_CONFIG_H_ diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.json b/main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.json deleted file mode 100644 index 5a8dbb5..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "target": "esp32p4", - "builds": [ - { - "name": "waveshare-p4-wifi6-touch-lcd-4b", - "sdkconfig_append": [ - "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", - "CONFIG_USE_DEVICE_AEC=y", - "CONFIG_CAMERA_OV5647=y", - "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", - "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", - "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" - ] - } - ] -} \ No newline at end of file diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/esp32-p4-wifi6-touch-lcd-4b.cc b/main/boards/waveshare-p4-wifi6-touch-lcd-4b/esp32-p4-wifi6-touch-lcd-4b.cc deleted file mode 100644 index 999ec27..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-4b/esp32-p4-wifi6-touch-lcd-4b.cc +++ /dev/null @@ -1,228 +0,0 @@ -#include "wifi_board.h" -#include "codecs/box_audio_codec.h" -#include "application.h" -#include "display/lcd_display.h" -// #include "display/no_display.h" -#include "button.h" -#include "config.h" - -#include "esp_video.h" -#include "esp_video_init.h" -#include "esp_cam_sensor_xclk.h" - -#include "esp_lcd_panel_ops.h" -#include "esp_lcd_mipi_dsi.h" -#include "esp_ldo_regulator.h" - -#include "esp_lcd_st7703.h" - -#include -#include -#include -#include "esp_lcd_touch_gt911.h" -#define TAG "WaveshareEsp32p44b" - -class WaveshareEsp32p44b : public WifiBoard { -private: - i2c_master_bus_handle_t i2c_bus_; - Button boot_button_; - LcdDisplay *display_; - EspVideo* camera_ = nullptr; - - void InitializeCodecI2c() { - // Initialize I2C peripheral - i2c_master_bus_config_t i2c_bus_cfg = { - .i2c_port = I2C_NUM_1, - .sda_io_num = AUDIO_CODEC_I2C_SDA_PIN, - .scl_io_num = AUDIO_CODEC_I2C_SCL_PIN, - .clk_source = I2C_CLK_SRC_DEFAULT, - .glitch_ignore_cnt = 7, - .intr_priority = 0, - .trans_queue_depth = 0, - .flags = { - .enable_internal_pullup = 1, - }, - }; - ESP_ERROR_CHECK(i2c_new_master_bus(&i2c_bus_cfg, &i2c_bus_)); - } - - static esp_err_t bsp_enable_dsi_phy_power(void) { -#if MIPI_DSI_PHY_PWR_LDO_CHAN > 0 - // Turn on the power for MIPI DSI PHY, so it can go from "No Power" state to "Shutdown" state - static esp_ldo_channel_handle_t phy_pwr_chan = NULL; - esp_ldo_channel_config_t ldo_cfg = { - .chan_id = MIPI_DSI_PHY_PWR_LDO_CHAN, - .voltage_mv = MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV, - }; - esp_ldo_acquire_channel(&ldo_cfg, &phy_pwr_chan); - ESP_LOGI(TAG, "MIPI DSI PHY Powered on"); -#endif // BSP_MIPI_DSI_PHY_PWR_LDO_CHAN > 0 - - return ESP_OK; - } - - void InitializeLCD() { - bsp_enable_dsi_phy_power(); - esp_lcd_panel_io_handle_t io = NULL; - esp_lcd_panel_handle_t disp_panel = NULL; - - esp_lcd_dsi_bus_handle_t mipi_dsi_bus = NULL; - esp_lcd_dsi_bus_config_t bus_config = { - .bus_id = 0, - .num_data_lanes = 2, - .lane_bit_rate_mbps = 480, - }; - esp_lcd_new_dsi_bus(&bus_config, &mipi_dsi_bus); - - ESP_LOGI(TAG, "Install MIPI DSI LCD control panel"); - // we use DBI interface to send LCD commands and parameters - esp_lcd_dbi_io_config_t dbi_config = ST7703_PANEL_IO_DBI_CONFIG(); - esp_lcd_new_panel_io_dbi(mipi_dsi_bus, &dbi_config, &io); - - esp_lcd_dpi_panel_config_t dpi_config = { - .dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT, - .dpi_clock_freq_mhz = 46, - .pixel_format = LCD_COLOR_PIXEL_FORMAT_RGB565, - .num_fbs = 1, - .video_timing = { - .h_size = 720, - .v_size = 720, - .hsync_pulse_width = 20, - .hsync_back_porch = 80, - .hsync_front_porch = 80, - .vsync_pulse_width = 4, - .vsync_back_porch = 12, - .vsync_front_porch = 30, - }, - .flags = { - .use_dma2d = true, - }, - }; - st7703_vendor_config_t vendor_config = { - - .mipi_config = { - .dsi_bus = mipi_dsi_bus, - .dpi_config = &dpi_config, - }, - .flags = { - .use_mipi_interface = 1, - }, - }; - - const esp_lcd_panel_dev_config_t lcd_dev_config = { - .reset_gpio_num = PIN_NUM_LCD_RST, - .rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB, - .bits_per_pixel = 16, - .vendor_config = &vendor_config, - }; - esp_lcd_new_panel_st7703(io, &lcd_dev_config, &disp_panel); - esp_lcd_panel_reset(disp_panel); - esp_lcd_panel_init(disp_panel); - - display_ = new MipiLcdDisplay(io, disp_panel, DISPLAY_WIDTH, DISPLAY_HEIGHT, - DISPLAY_OFFSET_X, DISPLAY_OFFSET_Y, DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y, DISPLAY_SWAP_XY); - } - void InitializeTouch() - { - esp_lcd_touch_handle_t tp; - esp_lcd_touch_config_t tp_cfg = { - .x_max = DISPLAY_WIDTH, - .y_max = DISPLAY_HEIGHT, - .rst_gpio_num = GPIO_NUM_23, - .int_gpio_num = GPIO_NUM_NC, - .levels = { - .reset = 0, - .interrupt = 0, - }, - .flags = { - .swap_xy = 0, - .mirror_x = 0, - .mirror_y = 0, - }, - }; - esp_lcd_panel_io_handle_t tp_io_handle = NULL; - esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); - tp_io_config.scl_speed_hz = 400 * 1000; - ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle)); - ESP_LOGI(TAG, "Initialize touch controller"); - ESP_ERROR_CHECK(esp_lcd_touch_new_i2c_gt911(tp_io_handle, &tp_cfg, &tp)); - const lvgl_port_touch_cfg_t touch_cfg = { - .disp = lv_display_get_default(), - .handle = tp, - }; - lvgl_port_add_touch(&touch_cfg); - ESP_LOGI(TAG, "Touch panel initialized successfully"); - } - void InitializeCamera() { - esp_video_init_csi_config_t base_csi_config = { - .sccb_config = { - .init_sccb = false, - .i2c_handle = i2c_bus_, - .freq = 400000, - }, - .reset_pin = GPIO_NUM_NC, - .pwdn_pin = GPIO_NUM_NC, - }; - - esp_video_init_config_t cam_config = { - .csi = &base_csi_config, - }; - - camera_ = new EspVideo(cam_config); - } - void InitializeButtons() { - boot_button_.OnClick([this]() { - auto& app = Application::GetInstance(); - // During startup (before connected), pressing BOOT button enters Wi-Fi config mode without reboot - if (app.GetDeviceState() == kDeviceStateStarting) { - EnterWifiConfigMode(); - return; - } - app.ToggleChatState(); - }); - } - -public: - WaveshareEsp32p44b() : - boot_button_(BOOT_BUTTON_GPIO) { - InitializeCodecI2c(); - InitializeLCD(); - InitializeTouch(); - InitializeCamera(); - InitializeButtons(); - GetBacklight()->RestoreBrightness(); - } - - virtual AudioCodec* GetAudioCodec() override { - static BoxAudioCodec audio_codec( - i2c_bus_, - AUDIO_INPUT_SAMPLE_RATE, - AUDIO_OUTPUT_SAMPLE_RATE, - AUDIO_I2S_GPIO_MCLK, - AUDIO_I2S_GPIO_BCLK, - AUDIO_I2S_GPIO_WS, - AUDIO_I2S_GPIO_DOUT, - AUDIO_I2S_GPIO_DIN, - AUDIO_CODEC_PA_PIN, - AUDIO_CODEC_ES8311_ADDR, - AUDIO_CODEC_ES7210_ADDR, - AUDIO_INPUT_REFERENCE); - return &audio_codec; - } - - virtual Display *GetDisplay() override { - return display_; - } - - virtual Camera* GetCamera() override { - return camera_; - } - - virtual Backlight* GetBacklight() override { - static PwmBacklight backlight(DISPLAY_BACKLIGHT_PIN, DISPLAY_BACKLIGHT_OUTPUT_INVERT); - return &backlight; - } - -}; - -DECLARE_BOARD(WaveshareEsp32p44b); diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/README.md b/main/boards/waveshare-p4-wifi6-touch-lcd-7b/README.md deleted file mode 100644 index 9f45fa6..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Waveshare ESP32-P4-WIFI6-Touch-LCD-7B - - -[ESP32-P4-WIFI6-Touch-LCD-7B](https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-7b.htm) is waveshare electronics designed an intelligent 86 box based on ESP32-P4 module equipped with a 1024*600 IPS capacitive touch screen - - -## Configuration - -Configuration in `menuconfig`. - -Selection Board Type `Xiaozhi Assistant --> Board Type` -- Waveshare ESP32-P4-WIFI6-Touch-LCD-7B \ No newline at end of file diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.h b/main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.h deleted file mode 100644 index 2f7d08c..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _BOARD_CONFIG_H_ -#define _BOARD_CONFIG_H_ - -#include - -#define AUDIO_INPUT_SAMPLE_RATE 24000 -#define AUDIO_OUTPUT_SAMPLE_RATE 24000 - -#define AUDIO_INPUT_REFERENCE true - -#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_13 -#define AUDIO_I2S_GPIO_WS GPIO_NUM_10 -#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_12 -#define AUDIO_I2S_GPIO_DIN GPIO_NUM_11 -#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_9 - -#define AUDIO_CODEC_PA_PIN GPIO_NUM_53 -#define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_7 -#define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_8 -#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR -#define AUDIO_CODEC_ES7210_ADDR ES7210_CODEC_DEFAULT_ADDR - -#define BOOT_BUTTON_GPIO GPIO_NUM_35 - -#define DISPLAY_WIDTH 1024 -#define DISPLAY_HEIGHT 600 - -#define LCD_BIT_PER_PIXEL (16) -#define PIN_NUM_LCD_RST GPIO_NUM_33 - -#define DELAY_TIME_MS (3000) -#define LCD_MIPI_DSI_LANE_NUM (2) // 2 data lanes - -#define MIPI_DSI_PHY_PWR_LDO_CHAN (3) -#define MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV (2500) - -#define DISPLAY_SWAP_XY false -#define DISPLAY_MIRROR_X false -#define DISPLAY_MIRROR_Y false - -#define DISPLAY_OFFSET_X 0 -#define DISPLAY_OFFSET_Y 0 - -#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_32 -#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true - -#endif // _BOARD_CONFIG_H_ diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.json b/main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.json deleted file mode 100644 index 8f84bf9..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "target": "esp32p4", - "builds": [ - { - "name": "waveshare-p4-wifi6-touch-lcd-7b", - "sdkconfig_append": [ - "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", - "CONFIG_USE_DEVICE_AEC=y", - "CONFIG_CAMERA_OV5647=y", - "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", - "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", - "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" - ] - } - ] -} \ No newline at end of file diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/README.md b/main/boards/waveshare-p4-wifi6-touch-lcd-xc/README.md deleted file mode 100644 index 09271dd..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Waveshare ESP32-P4-WIFI6-Touch-LCD-XC - - -[ESP32-P4-WIFI6-Touch-LCD-XC](https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-3.4c.htm) is waveshare electronics designed a 3.4-inch, 4-inch circular screen, highly integrated development board - - -## Configuration - -Configuration in `menuconfig`. - -Selection Board Type `Xiaozhi Assistant --> Board Type` -- Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C or ESP32-P4-WIFI6-Touch-LCD-4C - -Selection Display LCD Type `Xiaozhi Assistant --> LCD Type` -- Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C with 800*800 3.4inch round display -- Waveshare ESP32-P4-WIFI6-Touch-LCD-4C with 720*720 4inch round display - - - -| [ESP32-P4-WIFI6-Touch-LCD-3.4C](https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-3.4c.htm) | [ESP32-P4-WIFI6-Touch-LCD-4C](https://www.waveshare.com/esp32-p4-wifi6-touch-lcd-4c.htm) | -|----------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------| -| | | diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.h b/main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.h deleted file mode 100644 index 30e73ae..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.h +++ /dev/null @@ -1,490 +0,0 @@ -#ifndef _BOARD_CONFIG_H_ -#define _BOARD_CONFIG_H_ - -#include - -#define AUDIO_INPUT_SAMPLE_RATE 24000 -#define AUDIO_OUTPUT_SAMPLE_RATE 24000 - -#define AUDIO_INPUT_REFERENCE true - -#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_13 -#define AUDIO_I2S_GPIO_WS GPIO_NUM_10 -#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_12 -#define AUDIO_I2S_GPIO_DIN GPIO_NUM_11 -#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_9 - -#define AUDIO_CODEC_PA_PIN GPIO_NUM_53 -#define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_7 -#define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_8 -#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR -#define AUDIO_CODEC_ES7210_ADDR ES7210_CODEC_DEFAULT_ADDR - -#define BOOT_BUTTON_GPIO GPIO_NUM_35 - -#define LCD_BIT_PER_PIXEL (16) -#define PIN_NUM_LCD_RST GPIO_NUM_27 - -#define DELAY_TIME_MS (3000) -#define LCD_MIPI_DSI_LANE_NUM (2) // 2 data lanes - -#define MIPI_DSI_PHY_PWR_LDO_CHAN (3) -#define MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV (2500) - -#define DISPLAY_SWAP_XY false -#define DISPLAY_MIRROR_X false -#define DISPLAY_MIRROR_Y false - -#define DISPLAY_OFFSET_X 0 -#define DISPLAY_OFFSET_Y 0 - -#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 -#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true - -#if CONFIG_LCD_TYPE_800_800_3_4_INCH -#define DISPLAY_WIDTH 800 -#define DISPLAY_HEIGHT 800 - -static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = { - {0xE0, (uint8_t[]){0x00}, 1, 0}, - - {0xE1, (uint8_t[]){0x93}, 1, 0}, - {0xE2, (uint8_t[]){0x65}, 1, 0}, - {0xE3, (uint8_t[]){0xF8}, 1, 0}, - {0x80, (uint8_t[]){0x01}, 1, 0}, - - {0xE0, (uint8_t[]){0x01}, 1, 0}, - - {0x00, (uint8_t[]){0x00}, 1, 0}, - {0x01, (uint8_t[]){0x41}, 1, 0}, - {0x03, (uint8_t[]){0x10}, 1, 0}, - {0x04, (uint8_t[]){0x44}, 1, 0}, - - {0x17, (uint8_t[]){0x00}, 1, 0}, - {0x18, (uint8_t[]){0xD0}, 1, 0}, - {0x19, (uint8_t[]){0x00}, 1, 0}, - {0x1A, (uint8_t[]){0x00}, 1, 0}, - {0x1B, (uint8_t[]){0xD0}, 1, 0}, - {0x1C, (uint8_t[]){0x00}, 1, 0}, - - {0x24, (uint8_t[]){0xFE}, 1, 0}, - {0x35, (uint8_t[]){0x26}, 1, 0}, - - {0x37, (uint8_t[]){0x09}, 1, 0}, - - {0x38, (uint8_t[]){0x04}, 1, 0}, - {0x39, (uint8_t[]){0x08}, 1, 0}, - {0x3A, (uint8_t[]){0x0A}, 1, 0}, - {0x3C, (uint8_t[]){0x78}, 1, 0}, - {0x3D, (uint8_t[]){0xFF}, 1, 0}, - {0x3E, (uint8_t[]){0xFF}, 1, 0}, - {0x3F, (uint8_t[]){0xFF}, 1, 0}, - - {0x40, (uint8_t[]){0x00}, 1, 0}, - {0x41, (uint8_t[]){0x64}, 1, 0}, - {0x42, (uint8_t[]){0xC7}, 1, 0}, - {0x43, (uint8_t[]){0x18}, 1, 0}, - {0x44, (uint8_t[]){0x0B}, 1, 0}, - {0x45, (uint8_t[]){0x14}, 1, 0}, - - {0x55, (uint8_t[]){0x02}, 1, 0}, - {0x57, (uint8_t[]){0x49}, 1, 0}, - {0x59, (uint8_t[]){0x0A}, 1, 0}, - {0x5A, (uint8_t[]){0x1B}, 1, 0}, - {0x5B, (uint8_t[]){0x19}, 1, 0}, - - {0x5D, (uint8_t[]){0x7F}, 1, 0}, - {0x5E, (uint8_t[]){0x56}, 1, 0}, - {0x5F, (uint8_t[]){0x43}, 1, 0}, - {0x60, (uint8_t[]){0x37}, 1, 0}, - {0x61, (uint8_t[]){0x33}, 1, 0}, - {0x62, (uint8_t[]){0x25}, 1, 0}, - {0x63, (uint8_t[]){0x2A}, 1, 0}, - {0x64, (uint8_t[]){0x16}, 1, 0}, - {0x65, (uint8_t[]){0x30}, 1, 0}, - {0x66, (uint8_t[]){0x2F}, 1, 0}, - {0x67, (uint8_t[]){0x32}, 1, 0}, - {0x68, (uint8_t[]){0x53}, 1, 0}, - {0x69, (uint8_t[]){0x43}, 1, 0}, - {0x6A, (uint8_t[]){0x4C}, 1, 0}, - {0x6B, (uint8_t[]){0x40}, 1, 0}, - {0x6C, (uint8_t[]){0x3D}, 1, 0}, - {0x6D, (uint8_t[]){0x31}, 1, 0}, - {0x6E, (uint8_t[]){0x20}, 1, 0}, - {0x6F, (uint8_t[]){0x0F}, 1, 0}, - - {0x70, (uint8_t[]){0x7F}, 1, 0}, - {0x71, (uint8_t[]){0x56}, 1, 0}, - {0x72, (uint8_t[]){0x43}, 1, 0}, - {0x73, (uint8_t[]){0x37}, 1, 0}, - {0x74, (uint8_t[]){0x33}, 1, 0}, - {0x75, (uint8_t[]){0x25}, 1, 0}, - {0x76, (uint8_t[]){0x2A}, 1, 0}, - {0x77, (uint8_t[]){0x16}, 1, 0}, - {0x78, (uint8_t[]){0x30}, 1, 0}, - {0x79, (uint8_t[]){0x2F}, 1, 0}, - {0x7A, (uint8_t[]){0x32}, 1, 0}, - {0x7B, (uint8_t[]){0x53}, 1, 0}, - {0x7C, (uint8_t[]){0x43}, 1, 0}, - {0x7D, (uint8_t[]){0x4C}, 1, 0}, - {0x7E, (uint8_t[]){0x40}, 1, 0}, - {0x7F, (uint8_t[]){0x3D}, 1, 0}, - {0x80, (uint8_t[]){0x31}, 1, 0}, - {0x81, (uint8_t[]){0x20}, 1, 0}, - {0x82, (uint8_t[]){0x0F}, 1, 0}, - - {0xE0, (uint8_t[]){0x02}, 1, 0}, - {0x00, (uint8_t[]){0x5F}, 1, 0}, - {0x01, (uint8_t[]){0x5F}, 1, 0}, - {0x02, (uint8_t[]){0x5E}, 1, 0}, - {0x03, (uint8_t[]){0x5E}, 1, 0}, - {0x04, (uint8_t[]){0x50}, 1, 0}, - {0x05, (uint8_t[]){0x48}, 1, 0}, - {0x06, (uint8_t[]){0x48}, 1, 0}, - {0x07, (uint8_t[]){0x4A}, 1, 0}, - {0x08, (uint8_t[]){0x4A}, 1, 0}, - {0x09, (uint8_t[]){0x44}, 1, 0}, - {0x0A, (uint8_t[]){0x44}, 1, 0}, - {0x0B, (uint8_t[]){0x46}, 1, 0}, - {0x0C, (uint8_t[]){0x46}, 1, 0}, - {0x0D, (uint8_t[]){0x5F}, 1, 0}, - {0x0E, (uint8_t[]){0x5F}, 1, 0}, - {0x0F, (uint8_t[]){0x57}, 1, 0}, - {0x10, (uint8_t[]){0x57}, 1, 0}, - {0x11, (uint8_t[]){0x77}, 1, 0}, - {0x12, (uint8_t[]){0x77}, 1, 0}, - {0x13, (uint8_t[]){0x40}, 1, 0}, - {0x14, (uint8_t[]){0x42}, 1, 0}, - {0x15, (uint8_t[]){0x5F}, 1, 0}, - - {0x16, (uint8_t[]){0x5F}, 1, 0}, - {0x17, (uint8_t[]){0x5F}, 1, 0}, - {0x18, (uint8_t[]){0x5E}, 1, 0}, - {0x19, (uint8_t[]){0x5E}, 1, 0}, - {0x1A, (uint8_t[]){0x50}, 1, 0}, - {0x1B, (uint8_t[]){0x49}, 1, 0}, - {0x1C, (uint8_t[]){0x49}, 1, 0}, - {0x1D, (uint8_t[]){0x4B}, 1, 0}, - {0x1E, (uint8_t[]){0x4B}, 1, 0}, - {0x1F, (uint8_t[]){0x45}, 1, 0}, - {0x20, (uint8_t[]){0x45}, 1, 0}, - {0x21, (uint8_t[]){0x47}, 1, 0}, - {0x22, (uint8_t[]){0x47}, 1, 0}, - {0x23, (uint8_t[]){0x5F}, 1, 0}, - {0x24, (uint8_t[]){0x5F}, 1, 0}, - {0x25, (uint8_t[]){0x57}, 1, 0}, - {0x26, (uint8_t[]){0x57}, 1, 0}, - {0x27, (uint8_t[]){0x77}, 1, 0}, - {0x28, (uint8_t[]){0x77}, 1, 0}, - {0x29, (uint8_t[]){0x41}, 1, 0}, - {0x2A, (uint8_t[]){0x43}, 1, 0}, - {0x2B, (uint8_t[]){0x5F}, 1, 0}, - - {0x2C, (uint8_t[]){0x1E}, 1, 0}, - {0x2D, (uint8_t[]){0x1E}, 1, 0}, - {0x2E, (uint8_t[]){0x1F}, 1, 0}, - {0x2F, (uint8_t[]){0x1F}, 1, 0}, - {0x30, (uint8_t[]){0x10}, 1, 0}, - {0x31, (uint8_t[]){0x07}, 1, 0}, - {0x32, (uint8_t[]){0x07}, 1, 0}, - {0x33, (uint8_t[]){0x05}, 1, 0}, - {0x34, (uint8_t[]){0x05}, 1, 0}, - {0x35, (uint8_t[]){0x0B}, 1, 0}, - {0x36, (uint8_t[]){0x0B}, 1, 0}, - {0x37, (uint8_t[]){0x09}, 1, 0}, - {0x38, (uint8_t[]){0x09}, 1, 0}, - {0x39, (uint8_t[]){0x1F}, 1, 0}, - {0x3A, (uint8_t[]){0x1F}, 1, 0}, - {0x3B, (uint8_t[]){0x17}, 1, 0}, - {0x3C, (uint8_t[]){0x17}, 1, 0}, - {0x3D, (uint8_t[]){0x17}, 1, 0}, - {0x3E, (uint8_t[]){0x17}, 1, 0}, - {0x3F, (uint8_t[]){0x03}, 1, 0}, - {0x40, (uint8_t[]){0x01}, 1, 0}, - {0x41, (uint8_t[]){0x1F}, 1, 0}, - - {0x42, (uint8_t[]){0x1E}, 1, 0}, - {0x43, (uint8_t[]){0x1E}, 1, 0}, - {0x44, (uint8_t[]){0x1F}, 1, 0}, - {0x45, (uint8_t[]){0x1F}, 1, 0}, - {0x46, (uint8_t[]){0x10}, 1, 0}, - {0x47, (uint8_t[]){0x06}, 1, 0}, - {0x48, (uint8_t[]){0x06}, 1, 0}, - {0x49, (uint8_t[]){0x04}, 1, 0}, - {0x4A, (uint8_t[]){0x04}, 1, 0}, - {0x4B, (uint8_t[]){0x0A}, 1, 0}, - {0x4C, (uint8_t[]){0x0A}, 1, 0}, - {0x4D, (uint8_t[]){0x08}, 1, 0}, - {0x4E, (uint8_t[]){0x08}, 1, 0}, - {0x4F, (uint8_t[]){0x1F}, 1, 0}, - {0x50, (uint8_t[]){0x1F}, 1, 0}, - {0x51, (uint8_t[]){0x17}, 1, 0}, - {0x52, (uint8_t[]){0x17}, 1, 0}, - {0x53, (uint8_t[]){0x17}, 1, 0}, - {0x54, (uint8_t[]){0x17}, 1, 0}, - {0x55, (uint8_t[]){0x02}, 1, 0}, - {0x56, (uint8_t[]){0x00}, 1, 0}, - {0x57, (uint8_t[]){0x1F}, 1, 0}, - - {0xE0, (uint8_t[]){0x02}, 1, 0}, - {0x58, (uint8_t[]){0x40}, 1, 0}, - {0x59, (uint8_t[]){0x00}, 1, 0}, - {0x5A, (uint8_t[]){0x00}, 1, 0}, - {0x5B, (uint8_t[]){0x30}, 1, 0}, - {0x5C, (uint8_t[]){0x01}, 1, 0}, - {0x5D, (uint8_t[]){0x30}, 1, 0}, - {0x5E, (uint8_t[]){0x01}, 1, 0}, - {0x5F, (uint8_t[]){0x02}, 1, 0}, - {0x60, (uint8_t[]){0x30}, 1, 0}, - {0x61, (uint8_t[]){0x03}, 1, 0}, - {0x62, (uint8_t[]){0x04}, 1, 0}, - {0x63, (uint8_t[]){0x04}, 1, 0}, - {0x64, (uint8_t[]){0xA6}, 1, 0}, - {0x65, (uint8_t[]){0x43}, 1, 0}, - {0x66, (uint8_t[]){0x30}, 1, 0}, - {0x67, (uint8_t[]){0x73}, 1, 0}, - {0x68, (uint8_t[]){0x05}, 1, 0}, - {0x69, (uint8_t[]){0x04}, 1, 0}, - {0x6A, (uint8_t[]){0x7F}, 1, 0}, - {0x6B, (uint8_t[]){0x08}, 1, 0}, - {0x6C, (uint8_t[]){0x00}, 1, 0}, - {0x6D, (uint8_t[]){0x04}, 1, 0}, - {0x6E, (uint8_t[]){0x04}, 1, 0}, - {0x6F, (uint8_t[]){0x88}, 1, 0}, - - {0x75, (uint8_t[]){0xD9}, 1, 0}, - {0x76, (uint8_t[]){0x00}, 1, 0}, - {0x77, (uint8_t[]){0x33}, 1, 0}, - {0x78, (uint8_t[]){0x43}, 1, 0}, - - {0xE0, (uint8_t[]){0x00}, 1, 0}, - - {0x11, (uint8_t[]){0x00}, 1, 120}, - - {0x29, (uint8_t[]){0x00}, 1, 20}, - {0x35, (uint8_t[]){0x00}, 1, 0}, -}; -#else -#define DISPLAY_WIDTH 720 -#define DISPLAY_HEIGHT 720 -static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = { - {0xE0, (uint8_t[]){0x00}, 1, 0}, - - {0xE1, (uint8_t[]){0x93}, 1, 0}, - {0xE2, (uint8_t[]){0x65}, 1, 0}, - {0xE3, (uint8_t[]){0xF8}, 1, 0}, - {0x80, (uint8_t[]){0x01}, 1, 0}, - - {0xE0, (uint8_t[]){0x01}, 1, 0}, - - {0x00, (uint8_t[]){0x00}, 1, 0}, - {0x01, (uint8_t[]){0x41}, 1, 0}, - {0x03, (uint8_t[]){0x10}, 1, 0}, - {0x04, (uint8_t[]){0x44}, 1, 0}, - - {0x17, (uint8_t[]){0x00}, 1, 0}, - {0x18, (uint8_t[]){0xD0}, 1, 0}, - {0x19, (uint8_t[]){0x00}, 1, 0}, - {0x1A, (uint8_t[]){0x00}, 1, 0}, - {0x1B, (uint8_t[]){0xD0}, 1, 0}, - {0x1C, (uint8_t[]){0x00}, 1, 0}, - - {0x24, (uint8_t[]){0xFE}, 1, 0}, - {0x35, (uint8_t[]){0x26}, 1, 0}, - - {0x37, (uint8_t[]){0x09}, 1, 0}, - - {0x38, (uint8_t[]){0x04}, 1, 0}, - {0x39, (uint8_t[]){0x08}, 1, 0}, - {0x3A, (uint8_t[]){0x0A}, 1, 0}, - {0x3C, (uint8_t[]){0x78}, 1, 0}, - {0x3D, (uint8_t[]){0xFF}, 1, 0}, - {0x3E, (uint8_t[]){0xFF}, 1, 0}, - {0x3F, (uint8_t[]){0xFF}, 1, 0}, - - {0x40, (uint8_t[]){0x04}, 1, 0}, - {0x41, (uint8_t[]){0x64}, 1, 0}, - {0x42, (uint8_t[]){0xC7}, 1, 0}, - {0x43, (uint8_t[]){0x18}, 1, 0}, - {0x44, (uint8_t[]){0x0B}, 1, 0}, - {0x45, (uint8_t[]){0x14}, 1, 0}, - - {0x55, (uint8_t[]){0x02}, 1, 0}, - {0x57, (uint8_t[]){0x49}, 1, 0}, - {0x59, (uint8_t[]){0x0A}, 1, 0}, - {0x5A, (uint8_t[]){0x1B}, 1, 0}, - {0x5B, (uint8_t[]){0x19}, 1, 0}, - - {0x5D, (uint8_t[]){0x7F}, 1, 0}, - {0x5E, (uint8_t[]){0x56}, 1, 0}, - {0x5F, (uint8_t[]){0x43}, 1, 0}, - {0x60, (uint8_t[]){0x37}, 1, 0}, - {0x61, (uint8_t[]){0x33}, 1, 0}, - {0x62, (uint8_t[]){0x25}, 1, 0}, - {0x63, (uint8_t[]){0x2A}, 1, 0}, - {0x64, (uint8_t[]){0x16}, 1, 0}, - {0x65, (uint8_t[]){0x30}, 1, 0}, - {0x66, (uint8_t[]){0x2F}, 1, 0}, - {0x67, (uint8_t[]){0x32}, 1, 0}, - {0x68, (uint8_t[]){0x53}, 1, 0}, - {0x69, (uint8_t[]){0x43}, 1, 0}, - {0x6A, (uint8_t[]){0x4C}, 1, 0}, - {0x6B, (uint8_t[]){0x40}, 1, 0}, - {0x6C, (uint8_t[]){0x3D}, 1, 0}, - {0x6D, (uint8_t[]){0x31}, 1, 0}, - {0x6E, (uint8_t[]){0x20}, 1, 0}, - {0x6F, (uint8_t[]){0x0F}, 1, 0}, - - {0x70, (uint8_t[]){0x7F}, 1, 0}, - {0x71, (uint8_t[]){0x56}, 1, 0}, - {0x72, (uint8_t[]){0x43}, 1, 0}, - {0x73, (uint8_t[]){0x37}, 1, 0}, - {0x74, (uint8_t[]){0x33}, 1, 0}, - {0x75, (uint8_t[]){0x25}, 1, 0}, - {0x76, (uint8_t[]){0x2A}, 1, 0}, - {0x77, (uint8_t[]){0x16}, 1, 0}, - {0x78, (uint8_t[]){0x30}, 1, 0}, - {0x79, (uint8_t[]){0x2F}, 1, 0}, - {0x7A, (uint8_t[]){0x32}, 1, 0}, - {0x7B, (uint8_t[]){0x53}, 1, 0}, - {0x7C, (uint8_t[]){0x43}, 1, 0}, - {0x7D, (uint8_t[]){0x4C}, 1, 0}, - {0x7E, (uint8_t[]){0x40}, 1, 0}, - {0x7F, (uint8_t[]){0x3D}, 1, 0}, - {0x80, (uint8_t[]){0x31}, 1, 0}, - {0x81, (uint8_t[]){0x20}, 1, 0}, - {0x82, (uint8_t[]){0x0F}, 1, 0}, - - {0xE0, (uint8_t[]){0x02}, 1, 0}, - {0x00, (uint8_t[]){0x5F}, 1, 0}, - {0x01, (uint8_t[]){0x5F}, 1, 0}, - {0x02, (uint8_t[]){0x5E}, 1, 0}, - {0x03, (uint8_t[]){0x5E}, 1, 0}, - {0x04, (uint8_t[]){0x50}, 1, 0}, - {0x05, (uint8_t[]){0x48}, 1, 0}, - {0x06, (uint8_t[]){0x48}, 1, 0}, - {0x07, (uint8_t[]){0x4A}, 1, 0}, - {0x08, (uint8_t[]){0x4A}, 1, 0}, - {0x09, (uint8_t[]){0x44}, 1, 0}, - {0x0A, (uint8_t[]){0x44}, 1, 0}, - {0x0B, (uint8_t[]){0x46}, 1, 0}, - {0x0C, (uint8_t[]){0x46}, 1, 0}, - {0x0D, (uint8_t[]){0x5F}, 1, 0}, - {0x0E, (uint8_t[]){0x5F}, 1, 0}, - {0x0F, (uint8_t[]){0x57}, 1, 0}, - {0x10, (uint8_t[]){0x57}, 1, 0}, - {0x11, (uint8_t[]){0x77}, 1, 0}, - {0x12, (uint8_t[]){0x77}, 1, 0}, - {0x13, (uint8_t[]){0x40}, 1, 0}, - {0x14, (uint8_t[]){0x42}, 1, 0}, - {0x15, (uint8_t[]){0x5F}, 1, 0}, - - {0x16, (uint8_t[]){0x5F}, 1, 0}, - {0x17, (uint8_t[]){0x5F}, 1, 0}, - {0x18, (uint8_t[]){0x5E}, 1, 0}, - {0x19, (uint8_t[]){0x5E}, 1, 0}, - {0x1A, (uint8_t[]){0x50}, 1, 0}, - {0x1B, (uint8_t[]){0x49}, 1, 0}, - {0x1C, (uint8_t[]){0x49}, 1, 0}, - {0x1D, (uint8_t[]){0x4B}, 1, 0}, - {0x1E, (uint8_t[]){0x4B}, 1, 0}, - {0x1F, (uint8_t[]){0x45}, 1, 0}, - {0x20, (uint8_t[]){0x45}, 1, 0}, - {0x21, (uint8_t[]){0x47}, 1, 0}, - {0x22, (uint8_t[]){0x47}, 1, 0}, - {0x23, (uint8_t[]){0x5F}, 1, 0}, - {0x24, (uint8_t[]){0x5F}, 1, 0}, - {0x25, (uint8_t[]){0x57}, 1, 0}, - {0x26, (uint8_t[]){0x57}, 1, 0}, - {0x27, (uint8_t[]){0x77}, 1, 0}, - {0x28, (uint8_t[]){0x77}, 1, 0}, - {0x29, (uint8_t[]){0x41}, 1, 0}, - {0x2A, (uint8_t[]){0x43}, 1, 0}, - {0x2B, (uint8_t[]){0x5F}, 1, 0}, - - {0x2C, (uint8_t[]){0x1E}, 1, 0}, - {0x2D, (uint8_t[]){0x1E}, 1, 0}, - {0x2E, (uint8_t[]){0x1F}, 1, 0}, - {0x2F, (uint8_t[]){0x1F}, 1, 0}, - {0x30, (uint8_t[]){0x10}, 1, 0}, - {0x31, (uint8_t[]){0x07}, 1, 0}, - {0x32, (uint8_t[]){0x07}, 1, 0}, - {0x33, (uint8_t[]){0x05}, 1, 0}, - {0x34, (uint8_t[]){0x05}, 1, 0}, - {0x35, (uint8_t[]){0x0B}, 1, 0}, - {0x36, (uint8_t[]){0x0B}, 1, 0}, - {0x37, (uint8_t[]){0x09}, 1, 0}, - {0x38, (uint8_t[]){0x09}, 1, 0}, - {0x39, (uint8_t[]){0x1F}, 1, 0}, - {0x3A, (uint8_t[]){0x1F}, 1, 0}, - {0x3B, (uint8_t[]){0x17}, 1, 0}, - {0x3C, (uint8_t[]){0x17}, 1, 0}, - {0x3D, (uint8_t[]){0x17}, 1, 0}, - {0x3E, (uint8_t[]){0x17}, 1, 0}, - {0x3F, (uint8_t[]){0x03}, 1, 0}, - {0x40, (uint8_t[]){0x01}, 1, 0}, - {0x41, (uint8_t[]){0x1F}, 1, 0}, - - {0x42, (uint8_t[]){0x1E}, 1, 0}, - {0x43, (uint8_t[]){0x1E}, 1, 0}, - {0x44, (uint8_t[]){0x1F}, 1, 0}, - {0x45, (uint8_t[]){0x1F}, 1, 0}, - {0x46, (uint8_t[]){0x10}, 1, 0}, - {0x47, (uint8_t[]){0x06}, 1, 0}, - {0x48, (uint8_t[]){0x06}, 1, 0}, - {0x49, (uint8_t[]){0x04}, 1, 0}, - {0x4A, (uint8_t[]){0x04}, 1, 0}, - {0x4B, (uint8_t[]){0x0A}, 1, 0}, - {0x4C, (uint8_t[]){0x0A}, 1, 0}, - {0x4D, (uint8_t[]){0x08}, 1, 0}, - {0x4E, (uint8_t[]){0x08}, 1, 0}, - {0x4F, (uint8_t[]){0x1F}, 1, 0}, - {0x50, (uint8_t[]){0x1F}, 1, 0}, - {0x51, (uint8_t[]){0x17}, 1, 0}, - {0x52, (uint8_t[]){0x17}, 1, 0}, - {0x53, (uint8_t[]){0x17}, 1, 0}, - {0x54, (uint8_t[]){0x17}, 1, 0}, - {0x55, (uint8_t[]){0x02}, 1, 0}, - {0x56, (uint8_t[]){0x00}, 1, 0}, - {0x57, (uint8_t[]){0x1F}, 1, 0}, - - {0xE0, (uint8_t[]){0x02}, 1, 0}, - {0x58, (uint8_t[]){0x40}, 1, 0}, - {0x59, (uint8_t[]){0x00}, 1, 0}, - {0x5A, (uint8_t[]){0x00}, 1, 0}, - {0x5B, (uint8_t[]){0x30}, 1, 0}, - {0x5C, (uint8_t[]){0x01}, 1, 0}, - {0x5D, (uint8_t[]){0x30}, 1, 0}, - {0x5E, (uint8_t[]){0x01}, 1, 0}, - {0x5F, (uint8_t[]){0x02}, 1, 0}, - {0x60, (uint8_t[]){0x30}, 1, 0}, - {0x61, (uint8_t[]){0x03}, 1, 0}, - {0x62, (uint8_t[]){0x04}, 1, 0}, - {0x63, (uint8_t[]){0x04}, 1, 0}, - {0x64, (uint8_t[]){0xA6}, 1, 0}, - {0x65, (uint8_t[]){0x43}, 1, 0}, - {0x66, (uint8_t[]){0x30}, 1, 0}, - {0x67, (uint8_t[]){0x73}, 1, 0}, - {0x68, (uint8_t[]){0x05}, 1, 0}, - {0x69, (uint8_t[]){0x04}, 1, 0}, - {0x6A, (uint8_t[]){0x7F}, 1, 0}, - {0x6B, (uint8_t[]){0x08}, 1, 0}, - {0x6C, (uint8_t[]){0x00}, 1, 0}, - {0x6D, (uint8_t[]){0x04}, 1, 0}, - {0x6E, (uint8_t[]){0x04}, 1, 0}, - {0x6F, (uint8_t[]){0x88}, 1, 0}, - - {0x75, (uint8_t[]){0xD9}, 1, 0}, - {0x76, (uint8_t[]){0x00}, 1, 0}, - {0x77, (uint8_t[]){0x33}, 1, 0}, - {0x78, (uint8_t[]){0x43}, 1, 0}, - - {0xE0, (uint8_t[]){0x00}, 1, 0}, - {0x11, (uint8_t[]){0x00}, 1, 120}, - - {0x29, (uint8_t[]){0x00}, 1, 20}, - {0x35, (uint8_t[]){0x00}, 1, 0}, -}; -#endif - -#endif // _BOARD_CONFIG_H_ diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.json b/main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.json deleted file mode 100644 index 927bb97..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/config.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "target": "esp32p4", - "builds": [ - { - "name": "waveshare-p4-wifi6-touch-lcd-xc-3.4c", - "sdkconfig_append": [ - "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", - "CONFIG_USE_DEVICE_AEC=y", - "CONFIG_LCD_TYPE_800_800_3_4_INCH=y", - "CONFIG_CAMERA_OV5647=y", - "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", - "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", - "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" - ] - }, - { - "name": "waveshare-p4-wifi6-touch-lcd-xc-4c", - "sdkconfig_append": [ - "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", - "CONFIG_USE_DEVICE_AEC=y", - "CONFIG_LCD_TYPE_720_720_4_INCH=y", - "CONFIG_CAMERA_OV5647=y", - "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", - "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", - "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" - ] - } - ] -} \ No newline at end of file diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/esp32-p4-wifi6-touch-lcd-xc.cc b/main/boards/waveshare-p4-wifi6-touch-lcd-xc/esp32-p4-wifi6-touch-lcd-xc.cc deleted file mode 100644 index 57b2148..0000000 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-xc/esp32-p4-wifi6-touch-lcd-xc.cc +++ /dev/null @@ -1,229 +0,0 @@ -#include "wifi_board.h" -#include "codecs/box_audio_codec.h" -#include "application.h" -#include "display/lcd_display.h" -// #include "display/no_display.h" -#include "button.h" - -#include "esp_video.h" -#include "esp_video_init.h" -#include "esp_cam_sensor_xclk.h" - -#include "esp_lcd_panel_ops.h" -#include "esp_lcd_mipi_dsi.h" -#include "esp_ldo_regulator.h" - -#include "esp_lcd_jd9365_10_1.h" -#include "config.h" - -#include -#include -#include -#include "esp_lcd_touch_gt911.h" -#define TAG "WaveshareEsp32p4xc" - -class WaveshareEsp32p4xc : public WifiBoard { -private: - i2c_master_bus_handle_t i2c_bus_; - Button boot_button_; - LcdDisplay *display_; - EspVideo* camera_ = nullptr; - - void InitializeCodecI2c() { - // Initialize I2C peripheral - i2c_master_bus_config_t i2c_bus_cfg = { - .i2c_port = I2C_NUM_1, - .sda_io_num = AUDIO_CODEC_I2C_SDA_PIN, - .scl_io_num = AUDIO_CODEC_I2C_SCL_PIN, - .clk_source = I2C_CLK_SRC_DEFAULT, - .glitch_ignore_cnt = 7, - .intr_priority = 0, - .trans_queue_depth = 0, - .flags = { - .enable_internal_pullup = 1, - }, - }; - ESP_ERROR_CHECK(i2c_new_master_bus(&i2c_bus_cfg, &i2c_bus_)); - } - - static esp_err_t bsp_enable_dsi_phy_power(void) { -#if MIPI_DSI_PHY_PWR_LDO_CHAN > 0 - // Turn on the power for MIPI DSI PHY, so it can go from "No Power" state to "Shutdown" state - static esp_ldo_channel_handle_t phy_pwr_chan = NULL; - esp_ldo_channel_config_t ldo_cfg = { - .chan_id = MIPI_DSI_PHY_PWR_LDO_CHAN, - .voltage_mv = MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV, - }; - esp_ldo_acquire_channel(&ldo_cfg, &phy_pwr_chan); - ESP_LOGI(TAG, "MIPI DSI PHY Powered on"); -#endif // BSP_MIPI_DSI_PHY_PWR_LDO_CHAN > 0 - - return ESP_OK; - } - - void InitializeLCD() { - bsp_enable_dsi_phy_power(); - esp_lcd_panel_io_handle_t io = NULL; - esp_lcd_panel_handle_t disp_panel = NULL; - - esp_lcd_dsi_bus_handle_t mipi_dsi_bus = NULL; - esp_lcd_dsi_bus_config_t bus_config = { - .bus_id = 0, - .num_data_lanes = 2, - .lane_bit_rate_mbps = 1500, - }; - esp_lcd_new_dsi_bus(&bus_config, &mipi_dsi_bus); - - ESP_LOGI(TAG, "Install MIPI DSI LCD control panel"); - // we use DBI interface to send LCD commands and parameters - esp_lcd_dbi_io_config_t dbi_config = JD9365_PANEL_IO_DBI_CONFIG(); - esp_lcd_new_panel_io_dbi(mipi_dsi_bus, &dbi_config, &io); - - esp_lcd_dpi_panel_config_t dpi_config = { - .dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT, - .dpi_clock_freq_mhz = 46, - .pixel_format = LCD_COLOR_PIXEL_FORMAT_RGB565, - .num_fbs = 1, - .video_timing = { - .h_size = DISPLAY_WIDTH, - .v_size = DISPLAY_HEIGHT, - .hsync_pulse_width = 20, - .hsync_back_porch = 20, - .hsync_front_porch = 40, - .vsync_pulse_width = 4, - .vsync_back_porch = 12, - .vsync_front_porch = 24, - }, - .flags = { - .use_dma2d = true, - }, - }; - jd9365_vendor_config_t vendor_config = { - .init_cmds = lcd_init_cmds, - .init_cmds_size = sizeof(lcd_init_cmds) / sizeof(lcd_init_cmds[0]), - .mipi_config = { - .dsi_bus = mipi_dsi_bus, - .dpi_config = &dpi_config, - .lane_num = 2, - }, - .flags = { - .use_mipi_interface = 1, - }, - }; - - const esp_lcd_panel_dev_config_t lcd_dev_config = { - .reset_gpio_num = PIN_NUM_LCD_RST, - .rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB, - .bits_per_pixel = 16, - .vendor_config = &vendor_config, - }; - esp_lcd_new_panel_jd9365(io, &lcd_dev_config, &disp_panel); - esp_lcd_panel_reset(disp_panel); - esp_lcd_panel_init(disp_panel); - - display_ = new MipiLcdDisplay(io, disp_panel, DISPLAY_WIDTH, DISPLAY_HEIGHT, - DISPLAY_OFFSET_X, DISPLAY_OFFSET_Y, DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y, DISPLAY_SWAP_XY); - } - void InitializeTouch() - { - esp_lcd_touch_handle_t tp; - esp_lcd_touch_config_t tp_cfg = { - .x_max = DISPLAY_WIDTH, - .y_max = DISPLAY_HEIGHT, - .rst_gpio_num = GPIO_NUM_23, - .int_gpio_num = GPIO_NUM_NC, - .levels = { - .reset = 0, - .interrupt = 0, - }, - .flags = { - .swap_xy = 0, - .mirror_x = 0, - .mirror_y = 0, - }, - }; - esp_lcd_panel_io_handle_t tp_io_handle = NULL; - esp_lcd_panel_io_i2c_config_t tp_io_config = ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG(); - tp_io_config.scl_speed_hz = 400 * 1000; - ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(i2c_bus_, &tp_io_config, &tp_io_handle)); - ESP_LOGI(TAG, "Initialize touch controller"); - ESP_ERROR_CHECK(esp_lcd_touch_new_i2c_gt911(tp_io_handle, &tp_cfg, &tp)); - const lvgl_port_touch_cfg_t touch_cfg = { - .disp = lv_display_get_default(), - .handle = tp, - }; - lvgl_port_add_touch(&touch_cfg); - ESP_LOGI(TAG, "Touch panel initialized successfully"); - } - void InitializeCamera() { - esp_video_init_csi_config_t base_csi_config = { - .sccb_config = { - .init_sccb = false, - .i2c_handle = i2c_bus_, - .freq = 400000, - }, - .reset_pin = GPIO_NUM_NC, - .pwdn_pin = GPIO_NUM_NC, - }; - - esp_video_init_config_t cam_config = { - .csi = &base_csi_config, - }; - - camera_ = new EspVideo(cam_config); - } - void InitializeButtons() { - boot_button_.OnClick([this]() { - auto& app = Application::GetInstance(); - // During startup (before connected), pressing BOOT button enters Wi-Fi config mode without reboot - if (app.GetDeviceState() == kDeviceStateStarting) { - EnterWifiConfigMode(); - return; - } - app.ToggleChatState(); - }); - } - -public: - WaveshareEsp32p4xc() : - boot_button_(BOOT_BUTTON_GPIO) { - InitializeCodecI2c(); - InitializeLCD(); - InitializeTouch(); - InitializeCamera(); - InitializeButtons(); - GetBacklight()->RestoreBrightness(); - } - - virtual AudioCodec* GetAudioCodec() override { - static BoxAudioCodec audio_codec( - i2c_bus_, - AUDIO_INPUT_SAMPLE_RATE, - AUDIO_OUTPUT_SAMPLE_RATE, - AUDIO_I2S_GPIO_MCLK, - AUDIO_I2S_GPIO_BCLK, - AUDIO_I2S_GPIO_WS, - AUDIO_I2S_GPIO_DOUT, - AUDIO_I2S_GPIO_DIN, - AUDIO_CODEC_PA_PIN, - AUDIO_CODEC_ES8311_ADDR, - AUDIO_CODEC_ES7210_ADDR, - AUDIO_INPUT_REFERENCE); - return &audio_codec; - } - - virtual Display *GetDisplay() override { - return display_; - } - - virtual Camera* GetCamera() override { - return camera_; - } - - virtual Backlight* GetBacklight() override { - static PwmBacklight backlight(DISPLAY_BACKLIGHT_PIN, DISPLAY_BACKLIGHT_OUTPUT_INVERT); - return &backlight; - } -}; - -DECLARE_BOARD(WaveshareEsp32p4xc); diff --git a/main/boards/waveshare-s3-touch-lcd-3.49/config.json b/main/boards/waveshare-s3-touch-lcd-3.49/config.json deleted file mode 100644 index 32de3cf..0000000 --- a/main/boards/waveshare-s3-touch-lcd-3.49/config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "target": "esp32s3", - "builds": [ - { - "name": "waveshare-s3-touch-lcd-3.49", - "sdkconfig_append": [ - "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", - "CONFIG_USE_DEVICE_AEC=y" - ] - } - ] -} \ No newline at end of file diff --git a/main/boards/waveshare-s3-touch-lcd-4b/config.json b/main/boards/waveshare-s3-touch-lcd-4b/config.json deleted file mode 100644 index f703cc0..0000000 --- a/main/boards/waveshare-s3-touch-lcd-4b/config.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "target": "esp32s3", - "builds": [ - { - "name": "waveshare-s3-touch-lcd-4b", - "sdkconfig_append": [ - "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", - "CONFIG_USE_DEVICE_AEC=y" - ] - } - ] -} \ No newline at end of file diff --git a/main/boards/waveshare-c6-lcd-1.69/README.md b/main/boards/waveshare/esp32-c6-lcd-1.69/README.md similarity index 100% rename from main/boards/waveshare-c6-lcd-1.69/README.md rename to main/boards/waveshare/esp32-c6-lcd-1.69/README.md diff --git a/main/boards/waveshare-c6-lcd-1.69/config.h b/main/boards/waveshare/esp32-c6-lcd-1.69/config.h similarity index 100% rename from main/boards/waveshare-c6-lcd-1.69/config.h rename to main/boards/waveshare/esp32-c6-lcd-1.69/config.h diff --git a/main/boards/waveshare-c6-touch-amoled-1.8/config.json b/main/boards/waveshare/esp32-c6-lcd-1.69/config.json similarity index 68% rename from main/boards/waveshare-c6-touch-amoled-1.8/config.json rename to main/boards/waveshare/esp32-c6-lcd-1.69/config.json index 493eea7..507aa95 100644 --- a/main/boards/waveshare-c6-touch-amoled-1.8/config.json +++ b/main/boards/waveshare/esp32-c6-lcd-1.69/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32c6", "builds": [ { - "name": "waveshare-c6-touch-amoled-1.8", + "name": "esp32-c6-lcd-1.69", "sdkconfig_append": [ "CONFIG_USE_ESP_WAKE_WORD=y" ] diff --git a/main/boards/waveshare-c6-lcd-1.69/esp32-c6-lcd-1.69.cc b/main/boards/waveshare/esp32-c6-lcd-1.69/esp32-c6-lcd-1.69.cc similarity index 100% rename from main/boards/waveshare-c6-lcd-1.69/esp32-c6-lcd-1.69.cc rename to main/boards/waveshare/esp32-c6-lcd-1.69/esp32-c6-lcd-1.69.cc diff --git a/main/boards/waveshare-c6-lcd-1.69/power_manager.h b/main/boards/waveshare/esp32-c6-lcd-1.69/power_manager.h similarity index 100% rename from main/boards/waveshare-c6-lcd-1.69/power_manager.h rename to main/boards/waveshare/esp32-c6-lcd-1.69/power_manager.h diff --git a/main/boards/waveshare-c6-touch-amoled-1.32/README.md b/main/boards/waveshare/esp32-c6-touch-amoled-1.32/README.md similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.32/README.md rename to main/boards/waveshare/esp32-c6-touch-amoled-1.32/README.md diff --git a/main/boards/waveshare-c6-touch-amoled-1.32/config.h b/main/boards/waveshare/esp32-c6-touch-amoled-1.32/config.h similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.32/config.h rename to main/boards/waveshare/esp32-c6-touch-amoled-1.32/config.h diff --git a/main/boards/waveshare-c6-touch-amoled-1.32/config.json b/main/boards/waveshare/esp32-c6-touch-amoled-1.32/config.json similarity index 66% rename from main/boards/waveshare-c6-touch-amoled-1.32/config.json rename to main/boards/waveshare/esp32-c6-touch-amoled-1.32/config.json index 73dac1d..3392da6 100644 --- a/main/boards/waveshare-c6-touch-amoled-1.32/config.json +++ b/main/boards/waveshare/esp32-c6-touch-amoled-1.32/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32c6", "builds": [ { - "name": "waveshare-c6-touch-amoled-1.32", + "name": "esp32-c6-touch-amoled-1.32", "sdkconfig_append": [ "CONFIG_USE_ESP_WAKE_WORD=y" ] diff --git a/main/boards/waveshare-c6-touch-amoled-1.32/esp32-c6-touch-amoled-1.32.cc b/main/boards/waveshare/esp32-c6-touch-amoled-1.32/esp32-c6-touch-amoled-1.32.cc similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.32/esp32-c6-touch-amoled-1.32.cc rename to main/boards/waveshare/esp32-c6-touch-amoled-1.32/esp32-c6-touch-amoled-1.32.cc diff --git a/main/boards/waveshare-c6-touch-amoled-1.43/README.md b/main/boards/waveshare/esp32-c6-touch-amoled-1.43/README.md similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.43/README.md rename to main/boards/waveshare/esp32-c6-touch-amoled-1.43/README.md diff --git a/main/boards/waveshare-c6-touch-amoled-1.43/config.h b/main/boards/waveshare/esp32-c6-touch-amoled-1.43/config.h similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.43/config.h rename to main/boards/waveshare/esp32-c6-touch-amoled-1.43/config.h diff --git a/main/boards/waveshare-c6-touch-amoled-1.43/config.json b/main/boards/waveshare/esp32-c6-touch-amoled-1.43/config.json similarity index 66% rename from main/boards/waveshare-c6-touch-amoled-1.43/config.json rename to main/boards/waveshare/esp32-c6-touch-amoled-1.43/config.json index f1a4551..44001e1 100644 --- a/main/boards/waveshare-c6-touch-amoled-1.43/config.json +++ b/main/boards/waveshare/esp32-c6-touch-amoled-1.43/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32c6", "builds": [ { - "name": "waveshare-c6-touch-amoled-1.43", + "name": "esp32-c6-touch-amoled-1.43", "sdkconfig_append": [ "CONFIG_USE_ESP_WAKE_WORD=y" ] diff --git a/main/boards/waveshare-c6-touch-amoled-1.43/esp32-c6-touch-amoled-1.43.cc b/main/boards/waveshare/esp32-c6-touch-amoled-1.43/esp32-c6-touch-amoled-1.43.cc similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.43/esp32-c6-touch-amoled-1.43.cc rename to main/boards/waveshare/esp32-c6-touch-amoled-1.43/esp32-c6-touch-amoled-1.43.cc diff --git a/main/boards/waveshare-c6-touch-amoled-1.8/README.md b/main/boards/waveshare/esp32-c6-touch-amoled-1.8/README.md similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.8/README.md rename to main/boards/waveshare/esp32-c6-touch-amoled-1.8/README.md diff --git a/main/boards/waveshare-c6-touch-amoled-1.8/config.h b/main/boards/waveshare/esp32-c6-touch-amoled-1.8/config.h similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.8/config.h rename to main/boards/waveshare/esp32-c6-touch-amoled-1.8/config.h diff --git a/main/boards/waveshare-c6-lcd-1.69/config.json b/main/boards/waveshare/esp32-c6-touch-amoled-1.8/config.json similarity index 66% rename from main/boards/waveshare-c6-lcd-1.69/config.json rename to main/boards/waveshare/esp32-c6-touch-amoled-1.8/config.json index 81dc2b1..56bdf2f 100644 --- a/main/boards/waveshare-c6-lcd-1.69/config.json +++ b/main/boards/waveshare/esp32-c6-touch-amoled-1.8/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32c6", "builds": [ { - "name": "waveshare-c6-lcd-1.69", + "name": "esp32-c6-touch-amoled-1.8", "sdkconfig_append": [ "CONFIG_USE_ESP_WAKE_WORD=y" ] diff --git a/main/boards/waveshare-c6-touch-amoled-1.8/esp32-c6-touch-amoled-1.8.cc b/main/boards/waveshare/esp32-c6-touch-amoled-1.8/esp32-c6-touch-amoled-1.8.cc similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-1.8/esp32-c6-touch-amoled-1.8.cc rename to main/boards/waveshare/esp32-c6-touch-amoled-1.8/esp32-c6-touch-amoled-1.8.cc diff --git a/main/boards/waveshare-c6-touch-amoled-2.06/README.md b/main/boards/waveshare/esp32-c6-touch-amoled-2.06/README.md similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-2.06/README.md rename to main/boards/waveshare/esp32-c6-touch-amoled-2.06/README.md diff --git a/main/boards/waveshare-c6-touch-amoled-2.06/config.h b/main/boards/waveshare/esp32-c6-touch-amoled-2.06/config.h similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-2.06/config.h rename to main/boards/waveshare/esp32-c6-touch-amoled-2.06/config.h diff --git a/main/boards/waveshare-c6-touch-amoled-2.06/config.json b/main/boards/waveshare/esp32-c6-touch-amoled-2.06/config.json similarity index 66% rename from main/boards/waveshare-c6-touch-amoled-2.06/config.json rename to main/boards/waveshare/esp32-c6-touch-amoled-2.06/config.json index 3fb9dd9..6d69e6d 100644 --- a/main/boards/waveshare-c6-touch-amoled-2.06/config.json +++ b/main/boards/waveshare/esp32-c6-touch-amoled-2.06/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-c6-touch-amoled-2.06", + "name": "esp32-c6-touch-amoled-2.06", "sdkconfig_append": [ "CONFIG_USE_ESP_WAKE_WORD=y" ] diff --git a/main/boards/waveshare-c6-touch-amoled-2.06/esp32-c6-touch-amoled-2.06.cc b/main/boards/waveshare/esp32-c6-touch-amoled-2.06/esp32-c6-touch-amoled-2.06.cc similarity index 100% rename from main/boards/waveshare-c6-touch-amoled-2.06/esp32-c6-touch-amoled-2.06.cc rename to main/boards/waveshare/esp32-c6-touch-amoled-2.06/esp32-c6-touch-amoled-2.06.cc diff --git a/main/boards/waveshare-c6-touch-lcd-1.83/README.md b/main/boards/waveshare/esp32-c6-touch-lcd-1.83/README.md similarity index 100% rename from main/boards/waveshare-c6-touch-lcd-1.83/README.md rename to main/boards/waveshare/esp32-c6-touch-lcd-1.83/README.md diff --git a/main/boards/waveshare-c6-touch-lcd-1.83/config.h b/main/boards/waveshare/esp32-c6-touch-lcd-1.83/config.h similarity index 100% rename from main/boards/waveshare-c6-touch-lcd-1.83/config.h rename to main/boards/waveshare/esp32-c6-touch-lcd-1.83/config.h diff --git a/main/boards/waveshare-c6-touch-lcd-1.83/config.json b/main/boards/waveshare/esp32-c6-touch-lcd-1.83/config.json similarity index 72% rename from main/boards/waveshare-c6-touch-lcd-1.83/config.json rename to main/boards/waveshare/esp32-c6-touch-lcd-1.83/config.json index 48d566f..a7c1b25 100644 --- a/main/boards/waveshare-c6-touch-lcd-1.83/config.json +++ b/main/boards/waveshare/esp32-c6-touch-lcd-1.83/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32c6", "builds": [ { - "name": "waveshare-c6-touch-lcd-1.83", + "name": "esp32-c6-touch-lcd-1.83", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", "CONFIG_USE_DEVICE_AEC=y" diff --git a/main/boards/waveshare-c6-touch-lcd-1.83/esp32-c6-touch-lcd-1.83.cc b/main/boards/waveshare/esp32-c6-touch-lcd-1.83/esp32-c6-touch-lcd-1.83.cc similarity index 100% rename from main/boards/waveshare-c6-touch-lcd-1.83/esp32-c6-touch-lcd-1.83.cc rename to main/boards/waveshare/esp32-c6-touch-lcd-1.83/esp32-c6-touch-lcd-1.83.cc diff --git a/main/boards/waveshare-p4-nano/README.md b/main/boards/waveshare/esp32-p4-nano/README.md similarity index 88% rename from main/boards/waveshare-p4-nano/README.md rename to main/boards/waveshare/esp32-p4-nano/README.md index 580785c..73e97af 100644 --- a/main/boards/waveshare-p4-nano/README.md +++ b/main/boards/waveshare/esp32-p4-nano/README.md @@ -12,32 +12,32 @@ | Product ID | Dependency | tested | |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|--------| -| [10.1-DSI-TOUCH-A](https://www.waveshare.com/10.1-dsi-touch-a.htm)
| [waveshare/esp_lcd_jd9365_10_1](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_jd9365_10_1) | ✅ | -| [101M-8001280-IPS-CT-K](https://www.waveshare.com/101m-8001280-ips-ct-k.htm)
| [waveshare/esp_lcd_jd9365_10_1](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_jd9365_10_1) | ✅ | +| [10.1-DSI-TOUCH-A](https://www.waveshare.com/10.1-dsi-touch-a.htm)
| [waveshare/esp_lcd_jd9365_10_1](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_jd9365_10_1) | ✅ | +| [101M-8001280-IPS-CT-K](https://www.waveshare.com/101m-8001280-ips-ct-k.htm)
| [waveshare/esp_lcd_jd9365_10_1](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_jd9365_10_1) | ✅ | ### Common Raspberry adapter screen -**These displays are supported on [ESP32-P4-NANO BSP](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/bsp/esp32_p4_nano), but not on xiaozhi-esp32** +**These displays are supported on [ESP32-P4-NANO BSP](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/bsp/esp32_p4_nano), but not on xiaozhi-esp32**
View full display | Product ID | Dependency | tested | |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|--------| -| [2.8inch DSI LCD](https://www.waveshare.com/2.8inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [3.4inch DSI LCD (C)](https://www.waveshare.com/3.4inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [4inch DSI LCD (C)](https://www.waveshare.com/4inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [4inch DSI LCD](https://www.waveshare.com/4inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [5inch DSI LCD (D)](https://www.waveshare.com/5inch-dsi-lcd-d.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [6.25inch DSI LCD](https://www.waveshare.com/6.25inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [5inch DSI LCD (C)](https://www.waveshare.com/5inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [7inch DSI LCD (C)](https://www.waveshare.com/7inch-dsi-lcd-c-with-case-a.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [7.9inch DSI LCD](https://www.waveshare.com/7.9inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [7inch DSI LCD (E)](https://www.waveshare.com/7inch-dsi-lcd-e.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [8inch DSI LCD (C)](https://www.waveshare.com/8inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [10.1inch DSI LCD (C)](https://www.waveshare.com/10.1inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [8.8inch DSI LCD](https://www.waveshare.com/8.8inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [11.9inch DSI LCD](https://www.waveshare.com/11.9inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | -| [7-DSI-TOUCH-A](https://www.waveshare.com/7-dsi-touch-a.htm)
| [waveshare/esp_lcd_ili9881c](https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_ili9881c) | 🕒 | +| [2.8inch DSI LCD](https://www.waveshare.com/2.8inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [3.4inch DSI LCD (C)](https://www.waveshare.com/3.4inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [4inch DSI LCD (C)](https://www.waveshare.com/4inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [4inch DSI LCD](https://www.waveshare.com/4inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [5inch DSI LCD (D)](https://www.waveshare.com/5inch-dsi-lcd-d.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [6.25inch DSI LCD](https://www.waveshare.com/6.25inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [5inch DSI LCD (C)](https://www.waveshare.com/5inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [7inch DSI LCD (C)](https://www.waveshare.com/7inch-dsi-lcd-c-with-case-a.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [7.9inch DSI LCD](https://www.waveshare.com/7.9inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [7inch DSI LCD (E)](https://www.waveshare.com/7inch-dsi-lcd-e.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [8inch DSI LCD (C)](https://www.waveshare.com/8inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [10.1inch DSI LCD (C)](https://www.waveshare.com/10.1inch-dsi-lcd-c.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [8.8inch DSI LCD](https://www.waveshare.com/8.8inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [11.9inch DSI LCD](https://www.waveshare.com/11.9inch-dsi-lcd.htm)
| [waveshare/esp_lcd_dsi](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_dsi) | 🕒 | +| [7-DSI-TOUCH-A](https://www.waveshare.com/7-dsi-touch-a.htm)
| [waveshare/esp_lcd_ili9881c](https://github.com/waveshareteam/waveshare-ESP32-components/tree/master/display/lcd/esp_lcd_ili9881c) | 🕒 |
\ No newline at end of file diff --git a/main/boards/waveshare-p4-nano/config.h b/main/boards/waveshare/esp32-p4-nano/config.h similarity index 100% rename from main/boards/waveshare-p4-nano/config.h rename to main/boards/waveshare/esp32-p4-nano/config.h diff --git a/main/boards/waveshare-p4-nano/config.json b/main/boards/waveshare/esp32-p4-nano/config.json similarity index 79% rename from main/boards/waveshare-p4-nano/config.json rename to main/boards/waveshare/esp32-p4-nano/config.json index 832dee1..ab5c331 100644 --- a/main/boards/waveshare-p4-nano/config.json +++ b/main/boards/waveshare/esp32-p4-nano/config.json @@ -1,11 +1,11 @@ { + "manufacturer": "waveshare", "target": "esp32p4", "builds": [ { - "name": "waveshare-p4-nano-10.1-a", + "name": "esp32-p4-nano-10.1-a", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=y", - "CONFIG_LCD_TYPE_800_1280_10_1_INCH_A=y", "CONFIG_CAMERA_OV5647=y", "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", diff --git a/main/boards/waveshare-p4-nano/esp32-p4-nano.cc b/main/boards/waveshare/esp32-p4-nano/esp32-p4-nano.cc similarity index 91% rename from main/boards/waveshare-p4-nano/esp32-p4-nano.cc rename to main/boards/waveshare/esp32-p4-nano/esp32-p4-nano.cc index 9732d01..c100922 100644 --- a/main/boards/waveshare-p4-nano/esp32-p4-nano.cc +++ b/main/boards/waveshare/esp32-p4-nano/esp32-p4-nano.cc @@ -4,7 +4,6 @@ #include "display/lcd_display.h" // #include "display/no_display.h" #include "button.h" -#include "config.h" #include "esp_video.h" #include "esp_video_init.h" @@ -15,7 +14,8 @@ #include "esp_ldo_regulator.h" #include "esp_lcd_mipi_dsi.h" -#include "esp_lcd_jd9365_10_1.h" +#include "esp_lcd_jd9365.h" +#include "config.h" #include #include @@ -33,11 +33,7 @@ protected: virtual void SetBrightnessImpl(uint8_t brightness) override { uint8_t i2c_address = 0x45; // 7-bit address -#if CONFIG_LCD_TYPE_800_1280_10_1_INCH - uint8_t reg = 0x86; -#elif CONFIG_LCD_TYPE_800_1280_10_1_INCH_A uint8_t reg = 0x96; -#endif uint8_t data[2] = {reg, brightness}; i2c_master_dev_handle_t dev_handle; @@ -105,6 +101,23 @@ private: } void InitializeLCD() { + uint8_t chip_addr = 0x45; + uint8_t write_cmds[4][2] = {{0x95, 0x11}, {0x95, 0x17}, {0x96, 0x00}, {0x96, 0xFF}}; + i2c_device_config_t i2c_dev_conf = { + .dev_addr_length = I2C_ADDR_BIT_LEN_7, + .device_address = chip_addr, + .scl_speed_hz = 100000, + }; + i2c_master_dev_handle_t dev_handle = NULL; + if (i2c_master_bus_add_device(codec_i2c_bus_, &i2c_dev_conf, &dev_handle) == ESP_OK) + { + for (uint8_t i = 0; i < 4; i++) + { + i2c_master_transmit(dev_handle, write_cmds[i], 2, 50); + } + i2c_master_bus_rm_device(dev_handle); + } + bsp_enable_dsi_phy_power(); esp_lcd_panel_io_handle_t io = NULL; esp_lcd_panel_handle_t disp_panel = NULL; @@ -143,15 +156,13 @@ private: }; jd9365_vendor_config_t vendor_config = { - + .init_cmds = lcd_init_cmds, + .init_cmds_size = sizeof(lcd_init_cmds) / sizeof(lcd_init_cmds[0]), .mipi_config = { .dsi_bus = mipi_dsi_bus, .dpi_config = &dpi_config, .lane_num = 2, }, - .flags = { - .use_mipi_interface = 1, - }, }; const esp_lcd_panel_dev_config_t lcd_dev_config = { diff --git a/main/boards/waveshare/esp32-p4-nano/lcd_init_cmds.h b/main/boards/waveshare/esp32-p4-nano/lcd_init_cmds.h new file mode 100644 index 0000000..b383ffb --- /dev/null +++ b/main/boards/waveshare/esp32-p4-nano/lcd_init_cmds.h @@ -0,0 +1,224 @@ +static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = { + {0xE0, (uint8_t[]){0x00}, 1, 0}, + {0xE1, (uint8_t[]){0x93}, 1, 0}, + {0xE2, (uint8_t[]){0x65}, 1, 0}, + {0xE3, (uint8_t[]){0xF8}, 1, 0}, + {0x80, (uint8_t[]){0x01}, 1, 0}, + + {0xE0, (uint8_t[]){0x01}, 1, 0}, + {0x00, (uint8_t[]){0x00}, 1, 0}, + {0x01, (uint8_t[]){0x38}, 1, 0}, + {0x03, (uint8_t[]){0x10}, 1, 0}, + {0x04, (uint8_t[]){0x38}, 1, 0}, + + {0x0C, (uint8_t[]){0x74}, 1, 0}, + + {0x17, (uint8_t[]){0x00}, 1, 0}, + {0x18, (uint8_t[]){0xAF}, 1, 0}, + {0x19, (uint8_t[]){0x00}, 1, 0}, + {0x1A, (uint8_t[]){0x00}, 1, 0}, + {0x1B, (uint8_t[]){0xAF}, 1, 0}, + {0x1C, (uint8_t[]){0x00}, 1, 0}, + + {0x35, (uint8_t[]){0x26}, 1, 0}, + + {0x37, (uint8_t[]){0x09}, 1, 0}, + + {0x38, (uint8_t[]){0x04}, 1, 0}, + {0x39, (uint8_t[]){0x00}, 1, 0}, + {0x3A, (uint8_t[]){0x01}, 1, 0}, + {0x3C, (uint8_t[]){0x78}, 1, 0}, + {0x3D, (uint8_t[]){0xFF}, 1, 0}, + {0x3E, (uint8_t[]){0xFF}, 1, 0}, + {0x3F, (uint8_t[]){0x7F}, 1, 0}, + + {0x40, (uint8_t[]){0x06}, 1, 0}, + {0x41, (uint8_t[]){0xA0}, 1, 0}, + {0x42, (uint8_t[]){0x81}, 1, 0}, + {0x43, (uint8_t[]){0x1E}, 1, 0}, + {0x44, (uint8_t[]){0x0D}, 1, 0}, + {0x45, (uint8_t[]){0x28}, 1, 0}, + //{0x4A, (uint8_t[]){0x35}, 1, 0},//bist + + {0x55, (uint8_t[]){0x02}, 1, 0}, + {0x57, (uint8_t[]){0x69}, 1, 0}, + {0x59, (uint8_t[]){0x0A}, 1, 0}, + {0x5A, (uint8_t[]){0x2A}, 1, 0}, + {0x5B, (uint8_t[]){0x17}, 1, 0}, + + {0x5D, (uint8_t[]){0x7F}, 1, 0}, + {0x5E, (uint8_t[]){0x6A}, 1, 0}, + {0x5F, (uint8_t[]){0x5B}, 1, 0}, + {0x60, (uint8_t[]){0x4F}, 1, 0}, + {0x61, (uint8_t[]){0x4A}, 1, 0}, + {0x62, (uint8_t[]){0x3D}, 1, 0}, + {0x63, (uint8_t[]){0x41}, 1, 0}, + {0x64, (uint8_t[]){0x2A}, 1, 0}, + {0x65, (uint8_t[]){0x44}, 1, 0}, + {0x66, (uint8_t[]){0x43}, 1, 0}, + {0x67, (uint8_t[]){0x44}, 1, 0}, + {0x68, (uint8_t[]){0x62}, 1, 0}, + {0x69, (uint8_t[]){0x52}, 1, 0}, + {0x6A, (uint8_t[]){0x59}, 1, 0}, + {0x6B, (uint8_t[]){0x4C}, 1, 0}, + {0x6C, (uint8_t[]){0x48}, 1, 0}, + {0x6D, (uint8_t[]){0x3A}, 1, 0}, + {0x6E, (uint8_t[]){0x26}, 1, 0}, + {0x6F, (uint8_t[]){0x00}, 1, 0}, + {0x70, (uint8_t[]){0x7F}, 1, 0}, + {0x71, (uint8_t[]){0x6A}, 1, 0}, + {0x72, (uint8_t[]){0x5B}, 1, 0}, + {0x73, (uint8_t[]){0x4F}, 1, 0}, + {0x74, (uint8_t[]){0x4A}, 1, 0}, + {0x75, (uint8_t[]){0x3D}, 1, 0}, + {0x76, (uint8_t[]){0x41}, 1, 0}, + {0x77, (uint8_t[]){0x2A}, 1, 0}, + {0x78, (uint8_t[]){0x44}, 1, 0}, + {0x79, (uint8_t[]){0x43}, 1, 0}, + {0x7A, (uint8_t[]){0x44}, 1, 0}, + {0x7B, (uint8_t[]){0x62}, 1, 0}, + {0x7C, (uint8_t[]){0x52}, 1, 0}, + {0x7D, (uint8_t[]){0x59}, 1, 0}, + {0x7E, (uint8_t[]){0x4C}, 1, 0}, + {0x7F, (uint8_t[]){0x48}, 1, 0}, + {0x80, (uint8_t[]){0x3A}, 1, 0}, + {0x81, (uint8_t[]){0x26}, 1, 0}, + {0x82, (uint8_t[]){0x00}, 1, 0}, + + {0xE0, (uint8_t[]){0x02}, 1, 0}, + {0x00, (uint8_t[]){0x42}, 1, 0}, + {0x01, (uint8_t[]){0x42}, 1, 0}, + {0x02, (uint8_t[]){0x40}, 1, 0}, + {0x03, (uint8_t[]){0x40}, 1, 0}, + {0x04, (uint8_t[]){0x5E}, 1, 0}, + {0x05, (uint8_t[]){0x5E}, 1, 0}, + {0x06, (uint8_t[]){0x5F}, 1, 0}, + {0x07, (uint8_t[]){0x5F}, 1, 0}, + {0x08, (uint8_t[]){0x5F}, 1, 0}, + {0x09, (uint8_t[]){0x57}, 1, 0}, + {0x0A, (uint8_t[]){0x57}, 1, 0}, + {0x0B, (uint8_t[]){0x77}, 1, 0}, + {0x0C, (uint8_t[]){0x77}, 1, 0}, + {0x0D, (uint8_t[]){0x47}, 1, 0}, + {0x0E, (uint8_t[]){0x47}, 1, 0}, + {0x0F, (uint8_t[]){0x45}, 1, 0}, + {0x10, (uint8_t[]){0x45}, 1, 0}, + {0x11, (uint8_t[]){0x4B}, 1, 0}, + {0x12, (uint8_t[]){0x4B}, 1, 0}, + {0x13, (uint8_t[]){0x49}, 1, 0}, + {0x14, (uint8_t[]){0x49}, 1, 0}, + {0x15, (uint8_t[]){0x5F}, 1, 0}, + + {0x16, (uint8_t[]){0x41}, 1, 0}, + {0x17, (uint8_t[]){0x41}, 1, 0}, + {0x18, (uint8_t[]){0x40}, 1, 0}, + {0x19, (uint8_t[]){0x40}, 1, 0}, + {0x1A, (uint8_t[]){0x5E}, 1, 0}, + {0x1B, (uint8_t[]){0x5E}, 1, 0}, + {0x1C, (uint8_t[]){0x5F}, 1, 0}, + {0x1D, (uint8_t[]){0x5F}, 1, 0}, + {0x1E, (uint8_t[]){0x5F}, 1, 0}, + {0x1F, (uint8_t[]){0x57}, 1, 0}, + {0x20, (uint8_t[]){0x57}, 1, 0}, + {0x21, (uint8_t[]){0x77}, 1, 0}, + {0x22, (uint8_t[]){0x77}, 1, 0}, + {0x23, (uint8_t[]){0x46}, 1, 0}, + {0x24, (uint8_t[]){0x46}, 1, 0}, + {0x25, (uint8_t[]){0x44}, 1, 0}, + {0x26, (uint8_t[]){0x44}, 1, 0}, + {0x27, (uint8_t[]){0x4A}, 1, 0}, + {0x28, (uint8_t[]){0x4A}, 1, 0}, + {0x29, (uint8_t[]){0x48}, 1, 0}, + {0x2A, (uint8_t[]){0x48}, 1, 0}, + {0x2B, (uint8_t[]){0x5F}, 1, 0}, + + {0x2C, (uint8_t[]){0x01}, 1, 0}, + {0x2D, (uint8_t[]){0x01}, 1, 0}, + {0x2E, (uint8_t[]){0x00}, 1, 0}, + {0x2F, (uint8_t[]){0x00}, 1, 0}, + {0x30, (uint8_t[]){0x1F}, 1, 0}, + {0x31, (uint8_t[]){0x1F}, 1, 0}, + {0x32, (uint8_t[]){0x1E}, 1, 0}, + {0x33, (uint8_t[]){0x1E}, 1, 0}, + {0x34, (uint8_t[]){0x1F}, 1, 0}, + {0x35, (uint8_t[]){0x17}, 1, 0}, + {0x36, (uint8_t[]){0x17}, 1, 0}, + {0x37, (uint8_t[]){0x37}, 1, 0}, + {0x38, (uint8_t[]){0x37}, 1, 0}, + {0x39, (uint8_t[]){0x08}, 1, 0}, + {0x3A, (uint8_t[]){0x08}, 1, 0}, + {0x3B, (uint8_t[]){0x0A}, 1, 0}, + {0x3C, (uint8_t[]){0x0A}, 1, 0}, + {0x3D, (uint8_t[]){0x04}, 1, 0}, + {0x3E, (uint8_t[]){0x04}, 1, 0}, + {0x3F, (uint8_t[]){0x06}, 1, 0}, + {0x40, (uint8_t[]){0x06}, 1, 0}, + {0x41, (uint8_t[]){0x1F}, 1, 0}, + + {0x42, (uint8_t[]){0x02}, 1, 0}, + {0x43, (uint8_t[]){0x02}, 1, 0}, + {0x44, (uint8_t[]){0x00}, 1, 0}, + {0x45, (uint8_t[]){0x00}, 1, 0}, + {0x46, (uint8_t[]){0x1F}, 1, 0}, + {0x47, (uint8_t[]){0x1F}, 1, 0}, + {0x48, (uint8_t[]){0x1E}, 1, 0}, + {0x49, (uint8_t[]){0x1E}, 1, 0}, + {0x4A, (uint8_t[]){0x1F}, 1, 0}, + {0x4B, (uint8_t[]){0x17}, 1, 0}, + {0x4C, (uint8_t[]){0x17}, 1, 0}, + {0x4D, (uint8_t[]){0x37}, 1, 0}, + {0x4E, (uint8_t[]){0x37}, 1, 0}, + {0x4F, (uint8_t[]){0x09}, 1, 0}, + {0x50, (uint8_t[]){0x09}, 1, 0}, + {0x51, (uint8_t[]){0x0B}, 1, 0}, + {0x52, (uint8_t[]){0x0B}, 1, 0}, + {0x53, (uint8_t[]){0x05}, 1, 0}, + {0x54, (uint8_t[]){0x05}, 1, 0}, + {0x55, (uint8_t[]){0x07}, 1, 0}, + {0x56, (uint8_t[]){0x07}, 1, 0}, + {0x57, (uint8_t[]){0x1F}, 1, 0}, + + {0x58, (uint8_t[]){0x40}, 1, 0}, + {0x5B, (uint8_t[]){0x30}, 1, 0}, + {0x5C, (uint8_t[]){0x00}, 1, 0}, + {0x5D, (uint8_t[]){0x34}, 1, 0}, + {0x5E, (uint8_t[]){0x05}, 1, 0}, + {0x5F, (uint8_t[]){0x02}, 1, 0}, + {0x63, (uint8_t[]){0x00}, 1, 0}, + {0x64, (uint8_t[]){0x6A}, 1, 0}, + {0x67, (uint8_t[]){0x73}, 1, 0}, + {0x68, (uint8_t[]){0x07}, 1, 0}, + {0x69, (uint8_t[]){0x08}, 1, 0}, + {0x6A, (uint8_t[]){0x6A}, 1, 0}, + {0x6B, (uint8_t[]){0x08}, 1, 0}, + + {0x6C, (uint8_t[]){0x00}, 1, 0}, + {0x6D, (uint8_t[]){0x00}, 1, 0}, + {0x6E, (uint8_t[]){0x00}, 1, 0}, + {0x6F, (uint8_t[]){0x88}, 1, 0}, + + {0x75, (uint8_t[]){0xFF}, 1, 0}, + {0x77, (uint8_t[]){0xDD}, 1, 0}, + {0x78, (uint8_t[]){0x2C}, 1, 0}, + {0x79, (uint8_t[]){0x15}, 1, 0}, + {0x7A, (uint8_t[]){0x17}, 1, 0}, + {0x7D, (uint8_t[]){0x14}, 1, 0}, + {0x7E, (uint8_t[]){0x82}, 1, 0}, + + {0xE0, (uint8_t[]){0x04}, 1, 0}, + {0x00, (uint8_t[]){0x0E}, 1, 0}, + {0x02, (uint8_t[]){0xB3}, 1, 0}, + {0x09, (uint8_t[]){0x61}, 1, 0}, + {0x0E, (uint8_t[]){0x48}, 1, 0}, + {0x37, (uint8_t[]){0x58}, 1, 0}, // 全志 + {0x2B, (uint8_t[]){0x0F}, 1, 0}, // 全志 + + {0xE0, (uint8_t[]){0x00}, 1, 0}, + + {0xE6, (uint8_t[]){0x02}, 1, 0}, + {0xE7, (uint8_t[]){0x0C}, 1, 0}, + + {0x11, (uint8_t[]){0x00}, 1, 120}, + + {0x29, (uint8_t[]){0x00}, 1, 20}, +}; \ No newline at end of file diff --git a/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/README.md b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/README.md new file mode 100644 index 0000000..5a42caa --- /dev/null +++ b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/README.md @@ -0,0 +1,17 @@ +# Waveshare ESP32-P4-WIFI6-Touch-LCD + + +**ESP32-P4-WIFI6-Touch-LCD** series is the ESP32-P4 +ESP32-C6 screen development board launched by waveshare + +## Configuration + +Configuration in `menuconfig`. + +Selection Board Type `Xiaozhi Assistant --> Board Type` +- Waveshare ESP32-P4-WIFI6-Touch-LCD-4B +- Waveshare ESP32-P4-WIFI6-Touch-LCD-7B +- Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C +- Waveshare ESP32-P4-WIFI6-Touch-LCD-4C +- Waveshare ESP32-P4-WIFI6-Touch-LCD-7 +- Waveshare ESP32-P4-WIFI6-Touch-LCD-8 +- Waveshare ESP32-P4-WIFI6-Touch-LCD-10.1 diff --git a/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.h b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.h new file mode 100644 index 0000000..a75e523 --- /dev/null +++ b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.h @@ -0,0 +1,91 @@ +#ifndef _BOARD_CONFIG_H_ +#define _BOARD_CONFIG_H_ + +#include + +#define AUDIO_INPUT_SAMPLE_RATE 24000 +#define AUDIO_OUTPUT_SAMPLE_RATE 24000 + +#define AUDIO_INPUT_REFERENCE true + +#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_13 +#define AUDIO_I2S_GPIO_WS GPIO_NUM_10 +#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_12 +#define AUDIO_I2S_GPIO_DIN GPIO_NUM_11 +#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_9 + +#define AUDIO_CODEC_PA_PIN GPIO_NUM_53 +#define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_7 +#define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_8 +#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR +#define AUDIO_CODEC_ES7210_ADDR ES7210_CODEC_DEFAULT_ADDR + +#define BOOT_BUTTON_GPIO GPIO_NUM_35 + +#if CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B +#define DISPLAY_WIDTH (720) +#define DISPLAY_HEIGHT (720) +#define PIN_NUM_LCD_RST GPIO_NUM_27 +#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 +#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true +#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (480) +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B +#define DISPLAY_WIDTH (1024) +#define DISPLAY_HEIGHT (600) +#define PIN_NUM_LCD_RST GPIO_NUM_33 +#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_32 +#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true +#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (900) +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C +#define DISPLAY_WIDTH (800) +#define DISPLAY_HEIGHT (800) +#define PIN_NUM_LCD_RST GPIO_NUM_27 +#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 +#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true +#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (1500) +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C +#define DISPLAY_WIDTH (720) +#define DISPLAY_HEIGHT (720) +#define PIN_NUM_LCD_RST GPIO_NUM_27 +#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 +#define DISPLAY_BACKLIGHT_OUTPUT_INVERT true +#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (1500) +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7 +#define DISPLAY_WIDTH (720) +#define DISPLAY_HEIGHT (1280) +#define PIN_NUM_LCD_RST GPIO_NUM_27 +#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 +#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false +#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (1000) +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8 +#define DISPLAY_WIDTH (800) +#define DISPLAY_HEIGHT (1280) +#define PIN_NUM_LCD_RST GPIO_NUM_27 +#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 +#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false +#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (1500) +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1 +#define DISPLAY_WIDTH (800) +#define DISPLAY_HEIGHT (1280) +#define PIN_NUM_LCD_RST GPIO_NUM_27 +#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_26 +#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false +#define LCD_MIPI_DSI_LANE_BITRATE_MBPS (1500) +#endif + +#define LCD_BIT_PER_PIXEL (16) +#define DELAY_TIME_MS (3000) +#define LCD_MIPI_DSI_LANE_NUM (2) // 2 data lanes + +#define MIPI_DSI_PHY_PWR_LDO_CHAN (3) +#define MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV (2500) + +#define DISPLAY_SWAP_XY false +#define DISPLAY_MIRROR_X false +#define DISPLAY_MIRROR_Y false + +#define DISPLAY_OFFSET_X 0 +#define DISPLAY_OFFSET_Y 0 + + +#endif // _BOARD_CONFIG_H_ diff --git a/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.json b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.json new file mode 100644 index 0000000..750fe86 --- /dev/null +++ b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/config.json @@ -0,0 +1,104 @@ +{ + "manufacturer": "waveshare", + "target": "esp32p4", + "builds": [ + { + "name": "esp32-p4-wifi6-touch-lcd-4b", + "sdkconfig_append": [ + "CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0", + "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", + "CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B=y", + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y", + "CONFIG_CAMERA_OV5647=y", + "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", + "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", + "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" + ] + }, + { + "name": "esp32-p4-wifi6-touch-lcd-7b", + "sdkconfig_append": [ + "CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0", + "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", + "CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B=y", + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y", + "CONFIG_CAMERA_OV5647=y", + "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", + "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", + "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" + ] + }, + { + "name": "esp32-p4-wifi6-touch-lcd-3.4c", + "sdkconfig_append": [ + "CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0", + "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", + "CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C=y", + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y", + "CONFIG_CAMERA_OV5647=y", + "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", + "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", + "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" + ] + }, + { + "name": "esp32-p4-wifi6-touch-lcd-4c", + "sdkconfig_append": [ + "CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0", + "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", + "CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C=y", + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y", + "CONFIG_CAMERA_OV5647=y", + "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", + "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", + "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" + ] + }, + { + "name": "esp32-p4-wifi6-touch-lcd-7", + "sdkconfig_append": [ + "CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0", + "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", + "CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7=y", + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y", + "CONFIG_CAMERA_OV5647=y", + "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", + "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", + "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" + ] + }, + { + "name": "esp32-p4-wifi6-touch-lcd-8", + "sdkconfig_append": [ + "CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0", + "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", + "CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8=y", + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y", + "CONFIG_CAMERA_OV5647=y", + "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", + "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", + "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" + ] + }, + { + "name": "esp32-p4-wifi6-touch-lcd-10.1", + "sdkconfig_append": [ + "CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=0", + "CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH=y", + "CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1=y", + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y", + "CONFIG_CAMERA_OV5647=y", + "CONFIG_CAMERA_OV5647_AUTO_DETECT_MIPI_INTERFACE_SENSOR=y", + "CONFIG_CAMERA_OV5647_MIPI_RAW8_800X800_50FPS=y", + "CONFIG_XIAOZHI_ENABLE_CAMERA_ENDIANNESS_SWAP=y" + ] + } + ] +} \ No newline at end of file diff --git a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/esp32-p4-wifi6-touch-lcd-7b.cc b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/esp32-p4-wifi6-touch-lcd.cc similarity index 54% rename from main/boards/waveshare-p4-wifi6-touch-lcd-7b/esp32-p4-wifi6-touch-lcd-7b.cc rename to main/boards/waveshare/esp32-p4-wifi6-touch-lcd/esp32-p4-wifi6-touch-lcd.cc index 84227e1..3993585 100644 --- a/main/boards/waveshare-p4-wifi6-touch-lcd-7b/esp32-p4-wifi6-touch-lcd-7b.cc +++ b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/esp32-p4-wifi6-touch-lcd.cc @@ -4,7 +4,6 @@ #include "display/lcd_display.h" // #include "display/no_display.h" #include "button.h" -#include "config.h" #include "esp_video.h" #include "esp_video_init.h" @@ -14,21 +13,34 @@ #include "esp_lcd_mipi_dsi.h" #include "esp_ldo_regulator.h" +#if CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B +#include "esp_lcd_st7703.h" +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B #include "esp_lcd_ek79007.h" +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C || CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C \ + || CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8 || CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1 +#include "esp_lcd_jd9365.h" +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7 +#include "esp_lcd_ili9881c.h" +#endif + +#include "config.h" +#include "lcd_init_cmds.h" #include #include #include #include "esp_lcd_touch_gt911.h" -#define TAG "WaveshareEsp32p47b" +#define TAG "WaveshareEsp32p4" -class WaveshareEsp32p47b : public WifiBoard { +class WaveshareEsp32p4 : public WifiBoard { private: i2c_master_bus_handle_t i2c_bus_; Button boot_button_; LcdDisplay *display_; EspVideo* camera_ = nullptr; + esp_err_t i2c_device_probe(uint8_t addr) { return i2c_master_probe(i2c_bus_, addr, 100); } @@ -74,16 +86,58 @@ private: esp_lcd_dsi_bus_config_t bus_config = { .bus_id = 0, .num_data_lanes = 2, - .lane_bit_rate_mbps = 900, + .lane_bit_rate_mbps = LCD_MIPI_DSI_LANE_BITRATE_MBPS, }; esp_lcd_new_dsi_bus(&bus_config, &mipi_dsi_bus); ESP_LOGI(TAG, "Install MIPI DSI LCD control panel"); // we use DBI interface to send LCD commands and parameters - esp_lcd_dbi_io_config_t dbi_config = EK79007_PANEL_IO_DBI_CONFIG(); + esp_lcd_dbi_io_config_t dbi_config = { + .virtual_channel = 0, + .lcd_cmd_bits = 8, + .lcd_param_bits = 8, + }; esp_lcd_new_panel_io_dbi(mipi_dsi_bus, &dbi_config, &io); - +#if CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B esp_lcd_dpi_panel_config_t dpi_config = { + .dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT, + .dpi_clock_freq_mhz = 46, + .pixel_format = LCD_COLOR_PIXEL_FORMAT_RGB565, + .num_fbs = 1, + .video_timing = { + .h_size = 720, + .v_size = 720, + .hsync_pulse_width = 20, + .hsync_back_porch = 80, + .hsync_front_porch = 80, + .vsync_pulse_width = 4, + .vsync_back_porch = 12, + .vsync_front_porch = 30, + }, + .flags = { + .use_dma2d = true, + }, + }; + st7703_vendor_config_t vendor_config = { + + .mipi_config = { + .dsi_bus = mipi_dsi_bus, + .dpi_config = &dpi_config, + }, + .flags = { + .use_mipi_interface = 1, + }, + }; + + const esp_lcd_panel_dev_config_t lcd_dev_config = { + .reset_gpio_num = PIN_NUM_LCD_RST, + .rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB, + .bits_per_pixel = 16, + .vendor_config = &vendor_config, + }; + esp_lcd_new_panel_st7703(io, &lcd_dev_config, &disp_panel); +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B + esp_lcd_dpi_panel_config_t dpi_config = { .dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT, .dpi_clock_freq_mhz = 52, .pixel_format = LCD_COLOR_PIXEL_FORMAT_RGB565, @@ -116,19 +170,123 @@ private: .vendor_config = &vendor_config, }; esp_lcd_new_panel_ek79007(io, &lcd_dev_config, &disp_panel); +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C || CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C + esp_lcd_dpi_panel_config_t dpi_config = { + .dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT, + .dpi_clock_freq_mhz = 46, + .pixel_format = LCD_COLOR_PIXEL_FORMAT_RGB565, + .num_fbs = 1, + .video_timing = { + .h_size = DISPLAY_WIDTH, + .v_size = DISPLAY_HEIGHT, + .hsync_pulse_width = 20, + .hsync_back_porch = 20, + .hsync_front_porch = 40, + .vsync_pulse_width = 4, + .vsync_back_porch = 12, + .vsync_front_porch = 24, + }, + .flags = { + .use_dma2d = true, + }, + }; + jd9365_vendor_config_t vendor_config = { + .init_cmds = lcd_init_cmds, + .init_cmds_size = sizeof(lcd_init_cmds) / sizeof(lcd_init_cmds[0]), + .mipi_config = { + .dsi_bus = mipi_dsi_bus, + .dpi_config = &dpi_config, + .lane_num = 2, + }, + }; + + const esp_lcd_panel_dev_config_t lcd_dev_config = { + .reset_gpio_num = PIN_NUM_LCD_RST, + .rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB, + .bits_per_pixel = 16, + .vendor_config = &vendor_config, + }; + esp_lcd_new_panel_jd9365(io, &lcd_dev_config, &disp_panel); +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8 || CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1 + esp_lcd_dpi_panel_config_t dpi_config = { + .dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT, + .dpi_clock_freq_mhz = 52, + .pixel_format = LCD_COLOR_PIXEL_FORMAT_RGB565, + .num_fbs = 1, + .video_timing = { + .h_size = DISPLAY_WIDTH, + .v_size = DISPLAY_HEIGHT, + .hsync_pulse_width = 20, + .hsync_back_porch = 20, + .hsync_front_porch = 40, + .vsync_pulse_width = 4, + .vsync_back_porch = 10, + .vsync_front_porch = 30, + }, + .flags = { + .use_dma2d = true, + }, + }; + jd9365_vendor_config_t vendor_config = { + .init_cmds = lcd_init_cmds, + .init_cmds_size = sizeof(lcd_init_cmds) / sizeof(lcd_init_cmds[0]), + .mipi_config = { + .dsi_bus = mipi_dsi_bus, + .dpi_config = &dpi_config, + .lane_num = 2, + }, + }; + + const esp_lcd_panel_dev_config_t lcd_dev_config = { + .reset_gpio_num = PIN_NUM_LCD_RST, + .rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB, + .bits_per_pixel = 16, + .vendor_config = &vendor_config, + }; + esp_lcd_new_panel_jd9365(io, &lcd_dev_config, &disp_panel); +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7 + esp_lcd_dpi_panel_config_t dpi_config = { + .dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT, + .dpi_clock_freq_mhz = 80, + .pixel_format = LCD_COLOR_PIXEL_FORMAT_RGB565, + .num_fbs = 1, + .video_timing = { + .h_size = DISPLAY_WIDTH, + .v_size = DISPLAY_HEIGHT, + .hsync_pulse_width = 50, + .hsync_back_porch = 239, + .hsync_front_porch = 33, + .vsync_pulse_width = 30, + .vsync_back_porch = 20, + .vsync_front_porch = 2, + }, + .flags = { + .use_dma2d = true, + }, + }; + ili9881c_vendor_config_t vendor_config = { + .init_cmds = lcd_init_cmds, + .init_cmds_size = sizeof(lcd_init_cmds) / sizeof(lcd_init_cmds[0]), + .mipi_config = { + .dsi_bus = mipi_dsi_bus, + .dpi_config = &dpi_config, + .lane_num = 2, + }, + }; + + const esp_lcd_panel_dev_config_t lcd_dev_config = { + .reset_gpio_num = PIN_NUM_LCD_RST, + .rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB, + .bits_per_pixel = 16, + .vendor_config = &vendor_config, + }; + esp_lcd_new_panel_ili9881c(io, &lcd_dev_config, &disp_panel); +#endif esp_lcd_panel_reset(disp_panel); esp_lcd_panel_init(disp_panel); display_ = new MipiLcdDisplay(io, disp_panel, DISPLAY_WIDTH, DISPLAY_HEIGHT, DISPLAY_OFFSET_X, DISPLAY_OFFSET_Y, DISPLAY_MIRROR_X, DISPLAY_MIRROR_Y, DISPLAY_SWAP_XY); - - lv_display_t *disp = lv_display_get_default(); - if (disp) { - lv_disp_set_rotation(disp, LV_DISPLAY_ROTATION_180); - ESP_LOGI(TAG, "Display rotated 180 degrees"); - } else { - ESP_LOGE(TAG, "Failed to get default display for rotation"); - } } void InitializeTouch() { @@ -204,7 +362,7 @@ private: } public: - WaveshareEsp32p47b() : + WaveshareEsp32p4() : boot_button_(BOOT_BUTTON_GPIO) { InitializeCodecI2c(); InitializeLCD(); @@ -246,4 +404,4 @@ public: }; -DECLARE_BOARD(WaveshareEsp32p47b); +DECLARE_BOARD(WaveshareEsp32p4); diff --git a/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/lcd_init_cmds.h b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/lcd_init_cmds.h new file mode 100644 index 0000000..ae01f27 --- /dev/null +++ b/main/boards/waveshare/esp32-p4-wifi6-touch-lcd/lcd_init_cmds.h @@ -0,0 +1,1073 @@ +#ifdef CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4B +// Leave it blank +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7B +// Leave it blank +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_3_4C +static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = { + {0xE0, (uint8_t[]){0x00}, 1, 0}, + + {0xE1, (uint8_t[]){0x93}, 1, 0}, + {0xE2, (uint8_t[]){0x65}, 1, 0}, + {0xE3, (uint8_t[]){0xF8}, 1, 0}, + {0x80, (uint8_t[]){0x01}, 1, 0}, + + {0xE0, (uint8_t[]){0x01}, 1, 0}, + + {0x00, (uint8_t[]){0x00}, 1, 0}, + {0x01, (uint8_t[]){0x41}, 1, 0}, + {0x03, (uint8_t[]){0x10}, 1, 0}, + {0x04, (uint8_t[]){0x44}, 1, 0}, + + {0x17, (uint8_t[]){0x00}, 1, 0}, + {0x18, (uint8_t[]){0xD0}, 1, 0}, + {0x19, (uint8_t[]){0x00}, 1, 0}, + {0x1A, (uint8_t[]){0x00}, 1, 0}, + {0x1B, (uint8_t[]){0xD0}, 1, 0}, + {0x1C, (uint8_t[]){0x00}, 1, 0}, + + {0x24, (uint8_t[]){0xFE}, 1, 0}, + {0x35, (uint8_t[]){0x26}, 1, 0}, + + {0x37, (uint8_t[]){0x09}, 1, 0}, + + {0x38, (uint8_t[]){0x04}, 1, 0}, + {0x39, (uint8_t[]){0x08}, 1, 0}, + {0x3A, (uint8_t[]){0x0A}, 1, 0}, + {0x3C, (uint8_t[]){0x78}, 1, 0}, + {0x3D, (uint8_t[]){0xFF}, 1, 0}, + {0x3E, (uint8_t[]){0xFF}, 1, 0}, + {0x3F, (uint8_t[]){0xFF}, 1, 0}, + + {0x40, (uint8_t[]){0x00}, 1, 0}, + {0x41, (uint8_t[]){0x64}, 1, 0}, + {0x42, (uint8_t[]){0xC7}, 1, 0}, + {0x43, (uint8_t[]){0x18}, 1, 0}, + {0x44, (uint8_t[]){0x0B}, 1, 0}, + {0x45, (uint8_t[]){0x14}, 1, 0}, + + {0x55, (uint8_t[]){0x02}, 1, 0}, + {0x57, (uint8_t[]){0x49}, 1, 0}, + {0x59, (uint8_t[]){0x0A}, 1, 0}, + {0x5A, (uint8_t[]){0x1B}, 1, 0}, + {0x5B, (uint8_t[]){0x19}, 1, 0}, + + {0x5D, (uint8_t[]){0x7F}, 1, 0}, + {0x5E, (uint8_t[]){0x56}, 1, 0}, + {0x5F, (uint8_t[]){0x43}, 1, 0}, + {0x60, (uint8_t[]){0x37}, 1, 0}, + {0x61, (uint8_t[]){0x33}, 1, 0}, + {0x62, (uint8_t[]){0x25}, 1, 0}, + {0x63, (uint8_t[]){0x2A}, 1, 0}, + {0x64, (uint8_t[]){0x16}, 1, 0}, + {0x65, (uint8_t[]){0x30}, 1, 0}, + {0x66, (uint8_t[]){0x2F}, 1, 0}, + {0x67, (uint8_t[]){0x32}, 1, 0}, + {0x68, (uint8_t[]){0x53}, 1, 0}, + {0x69, (uint8_t[]){0x43}, 1, 0}, + {0x6A, (uint8_t[]){0x4C}, 1, 0}, + {0x6B, (uint8_t[]){0x40}, 1, 0}, + {0x6C, (uint8_t[]){0x3D}, 1, 0}, + {0x6D, (uint8_t[]){0x31}, 1, 0}, + {0x6E, (uint8_t[]){0x20}, 1, 0}, + {0x6F, (uint8_t[]){0x0F}, 1, 0}, + + {0x70, (uint8_t[]){0x7F}, 1, 0}, + {0x71, (uint8_t[]){0x56}, 1, 0}, + {0x72, (uint8_t[]){0x43}, 1, 0}, + {0x73, (uint8_t[]){0x37}, 1, 0}, + {0x74, (uint8_t[]){0x33}, 1, 0}, + {0x75, (uint8_t[]){0x25}, 1, 0}, + {0x76, (uint8_t[]){0x2A}, 1, 0}, + {0x77, (uint8_t[]){0x16}, 1, 0}, + {0x78, (uint8_t[]){0x30}, 1, 0}, + {0x79, (uint8_t[]){0x2F}, 1, 0}, + {0x7A, (uint8_t[]){0x32}, 1, 0}, + {0x7B, (uint8_t[]){0x53}, 1, 0}, + {0x7C, (uint8_t[]){0x43}, 1, 0}, + {0x7D, (uint8_t[]){0x4C}, 1, 0}, + {0x7E, (uint8_t[]){0x40}, 1, 0}, + {0x7F, (uint8_t[]){0x3D}, 1, 0}, + {0x80, (uint8_t[]){0x31}, 1, 0}, + {0x81, (uint8_t[]){0x20}, 1, 0}, + {0x82, (uint8_t[]){0x0F}, 1, 0}, + + {0xE0, (uint8_t[]){0x02}, 1, 0}, + {0x00, (uint8_t[]){0x5F}, 1, 0}, + {0x01, (uint8_t[]){0x5F}, 1, 0}, + {0x02, (uint8_t[]){0x5E}, 1, 0}, + {0x03, (uint8_t[]){0x5E}, 1, 0}, + {0x04, (uint8_t[]){0x50}, 1, 0}, + {0x05, (uint8_t[]){0x48}, 1, 0}, + {0x06, (uint8_t[]){0x48}, 1, 0}, + {0x07, (uint8_t[]){0x4A}, 1, 0}, + {0x08, (uint8_t[]){0x4A}, 1, 0}, + {0x09, (uint8_t[]){0x44}, 1, 0}, + {0x0A, (uint8_t[]){0x44}, 1, 0}, + {0x0B, (uint8_t[]){0x46}, 1, 0}, + {0x0C, (uint8_t[]){0x46}, 1, 0}, + {0x0D, (uint8_t[]){0x5F}, 1, 0}, + {0x0E, (uint8_t[]){0x5F}, 1, 0}, + {0x0F, (uint8_t[]){0x57}, 1, 0}, + {0x10, (uint8_t[]){0x57}, 1, 0}, + {0x11, (uint8_t[]){0x77}, 1, 0}, + {0x12, (uint8_t[]){0x77}, 1, 0}, + {0x13, (uint8_t[]){0x40}, 1, 0}, + {0x14, (uint8_t[]){0x42}, 1, 0}, + {0x15, (uint8_t[]){0x5F}, 1, 0}, + + {0x16, (uint8_t[]){0x5F}, 1, 0}, + {0x17, (uint8_t[]){0x5F}, 1, 0}, + {0x18, (uint8_t[]){0x5E}, 1, 0}, + {0x19, (uint8_t[]){0x5E}, 1, 0}, + {0x1A, (uint8_t[]){0x50}, 1, 0}, + {0x1B, (uint8_t[]){0x49}, 1, 0}, + {0x1C, (uint8_t[]){0x49}, 1, 0}, + {0x1D, (uint8_t[]){0x4B}, 1, 0}, + {0x1E, (uint8_t[]){0x4B}, 1, 0}, + {0x1F, (uint8_t[]){0x45}, 1, 0}, + {0x20, (uint8_t[]){0x45}, 1, 0}, + {0x21, (uint8_t[]){0x47}, 1, 0}, + {0x22, (uint8_t[]){0x47}, 1, 0}, + {0x23, (uint8_t[]){0x5F}, 1, 0}, + {0x24, (uint8_t[]){0x5F}, 1, 0}, + {0x25, (uint8_t[]){0x57}, 1, 0}, + {0x26, (uint8_t[]){0x57}, 1, 0}, + {0x27, (uint8_t[]){0x77}, 1, 0}, + {0x28, (uint8_t[]){0x77}, 1, 0}, + {0x29, (uint8_t[]){0x41}, 1, 0}, + {0x2A, (uint8_t[]){0x43}, 1, 0}, + {0x2B, (uint8_t[]){0x5F}, 1, 0}, + + {0x2C, (uint8_t[]){0x1E}, 1, 0}, + {0x2D, (uint8_t[]){0x1E}, 1, 0}, + {0x2E, (uint8_t[]){0x1F}, 1, 0}, + {0x2F, (uint8_t[]){0x1F}, 1, 0}, + {0x30, (uint8_t[]){0x10}, 1, 0}, + {0x31, (uint8_t[]){0x07}, 1, 0}, + {0x32, (uint8_t[]){0x07}, 1, 0}, + {0x33, (uint8_t[]){0x05}, 1, 0}, + {0x34, (uint8_t[]){0x05}, 1, 0}, + {0x35, (uint8_t[]){0x0B}, 1, 0}, + {0x36, (uint8_t[]){0x0B}, 1, 0}, + {0x37, (uint8_t[]){0x09}, 1, 0}, + {0x38, (uint8_t[]){0x09}, 1, 0}, + {0x39, (uint8_t[]){0x1F}, 1, 0}, + {0x3A, (uint8_t[]){0x1F}, 1, 0}, + {0x3B, (uint8_t[]){0x17}, 1, 0}, + {0x3C, (uint8_t[]){0x17}, 1, 0}, + {0x3D, (uint8_t[]){0x17}, 1, 0}, + {0x3E, (uint8_t[]){0x17}, 1, 0}, + {0x3F, (uint8_t[]){0x03}, 1, 0}, + {0x40, (uint8_t[]){0x01}, 1, 0}, + {0x41, (uint8_t[]){0x1F}, 1, 0}, + + {0x42, (uint8_t[]){0x1E}, 1, 0}, + {0x43, (uint8_t[]){0x1E}, 1, 0}, + {0x44, (uint8_t[]){0x1F}, 1, 0}, + {0x45, (uint8_t[]){0x1F}, 1, 0}, + {0x46, (uint8_t[]){0x10}, 1, 0}, + {0x47, (uint8_t[]){0x06}, 1, 0}, + {0x48, (uint8_t[]){0x06}, 1, 0}, + {0x49, (uint8_t[]){0x04}, 1, 0}, + {0x4A, (uint8_t[]){0x04}, 1, 0}, + {0x4B, (uint8_t[]){0x0A}, 1, 0}, + {0x4C, (uint8_t[]){0x0A}, 1, 0}, + {0x4D, (uint8_t[]){0x08}, 1, 0}, + {0x4E, (uint8_t[]){0x08}, 1, 0}, + {0x4F, (uint8_t[]){0x1F}, 1, 0}, + {0x50, (uint8_t[]){0x1F}, 1, 0}, + {0x51, (uint8_t[]){0x17}, 1, 0}, + {0x52, (uint8_t[]){0x17}, 1, 0}, + {0x53, (uint8_t[]){0x17}, 1, 0}, + {0x54, (uint8_t[]){0x17}, 1, 0}, + {0x55, (uint8_t[]){0x02}, 1, 0}, + {0x56, (uint8_t[]){0x00}, 1, 0}, + {0x57, (uint8_t[]){0x1F}, 1, 0}, + + {0xE0, (uint8_t[]){0x02}, 1, 0}, + {0x58, (uint8_t[]){0x40}, 1, 0}, + {0x59, (uint8_t[]){0x00}, 1, 0}, + {0x5A, (uint8_t[]){0x00}, 1, 0}, + {0x5B, (uint8_t[]){0x30}, 1, 0}, + {0x5C, (uint8_t[]){0x01}, 1, 0}, + {0x5D, (uint8_t[]){0x30}, 1, 0}, + {0x5E, (uint8_t[]){0x01}, 1, 0}, + {0x5F, (uint8_t[]){0x02}, 1, 0}, + {0x60, (uint8_t[]){0x30}, 1, 0}, + {0x61, (uint8_t[]){0x03}, 1, 0}, + {0x62, (uint8_t[]){0x04}, 1, 0}, + {0x63, (uint8_t[]){0x04}, 1, 0}, + {0x64, (uint8_t[]){0xA6}, 1, 0}, + {0x65, (uint8_t[]){0x43}, 1, 0}, + {0x66, (uint8_t[]){0x30}, 1, 0}, + {0x67, (uint8_t[]){0x73}, 1, 0}, + {0x68, (uint8_t[]){0x05}, 1, 0}, + {0x69, (uint8_t[]){0x04}, 1, 0}, + {0x6A, (uint8_t[]){0x7F}, 1, 0}, + {0x6B, (uint8_t[]){0x08}, 1, 0}, + {0x6C, (uint8_t[]){0x00}, 1, 0}, + {0x6D, (uint8_t[]){0x04}, 1, 0}, + {0x6E, (uint8_t[]){0x04}, 1, 0}, + {0x6F, (uint8_t[]){0x88}, 1, 0}, + + {0x75, (uint8_t[]){0xD9}, 1, 0}, + {0x76, (uint8_t[]){0x00}, 1, 0}, + {0x77, (uint8_t[]){0x33}, 1, 0}, + {0x78, (uint8_t[]){0x43}, 1, 0}, + + {0xE0, (uint8_t[]){0x00}, 1, 0}, + + {0x11, (uint8_t[]){0x00}, 1, 120}, + + {0x29, (uint8_t[]){0x00}, 1, 20}, + {0x35, (uint8_t[]){0x00}, 1, 0}, +}; +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_4C +static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = { + {0xE0, (uint8_t[]){0x00}, 1, 0}, + + {0xE1, (uint8_t[]){0x93}, 1, 0}, + {0xE2, (uint8_t[]){0x65}, 1, 0}, + {0xE3, (uint8_t[]){0xF8}, 1, 0}, + {0x80, (uint8_t[]){0x01}, 1, 0}, + + {0xE0, (uint8_t[]){0x01}, 1, 0}, + + {0x00, (uint8_t[]){0x00}, 1, 0}, + {0x01, (uint8_t[]){0x41}, 1, 0}, + {0x03, (uint8_t[]){0x10}, 1, 0}, + {0x04, (uint8_t[]){0x44}, 1, 0}, + + {0x17, (uint8_t[]){0x00}, 1, 0}, + {0x18, (uint8_t[]){0xD0}, 1, 0}, + {0x19, (uint8_t[]){0x00}, 1, 0}, + {0x1A, (uint8_t[]){0x00}, 1, 0}, + {0x1B, (uint8_t[]){0xD0}, 1, 0}, + {0x1C, (uint8_t[]){0x00}, 1, 0}, + + {0x24, (uint8_t[]){0xFE}, 1, 0}, + {0x35, (uint8_t[]){0x26}, 1, 0}, + + {0x37, (uint8_t[]){0x09}, 1, 0}, + + {0x38, (uint8_t[]){0x04}, 1, 0}, + {0x39, (uint8_t[]){0x08}, 1, 0}, + {0x3A, (uint8_t[]){0x0A}, 1, 0}, + {0x3C, (uint8_t[]){0x78}, 1, 0}, + {0x3D, (uint8_t[]){0xFF}, 1, 0}, + {0x3E, (uint8_t[]){0xFF}, 1, 0}, + {0x3F, (uint8_t[]){0xFF}, 1, 0}, + + {0x40, (uint8_t[]){0x04}, 1, 0}, + {0x41, (uint8_t[]){0x64}, 1, 0}, + {0x42, (uint8_t[]){0xC7}, 1, 0}, + {0x43, (uint8_t[]){0x18}, 1, 0}, + {0x44, (uint8_t[]){0x0B}, 1, 0}, + {0x45, (uint8_t[]){0x14}, 1, 0}, + + {0x55, (uint8_t[]){0x02}, 1, 0}, + {0x57, (uint8_t[]){0x49}, 1, 0}, + {0x59, (uint8_t[]){0x0A}, 1, 0}, + {0x5A, (uint8_t[]){0x1B}, 1, 0}, + {0x5B, (uint8_t[]){0x19}, 1, 0}, + + {0x5D, (uint8_t[]){0x7F}, 1, 0}, + {0x5E, (uint8_t[]){0x56}, 1, 0}, + {0x5F, (uint8_t[]){0x43}, 1, 0}, + {0x60, (uint8_t[]){0x37}, 1, 0}, + {0x61, (uint8_t[]){0x33}, 1, 0}, + {0x62, (uint8_t[]){0x25}, 1, 0}, + {0x63, (uint8_t[]){0x2A}, 1, 0}, + {0x64, (uint8_t[]){0x16}, 1, 0}, + {0x65, (uint8_t[]){0x30}, 1, 0}, + {0x66, (uint8_t[]){0x2F}, 1, 0}, + {0x67, (uint8_t[]){0x32}, 1, 0}, + {0x68, (uint8_t[]){0x53}, 1, 0}, + {0x69, (uint8_t[]){0x43}, 1, 0}, + {0x6A, (uint8_t[]){0x4C}, 1, 0}, + {0x6B, (uint8_t[]){0x40}, 1, 0}, + {0x6C, (uint8_t[]){0x3D}, 1, 0}, + {0x6D, (uint8_t[]){0x31}, 1, 0}, + {0x6E, (uint8_t[]){0x20}, 1, 0}, + {0x6F, (uint8_t[]){0x0F}, 1, 0}, + + {0x70, (uint8_t[]){0x7F}, 1, 0}, + {0x71, (uint8_t[]){0x56}, 1, 0}, + {0x72, (uint8_t[]){0x43}, 1, 0}, + {0x73, (uint8_t[]){0x37}, 1, 0}, + {0x74, (uint8_t[]){0x33}, 1, 0}, + {0x75, (uint8_t[]){0x25}, 1, 0}, + {0x76, (uint8_t[]){0x2A}, 1, 0}, + {0x77, (uint8_t[]){0x16}, 1, 0}, + {0x78, (uint8_t[]){0x30}, 1, 0}, + {0x79, (uint8_t[]){0x2F}, 1, 0}, + {0x7A, (uint8_t[]){0x32}, 1, 0}, + {0x7B, (uint8_t[]){0x53}, 1, 0}, + {0x7C, (uint8_t[]){0x43}, 1, 0}, + {0x7D, (uint8_t[]){0x4C}, 1, 0}, + {0x7E, (uint8_t[]){0x40}, 1, 0}, + {0x7F, (uint8_t[]){0x3D}, 1, 0}, + {0x80, (uint8_t[]){0x31}, 1, 0}, + {0x81, (uint8_t[]){0x20}, 1, 0}, + {0x82, (uint8_t[]){0x0F}, 1, 0}, + + {0xE0, (uint8_t[]){0x02}, 1, 0}, + {0x00, (uint8_t[]){0x5F}, 1, 0}, + {0x01, (uint8_t[]){0x5F}, 1, 0}, + {0x02, (uint8_t[]){0x5E}, 1, 0}, + {0x03, (uint8_t[]){0x5E}, 1, 0}, + {0x04, (uint8_t[]){0x50}, 1, 0}, + {0x05, (uint8_t[]){0x48}, 1, 0}, + {0x06, (uint8_t[]){0x48}, 1, 0}, + {0x07, (uint8_t[]){0x4A}, 1, 0}, + {0x08, (uint8_t[]){0x4A}, 1, 0}, + {0x09, (uint8_t[]){0x44}, 1, 0}, + {0x0A, (uint8_t[]){0x44}, 1, 0}, + {0x0B, (uint8_t[]){0x46}, 1, 0}, + {0x0C, (uint8_t[]){0x46}, 1, 0}, + {0x0D, (uint8_t[]){0x5F}, 1, 0}, + {0x0E, (uint8_t[]){0x5F}, 1, 0}, + {0x0F, (uint8_t[]){0x57}, 1, 0}, + {0x10, (uint8_t[]){0x57}, 1, 0}, + {0x11, (uint8_t[]){0x77}, 1, 0}, + {0x12, (uint8_t[]){0x77}, 1, 0}, + {0x13, (uint8_t[]){0x40}, 1, 0}, + {0x14, (uint8_t[]){0x42}, 1, 0}, + {0x15, (uint8_t[]){0x5F}, 1, 0}, + + {0x16, (uint8_t[]){0x5F}, 1, 0}, + {0x17, (uint8_t[]){0x5F}, 1, 0}, + {0x18, (uint8_t[]){0x5E}, 1, 0}, + {0x19, (uint8_t[]){0x5E}, 1, 0}, + {0x1A, (uint8_t[]){0x50}, 1, 0}, + {0x1B, (uint8_t[]){0x49}, 1, 0}, + {0x1C, (uint8_t[]){0x49}, 1, 0}, + {0x1D, (uint8_t[]){0x4B}, 1, 0}, + {0x1E, (uint8_t[]){0x4B}, 1, 0}, + {0x1F, (uint8_t[]){0x45}, 1, 0}, + {0x20, (uint8_t[]){0x45}, 1, 0}, + {0x21, (uint8_t[]){0x47}, 1, 0}, + {0x22, (uint8_t[]){0x47}, 1, 0}, + {0x23, (uint8_t[]){0x5F}, 1, 0}, + {0x24, (uint8_t[]){0x5F}, 1, 0}, + {0x25, (uint8_t[]){0x57}, 1, 0}, + {0x26, (uint8_t[]){0x57}, 1, 0}, + {0x27, (uint8_t[]){0x77}, 1, 0}, + {0x28, (uint8_t[]){0x77}, 1, 0}, + {0x29, (uint8_t[]){0x41}, 1, 0}, + {0x2A, (uint8_t[]){0x43}, 1, 0}, + {0x2B, (uint8_t[]){0x5F}, 1, 0}, + + {0x2C, (uint8_t[]){0x1E}, 1, 0}, + {0x2D, (uint8_t[]){0x1E}, 1, 0}, + {0x2E, (uint8_t[]){0x1F}, 1, 0}, + {0x2F, (uint8_t[]){0x1F}, 1, 0}, + {0x30, (uint8_t[]){0x10}, 1, 0}, + {0x31, (uint8_t[]){0x07}, 1, 0}, + {0x32, (uint8_t[]){0x07}, 1, 0}, + {0x33, (uint8_t[]){0x05}, 1, 0}, + {0x34, (uint8_t[]){0x05}, 1, 0}, + {0x35, (uint8_t[]){0x0B}, 1, 0}, + {0x36, (uint8_t[]){0x0B}, 1, 0}, + {0x37, (uint8_t[]){0x09}, 1, 0}, + {0x38, (uint8_t[]){0x09}, 1, 0}, + {0x39, (uint8_t[]){0x1F}, 1, 0}, + {0x3A, (uint8_t[]){0x1F}, 1, 0}, + {0x3B, (uint8_t[]){0x17}, 1, 0}, + {0x3C, (uint8_t[]){0x17}, 1, 0}, + {0x3D, (uint8_t[]){0x17}, 1, 0}, + {0x3E, (uint8_t[]){0x17}, 1, 0}, + {0x3F, (uint8_t[]){0x03}, 1, 0}, + {0x40, (uint8_t[]){0x01}, 1, 0}, + {0x41, (uint8_t[]){0x1F}, 1, 0}, + + {0x42, (uint8_t[]){0x1E}, 1, 0}, + {0x43, (uint8_t[]){0x1E}, 1, 0}, + {0x44, (uint8_t[]){0x1F}, 1, 0}, + {0x45, (uint8_t[]){0x1F}, 1, 0}, + {0x46, (uint8_t[]){0x10}, 1, 0}, + {0x47, (uint8_t[]){0x06}, 1, 0}, + {0x48, (uint8_t[]){0x06}, 1, 0}, + {0x49, (uint8_t[]){0x04}, 1, 0}, + {0x4A, (uint8_t[]){0x04}, 1, 0}, + {0x4B, (uint8_t[]){0x0A}, 1, 0}, + {0x4C, (uint8_t[]){0x0A}, 1, 0}, + {0x4D, (uint8_t[]){0x08}, 1, 0}, + {0x4E, (uint8_t[]){0x08}, 1, 0}, + {0x4F, (uint8_t[]){0x1F}, 1, 0}, + {0x50, (uint8_t[]){0x1F}, 1, 0}, + {0x51, (uint8_t[]){0x17}, 1, 0}, + {0x52, (uint8_t[]){0x17}, 1, 0}, + {0x53, (uint8_t[]){0x17}, 1, 0}, + {0x54, (uint8_t[]){0x17}, 1, 0}, + {0x55, (uint8_t[]){0x02}, 1, 0}, + {0x56, (uint8_t[]){0x00}, 1, 0}, + {0x57, (uint8_t[]){0x1F}, 1, 0}, + + {0xE0, (uint8_t[]){0x02}, 1, 0}, + {0x58, (uint8_t[]){0x40}, 1, 0}, + {0x59, (uint8_t[]){0x00}, 1, 0}, + {0x5A, (uint8_t[]){0x00}, 1, 0}, + {0x5B, (uint8_t[]){0x30}, 1, 0}, + {0x5C, (uint8_t[]){0x01}, 1, 0}, + {0x5D, (uint8_t[]){0x30}, 1, 0}, + {0x5E, (uint8_t[]){0x01}, 1, 0}, + {0x5F, (uint8_t[]){0x02}, 1, 0}, + {0x60, (uint8_t[]){0x30}, 1, 0}, + {0x61, (uint8_t[]){0x03}, 1, 0}, + {0x62, (uint8_t[]){0x04}, 1, 0}, + {0x63, (uint8_t[]){0x04}, 1, 0}, + {0x64, (uint8_t[]){0xA6}, 1, 0}, + {0x65, (uint8_t[]){0x43}, 1, 0}, + {0x66, (uint8_t[]){0x30}, 1, 0}, + {0x67, (uint8_t[]){0x73}, 1, 0}, + {0x68, (uint8_t[]){0x05}, 1, 0}, + {0x69, (uint8_t[]){0x04}, 1, 0}, + {0x6A, (uint8_t[]){0x7F}, 1, 0}, + {0x6B, (uint8_t[]){0x08}, 1, 0}, + {0x6C, (uint8_t[]){0x00}, 1, 0}, + {0x6D, (uint8_t[]){0x04}, 1, 0}, + {0x6E, (uint8_t[]){0x04}, 1, 0}, + {0x6F, (uint8_t[]){0x88}, 1, 0}, + + {0x75, (uint8_t[]){0xD9}, 1, 0}, + {0x76, (uint8_t[]){0x00}, 1, 0}, + {0x77, (uint8_t[]){0x33}, 1, 0}, + {0x78, (uint8_t[]){0x43}, 1, 0}, + + {0xE0, (uint8_t[]){0x00}, 1, 0}, + {0x11, (uint8_t[]){0x00}, 1, 120}, + + {0x29, (uint8_t[]){0x00}, 1, 20}, + {0x35, (uint8_t[]){0x00}, 1, 0}, +}; +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_7 +static const ili9881c_lcd_init_cmd_t lcd_init_cmds[] = { + // {cmd, { data }, data_size, delay_ms} + /**** CMD_Page 3 ****/ + {0xFF, (uint8_t[]){0x98, 0x81, 0x03}, 3, 0}, + // {0x01, (uint8_t []){0x00}, 1, 0}, + {0x01, (uint8_t[]){0x00}, 1, 0}, + {0x02, (uint8_t[]){0x00}, 1, 0}, + {0x03, (uint8_t[]){0x73}, 1, 0}, + {0x04, (uint8_t[]){0x00}, 1, 0}, + {0x05, (uint8_t[]){0x00}, 1, 0}, + {0x06, (uint8_t[]){0x0A}, 1, 0}, + {0x07, (uint8_t[]){0x00}, 1, 0}, + {0x08, (uint8_t[]){0x00}, 1, 0}, + {0x09, (uint8_t[]){0x61}, 1, 0}, + {0x0A, (uint8_t[]){0x00}, 1, 0}, + {0x0B, (uint8_t[]){0x00}, 1, 0}, + {0x0C, (uint8_t[]){0x01}, 1, 0}, + {0x0D, (uint8_t[]){0x00}, 1, 0}, + {0x0E, (uint8_t[]){0x00}, 1, 0}, + {0x0F, (uint8_t[]){0x61}, 1, 0}, + {0x10, (uint8_t[]){0x61}, 1, 0}, + {0x11, (uint8_t[]){0x00}, 1, 0}, + {0x12, (uint8_t[]){0x00}, 1, 0}, + {0x13, (uint8_t[]){0x00}, 1, 0}, + {0x14, (uint8_t[]){0x00}, 1, 0}, + {0x15, (uint8_t[]){0x00}, 1, 0}, + {0x16, (uint8_t[]){0x00}, 1, 0}, + {0x17, (uint8_t[]){0x00}, 1, 0}, + {0x18, (uint8_t[]){0x00}, 1, 0}, + {0x19, (uint8_t[]){0x00}, 1, 0}, + {0x1A, (uint8_t[]){0x00}, 1, 0}, + {0x1B, (uint8_t[]){0x00}, 1, 0}, + {0x1C, (uint8_t[]){0x00}, 1, 0}, + {0x1D, (uint8_t[]){0x00}, 1, 0}, + {0x1E, (uint8_t[]){0x40}, 1, 0}, + {0x1F, (uint8_t[]){0x80}, 1, 0}, + {0x20, (uint8_t[]){0x06}, 1, 0}, + {0x21, (uint8_t[]){0x01}, 1, 0}, + {0x22, (uint8_t[]){0x00}, 1, 0}, + {0x23, (uint8_t[]){0x00}, 1, 0}, + {0x24, (uint8_t[]){0x00}, 1, 0}, + {0x25, (uint8_t[]){0x00}, 1, 0}, + {0x26, (uint8_t[]){0x00}, 1, 0}, + {0x27, (uint8_t[]){0x00}, 1, 0}, + {0x28, (uint8_t[]){0x33}, 1, 0}, + {0x29, (uint8_t[]){0x03}, 1, 0}, + {0x2A, (uint8_t[]){0x00}, 1, 0}, + {0x2B, (uint8_t[]){0x00}, 1, 0}, + {0x2C, (uint8_t[]){0x00}, 1, 0}, + {0x2D, (uint8_t[]){0x00}, 1, 0}, + {0x2E, (uint8_t[]){0x00}, 1, 0}, + {0x2F, (uint8_t[]){0x00}, 1, 0}, + {0x30, (uint8_t[]){0x00}, 1, 0}, + {0x31, (uint8_t[]){0x00}, 1, 0}, + {0x32, (uint8_t[]){0x00}, 1, 0}, + {0x33, (uint8_t[]){0x00}, 1, 0}, + {0x34, (uint8_t[]){0x04}, 1, 0}, + {0x35, (uint8_t[]){0x00}, 1, 0}, + {0x36, (uint8_t[]){0x00}, 1, 0}, + {0x37, (uint8_t[]){0x00}, 1, 0}, + {0x38, (uint8_t[]){0x3C}, 1, 0}, + {0x39, (uint8_t[]){0x00}, 1, 0}, + {0x3A, (uint8_t[]){0x00}, 1, 0}, + {0x3B, (uint8_t[]){0x00}, 1, 0}, + {0x3C, (uint8_t[]){0x00}, 1, 0}, + {0x3D, (uint8_t[]){0x00}, 1, 0}, + {0x3E, (uint8_t[]){0x00}, 1, 0}, + {0x3F, (uint8_t[]){0x00}, 1, 0}, + {0x40, (uint8_t[]){0x00}, 1, 0}, + {0x41, (uint8_t[]){0x00}, 1, 0}, + {0x42, (uint8_t[]){0x00}, 1, 0}, + {0x43, (uint8_t[]){0x00}, 1, 0}, + {0x44, (uint8_t[]){0x00}, 1, 0}, + {0x50, (uint8_t[]){0x10}, 1, 0}, + {0x51, (uint8_t[]){0x32}, 1, 0}, + {0x52, (uint8_t[]){0x54}, 1, 0}, + {0x53, (uint8_t[]){0x76}, 1, 0}, + {0x54, (uint8_t[]){0x98}, 1, 0}, + {0x55, (uint8_t[]){0xBA}, 1, 0}, + {0x56, (uint8_t[]){0x10}, 1, 0}, + {0x57, (uint8_t[]){0x32}, 1, 0}, + {0x58, (uint8_t[]){0x54}, 1, 0}, + {0x59, (uint8_t[]){0x76}, 1, 0}, + {0x5A, (uint8_t[]){0x98}, 1, 0}, + {0x5B, (uint8_t[]){0xBA}, 1, 0}, + {0x5C, (uint8_t[]){0xDC}, 1, 0}, + {0x5D, (uint8_t[]){0xFE}, 1, 0}, + {0x5E, (uint8_t[]){0x00}, 1, 0}, + {0x5F, (uint8_t[]){0x0E}, 1, 0}, + {0x60, (uint8_t[]){0x0F}, 1, 0}, + {0x61, (uint8_t[]){0x0C}, 1, 0}, + {0x62, (uint8_t[]){0x0D}, 1, 0}, + {0x63, (uint8_t[]){0x06}, 1, 0}, + {0x64, (uint8_t[]){0x07}, 1, 0}, + {0x65, (uint8_t[]){0x02}, 1, 0}, + {0x66, (uint8_t[]){0x02}, 1, 0}, + {0x67, (uint8_t[]){0x02}, 1, 0}, + {0x68, (uint8_t[]){0x02}, 1, 0}, + {0x69, (uint8_t[]){0x01}, 1, 0}, + {0x6A, (uint8_t[]){0x00}, 1, 0}, + {0x6B, (uint8_t[]){0x02}, 1, 0}, + {0x6C, (uint8_t[]){0x15}, 1, 0}, + {0x6D, (uint8_t[]){0x14}, 1, 0}, + {0x6E, (uint8_t[]){0x02}, 1, 0}, + {0x6F, (uint8_t[]){0x02}, 1, 0}, + {0x70, (uint8_t[]){0x02}, 1, 0}, + {0x71, (uint8_t[]){0x02}, 1, 0}, + {0x72, (uint8_t[]){0x02}, 1, 0}, + {0x73, (uint8_t[]){0x02}, 1, 0}, + {0x74, (uint8_t[]){0x02}, 1, 0}, + {0x75, (uint8_t[]){0x0E}, 1, 0}, + {0x76, (uint8_t[]){0x0F}, 1, 0}, + {0x77, (uint8_t[]){0x0C}, 1, 0}, + {0x78, (uint8_t[]){0x0D}, 1, 0}, + {0x79, (uint8_t[]){0x06}, 1, 0}, + {0x7A, (uint8_t[]){0x07}, 1, 0}, + {0x7B, (uint8_t[]){0x02}, 1, 0}, + {0x7C, (uint8_t[]){0x02}, 1, 0}, + {0x7D, (uint8_t[]){0x02}, 1, 0}, + {0x7E, (uint8_t[]){0x02}, 1, 0}, + {0x7F, (uint8_t[]){0x01}, 1, 0}, + {0x80, (uint8_t[]){0x00}, 1, 0}, + {0x81, (uint8_t[]){0x02}, 1, 0}, + {0x82, (uint8_t[]){0x14}, 1, 0}, + {0x83, (uint8_t[]){0x15}, 1, 0}, + {0x84, (uint8_t[]){0x02}, 1, 0}, + {0x85, (uint8_t[]){0x02}, 1, 0}, + {0x86, (uint8_t[]){0x02}, 1, 0}, + {0x87, (uint8_t[]){0x02}, 1, 0}, + {0x88, (uint8_t[]){0x02}, 1, 0}, + {0x89, (uint8_t[]){0x02}, 1, 0}, + {0x8A, (uint8_t[]){0x02}, 1, 0}, + + {0xFF, (uint8_t[]){0x98, 0x81, 0x04}, 3, 0}, + {0x38, (uint8_t[]){0x01}, 1, 0}, + {0x39, (uint8_t[]){0x00}, 1, 0}, + {0x6C, (uint8_t[]){0x15}, 1, 0}, + {0x6E, (uint8_t[]){0x2A}, 1, 0}, + {0x6F, (uint8_t[]){0x33}, 1, 0}, + {0x3A, (uint8_t[]){0x94}, 1, 0}, + {0x8D, (uint8_t[]){0x14}, 1, 0}, + {0x87, (uint8_t[]){0xBA}, 1, 0}, + {0x26, (uint8_t[]){0x76}, 1, 0}, + {0xB2, (uint8_t[]){0xD1}, 1, 0}, + {0xB5, (uint8_t[]){0x06}, 1, 0}, + {0X3B, (uint8_t[]){0X98}, 1, 0}, + {0xFF, (uint8_t[]){0x98, 0x81, 0x01}, 3, 0}, + {0x22, (uint8_t[]){0x0A}, 1, 0}, + {0x31, (uint8_t[]){0x00}, 1, 0}, + {0x53, (uint8_t[]){0x71}, 1, 0}, + {0x55, (uint8_t[]){0x8F}, 1, 0}, + {0x40, (uint8_t[]){0x33}, 1, 0}, + {0x50, (uint8_t[]){0x96}, 1, 0}, + {0x51, (uint8_t[]){0x96}, 1, 0}, + {0x60, (uint8_t[]){0x23}, 1, 0}, + {0xA0, (uint8_t[]){0x08}, 1, 0}, + {0xA1, (uint8_t[]){0x1D}, 1, 0}, + {0xA2, (uint8_t[]){0x2A}, 1, 0}, + {0xA3, (uint8_t[]){0x10}, 1, 0}, + {0xA4, (uint8_t[]){0x15}, 1, 0}, + {0xA5, (uint8_t[]){0x28}, 1, 0}, + {0xA6, (uint8_t[]){0x1C}, 1, 0}, + {0xA7, (uint8_t[]){0x1D}, 1, 0}, + {0xA8, (uint8_t[]){0x7E}, 1, 0}, + {0xA9, (uint8_t[]){0x1D}, 1, 0}, + {0xAA, (uint8_t[]){0x29}, 1, 0}, + {0xAB, (uint8_t[]){0x6B}, 1, 0}, + {0xAC, (uint8_t[]){0x1A}, 1, 0}, + {0xAD, (uint8_t[]){0x18}, 1, 0}, + {0xAE, (uint8_t[]){0x4B}, 1, 0}, + {0xAF, (uint8_t[]){0x20}, 1, 0}, + {0xB0, (uint8_t[]){0x27}, 1, 0}, + {0xB1, (uint8_t[]){0x50}, 1, 0}, + {0xB2, (uint8_t[]){0x64}, 1, 0}, + {0xB3, (uint8_t[]){0x39}, 1, 0}, + {0xC0, (uint8_t[]){0x08}, 1, 0}, + {0xC1, (uint8_t[]){0x1D}, 1, 0}, + {0xC2, (uint8_t[]){0x2A}, 1, 0}, + {0xC3, (uint8_t[]){0x10}, 1, 0}, + {0xC4, (uint8_t[]){0x15}, 1, 0}, + {0xC5, (uint8_t[]){0x28}, 1, 0}, + {0xC6, (uint8_t[]){0x1C}, 1, 0}, + {0xC7, (uint8_t[]){0x1D}, 1, 0}, + {0xC8, (uint8_t[]){0x7E}, 1, 0}, + {0xC9, (uint8_t[]){0x1D}, 1, 0}, + {0xCA, (uint8_t[]){0x29}, 1, 0}, + {0xCB, (uint8_t[]){0x6B}, 1, 0}, + {0xCC, (uint8_t[]){0x1A}, 1, 0}, + {0xCD, (uint8_t[]){0x18}, 1, 0}, + {0xCE, (uint8_t[]){0x4B}, 1, 0}, + {0xCF, (uint8_t[]){0x20}, 1, 0}, + {0xD0, (uint8_t[]){0x27}, 1, 0}, + {0xD1, (uint8_t[]){0x50}, 1, 0}, + {0xD2, (uint8_t[]){0x64}, 1, 0}, + {0xD3, (uint8_t[]){0x39}, 1, 0}, + + {0xFF, (uint8_t[]){0x98, 0x81, 0x00}, 3, 0}, + {0x3A, (uint8_t[]){0x77}, 1, 0}, + {0x36, (uint8_t[]){0x00}, 1, 0}, + {0x35, (uint8_t[]){0x00}, 1, 0}, + {0x35, (uint8_t[]){0x00}, 1, 0}, + {0x11, (uint8_t[]){0x00}, 0, 150}, + + {0x29, (uint8_t[]){0x00}, 0, 20}, + + //============ Gamma END=========== +}; +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_8 +static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = { + {0xE0, (uint8_t[]){0x00}, 1, 0}, + {0xE1, (uint8_t[]){0x93}, 1, 0}, + {0xE2, (uint8_t[]){0x65}, 1, 0}, + {0xE3, (uint8_t[]){0xF8}, 1, 0}, + {0x80, (uint8_t[]){0x01}, 1, 0}, // 0X03:4-LANE;0X02:3-LANE;0X01:2-LANE + + {0xE0, (uint8_t[]){0x01}, 1, 0}, + {0x00, (uint8_t[]){0x00}, 1, 0}, + {0x01, (uint8_t[]){0x4E}, 1, 0}, + {0x03, (uint8_t[]){0x00}, 1, 0}, + {0x04, (uint8_t[]){0x65}, 1, 0}, + + {0x0C, (uint8_t[]){0x74}, 1, 0}, + + {0x17, (uint8_t[]){0x00}, 1, 0}, + {0x18, (uint8_t[]){0xB7}, 1, 0}, + {0x19, (uint8_t[]){0x00}, 1, 0}, + {0x1A, (uint8_t[]){0x00}, 1, 0}, + {0x1B, (uint8_t[]){0xB7}, 1, 0}, + {0x1C, (uint8_t[]){0x00}, 1, 0}, + + {0x24, (uint8_t[]){0xFE}, 1, 0}, + + {0x37, (uint8_t[]){0x19}, 1, 0}, + + {0x38, (uint8_t[]){0x05}, 1, 0}, + {0x39, (uint8_t[]){0x00}, 1, 0}, + {0x3A, (uint8_t[]){0x01}, 1, 0}, + {0x3B, (uint8_t[]){0x01}, 1, 0}, + {0x3C, (uint8_t[]){0x70}, 1, 0}, + {0x3D, (uint8_t[]){0xFF}, 1, 0}, + {0x3E, (uint8_t[]){0xFF}, 1, 0}, + {0x3F, (uint8_t[]){0xFF}, 1, 0}, + + {0x40, (uint8_t[]){0x06}, 1, 0}, + {0x41, (uint8_t[]){0xA0}, 1, 0}, + {0x43, (uint8_t[]){0x1E}, 1, 0}, + {0x44, (uint8_t[]){0x0F}, 1, 0}, + {0x45, (uint8_t[]){0x28}, 1, 0}, + {0x4B, (uint8_t[]){0x04}, 1, 0}, + + //{0x4A, (uint8_t[]){0x35}, 1, 0},//bist + + {0x55, (uint8_t[]){0x02}, 1, 0}, + {0x56, (uint8_t[]){0x01}, 1, 0}, + {0x57, (uint8_t[]){0xA9}, 1, 0}, + {0x58, (uint8_t[]){0x0A}, 1, 0}, + {0x59, (uint8_t[]){0x0A}, 1, 0}, + {0x5A, (uint8_t[]){0x37}, 1, 0}, + {0x5B, (uint8_t[]){0x19}, 1, 0}, + + {0x5D, (uint8_t[]){0x78}, 1, 0}, + {0x5E, (uint8_t[]){0x63}, 1, 0}, + {0x5F, (uint8_t[]){0x54}, 1, 0}, + {0x60, (uint8_t[]){0x49}, 1, 0}, + {0x61, (uint8_t[]){0x45}, 1, 0}, + {0x62, (uint8_t[]){0x38}, 1, 0}, + {0x63, (uint8_t[]){0x3D}, 1, 0}, + {0x64, (uint8_t[]){0x28}, 1, 0}, + {0x65, (uint8_t[]){0x43}, 1, 0}, + {0x66, (uint8_t[]){0x41}, 1, 0}, + {0x67, (uint8_t[]){0x43}, 1, 0}, + {0x68, (uint8_t[]){0x62}, 1, 0}, + {0x69, (uint8_t[]){0x50}, 1, 0}, + {0x6A, (uint8_t[]){0x57}, 1, 0}, + {0x6B, (uint8_t[]){0x49}, 1, 0}, + {0x6C, (uint8_t[]){0x44}, 1, 0}, + {0x6D, (uint8_t[]){0x37}, 1, 0}, + {0x6E, (uint8_t[]){0x23}, 1, 0}, + {0x6F, (uint8_t[]){0x10}, 1, 0}, + {0x70, (uint8_t[]){0x78}, 1, 0}, + {0x71, (uint8_t[]){0x63}, 1, 0}, + {0x72, (uint8_t[]){0x54}, 1, 0}, + {0x73, (uint8_t[]){0x49}, 1, 0}, + {0x74, (uint8_t[]){0x45}, 1, 0}, + {0x75, (uint8_t[]){0x38}, 1, 0}, + {0x76, (uint8_t[]){0x3D}, 1, 0}, + {0x77, (uint8_t[]){0x28}, 1, 0}, + {0x78, (uint8_t[]){0x43}, 1, 0}, + {0x79, (uint8_t[]){0x41}, 1, 0}, + {0x7A, (uint8_t[]){0x43}, 1, 0}, + {0x7B, (uint8_t[]){0x62}, 1, 0}, + {0x7C, (uint8_t[]){0x50}, 1, 0}, + {0x7D, (uint8_t[]){0x57}, 1, 0}, + {0x7E, (uint8_t[]){0x49}, 1, 0}, + {0x7F, (uint8_t[]){0x44}, 1, 0}, + {0x80, (uint8_t[]){0x37}, 1, 0}, + {0x81, (uint8_t[]){0x23}, 1, 0}, + {0x82, (uint8_t[]){0x10}, 1, 0}, + + {0xE0, (uint8_t[]){0x02}, 1, 0}, + {0x00, (uint8_t[]){0x47}, 1, 0}, + {0x01, (uint8_t[]){0x47}, 1, 0}, + {0x02, (uint8_t[]){0x45}, 1, 0}, + {0x03, (uint8_t[]){0x45}, 1, 0}, + {0x04, (uint8_t[]){0x4B}, 1, 0}, + {0x05, (uint8_t[]){0x4B}, 1, 0}, + {0x06, (uint8_t[]){0x49}, 1, 0}, + {0x07, (uint8_t[]){0x49}, 1, 0}, + {0x08, (uint8_t[]){0x41}, 1, 0}, + {0x09, (uint8_t[]){0x1F}, 1, 0}, + {0x0A, (uint8_t[]){0x1F}, 1, 0}, + {0x0B, (uint8_t[]){0x1F}, 1, 0}, + {0x0C, (uint8_t[]){0x1F}, 1, 0}, + {0x0D, (uint8_t[]){0x1F}, 1, 0}, + {0x0E, (uint8_t[]){0x1F}, 1, 0}, + {0x0F, (uint8_t[]){0x5F}, 1, 0}, + {0x10, (uint8_t[]){0x5F}, 1, 0}, + {0x11, (uint8_t[]){0x57}, 1, 0}, + {0x12, (uint8_t[]){0x77}, 1, 0}, + {0x13, (uint8_t[]){0x35}, 1, 0}, + {0x14, (uint8_t[]){0x1F}, 1, 0}, + {0x15, (uint8_t[]){0x1F}, 1, 0}, + + {0x16, (uint8_t[]){0x46}, 1, 0}, + {0x17, (uint8_t[]){0x46}, 1, 0}, + {0x18, (uint8_t[]){0x44}, 1, 0}, + {0x19, (uint8_t[]){0x44}, 1, 0}, + {0x1A, (uint8_t[]){0x4A}, 1, 0}, + {0x1B, (uint8_t[]){0x4A}, 1, 0}, + {0x1C, (uint8_t[]){0x48}, 1, 0}, + {0x1D, (uint8_t[]){0x48}, 1, 0}, + {0x1E, (uint8_t[]){0x40}, 1, 0}, + {0x1F, (uint8_t[]){0x1F}, 1, 0}, + {0x20, (uint8_t[]){0x1F}, 1, 0}, + {0x21, (uint8_t[]){0x1F}, 1, 0}, + {0x22, (uint8_t[]){0x1F}, 1, 0}, + {0x23, (uint8_t[]){0x1F}, 1, 0}, + {0x24, (uint8_t[]){0x1F}, 1, 0}, + {0x25, (uint8_t[]){0x5F}, 1, 0}, + {0x26, (uint8_t[]){0x5F}, 1, 0}, + {0x27, (uint8_t[]){0x57}, 1, 0}, + {0x28, (uint8_t[]){0x77}, 1, 0}, + {0x29, (uint8_t[]){0x35}, 1, 0}, + {0x2A, (uint8_t[]){0x1F}, 1, 0}, + {0x2B, (uint8_t[]){0x1F}, 1, 0}, + + {0x58, (uint8_t[]){0x40}, 1, 0}, + {0x59, (uint8_t[]){0x00}, 1, 0}, + {0x5A, (uint8_t[]){0x00}, 1, 0}, + {0x5B, (uint8_t[]){0x10}, 1, 0}, + {0x5C, (uint8_t[]){0x06}, 1, 0}, + {0x5D, (uint8_t[]){0x40}, 1, 0}, + {0x5E, (uint8_t[]){0x01}, 1, 0}, + {0x5F, (uint8_t[]){0x02}, 1, 0}, + {0x60, (uint8_t[]){0x30}, 1, 0}, + {0x61, (uint8_t[]){0x01}, 1, 0}, + {0x62, (uint8_t[]){0x02}, 1, 0}, + {0x63, (uint8_t[]){0x03}, 1, 0}, + {0x64, (uint8_t[]){0x6B}, 1, 0}, + {0x65, (uint8_t[]){0x05}, 1, 0}, + {0x66, (uint8_t[]){0x0C}, 1, 0}, + {0x67, (uint8_t[]){0x73}, 1, 0}, + {0x68, (uint8_t[]){0x09}, 1, 0}, + {0x69, (uint8_t[]){0x03}, 1, 0}, + {0x6A, (uint8_t[]){0x56}, 1, 0}, + {0x6B, (uint8_t[]){0x08}, 1, 0}, + {0x6C, (uint8_t[]){0x00}, 1, 0}, + {0x6D, (uint8_t[]){0x04}, 1, 0}, + {0x6E, (uint8_t[]){0x04}, 1, 0}, + {0x6F, (uint8_t[]){0x88}, 1, 0}, + {0x70, (uint8_t[]){0x00}, 1, 0}, + {0x71, (uint8_t[]){0x00}, 1, 0}, + {0x72, (uint8_t[]){0x06}, 1, 0}, + {0x73, (uint8_t[]){0x7B}, 1, 0}, + {0x74, (uint8_t[]){0x00}, 1, 0}, + {0x75, (uint8_t[]){0xF8}, 1, 0}, + {0x76, (uint8_t[]){0x00}, 1, 0}, + {0x77, (uint8_t[]){0xD5}, 1, 0}, + {0x78, (uint8_t[]){0x2E}, 1, 0}, + {0x79, (uint8_t[]){0x12}, 1, 0}, + {0x7A, (uint8_t[]){0x03}, 1, 0}, + {0x7B, (uint8_t[]){0x00}, 1, 0}, + {0x7C, (uint8_t[]){0x00}, 1, 0}, + {0x7D, (uint8_t[]){0x03}, 1, 0}, + {0x7E, (uint8_t[]){0x7B}, 1, 0}, + + {0xE0, (uint8_t[]){0x04}, 1, 0}, + {0x00, (uint8_t[]){0x0E}, 1, 0}, + {0x02, (uint8_t[]){0xB3}, 1, 0}, + {0x09, (uint8_t[]){0x60}, 1, 0}, + {0x0E, (uint8_t[]){0x2A}, 1, 0}, + {0x36, (uint8_t[]){0x59}, 1, 0}, + {0x37, (uint8_t[]){0x58}, 1, 0}, // A133 + {0x2B, (uint8_t[]){0x0F}, 1, 0}, // A133 + + {0xE0, (uint8_t[]){0x00}, 1, 0}, + + {0x11, (uint8_t[]){0x00}, 1, 120}, + + {0x29, (uint8_t[]){0x00}, 1, 20}, + + {0x35, (uint8_t[]){0x00}, 1, 0}, +}; +#elif CONFIG_BOARD_TYPE_WAVESHARE_ESP32_P4_WIFI6_TOUCH_LCD_10_1 +static const jd9365_lcd_init_cmd_t lcd_init_cmds[] = { + {0xE0, (uint8_t[]){0x00}, 1, 0}, + {0xE1, (uint8_t[]){0x93}, 1, 0}, + {0xE2, (uint8_t[]){0x65}, 1, 0}, + {0xE3, (uint8_t[]){0xF8}, 1, 0}, + {0x80, (uint8_t[]){0x01}, 1, 0}, + + {0xE0, (uint8_t[]){0x01}, 1, 0}, + {0x00, (uint8_t[]){0x00}, 1, 0}, + {0x01, (uint8_t[]){0x38}, 1, 0}, + {0x03, (uint8_t[]){0x10}, 1, 0}, + {0x04, (uint8_t[]){0x38}, 1, 0}, + + {0x0C, (uint8_t[]){0x74}, 1, 0}, + + {0x17, (uint8_t[]){0x00}, 1, 0}, + {0x18, (uint8_t[]){0xAF}, 1, 0}, + {0x19, (uint8_t[]){0x00}, 1, 0}, + {0x1A, (uint8_t[]){0x00}, 1, 0}, + {0x1B, (uint8_t[]){0xAF}, 1, 0}, + {0x1C, (uint8_t[]){0x00}, 1, 0}, + + {0x35, (uint8_t[]){0x26}, 1, 0}, + + {0x37, (uint8_t[]){0x09}, 1, 0}, + + {0x38, (uint8_t[]){0x04}, 1, 0}, + {0x39, (uint8_t[]){0x00}, 1, 0}, + {0x3A, (uint8_t[]){0x01}, 1, 0}, + {0x3C, (uint8_t[]){0x78}, 1, 0}, + {0x3D, (uint8_t[]){0xFF}, 1, 0}, + {0x3E, (uint8_t[]){0xFF}, 1, 0}, + {0x3F, (uint8_t[]){0x7F}, 1, 0}, + + {0x40, (uint8_t[]){0x06}, 1, 0}, + {0x41, (uint8_t[]){0xA0}, 1, 0}, + {0x42, (uint8_t[]){0x81}, 1, 0}, + {0x43, (uint8_t[]){0x1E}, 1, 0}, + {0x44, (uint8_t[]){0x0D}, 1, 0}, + {0x45, (uint8_t[]){0x28}, 1, 0}, + //{0x4A, (uint8_t[]){0x35}, 1, 0},//bist + + {0x55, (uint8_t[]){0x02}, 1, 0}, + {0x57, (uint8_t[]){0x69}, 1, 0}, + {0x59, (uint8_t[]){0x0A}, 1, 0}, + {0x5A, (uint8_t[]){0x2A}, 1, 0}, + {0x5B, (uint8_t[]){0x17}, 1, 0}, + + {0x5D, (uint8_t[]){0x7F}, 1, 0}, + {0x5E, (uint8_t[]){0x6A}, 1, 0}, + {0x5F, (uint8_t[]){0x5B}, 1, 0}, + {0x60, (uint8_t[]){0x4F}, 1, 0}, + {0x61, (uint8_t[]){0x4A}, 1, 0}, + {0x62, (uint8_t[]){0x3D}, 1, 0}, + {0x63, (uint8_t[]){0x41}, 1, 0}, + {0x64, (uint8_t[]){0x2A}, 1, 0}, + {0x65, (uint8_t[]){0x44}, 1, 0}, + {0x66, (uint8_t[]){0x43}, 1, 0}, + {0x67, (uint8_t[]){0x44}, 1, 0}, + {0x68, (uint8_t[]){0x62}, 1, 0}, + {0x69, (uint8_t[]){0x52}, 1, 0}, + {0x6A, (uint8_t[]){0x59}, 1, 0}, + {0x6B, (uint8_t[]){0x4C}, 1, 0}, + {0x6C, (uint8_t[]){0x48}, 1, 0}, + {0x6D, (uint8_t[]){0x3A}, 1, 0}, + {0x6E, (uint8_t[]){0x26}, 1, 0}, + {0x6F, (uint8_t[]){0x00}, 1, 0}, + {0x70, (uint8_t[]){0x7F}, 1, 0}, + {0x71, (uint8_t[]){0x6A}, 1, 0}, + {0x72, (uint8_t[]){0x5B}, 1, 0}, + {0x73, (uint8_t[]){0x4F}, 1, 0}, + {0x74, (uint8_t[]){0x4A}, 1, 0}, + {0x75, (uint8_t[]){0x3D}, 1, 0}, + {0x76, (uint8_t[]){0x41}, 1, 0}, + {0x77, (uint8_t[]){0x2A}, 1, 0}, + {0x78, (uint8_t[]){0x44}, 1, 0}, + {0x79, (uint8_t[]){0x43}, 1, 0}, + {0x7A, (uint8_t[]){0x44}, 1, 0}, + {0x7B, (uint8_t[]){0x62}, 1, 0}, + {0x7C, (uint8_t[]){0x52}, 1, 0}, + {0x7D, (uint8_t[]){0x59}, 1, 0}, + {0x7E, (uint8_t[]){0x4C}, 1, 0}, + {0x7F, (uint8_t[]){0x48}, 1, 0}, + {0x80, (uint8_t[]){0x3A}, 1, 0}, + {0x81, (uint8_t[]){0x26}, 1, 0}, + {0x82, (uint8_t[]){0x00}, 1, 0}, + + {0xE0, (uint8_t[]){0x02}, 1, 0}, + {0x00, (uint8_t[]){0x42}, 1, 0}, + {0x01, (uint8_t[]){0x42}, 1, 0}, + {0x02, (uint8_t[]){0x40}, 1, 0}, + {0x03, (uint8_t[]){0x40}, 1, 0}, + {0x04, (uint8_t[]){0x5E}, 1, 0}, + {0x05, (uint8_t[]){0x5E}, 1, 0}, + {0x06, (uint8_t[]){0x5F}, 1, 0}, + {0x07, (uint8_t[]){0x5F}, 1, 0}, + {0x08, (uint8_t[]){0x5F}, 1, 0}, + {0x09, (uint8_t[]){0x57}, 1, 0}, + {0x0A, (uint8_t[]){0x57}, 1, 0}, + {0x0B, (uint8_t[]){0x77}, 1, 0}, + {0x0C, (uint8_t[]){0x77}, 1, 0}, + {0x0D, (uint8_t[]){0x47}, 1, 0}, + {0x0E, (uint8_t[]){0x47}, 1, 0}, + {0x0F, (uint8_t[]){0x45}, 1, 0}, + {0x10, (uint8_t[]){0x45}, 1, 0}, + {0x11, (uint8_t[]){0x4B}, 1, 0}, + {0x12, (uint8_t[]){0x4B}, 1, 0}, + {0x13, (uint8_t[]){0x49}, 1, 0}, + {0x14, (uint8_t[]){0x49}, 1, 0}, + {0x15, (uint8_t[]){0x5F}, 1, 0}, + + {0x16, (uint8_t[]){0x41}, 1, 0}, + {0x17, (uint8_t[]){0x41}, 1, 0}, + {0x18, (uint8_t[]){0x40}, 1, 0}, + {0x19, (uint8_t[]){0x40}, 1, 0}, + {0x1A, (uint8_t[]){0x5E}, 1, 0}, + {0x1B, (uint8_t[]){0x5E}, 1, 0}, + {0x1C, (uint8_t[]){0x5F}, 1, 0}, + {0x1D, (uint8_t[]){0x5F}, 1, 0}, + {0x1E, (uint8_t[]){0x5F}, 1, 0}, + {0x1F, (uint8_t[]){0x57}, 1, 0}, + {0x20, (uint8_t[]){0x57}, 1, 0}, + {0x21, (uint8_t[]){0x77}, 1, 0}, + {0x22, (uint8_t[]){0x77}, 1, 0}, + {0x23, (uint8_t[]){0x46}, 1, 0}, + {0x24, (uint8_t[]){0x46}, 1, 0}, + {0x25, (uint8_t[]){0x44}, 1, 0}, + {0x26, (uint8_t[]){0x44}, 1, 0}, + {0x27, (uint8_t[]){0x4A}, 1, 0}, + {0x28, (uint8_t[]){0x4A}, 1, 0}, + {0x29, (uint8_t[]){0x48}, 1, 0}, + {0x2A, (uint8_t[]){0x48}, 1, 0}, + {0x2B, (uint8_t[]){0x5F}, 1, 0}, + + {0x2C, (uint8_t[]){0x01}, 1, 0}, + {0x2D, (uint8_t[]){0x01}, 1, 0}, + {0x2E, (uint8_t[]){0x00}, 1, 0}, + {0x2F, (uint8_t[]){0x00}, 1, 0}, + {0x30, (uint8_t[]){0x1F}, 1, 0}, + {0x31, (uint8_t[]){0x1F}, 1, 0}, + {0x32, (uint8_t[]){0x1E}, 1, 0}, + {0x33, (uint8_t[]){0x1E}, 1, 0}, + {0x34, (uint8_t[]){0x1F}, 1, 0}, + {0x35, (uint8_t[]){0x17}, 1, 0}, + {0x36, (uint8_t[]){0x17}, 1, 0}, + {0x37, (uint8_t[]){0x37}, 1, 0}, + {0x38, (uint8_t[]){0x37}, 1, 0}, + {0x39, (uint8_t[]){0x08}, 1, 0}, + {0x3A, (uint8_t[]){0x08}, 1, 0}, + {0x3B, (uint8_t[]){0x0A}, 1, 0}, + {0x3C, (uint8_t[]){0x0A}, 1, 0}, + {0x3D, (uint8_t[]){0x04}, 1, 0}, + {0x3E, (uint8_t[]){0x04}, 1, 0}, + {0x3F, (uint8_t[]){0x06}, 1, 0}, + {0x40, (uint8_t[]){0x06}, 1, 0}, + {0x41, (uint8_t[]){0x1F}, 1, 0}, + + {0x42, (uint8_t[]){0x02}, 1, 0}, + {0x43, (uint8_t[]){0x02}, 1, 0}, + {0x44, (uint8_t[]){0x00}, 1, 0}, + {0x45, (uint8_t[]){0x00}, 1, 0}, + {0x46, (uint8_t[]){0x1F}, 1, 0}, + {0x47, (uint8_t[]){0x1F}, 1, 0}, + {0x48, (uint8_t[]){0x1E}, 1, 0}, + {0x49, (uint8_t[]){0x1E}, 1, 0}, + {0x4A, (uint8_t[]){0x1F}, 1, 0}, + {0x4B, (uint8_t[]){0x17}, 1, 0}, + {0x4C, (uint8_t[]){0x17}, 1, 0}, + {0x4D, (uint8_t[]){0x37}, 1, 0}, + {0x4E, (uint8_t[]){0x37}, 1, 0}, + {0x4F, (uint8_t[]){0x09}, 1, 0}, + {0x50, (uint8_t[]){0x09}, 1, 0}, + {0x51, (uint8_t[]){0x0B}, 1, 0}, + {0x52, (uint8_t[]){0x0B}, 1, 0}, + {0x53, (uint8_t[]){0x05}, 1, 0}, + {0x54, (uint8_t[]){0x05}, 1, 0}, + {0x55, (uint8_t[]){0x07}, 1, 0}, + {0x56, (uint8_t[]){0x07}, 1, 0}, + {0x57, (uint8_t[]){0x1F}, 1, 0}, + + {0x58, (uint8_t[]){0x40}, 1, 0}, + {0x5B, (uint8_t[]){0x30}, 1, 0}, + {0x5C, (uint8_t[]){0x00}, 1, 0}, + {0x5D, (uint8_t[]){0x34}, 1, 0}, + {0x5E, (uint8_t[]){0x05}, 1, 0}, + {0x5F, (uint8_t[]){0x02}, 1, 0}, + {0x63, (uint8_t[]){0x00}, 1, 0}, + {0x64, (uint8_t[]){0x6A}, 1, 0}, + {0x67, (uint8_t[]){0x73}, 1, 0}, + {0x68, (uint8_t[]){0x07}, 1, 0}, + {0x69, (uint8_t[]){0x08}, 1, 0}, + {0x6A, (uint8_t[]){0x6A}, 1, 0}, + {0x6B, (uint8_t[]){0x08}, 1, 0}, + + {0x6C, (uint8_t[]){0x00}, 1, 0}, + {0x6D, (uint8_t[]){0x00}, 1, 0}, + {0x6E, (uint8_t[]){0x00}, 1, 0}, + {0x6F, (uint8_t[]){0x88}, 1, 0}, + + {0x75, (uint8_t[]){0xFF}, 1, 0}, + {0x77, (uint8_t[]){0xDD}, 1, 0}, + {0x78, (uint8_t[]){0x2C}, 1, 0}, + {0x79, (uint8_t[]){0x15}, 1, 0}, + {0x7A, (uint8_t[]){0x17}, 1, 0}, + {0x7D, (uint8_t[]){0x14}, 1, 0}, + {0x7E, (uint8_t[]){0x82}, 1, 0}, + + {0xE0, (uint8_t[]){0x04}, 1, 0}, + {0x00, (uint8_t[]){0x0E}, 1, 0}, + {0x02, (uint8_t[]){0xB3}, 1, 0}, + {0x09, (uint8_t[]){0x61}, 1, 0}, + {0x0E, (uint8_t[]){0x48}, 1, 0}, + {0x37, (uint8_t[]){0x58}, 1, 0}, // 全志 + {0x2B, (uint8_t[]){0x0F}, 1, 0}, // 全志 + + {0xE0, (uint8_t[]){0x00}, 1, 0}, + + {0xE6, (uint8_t[]){0x02}, 1, 0}, + {0xE7, (uint8_t[]){0x0C}, 1, 0}, + + {0x11, (uint8_t[]){0x00}, 1, 120}, + + {0x29, (uint8_t[]){0x00}, 1, 20}, +}; +#endif \ No newline at end of file diff --git a/main/boards/waveshare-s3-audio-board/README.md b/main/boards/waveshare/esp32-s3-audio-board/README.md similarity index 100% rename from main/boards/waveshare-s3-audio-board/README.md rename to main/boards/waveshare/esp32-s3-audio-board/README.md diff --git a/main/boards/waveshare-s3-audio-board/config.h b/main/boards/waveshare/esp32-s3-audio-board/config.h similarity index 100% rename from main/boards/waveshare-s3-audio-board/config.h rename to main/boards/waveshare/esp32-s3-audio-board/config.h diff --git a/main/boards/waveshare-s3-audio-board/config.json b/main/boards/waveshare/esp32-s3-audio-board/config.json similarity index 89% rename from main/boards/waveshare-s3-audio-board/config.json rename to main/boards/waveshare/esp32-s3-audio-board/config.json index c1c776b..8e9b7a6 100644 --- a/main/boards/waveshare-s3-audio-board/config.json +++ b/main/boards/waveshare/esp32-s3-audio-board/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-audio-board", + "name": "esp32-s3-audio-board", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=y", "CONFIG_CAMERA_OV2640=y", diff --git a/main/boards/waveshare-s3-audio-board/esp32-s3-audio_board.cc b/main/boards/waveshare/esp32-s3-audio-board/esp32-s3-audio_board.cc similarity index 100% rename from main/boards/waveshare-s3-audio-board/esp32-s3-audio_board.cc rename to main/boards/waveshare/esp32-s3-audio-board/esp32-s3-audio_board.cc diff --git a/main/boards/waveshare-s3-audio-board/esp_lcd_jd9853.c b/main/boards/waveshare/esp32-s3-audio-board/esp_lcd_jd9853.c similarity index 100% rename from main/boards/waveshare-s3-audio-board/esp_lcd_jd9853.c rename to main/boards/waveshare/esp32-s3-audio-board/esp_lcd_jd9853.c diff --git a/main/boards/waveshare-s3-audio-board/esp_lcd_jd9853.h b/main/boards/waveshare/esp32-s3-audio-board/esp_lcd_jd9853.h similarity index 100% rename from main/boards/waveshare-s3-audio-board/esp_lcd_jd9853.h rename to main/boards/waveshare/esp32-s3-audio-board/esp_lcd_jd9853.h diff --git a/main/boards/waveshare-s3-epaper-1.54/README.md b/main/boards/waveshare/esp32-s3-epaper-1.54/README.md similarity index 100% rename from main/boards/waveshare-s3-epaper-1.54/README.md rename to main/boards/waveshare/esp32-s3-epaper-1.54/README.md diff --git a/main/boards/waveshare-s3-epaper-1.54/board_power_bsp.cc b/main/boards/waveshare/esp32-s3-epaper-1.54/board_power_bsp.cc similarity index 100% rename from main/boards/waveshare-s3-epaper-1.54/board_power_bsp.cc rename to main/boards/waveshare/esp32-s3-epaper-1.54/board_power_bsp.cc diff --git a/main/boards/waveshare-s3-epaper-1.54/board_power_bsp.h b/main/boards/waveshare/esp32-s3-epaper-1.54/board_power_bsp.h similarity index 100% rename from main/boards/waveshare-s3-epaper-1.54/board_power_bsp.h rename to main/boards/waveshare/esp32-s3-epaper-1.54/board_power_bsp.h diff --git a/main/boards/waveshare-s3-epaper-1.54/config.h b/main/boards/waveshare/esp32-s3-epaper-1.54/config.h similarity index 100% rename from main/boards/waveshare-s3-epaper-1.54/config.h rename to main/boards/waveshare/esp32-s3-epaper-1.54/config.h diff --git a/main/boards/waveshare-s3-touch-amoled-1.32/config.json b/main/boards/waveshare/esp32-s3-epaper-1.54/config.json similarity index 76% rename from main/boards/waveshare-s3-touch-amoled-1.32/config.json rename to main/boards/waveshare/esp32-s3-epaper-1.54/config.json index 0f37a29..72ce98f 100644 --- a/main/boards/waveshare-s3-touch-amoled-1.32/config.json +++ b/main/boards/waveshare/esp32-s3-epaper-1.54/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-touch-amoled-1.32", + "name": "esp32-s3-epaper-1.54", "sdkconfig_append": [ "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v2/8m.csv\"" diff --git a/main/boards/waveshare-s3-epaper-1.54/custom_lcd_display.cc b/main/boards/waveshare/esp32-s3-epaper-1.54/custom_lcd_display.cc similarity index 100% rename from main/boards/waveshare-s3-epaper-1.54/custom_lcd_display.cc rename to main/boards/waveshare/esp32-s3-epaper-1.54/custom_lcd_display.cc diff --git a/main/boards/waveshare-s3-epaper-1.54/custom_lcd_display.h b/main/boards/waveshare/esp32-s3-epaper-1.54/custom_lcd_display.h similarity index 100% rename from main/boards/waveshare-s3-epaper-1.54/custom_lcd_display.h rename to main/boards/waveshare/esp32-s3-epaper-1.54/custom_lcd_display.h diff --git a/main/boards/waveshare-s3-epaper-1.54/waveshare-s3-epaper-1.54.cc b/main/boards/waveshare/esp32-s3-epaper-1.54/waveshare-s3-epaper-1.54.cc similarity index 100% rename from main/boards/waveshare-s3-epaper-1.54/waveshare-s3-epaper-1.54.cc rename to main/boards/waveshare/esp32-s3-epaper-1.54/waveshare-s3-epaper-1.54.cc diff --git a/main/boards/waveshare-s3-rlcd-4.2/README.md b/main/boards/waveshare/esp32-s3-rlcd-4.2/README.md similarity index 100% rename from main/boards/waveshare-s3-rlcd-4.2/README.md rename to main/boards/waveshare/esp32-s3-rlcd-4.2/README.md diff --git a/main/boards/waveshare-s3-rlcd-4.2/config.h b/main/boards/waveshare/esp32-s3-rlcd-4.2/config.h similarity index 100% rename from main/boards/waveshare-s3-rlcd-4.2/config.h rename to main/boards/waveshare/esp32-s3-rlcd-4.2/config.h diff --git a/main/boards/waveshare-s3-touch-amoled-1.75/config.json b/main/boards/waveshare/esp32-s3-rlcd-4.2/config.json similarity index 74% rename from main/boards/waveshare-s3-touch-amoled-1.75/config.json rename to main/boards/waveshare/esp32-s3-rlcd-4.2/config.json index 6e4e8ac..e441937 100644 --- a/main/boards/waveshare-s3-touch-amoled-1.75/config.json +++ b/main/boards/waveshare/esp32-s3-rlcd-4.2/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-touch-amoled-1.75", + "name": "esp32-s3-rlcd-4.2", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", "CONFIG_USE_DEVICE_AEC=y" diff --git a/main/boards/waveshare-s3-rlcd-4.2/custom_lcd_display.cc b/main/boards/waveshare/esp32-s3-rlcd-4.2/custom_lcd_display.cc similarity index 100% rename from main/boards/waveshare-s3-rlcd-4.2/custom_lcd_display.cc rename to main/boards/waveshare/esp32-s3-rlcd-4.2/custom_lcd_display.cc diff --git a/main/boards/waveshare-s3-rlcd-4.2/custom_lcd_display.h b/main/boards/waveshare/esp32-s3-rlcd-4.2/custom_lcd_display.h similarity index 100% rename from main/boards/waveshare-s3-rlcd-4.2/custom_lcd_display.h rename to main/boards/waveshare/esp32-s3-rlcd-4.2/custom_lcd_display.h diff --git a/main/boards/waveshare-s3-rlcd-4.2/waveshare-s3-rlcd-4.2.cc b/main/boards/waveshare/esp32-s3-rlcd-4.2/waveshare-s3-rlcd-4.2.cc similarity index 100% rename from main/boards/waveshare-s3-rlcd-4.2/waveshare-s3-rlcd-4.2.cc rename to main/boards/waveshare/esp32-s3-rlcd-4.2/waveshare-s3-rlcd-4.2.cc diff --git a/main/boards/waveshare-s3-touch-amoled-1.32/README.md b/main/boards/waveshare/esp32-s3-touch-amoled-1.32/README.md similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-1.32/README.md rename to main/boards/waveshare/esp32-s3-touch-amoled-1.32/README.md diff --git a/main/boards/waveshare-s3-touch-amoled-1.32/config.h b/main/boards/waveshare/esp32-s3-touch-amoled-1.32/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-1.32/config.h rename to main/boards/waveshare/esp32-s3-touch-amoled-1.32/config.h diff --git a/main/boards/waveshare-s3-epaper-1.54/config.json b/main/boards/waveshare/esp32-s3-touch-amoled-1.32/config.json similarity index 75% rename from main/boards/waveshare-s3-epaper-1.54/config.json rename to main/boards/waveshare/esp32-s3-touch-amoled-1.32/config.json index 11a0e67..785d43d 100644 --- a/main/boards/waveshare-s3-epaper-1.54/config.json +++ b/main/boards/waveshare/esp32-s3-touch-amoled-1.32/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-epaper-1.54", + "name": "esp32-s3-touch-amoled-1.32", "sdkconfig_append": [ "CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y", "CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=\"partitions/v2/8m.csv\"" diff --git a/main/boards/waveshare-s3-touch-amoled-1.32/esp32-s3-touch-amoled-1.32.cc b/main/boards/waveshare/esp32-s3-touch-amoled-1.32/esp32-s3-touch-amoled-1.32.cc similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-1.32/esp32-s3-touch-amoled-1.32.cc rename to main/boards/waveshare/esp32-s3-touch-amoled-1.32/esp32-s3-touch-amoled-1.32.cc diff --git a/main/boards/waveshare-s3-touch-amoled-1.75/README.md b/main/boards/waveshare/esp32-s3-touch-amoled-1.75/README.md similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-1.75/README.md rename to main/boards/waveshare/esp32-s3-touch-amoled-1.75/README.md diff --git a/main/boards/waveshare-s3-touch-amoled-1.75/config.h b/main/boards/waveshare/esp32-s3-touch-amoled-1.75/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-1.75/config.h rename to main/boards/waveshare/esp32-s3-touch-amoled-1.75/config.h diff --git a/main/boards/waveshare/esp32-s3-touch-amoled-1.75/config.json b/main/boards/waveshare/esp32-s3-touch-amoled-1.75/config.json new file mode 100644 index 0000000..8bf447b --- /dev/null +++ b/main/boards/waveshare/esp32-s3-touch-amoled-1.75/config.json @@ -0,0 +1,13 @@ +{ + "manufacturer": "waveshare", + "target": "esp32s3", + "builds": [ + { + "name": "esp32-s3-touch-amoled-1.75", + "sdkconfig_append": [ + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y" + ] + } + ] +} \ No newline at end of file diff --git a/main/boards/waveshare-s3-touch-amoled-1.75/esp32-s3-touch-amoled-1.75.cc b/main/boards/waveshare/esp32-s3-touch-amoled-1.75/esp32-s3-touch-amoled-1.75.cc similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-1.75/esp32-s3-touch-amoled-1.75.cc rename to main/boards/waveshare/esp32-s3-touch-amoled-1.75/esp32-s3-touch-amoled-1.75.cc diff --git a/main/boards/esp32-s3-touch-amoled-1.8/config.h b/main/boards/waveshare/esp32-s3-touch-amoled-1.8/config.h similarity index 100% rename from main/boards/esp32-s3-touch-amoled-1.8/config.h rename to main/boards/waveshare/esp32-s3-touch-amoled-1.8/config.h diff --git a/main/boards/esp32-s3-touch-amoled-1.8/config.json b/main/boards/waveshare/esp32-s3-touch-amoled-1.8/config.json similarity index 86% rename from main/boards/esp32-s3-touch-amoled-1.8/config.json rename to main/boards/waveshare/esp32-s3-touch-amoled-1.8/config.json index 6719497..a9c4e7b 100644 --- a/main/boards/esp32-s3-touch-amoled-1.8/config.json +++ b/main/boards/waveshare/esp32-s3-touch-amoled-1.8/config.json @@ -1,4 +1,5 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { diff --git a/main/boards/esp32-s3-touch-amoled-1.8/esp32-s3-touch-amoled-1.8.cc b/main/boards/waveshare/esp32-s3-touch-amoled-1.8/esp32-s3-touch-amoled-1.8.cc similarity index 100% rename from main/boards/esp32-s3-touch-amoled-1.8/esp32-s3-touch-amoled-1.8.cc rename to main/boards/waveshare/esp32-s3-touch-amoled-1.8/esp32-s3-touch-amoled-1.8.cc diff --git a/main/boards/waveshare-s3-touch-amoled-2.06/README.md b/main/boards/waveshare/esp32-s3-touch-amoled-2.06/README.md similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-2.06/README.md rename to main/boards/waveshare/esp32-s3-touch-amoled-2.06/README.md diff --git a/main/boards/waveshare-s3-touch-amoled-2.06/config.h b/main/boards/waveshare/esp32-s3-touch-amoled-2.06/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-2.06/config.h rename to main/boards/waveshare/esp32-s3-touch-amoled-2.06/config.h diff --git a/main/boards/waveshare/esp32-s3-touch-amoled-2.06/config.json b/main/boards/waveshare/esp32-s3-touch-amoled-2.06/config.json new file mode 100644 index 0000000..7393071 --- /dev/null +++ b/main/boards/waveshare/esp32-s3-touch-amoled-2.06/config.json @@ -0,0 +1,13 @@ +{ + "manufacturer": "waveshare", + "target": "esp32s3", + "builds": [ + { + "name": "esp32-s3-touch-amoled-2.06", + "sdkconfig_append": [ + "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", + "CONFIG_USE_DEVICE_AEC=y" + ] + } + ] +} \ No newline at end of file diff --git a/main/boards/waveshare-s3-touch-amoled-2.06/esp32-s3-touch-amoled-2.06.cc b/main/boards/waveshare/esp32-s3-touch-amoled-2.06/esp32-s3-touch-amoled-2.06.cc similarity index 100% rename from main/boards/waveshare-s3-touch-amoled-2.06/esp32-s3-touch-amoled-2.06.cc rename to main/boards/waveshare/esp32-s3-touch-amoled-2.06/esp32-s3-touch-amoled-2.06.cc diff --git a/main/boards/esp32-s3-touch-lcd-1.46/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-1.46/README.md similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.46/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-1.46/README.md diff --git a/main/boards/esp32-s3-touch-lcd-1.46/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-1.46/config.h similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.46/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-1.46/config.h diff --git a/main/boards/esp32-s3-touch-lcd-1.46/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-1.46/config.json similarity index 82% rename from main/boards/esp32-s3-touch-lcd-1.46/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-1.46/config.json index e7e5852..b5006f9 100644 --- a/main/boards/esp32-s3-touch-lcd-1.46/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-1.46/config.json @@ -1,4 +1,5 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { diff --git a/main/boards/esp32-s3-touch-lcd-1.46/esp32-s3-touch-lcd-1.46.cc b/main/boards/waveshare/esp32-s3-touch-lcd-1.46/esp32-s3-touch-lcd-1.46.cc similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.46/esp32-s3-touch-lcd-1.46.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-1.46/esp32-s3-touch-lcd-1.46.cc diff --git a/main/boards/waveshare-s3-touch-lcd-1.83/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-1.83/README.md similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-1.83/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-1.83/README.md diff --git a/main/boards/waveshare-s3-touch-lcd-1.83/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-1.83/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-1.83/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-1.83/config.h diff --git a/main/boards/waveshare-s3-touch-lcd-1.83/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-1.83/config.json similarity index 72% rename from main/boards/waveshare-s3-touch-lcd-1.83/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-1.83/config.json index 5690043..0528ca3 100644 --- a/main/boards/waveshare-s3-touch-lcd-1.83/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-1.83/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-touch-lcd-1.83", + "name": "esp32-s3-touch-lcd-1.83", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", "CONFIG_USE_DEVICE_AEC=y" diff --git a/main/boards/waveshare-s3-touch-lcd-1.83/esp32-s3-touch-lcd-1.83.cc b/main/boards/waveshare/esp32-s3-touch-lcd-1.83/esp32-s3-touch-lcd-1.83.cc similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-1.83/esp32-s3-touch-lcd-1.83.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-1.83/esp32-s3-touch-lcd-1.83.cc diff --git a/main/boards/esp32-s3-touch-lcd-1.85/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-1.85/README.md similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.85/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85/README.md diff --git a/main/boards/esp32-s3-touch-lcd-1.85/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-1.85/config.h similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.85/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85/config.h diff --git a/main/boards/esp32-s3-touch-lcd-1.85/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-1.85/config.json similarity index 82% rename from main/boards/esp32-s3-touch-lcd-1.85/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85/config.json index 63207b5..92485aa 100644 --- a/main/boards/esp32-s3-touch-lcd-1.85/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-1.85/config.json @@ -1,4 +1,5 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { diff --git a/main/boards/esp32-s3-touch-lcd-1.85/esp32-s3-touch-lcd-1.85.cc b/main/boards/waveshare/esp32-s3-touch-lcd-1.85/esp32-s3-touch-lcd-1.85.cc similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.85/esp32-s3-touch-lcd-1.85.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85/esp32-s3-touch-lcd-1.85.cc diff --git a/main/boards/esp32-s3-touch-lcd-1.85c/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/README.md similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.85c/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85c/README.md diff --git a/main/boards/esp32-s3-touch-lcd-1.85c/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.h similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.85c/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.h diff --git a/main/boards/esp32-s3-touch-lcd-1.85c/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.json similarity index 82% rename from main/boards/esp32-s3-touch-lcd-1.85c/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.json index 1832799..39b6ca0 100644 --- a/main/boards/esp32-s3-touch-lcd-1.85c/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/config.json @@ -1,4 +1,5 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { diff --git a/main/boards/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc b/main/boards/waveshare/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc similarity index 100% rename from main/boards/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-1.85c/esp32-s3-touch-lcd-1.85c.cc diff --git a/main/boards/waveshare-s3-touch-lcd-3.49/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-3.49/README.md similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.49/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-3.49/README.md diff --git a/main/boards/waveshare-s3-touch-lcd-3.49/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-3.49/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.49/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-3.49/config.h diff --git a/main/boards/waveshare-s3-rlcd-4.2/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-3.49/config.json similarity index 72% rename from main/boards/waveshare-s3-rlcd-4.2/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-3.49/config.json index 4d80b4d..f140886 100644 --- a/main/boards/waveshare-s3-rlcd-4.2/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-3.49/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-rlcd-4.2", + "name": "esp32-s3-touch-lcd-3.49", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", "CONFIG_USE_DEVICE_AEC=y" diff --git a/main/boards/waveshare-s3-touch-lcd-3.49/custom_lcd_display.cc b/main/boards/waveshare/esp32-s3-touch-lcd-3.49/custom_lcd_display.cc similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.49/custom_lcd_display.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-3.49/custom_lcd_display.cc diff --git a/main/boards/waveshare-s3-touch-lcd-3.49/custom_lcd_display.h b/main/boards/waveshare/esp32-s3-touch-lcd-3.49/custom_lcd_display.h similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.49/custom_lcd_display.h rename to main/boards/waveshare/esp32-s3-touch-lcd-3.49/custom_lcd_display.h diff --git a/main/boards/waveshare-s3-touch-lcd-3.49/waveshare-s3-touch-lcd-3.49.cc b/main/boards/waveshare/esp32-s3-touch-lcd-3.49/waveshare-s3-touch-lcd-3.49.cc similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.49/waveshare-s3-touch-lcd-3.49.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-3.49/waveshare-s3-touch-lcd-3.49.cc diff --git a/main/boards/esp32-s3-touch-lcd-3.5/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-3.5/README.md similarity index 100% rename from main/boards/esp32-s3-touch-lcd-3.5/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5/README.md diff --git a/main/boards/esp32-s3-touch-lcd-3.5/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-3.5/config.h similarity index 100% rename from main/boards/esp32-s3-touch-lcd-3.5/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5/config.h diff --git a/main/boards/esp32-s3-touch-lcd-3.5/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-3.5/config.json similarity index 95% rename from main/boards/esp32-s3-touch-lcd-3.5/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5/config.json index 7c6e5f1..cc1c55d 100644 --- a/main/boards/esp32-s3-touch-lcd-3.5/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-3.5/config.json @@ -1,4 +1,5 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { diff --git a/main/boards/esp32-s3-touch-lcd-3.5/esp32-s3-touch-lcd-3.5.cc b/main/boards/waveshare/esp32-s3-touch-lcd-3.5/esp32-s3-touch-lcd-3.5.cc similarity index 100% rename from main/boards/esp32-s3-touch-lcd-3.5/esp32-s3-touch-lcd-3.5.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5/esp32-s3-touch-lcd-3.5.cc diff --git a/main/boards/waveshare-s3-touch-lcd-3.5b/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-3.5b/README.md similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.5b/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5b/README.md diff --git a/main/boards/waveshare-s3-touch-lcd-3.5b/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-3.5b/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.5b/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5b/config.h diff --git a/main/boards/waveshare-s3-touch-lcd-3.5b/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-3.5b/config.json similarity index 89% rename from main/boards/waveshare-s3-touch-lcd-3.5b/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5b/config.json index 27c8e94..c5c8083 100644 --- a/main/boards/waveshare-s3-touch-lcd-3.5b/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-3.5b/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-touch-lcd-3.5b", + "name": "esp32-s3-touch-lcd-3.5b", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=y", "CONFIG_CAMERA_OV2640=y", diff --git a/main/boards/waveshare-s3-touch-lcd-3.5b/custom_lcd_display.cc b/main/boards/waveshare/esp32-s3-touch-lcd-3.5b/custom_lcd_display.cc similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.5b/custom_lcd_display.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5b/custom_lcd_display.cc diff --git a/main/boards/waveshare-s3-touch-lcd-3.5b/custom_lcd_display.h b/main/boards/waveshare/esp32-s3-touch-lcd-3.5b/custom_lcd_display.h similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.5b/custom_lcd_display.h rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5b/custom_lcd_display.h diff --git a/main/boards/waveshare-s3-touch-lcd-3.5b/waveshare-s3-touch-lcd-3.5b.cc b/main/boards/waveshare/esp32-s3-touch-lcd-3.5b/waveshare-s3-touch-lcd-3.5b.cc similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-3.5b/waveshare-s3-touch-lcd-3.5b.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-3.5b/waveshare-s3-touch-lcd-3.5b.cc diff --git a/main/boards/waveshare-s3-touch-lcd-4.3c/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-4.3c/README.md similarity index 92% rename from main/boards/waveshare-s3-touch-lcd-4.3c/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-4.3c/README.md index 63136f5..a3066bc 100755 --- a/main/boards/waveshare-s3-touch-lcd-4.3c/README.md +++ b/main/boards/waveshare/esp32-s3-touch-lcd-4.3c/README.md @@ -23,7 +23,7 @@ idf.py set-target esp32s3 2. 修改配置 ```shell -cp main/boards/waveshare-s3-touch-lcd-4.3c/sdkconfig.4_3c sdkconfig +cp main/boards/esp32-s3-touch-lcd-4.3c/sdkconfig.4_3c sdkconfig ``` 3. 编译烧录程序 diff --git a/main/boards/waveshare-s3-touch-lcd-4.3c/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-4.3c/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-4.3c/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-4.3c/config.h diff --git a/main/boards/waveshare-s3-touch-lcd-4.3c/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-4.3c/config.json similarity index 79% rename from main/boards/waveshare-s3-touch-lcd-4.3c/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-4.3c/config.json index 03af4db..5f837ff 100755 --- a/main/boards/waveshare-s3-touch-lcd-4.3c/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-4.3c/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-touch-lcd-4.3c", + "name": "esp32-s3-touch-lcd-4.3c", "sdkconfig_append": [ "CONFIG_BOARD_TYPE_ESP32S3_Touch_LCD_4_3C=y", "CONFIG_USE_DEVICE_AEC=y", diff --git a/main/boards/waveshare-s3-touch-lcd-4.3c/esp32_s3_touch_lcd_4.3c.cc b/main/boards/waveshare/esp32-s3-touch-lcd-4.3c/esp32_s3_touch_lcd_4.3c.cc similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-4.3c/esp32_s3_touch_lcd_4.3c.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-4.3c/esp32_s3_touch_lcd_4.3c.cc diff --git a/main/boards/waveshare-s3-touch-lcd-4.3c/sdkconfig.4_3c b/main/boards/waveshare/esp32-s3-touch-lcd-4.3c/sdkconfig.4_3c similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-4.3c/sdkconfig.4_3c rename to main/boards/waveshare/esp32-s3-touch-lcd-4.3c/sdkconfig.4_3c diff --git a/main/boards/waveshare-s3-touch-lcd-4b/README.md b/main/boards/waveshare/esp32-s3-touch-lcd-4b/README.md similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-4b/README.md rename to main/boards/waveshare/esp32-s3-touch-lcd-4b/README.md diff --git a/main/boards/waveshare-s3-touch-lcd-4b/config.h b/main/boards/waveshare/esp32-s3-touch-lcd-4b/config.h similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-4b/config.h rename to main/boards/waveshare/esp32-s3-touch-lcd-4b/config.h diff --git a/main/boards/waveshare-s3-touch-amoled-2.06/config.json b/main/boards/waveshare/esp32-s3-touch-lcd-4b/config.json similarity index 73% rename from main/boards/waveshare-s3-touch-amoled-2.06/config.json rename to main/boards/waveshare/esp32-s3-touch-lcd-4b/config.json index 3a95f74..c203443 100644 --- a/main/boards/waveshare-s3-touch-amoled-2.06/config.json +++ b/main/boards/waveshare/esp32-s3-touch-lcd-4b/config.json @@ -1,8 +1,9 @@ { + "manufacturer": "waveshare", "target": "esp32s3", "builds": [ { - "name": "waveshare-s3-touch-amoled-2.06", + "name": "esp32-s3-touch-lcd-4b", "sdkconfig_append": [ "CONFIG_USE_WECHAT_MESSAGE_STYLE=n", "CONFIG_USE_DEVICE_AEC=y" diff --git a/main/boards/waveshare-s3-touch-lcd-4b/esp32-s3-touch-lcd-4b.cc b/main/boards/waveshare/esp32-s3-touch-lcd-4b/esp32-s3-touch-lcd-4b.cc similarity index 100% rename from main/boards/waveshare-s3-touch-lcd-4b/esp32-s3-touch-lcd-4b.cc rename to main/boards/waveshare/esp32-s3-touch-lcd-4b/esp32-s3-touch-lcd-4b.cc diff --git a/main/idf_component.yml b/main/idf_component.yml index 3194e38..3afe92d 100644 --- a/main/idf_component.yml +++ b/main/idf_component.yml @@ -72,7 +72,7 @@ dependencies: - if: target in [esp32s3] tny-robotics/sh1106-esp-idf: ^1.0.0 - waveshare/esp_lcd_jd9365_10_1: + espressif/esp_lcd_jd9365: version: '*' rules: - if: target in [esp32p4] diff --git a/scripts/release.py b/scripts/release.py index 5e0f389..dc8de7c 100755 --- a/scripts/release.py +++ b/scripts/release.py @@ -57,13 +57,19 @@ def zip_bin(name: str, version: str) -> None: zipf.write("build/merged-binary.bin", arcname="merged-binary.bin") print(f"zip bin to {output_path} done") +def _get_manufacturer(cfg: dict) -> Optional[str]: + """Read manufacturer from config.json""" + m = cfg.get("manufacturer") + if isinstance(m, str) and m.strip(): + return m.strip() + return None + ################################################################################ # board / variant related functions ################################################################################ _BOARDS_DIR = Path("main/boards") - def _collect_variants(config_filename: str = "config.json") -> list[dict[str, str]]: """Traverse all boards under main/boards, collect variant information. @@ -71,25 +77,30 @@ def _collect_variants(config_filename: str = "config.json") -> list[dict[str, st [{"board": "bread-compact-ml307", "name": "bread-compact-ml307"}, ...] """ variants: list[dict[str, str]] = [] - for board_path in _BOARDS_DIR.iterdir(): - if not board_path.is_dir(): - continue - if board_path.name == "common": - continue - cfg_path = board_path / config_filename - if not cfg_path.exists(): - print(f"[WARN] {cfg_path} does not exist, skip", file=sys.stderr) + for cfg_path in _BOARDS_DIR.rglob(config_filename): + board_dir = cfg_path.parent + if board_dir.name == "common": continue + board = board_dir.relative_to(_BOARDS_DIR).as_posix() + try: with cfg_path.open() as f: cfg = json.load(f) + for build in cfg.get("builds", []): - variants.append({"board": board_path.name, "name": build["name"]}) + name = build["name"] + variants.append({ + "board": board, + "name": name + }) + except Exception as e: print(f"[ERROR] 解析 {cfg_path} 失败: {e}", file=sys.stderr) + return variants + def _parse_board_config_map() -> dict[str, str]: """Build the mapping of CONFIG_BOARD_TYPE_xxx and board_type from main/CMakeLists.txt""" cmake_file = Path("main/CMakeLists.txt") @@ -160,9 +171,10 @@ def _apply_auto_selects(sdkconfig_append: list[str]) -> list[str]: ################################################################################ def _board_type_exists(board_type: str) -> bool: - cmake_file = Path("main/CMakeLists.txt") - pattern = f'set(BOARD_TYPE "{board_type}")' - return pattern in cmake_file.read_text(encoding="utf-8") + cmake_file = Path("main/CMakeLists.txt").read_text(encoding="utf-8") + board_leaf = board_type.split("/")[-1] + pattern = f'set(BOARD_TYPE "{board_leaf}")' + return pattern in cmake_file ################################################################################ # Compile implementation @@ -176,7 +188,7 @@ def release(board_type: str, config_filename: str = "config.json", *, filter_nam config_filename: config.json name (default: config.json) filter_name: if specified, only compile the build["name"] that matches """ - cfg_path = _BOARDS_DIR / board_type / config_filename + cfg_path = _BOARDS_DIR / Path(board_type) / config_filename if not cfg_path.exists(): print(f"[WARN] {cfg_path} 不存在,跳过 {board_type}") return @@ -187,6 +199,7 @@ def release(board_type: str, config_filename: str = "config.json", *, filter_nam with cfg_path.open() as f: cfg = json.load(f) target = cfg["target"] + manufacturer = _get_manufacturer(cfg) builds = cfg.get("builds", []) if filter_name: @@ -197,12 +210,15 @@ def release(board_type: str, config_filename: str = "config.json", *, filter_nam for build in builds: name = build["name"] - if not name.startswith(board_type): - raise ValueError(f"build.name {name} 必须以 {board_type} 开头") + board_leaf = board_type.split("/")[-1] - output_path = Path("releases") / f"v{project_version}_{name}.zip" + if board_leaf not in name: + raise ValueError(f"build.name {name} 必须包含 {board_leaf}") + + final_name = f"{manufacturer}-{name}" if manufacturer else name + output_path = Path("releases") / f"v{project_version}_{final_name}.zip" if output_path.exists(): - print(f"跳过 {name} 因为 {output_path} 已存在") + print(f"跳过 {final_name} 因为 {output_path} 已存在") continue # Process sdkconfig_append @@ -212,8 +228,10 @@ def release(board_type: str, config_filename: str = "config.json", *, filter_nam sdkconfig_append = _apply_auto_selects(sdkconfig_append) print("-" * 80) - print(f"name: {name}") + print(f"name: {final_name}") print(f"target: {target}") + if manufacturer: + print(f"manufacturer: {manufacturer}") for item in sdkconfig_append: print(f"sdkconfig_append: {item}") @@ -239,7 +257,7 @@ def release(board_type: str, config_filename: str = "config.json", *, filter_nam merge_bin() # Zip - zip_bin(name, project_version) + zip_bin(final_name, project_version) ################################################################################ # CLI entry @@ -251,7 +269,7 @@ if __name__ == "__main__": parser.add_argument("-c", "--config", default="config.json", help="指定 config 文件名,默认 config.json") parser.add_argument("--list-boards", action="store_true", help="列出所有支持的 board 及变体列表") parser.add_argument("--json", action="store_true", help="配合 --list-boards,JSON 格式输出") - parser.add_argument("--name", help="指定变体名称,仅编译匹配的变体") + parser.add_argument("--name", help="指定变体名称,仅编译匹配的变体(使用原始name,不带厂商前缀)") args = parser.parse_args()