Skip to content

Commit 3564153

Browse files
Horion0415Lzw655
authored andcommitted
Add BOX-3 BSP
1 parent 5df8781 commit 3564153

File tree

14 files changed

+396
-123
lines changed

14 files changed

+396
-123
lines changed

.github/workflows/build_test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ jobs:
1414
[
1515
"sdkconfig.defaults.esp32_c3_lcdkit",
1616
"sdkconfig.defaults.esp32_s3_box",
17+
"sdkconfig.defaults.esp32_s3_box_3",
1718
"sdkconfig.defaults.esp32_s3_box_lite",
1819
"sdkconfig.defaults.esp32_s3_eye",
1920
"sdkconfig.defaults.esp32_s3_korvo_2",

ESP_Panel_Conf_Template.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
* Supported Boards.
1616
* - ESP32-C3-LCDkit: https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-lcdkit/index.html
1717
* - ESP32-S3-Box: https://github.com/espressif/esp-box/tree/master
18+
* - ESP32-S3-Box-3: https://github.com/espressif/esp-box/tree/master
1819
* - ESP32-S3-Box-Lite: https://github.com/espressif/esp-box/tree/master
1920
* - ESP32-S3-EYE: https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md
2021
* - ESP32-S3-Korvo-2: https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html
@@ -26,6 +27,7 @@
2627
*/
2728
// #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
2829
// #define ESP_PANEL_BOARD_ESP32_S3_BOX
30+
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_3
2931
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
3032
// #define ESP_PANEL_BOARD_ESP32_S3_EYE
3133
// #define ESP_PANEL_BOARD_ESP32_S3_KORVO_2

Kconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ menu "ESP Panel Configuration"
2525
bool "ESP32-S3-Box"
2626
help
2727
320x240, LCD: ILI9342, Touch: TT21100
28+
config ESP_PANEL_BOARD_ESP32_S3_BOX_3
29+
bool "ESP32-S3-Box-3"
30+
help
31+
320x240, LCD: ILI9342, Touch: TT21100
2832
config ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
2933
bool "ESP32-S3-Box-Lite"
3034
help

README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ The block diagram of esp-display-panel is shown in the figure below, it primaril
3232
| :--------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :--------------: | :----------------: | :-----------: | :------------------: |
3333
| <img src="https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/esp32-c3-lcdkit-isometric-raw.png" width="150"> | [ESP32-C3-LCDkit](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-lcdkit/index.html) | SPI | GC9A01 | - | - |
3434
| <img src="https://github.com/espressif/esp-box/raw/master/docs/_static/esp32_s3_box.png" width="150"> | [ESP32-S3-Box](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
35+
| <img src="https://github.com/espressif/esp-box/raw/master/docs/_static/esp32_s3_box_3.png" width="150"> |[ESP32-S3-Box-3](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
3536
| <img src="https://github.com/espressif/esp-box/raw/master/docs/_static/esp32_s3_box_lite.png" width="150"> | [ESP32-S3-Box-Lite](https://github.com/espressif/esp-box/tree/master) | SPI | ST7789 | - | - |
3637
| <img src="https://github.com/espressif/esp-who/raw/master/docs/_static/get-started/ESP32-S3-EYE-isometric.png" width="100"> | [ESP32-S3-EYE](https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md) | SPI | ST7789 | - | - |
3738
| <img src="https://docs.espressif.com/projects/esp-adf/en/latest/_images/esp32-s3-korvo-2-v3.0-overview.png" width="150"> | [ESP32-S3-Korvo-2](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html) | SPI | ILI9342 | I2C | TT21100 |
@@ -103,9 +104,9 @@ Arduino
103104
|-ESP_Panel_Conf.h
104105
```
105106

106-
### Configure Supported Board
107+
4. Please refer to the [Supported Boards List](#supported-boards--drivers) to check if the current board is compatible. If it is compatible, please navigate to the "[For Supported Boards](#for-supported-board)" section; Otherwise, navigate to the "[For Unsupported Boards](#for-unsupported-board)" section.
107108

108-
Please refer to the [Supported Boards](#supported-boards--drivers) list to check if the current board is compatible. Otherwise, please refer to the section on [Configuring Unsupported Boards](#configure-unsupported-board).
109+
#### For Supported Board
109110

110111
1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`). Then, according to the name of your target development board, uncomment the macro definitions in the format `ESP_PANEL_BOARD_<NAME>` below,
111112
2. The following code takes *ESP32_S3_BOX* development board as an example:
@@ -118,9 +119,9 @@ Please refer to the [Supported Boards](#supported-boards--drivers) list to check
118119
...
119120
```
120121

121-
3. After that, refer to the [APIs](#apis) section to use the library in the sketch.
122+
3. After that, navigate to the "[Use APIs](#use-apis)" section to use the library in the sketch.
122123

123-
### Configure Unsupported Board
124+
#### For Unsupported Board
124125

125126
Since esp-display-panel library can only utilize the internally supported drivers, please ensure that the **LCD**, **Touch**, and **Bus** for the custom board are present in the list of [Supported Drivers](#supported-boards--drivers).
126127

@@ -271,9 +272,9 @@ Since esp-display-panel library can only utilize the internally supported driver
271272
...
272273
```
273274

274-
3. After configuring the `ESP_Panel_Conf.h` file, please refer to the [APIs](#apis) section to use the functionalities provided by esp-display-panel.
275+
3. After configuring the `ESP_Panel_Conf.h` file, please navigate to the "[Use APIs](#use-apis)" section to check the functions provided by esp-display-panel.
275276

276-
### APIs
277+
### Use APIs
277278

278279
The following codes show the usage of common APIs:
279280

README_CN.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ esp-display-panel 的功能框图如下所示,主要包含了以下功能:
3232
| :--------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :--------------: | :------------: | :----------: | :------------: |
3333
| <img src="https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/esp32-c3-lcdkit-isometric-raw.png" width="150"> | [ESP32-C3-LCDkit](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c3/esp32-c3-lcdkit/index.html) | SPI | GC9A01 | - | - |
3434
| <img src="https://github.com/espressif/esp-box/raw/master/docs/_static/esp32_s3_box.png" width="150"> | [ESP32-S3-Box](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
35+
| <img src="https://github.com/espressif/esp-box/raw/master/docs/_static/esp32_s3_box_3.png" width="150"> |[ESP32-S3-Box-3](https://github.com/espressif/esp-box/tree/master) | SPI | ILI9342 | I2C | TT21100 |
3536
| <img src="https://github.com/espressif/esp-box/raw/master/docs/_static/esp32_s3_box_lite.png" width="150"> | [ESP32-S3-Box-Lite](https://github.com/espressif/esp-box/tree/master) | SPI | ST7789 | - | - |
3637
| <img src="https://github.com/espressif/esp-who/raw/master/docs/_static/get-started/ESP32-S3-EYE-isometric.png" width="100"> | [ESP32-S3-EYE](https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md) | SPI | ST7789 | - | - |
3738
| <img src="https://docs.espressif.com/projects/esp-adf/en/latest/_images/esp32-s3-korvo-2-v3.0-overview.png" width="150"> | [ESP32-S3-Korvo-2](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html) | SPI | ILI9342 | I2C | TT21100 |
@@ -103,9 +104,9 @@ Arduino
103104
|-ESP_Panel_Conf.h
104105
```
105106

106-
### 配置支持的开发板
107+
4. 请参考[支持的开发板列表](#支持的开发板和驱动)来检查当前开发板是否兼容,如果兼容请跳转至“[对于支持的开发板](#对于支持的开发板)”一节,否则跳转至“[对于不支持的开发板](#对于不支持的开发板)”一节。
107108

108-
请参考[支持的开发板列表](#支持的开发板和驱动)来检查当前开发板是否兼容,否则请参考[配置不支持的开发板](#配置不支持的开发板)一节。
109+
#### 对于支持的开发板
109110

110111
1. 打开 `ESP_Panel_Conf.h` 文件,首先,将宏 `ESP_PANEL_USE_SUPPORTED_BOARD` 设置为 `1`(默认值为 `1`)。然后,根据目标开发板的名称在其下方将格式为 `ESP_PANEL_BOARD_<NAME>` 的宏定义取消注释。
111112
2.*ESP32_S3_BOX* 开发板为例,下面是修改后的 `ESP_Panel_Conf.h` 文件的部分内容:
@@ -114,13 +115,13 @@ Arduino
114115
...
115116
// #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
116117
#define ESP_PANEL_BOARD_ESP32_S3_BOX
117-
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
118+
// #define ESP_PANEL_BOARD_ESP32_S3_BOX_3
118119
...
119120
```
120121

121-
3. 之后,请参考[函数接口](#函数接口)一节使用 esp-display-panel 提供的功能。
122+
3. 之后,请跳转至“[使用接口](#使用接口)一节使用 esp-display-panel 提供的功能。
122123

123-
### 配置不支持的开发板
124+
#### 对于不支持的开发板
124125

125126
由于 esp-display-panel 只能使用内部支持的驱动程序,请确认自定义开发板的 **LCD****触摸****接口总线**位于[支持的驱动程序列表](#supported-boards--drivers)中。
126127

@@ -271,11 +272,11 @@ Arduino
271272
...
272273
```
273274

274-
3. 配置好 `ESP_Panel_Conf.h` 文件后,就可以按照[函数接口](#函数接口)一节使用 esp-display-panel 提供的功能
275+
3. 配置好 `ESP_Panel_Conf.h` 文件后,请跳转至“[使用接口](#使用接口)”一节查看 esp-display-panel 提供的函数
275276

276-
### 函数接口
277+
### 使用接口
277278

278-
以下代码展示了常用函数接口的用法
279+
以下代码展示了常用函数接口的使用
279280

280281
```
281282
#include <ESP_Panel_Library.h>

examples/LVGL/Porting/Porting.ino

Lines changed: 74 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -3,62 +3,86 @@
33
*
44
* ## How to Use
55
*
6-
* To use this example, you need to install `esp-display-panel` (includes its dependent libraries) and `LVGL(v8.3.x)` library first,
6+
* To use this example, please firstly install esp-display-panel and its dependent libraries,
77
* then follow the steps to configure:
88
*
99
* ### Configure esp-display-panel
1010
*
11-
* 1. Go to the directory of the installed Arduino libraries.
12-
* 2. Go to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place it out of `esp-display-panel` folder.
13-
* It should be at the same level as the `esp-display-panel` folder. Then rename it as `ESP_Panel_Conf.h`.
14-
* Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` should look like this:
15-
* ```
16-
* Arduino
17-
* |-libraries
18-
* |-esp-display-panel
19-
* |-other_lib_1
20-
* |-other_lib_2
21-
* |-ESP_Panel_Conf.h
22-
* ```
23-
* 3. Open `ESP_Panel_Conf.h` and uncomment one of the following macros to select an supported development board.
24-
* Taking `ESP32_S3_BOX` as an example:
25-
* ```c
26-
* // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
27-
* #define ESP_PANEL_BOARD_ESP32_S3_BOX
28-
* // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
29-
* ...
30-
* ```
11+
* esp-display-panel has its own configuration file called `ESP_Panel_Conf.h`. After installing esp-display-panel,
12+
* follow these configuration steps:
13+
*
14+
* 1. Navigate to the directory where Arduino libraries are installed.
15+
* 2. Navigate to the `esp-display-panel` folder, copy `ESP_Panel_Conf_Template.h` and place the copy outside the
16+
* `esp-display-panel` folder at the same directory level. Then rename the copied file as `ESP_Panel_Conf.h`.
17+
* 3. Finally, the layout of the Arduino Libraries folder with `ESP_Panel_Conf.h` appear as follows:
18+
*
19+
* ```
20+
* Arduino
21+
* |-libraries
22+
* |-esp-display-panel
23+
* |-other_lib_1
24+
* |-other_lib_2
25+
* |-ESP_Panel_Conf.h
26+
* ```
27+
*
28+
* 4. Please refer to [Supported Boards List](https://github.com/esp-arduino-libs/esp-display-panel#supported-boards--drivers)
29+
* to check if the current board is compatible. If it is compatible, please navigate to the "For Supported Boards" section;
30+
* Otherwise, navigate to the "For Unsupported Boards" section.
31+
*
32+
* #### For Supported Board
33+
*
34+
* 1. Open `ESP_Panel_Conf.h` file. First, set the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to `1` (default is `1`).
35+
* Then, according to the name of your target development board, uncomment the macro definitions in the format
36+
* `ESP_PANEL_BOARD_<NAME>` below,
37+
* 2. The following code takes *ESP32_S3_BOX* development board as an example:
38+
*
39+
* ```c
40+
* ...
41+
* // #define ESP_PANEL_BOARD_ESP32_C3_LCDKIT
42+
* #define ESP_PANEL_BOARD_ESP32_S3_BOX
43+
* // #define ESP_PANEL_BOARD_ESP32_S3_BOX_LITE
44+
* ...
45+
* ```
46+
*
47+
* #### For Unsupported Board
48+
*
49+
* Please refer to the [document](https://github.com/esp-arduino-libs/esp-display-panel#for-unsupported-board) for the details.
3150
*
3251
* ### Configure LVGL
3352
*
34-
* 1. Go to the directory of the installed Arduino libraries
35-
* 2. Go to the `lvgl` folder, copy `lv_conf_template.h` and place it out of `lvgl` folder.
36-
* It should be at the same level as the `lvgl` folder. Then rename it as `lv_conf.h`.
37-
* Finally, the layout of the Arduino Libraries folder with `lv_conf.h` should look like this:
38-
* ```
39-
* Arduino
40-
* |-libraries
41-
* |-lv_conf.h
42-
* |-lvgl
43-
* |-other_lib_1
44-
* |-other_lib_2
45-
* ```
46-
* 3. Open `lv_conf.h` and change the first `#if 0` to `#if 1` to enable the content of the file.
47-
* 4. Set the following configurations:
48-
* ```c
49-
* #define LV_COLOR_DEPTH 16
50-
* #define LV_COLOR_16_SWAP 1 // This configuration is not for RGB LCD.
51-
* // Don't set it if using ESP32-S3-LCD-Ev-Board or ESP32-S3-LCD-Ev-Board-2
52-
* #define LV_MEM_CUSTOM 1
53-
* #define LV_MEMCPY_MEMSET_STD 1
54-
* #define LV_TICK_CUSTOM 1
55-
* #define LV_FONT_MONTSERRAT_12 1
56-
* #define LV_FONT_MONTSERRAT_16 1
57-
* #define LV_USE_DEMO_WIDGETS 1
58-
* #define LV_USE_DEMO_BENCHMARK 1
59-
* #define LV_USE_DEMO_STRESS 1
60-
* #define LV_USE_DEMO_MUSIC 1
61-
* ```
53+
* 1. Navigate to the directory where Arduino libraries are installed.
54+
* 2. Navigate to the `lvgl` folder, copy `lv_conf_template.h` and place the copy outside the `lvgl` folder at the
55+
* same directory level. Then rename the copied file as `lv_conf.h`.
56+
* 3. Finally, the layout of the Arduino Libraries folder with `lv_conf.h` appear as follows:
57+
*
58+
* ```
59+
* Arduino
60+
* |-libraries
61+
* |-lv_conf.h
62+
* |-lvgl
63+
* |-other_lib_1
64+
* |-other_lib_2
65+
* ```
66+
*
67+
* 4. Open `lv_conf.h` and change the first `#if 0` to `#if 1` to enable the content of the file.
68+
* 5. Set the following configurations:
69+
*
70+
* ```c
71+
* #define LV_COLOR_DEPTH 16
72+
* #define LV_COLOR_16_SWAP 1 // This configuration is not for RGB LCD.
73+
* // Don't set it if using ESP32-S3-LCD-Ev-Board or ESP32-S3-LCD-Ev-Board-2
74+
* #define LV_MEM_CUSTOM 1
75+
* #define LV_MEMCPY_MEMSET_STD 1
76+
* #define LV_TICK_CUSTOM 1
77+
* #define LV_FONT_MONTSERRAT_12 1
78+
* #define LV_FONT_MONTSERRAT_16 1
79+
* #define LV_USE_DEMO_WIDGETS 1
80+
* #define LV_USE_DEMO_BENCHMARK 1
81+
* #define LV_USE_DEMO_STRESS 1
82+
* #define LV_USE_DEMO_MUSIC 1
83+
* ```
84+
*
85+
* 6. For more information, please refer to [LVGL document](https://docs.lvgl.io/8.3/get-started/platforms/arduino.html).
6286
*
6387
* ### Configure Board
6488
*
@@ -69,6 +93,7 @@
6993
* | :---------------------: | :----------------: | :------: | :---------: | :---------: | :--------------: | :---------------------: | :---------------: |
7094
* | ESP32-C3-LCDkit | ESP32C3 Dev Module | Disabled | QIO | 4MB (32Mb) | Enabled | Default 4MB with spiffs | Info |
7195
* | ESP32-S3-Box | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
96+
* | ESP32-S3-Box-3 | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
7297
* | ESP32-S3-Box-Lite | ESP32-S3-Box | - | - | - | - | 16M Flash (3MB) | Info |
7398
* | ESP32-S3-EYE | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Enabled | 8M with spiffs | Info |
7499
* | ESP32-S3-Korvo-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | Info |

0 commit comments

Comments
 (0)