mirror of
https://github.com/78/xiaozhi-esp32.git
synced 2026-02-27 22:36:35 +00:00
Add support for M5Stack Cardputer Adv, a card-sized computer based on ESP32-S3FN8 (Stamp-S3A) with the following features: Hardware: - MCU: ESP32-S3FN8 @ 240MHz, 8MB Flash (no PSRAM) - Display: ST7789V2 1.14" 240x135 - Audio: ES8311 codec + NS4150B amplifier - Keyboard: 56-key via TCA8418 - IMU: BMI270 Key configurations: - SPI3_HOST with 3-wire SPI mode for display - 256Hz PWM frequency for backlight (matching M5GFX) - ES8311 with use_mclk=false (no MCLK pin) - Display offset X=40, Y=52 for correct alignment 新增 M5Stack Cardputer Adv 开发板支持 支持基于 ESP32-S3FN8 (Stamp-S3A) 的卡片式电脑 M5Stack Cardputer Adv: 硬件规格: - MCU: ESP32-S3FN8 @ 240MHz, 8MB Flash (无 PSRAM) - 显示屏: ST7789V2 1.14" 240x135 - 音频: ES8311 编解码器 + NS4150B 功放 - 键盘: 56键 (TCA8418) - IMU: BMI270 关键配置: - 显示使用 SPI3_HOST 和 3-wire SPI 模式 - 背光 PWM 频率 256Hz (与 M5GFX 一致) - ES8311 设置 use_mclk=false (无 MCLK 引脚) - 显示偏移 X=40, Y=52 以正确对齐
59 lines
1.7 KiB
C
59 lines
1.7 KiB
C
#ifndef _BOARD_CONFIG_H_
|
|
#define _BOARD_CONFIG_H_
|
|
|
|
// M5Stack Cardputer Adv Board configuration
|
|
// MCU: ESP32-S3FN8 (Stamp-S3A)
|
|
// Display: ST7789V2 1.14" 240x135
|
|
// Audio: ES8311 + NS4150B
|
|
|
|
#include <driver/gpio.h>
|
|
|
|
// Audio settings
|
|
#define AUDIO_INPUT_SAMPLE_RATE 24000
|
|
#define AUDIO_OUTPUT_SAMPLE_RATE 24000
|
|
|
|
// I2S Audio pins (ES8311)
|
|
#define AUDIO_I2S_GPIO_MCLK GPIO_NUM_NC
|
|
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_41 // SCLK
|
|
#define AUDIO_I2S_GPIO_WS GPIO_NUM_43 // LRCK
|
|
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_42 // DSDIN (MCU -> ES8311)
|
|
#define AUDIO_I2S_GPIO_DIN GPIO_NUM_46 // ASDOUT (ES8311 -> MCU)
|
|
|
|
// I2C pins (shared for ES8311, TCA8418, BMI270)
|
|
#define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_8
|
|
#define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_9
|
|
#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR
|
|
#define AUDIO_CODEC_PA_PIN GPIO_NUM_NC // NS4150B is always on
|
|
|
|
// Button
|
|
#define BOOT_BUTTON_GPIO GPIO_NUM_0
|
|
#define BUILTIN_LED_GPIO GPIO_NUM_NC
|
|
#define VOLUME_UP_BUTTON_GPIO GPIO_NUM_NC
|
|
#define VOLUME_DOWN_BUTTON_GPIO GPIO_NUM_NC
|
|
|
|
// Display ST7789V2 (SPI)
|
|
#define DISPLAY_WIDTH 240
|
|
#define DISPLAY_HEIGHT 135
|
|
#define DISPLAY_MIRROR_X true
|
|
#define DISPLAY_MIRROR_Y false
|
|
#define DISPLAY_SWAP_XY true
|
|
|
|
#define DISPLAY_OFFSET_X 40
|
|
#define DISPLAY_OFFSET_Y 52
|
|
|
|
#define DISPLAY_SPI_MOSI_PIN GPIO_NUM_35
|
|
#define DISPLAY_SPI_SCLK_PIN GPIO_NUM_36
|
|
#define DISPLAY_SPI_CS_PIN GPIO_NUM_37
|
|
#define DISPLAY_DC_PIN GPIO_NUM_34
|
|
#define DISPLAY_RST_PIN GPIO_NUM_33
|
|
#define DISPLAY_BACKLIGHT_PIN GPIO_NUM_38
|
|
#define DISPLAY_BACKLIGHT_OUTPUT_INVERT false
|
|
|
|
// Keyboard TCA8418 I2C address
|
|
#define KEYBOARD_TCA8418_ADDR 0x34
|
|
|
|
// IMU BMI270 I2C address
|
|
#define IMU_BMI270_ADDR 0x68
|
|
|
|
#endif // _BOARD_CONFIG_H_
|