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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,10 @@ elseif(CONFIG_BOARD_TYPE_WAVESHARE_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_ePaper_1_54)
set(BOARD_TYPE "waveshare-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_TOUCH_LCD_3_5)
set(BOARD_TYPE "esp32-s3-touch-lcd-3.5")
set(BUILTIN_TEXT_FONT font_puhui_basic_20_4)
Expand Down
3 changes: 3 additions & 0 deletions main/Kconfig.projbuild
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,9 @@ choice BOARD_TYPE
config BOARD_TYPE_WAVESHARE_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
bool "Waveshare ESP32-S3-ePaper-1.54"
depends on IDF_TARGET_ESP32S3
config BOARD_TYPE_WAVESHARE_S3_TOUCH_LCD_3_5B
bool "Waveshare ESP32-S3-Touch-LCD-3.5B"
depends on IDF_TARGET_ESP32S3
Expand Down
48 changes: 48 additions & 0 deletions main/boards/waveshare-s3-epaper-1.54/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# 产品链接

[微雪电子 ESP32-S3-ePaper-1.54](https://www.waveshare.net/shop/ESP32-S3-ePaper-1.54.htm)

# 编译配置命令

**克隆工程**

```bash
git clone https://github.com/78/xiaozhi-esp32.git
```

**进入工程**

```bash
cd xiaozhi-esp32
```

**配置编译目标为 ESP32S3**

```bash
idf.py set-target esp32s3
```

**打开 menuconfig**

```bash
idf.py menuconfig
```

**选择板子**

```bash
Xiaozhi Assistant -> Board Type -> Waveshare ESP32-S3-ePaper-1.54
```

**编译**

```ba
idf.py build
```

**下载并打开串口终端**

```bash
idf.py build flash monitor
```

62 changes: 62 additions & 0 deletions main/boards/waveshare-s3-epaper-1.54/board_power_bsp.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "board_power_bsp.h"
#include "driver/gpio.h"

void board_power_bsp::Pwoer_led_Task(void *arg) {
gpio_config_t gpio_conf = {};
gpio_conf.intr_type = GPIO_INTR_DISABLE;
gpio_conf.mode = GPIO_MODE_OUTPUT;
gpio_conf.pin_bit_mask = (0x1ULL << GPIO_NUM_3);
gpio_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
gpio_conf.pull_up_en = GPIO_PULLUP_ENABLE;
ESP_ERROR_CHECK_WITHOUT_ABORT(gpio_config(&gpio_conf));
for(;;) {
gpio_set_level(GPIO_NUM_3,0);
vTaskDelay(pdMS_TO_TICKS(200));
gpio_set_level(GPIO_NUM_3,1);
vTaskDelay(pdMS_TO_TICKS(200));
}
}

board_power_bsp::board_power_bsp(uint8_t _epd_power_pin,uint8_t _audio_power_pin,uint8_t _vbat_power_pin) :
epd_power_pin(_epd_power_pin),
audio_power_pin(_audio_power_pin),
vbat_power_pin(_vbat_power_pin) {
gpio_config_t gpio_conf = {};
gpio_conf.intr_type = GPIO_INTR_DISABLE;
gpio_conf.mode = GPIO_MODE_OUTPUT;
gpio_conf.pin_bit_mask = (0x1ULL << epd_power_pin) | (0x1ULL << audio_power_pin) | (0x1ULL << vbat_power_pin);
gpio_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
gpio_conf.pull_up_en = GPIO_PULLUP_ENABLE;
ESP_ERROR_CHECK_WITHOUT_ABORT(gpio_config(&gpio_conf));
xTaskCreatePinnedToCore(Pwoer_led_Task, "Pwoer_led_Task", 3 * 1024, NULL , 2, NULL,0);
}

board_power_bsp::~board_power_bsp() {

}

void board_power_bsp::POWEER_EPD_ON() {
gpio_set_level((gpio_num_t)epd_power_pin,0);
}

void board_power_bsp::POWEER_EPD_OFF() {
gpio_set_level((gpio_num_t)epd_power_pin,1);
}

void board_power_bsp::POWEER_Audio_ON() {
gpio_set_level((gpio_num_t)audio_power_pin,0);
}

void board_power_bsp::POWEER_Audio_OFF() {
gpio_set_level((gpio_num_t)audio_power_pin,1);
}

void board_power_bsp::VBAT_POWER_ON() {
gpio_set_level((gpio_num_t)vbat_power_pin,1);
}

void board_power_bsp::VBAT_POWER_OFF() {
gpio_set_level((gpio_num_t)vbat_power_pin,0);
}
26 changes: 26 additions & 0 deletions main/boards/waveshare-s3-epaper-1.54/board_power_bsp.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#ifndef __BOARD_POWER_BSP_H__
#define __BOARD_POWER_BSP_H__


class board_power_bsp
{
private:
const uint8_t epd_power_pin;
const uint8_t audio_power_pin;
const uint8_t vbat_power_pin;

static void Pwoer_led_Task(void *arg);

public:
board_power_bsp(uint8_t _epd_power_pin,uint8_t _audio_power_pin,uint8_t _vbat_power_pin);
~board_power_bsp();

void POWEER_EPD_ON();
void POWEER_EPD_OFF();
void POWEER_Audio_ON();
void POWEER_Audio_OFF();
void VBAT_POWER_ON();
void VBAT_POWER_OFF();
};

#endif
50 changes: 50 additions & 0 deletions main/boards/waveshare-s3-epaper-1.54/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#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_I2S_GPIO_MCLK GPIO_NUM_14
#define AUDIO_I2S_GPIO_WS GPIO_NUM_38
#define AUDIO_I2S_GPIO_BCLK GPIO_NUM_15
#define AUDIO_I2S_GPIO_DIN GPIO_NUM_16
#define AUDIO_I2S_GPIO_DOUT GPIO_NUM_45

#define AUDIO_CODEC_PA_PIN GPIO_NUM_46
#define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_47
#define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_48
#define AUDIO_CODEC_ES8311_ADDR ES8311_CODEC_DEFAULT_ADDR

#define BOOT_BUTTON_GPIO GPIO_NUM_0
#define VBAT_PWR_GPIO GPIO_NUM_18

/*EPD port Init*/
#define EPD_SPI_NUM SPI3_HOST

#define EPD_DC_PIN GPIO_NUM_10
#define EPD_CS_PIN GPIO_NUM_11
#define EPD_SCK_PIN GPIO_NUM_12
#define EPD_MOSI_PIN GPIO_NUM_13
#define EPD_RST_PIN GPIO_NUM_9
#define EPD_BUSY_PIN GPIO_NUM_8

#define EXAMPLE_LCD_WIDTH 200
#define EXAMPLE_LCD_HEIGHT 200

/*DEV POWER init*/
#define EPD_PWR_PIN GPIO_NUM_6
#define Audio_PWR_PIN GPIO_NUM_42
#define VBAT_PWR_PIN GPIO_NUM_17

#define DISPLAY_MIRROR_X false
#define DISPLAY_MIRROR_Y false
#define DISPLAY_SWAP_XY false

#define DISPLAY_OFFSET_X 0
#define DISPLAY_OFFSET_Y 0



#endif // _BOARD_CONFIG_H_
12 changes: 12 additions & 0 deletions main/boards/waveshare-s3-epaper-1.54/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"target": "esp32s3",
"builds": [
{
"name": "waveshare-s3-epaper-1.54",
"sdkconfig_append": [
"CONFIG_PARTITION_TABLE_CUSTOM_FILENAME=partitions/v2/8m.csv",
"CONFIG_ESPTOOLPY_FLASHSIZE=8MB"
]
}
]
}
Loading