Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
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 @@ -264,6 +264,10 @@ elseif(CONFIG_BOARD_TYPE_WAVESHARE_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")
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_49)
set(BOARD_TYPE "waveshare-s3-touch-lcd-3.49")
set(LVGL_TEXT_FONT font_puhui_basic_30_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
Copy link
Owner

Choose a reason for hiding this comment

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

这个类的类名,构造函数的参数, 以及方法名,需要统一 Google C++ 代码风格。

{
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