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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,11 @@ elseif(CONFIG_BOARD_TYPE_YUNLIAO_S3)
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_WTP4C5MP07S)
set(BOARD_TYPE "wireless-tag-wtp4c5mp07s")
set(BUILTIN_TEXT_FONT font_puhui_basic_30_4)
set(BUILTIN_ICON_FONT font_awesome_30_4)
set(DEFAULT_EMOJI_COLLECTION twemoji_64)
endif()

file(GLOB BOARD_SOURCES
Expand Down
3 changes: 3 additions & 0 deletions main/Kconfig.projbuild
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,9 @@ choice BOARD_TYPE
config BOARD_TYPE_YUNLIAO_S3
bool "小智云聊-S3"
depends on IDF_TARGET_ESP32S3
config BOARD_TYPE_WTP4C5MP07S
bool "Wireless-Tag WTP4C5MP07S"
depends on IDF_TARGET_ESP32P4
endchoice

choice
Expand Down
45 changes: 45 additions & 0 deletions main/boards/wireless-tag-wtp4c5mp07s/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
## Wireless-Tag WTP4C5MP07S

[Wireless-Tag WTP4C5MP07S](https://shop.wireless-tag.com/products/7inch-lcd-touch-screen-1024x600-mipi-smart-displays-wtp4c5mp07s-esp32-lcd-board-used-with-esp32-p4-and-esp32-c5-dev-board) product is a combo of
* [Wireless-Tag WT99P4C5-S1](https://en.wireless-tag.com/product-item-66.html) ESP32-P4 development board and
* 7 inch 1024x600 ZX7D00C1060M002A MIPI DSI LCD display

<br>

## Configuration

### ESP32P4 Configuration

* Set the compilation target to ESP32P4

idf.py set-target esp32p4

* Open menuconfig

idf.py menuconfig

* Select the board

Xiaozhi Assistant -> Board Type -> Wireless-Tag WTP4C5MP07S

* Select PSRAM

Component config -> ESP PSRAM -> PSRAM config -> Try to allocate memories of WiFi and LWIP in SPIRAM firstly -> No

* Select Wi-Fi slave target

Component config -> Wi-Fi Remote -> choose slave target -> esp32c5

* Select Wi-Fi buffers

Component config -> Wi-Fi Remote -> Wi-Fi configuration -> Max number of WiFi static RX buffers -> 10
Component config -> Wi-Fi Remote -> Wi-Fi configuration -> Max number of WiFi dynamic RX buffers -> 24
Component config -> Wi-Fi Remote -> Wi-Fi configuration -> Max number of WiFi static TX buffers -> 10

* Build

idf.py build

### ESP32C5 Configuration

* Flash the slave example from the esp-hosted-mcu library for the target chip ESP32C5. The esp-hosted-mcu version must match the one used in the xiaozhi-esp32 library.
104 changes: 104 additions & 0 deletions main/boards/wireless-tag-wtp4c5mp07s/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#ifndef _BOARD_CONFIG_H_
#define _BOARD_CONFIG_H_

#include <driver/gpio.h>

#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 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_23

#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_20
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false

// SD Card configuration (disabled by default)
// Enable one of the following by setting to 1 and set pins accordingly.
// Note: SDMMC may conflict with ESP-Hosted SDIO. If using ESP-Hosted via SDIO,
// prefer SDSPI mode for SD card or disable hosted SDIO.

// SDMMC 1-bit/4-bit mode
#ifndef SDCARD_SDMMC_ENABLED
#define SDCARD_SDMMC_ENABLED 0
#endif
// SDMMC bus width: set to 1 or 4
#ifndef SDCARD_SDMMC_BUS_WIDTH
// Use 4-bit bus width when enabling SDMMC
#define SDCARD_SDMMC_BUS_WIDTH 4
#endif
// SDMMC pin assignments (set to actual pins when enabling SDMMC)
#ifndef SDCARD_SDMMC_CLK_PIN
#define SDCARD_SDMMC_CLK_PIN GPIO_NUM_43 // BSP_SD_CLK
#endif
#ifndef SDCARD_SDMMC_CMD_PIN
#define SDCARD_SDMMC_CMD_PIN GPIO_NUM_44 // BSP_SD_CMD
#endif
#ifndef SDCARD_SDMMC_D0_PIN
#define SDCARD_SDMMC_D0_PIN GPIO_NUM_39 // BSP_SD_D0
#endif
#ifndef SDCARD_SDMMC_D1_PIN
#define SDCARD_SDMMC_D1_PIN GPIO_NUM_40 // BSP_SD_D1
#endif
#ifndef SDCARD_SDMMC_D2_PIN
#define SDCARD_SDMMC_D2_PIN GPIO_NUM_41 // BSP_SD_D2
#endif
#ifndef SDCARD_SDMMC_D3_PIN
#define SDCARD_SDMMC_D3_PIN GPIO_NUM_42 // BSP_SD_D3
#endif

// SDSPI mode (uses SPI bus)
#ifndef SDCARD_SDSPI_ENABLED
#define SDCARD_SDSPI_ENABLED 1
#endif
#ifndef SDCARD_SPI_HOST
#define SDCARD_SPI_HOST SPI3_HOST
#endif
#ifndef SDCARD_SPI_MOSI
#define SDCARD_SPI_MOSI GPIO_NUM_44 // BSP_SD_SPI_MOSI
#endif
#ifndef SDCARD_SPI_MISO
#define SDCARD_SPI_MISO GPIO_NUM_39 // BSP_SD_SPI_MISO
#endif
#ifndef SDCARD_SPI_SCLK
#define SDCARD_SPI_SCLK GPIO_NUM_43 // BSP_SD_SPI_CLK
#endif
#ifndef SDCARD_SPI_CS
#define SDCARD_SPI_CS GPIO_NUM_42 // BSP_SD_SPI_CS
#endif

#ifndef SDCARD_MOUNT_POINT
#define SDCARD_MOUNT_POINT "/sdcard"
#endif

#endif // _BOARD_CONFIG_H_
17 changes: 17 additions & 0 deletions main/boards/wireless-tag-wtp4c5mp07s/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"target": "esp32p4",
"builds": [
{
"name": "wireless-tag-wtp4c5mp07s",
"sdkconfig_append": [
"CONFIG_USE_WECHAT_MESSAGE_STYLE=n",
"CONFIG_SLAVE_IDF_TARGET_ESP32C5=y",
"CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=n",
"CONFIG_WIFI_RMT_STATIC_RX_BUFFER_NUM=10",
"CONFIG_WIFI_RMT_DYNAMIC_RX_BUFFER_NUM=24",
"CONFIG_WIFI_RMT_STATIC_TX_BUFFER_NUM=10",
"CONFIG_USE_DEVICE_AEC=y"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CONFIG_USE_DEVICE_AEC=y is only valid for BoxAudioCodec, Es8388 or Es8389 so far.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@78 CONFIG_USE_DEVICE_AEC has been excluded in e7e8f9c

]
}
]
}
Loading