You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-5Lines changed: 10 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
*[中文版本](./README_CN.md)
6
6
7
-
ESP32_Display_Panel is an Arduino library designed for ESP SoCs to drive display panels and facilitate rapid GUI development. Users can develop directly for a variety of [supported development boards](src/board/README.md) or create custom ones through simple adaptation. Additionally, ESP32_Display_Panel is compatible with various LCD and touch drivers, allowing users to develop using standalone drivers as needed.
7
+
ESP32_Display_Panel is an Arduino library designed for ESP SoCs to drive display panels and facilitate rapid GUI development. Users can develop directly for a variety of [supported development boards](src/board/Board_Instructions.md) or create custom ones through simple adaptation. Additionally, ESP32_Display_Panel is compatible with various LCD and touch drivers, allowing users to develop using standalone drivers as needed.
8
8
9
9
ESP32_Display_Panel encapsulates various components from the [Espressif Components Registry](https://components.espressif.com/), requiring development based on [arduino-esp32](https://github.com/espressif/arduino-esp32), and can be directly downloaded from the Arduino IDE.
10
10
@@ -30,6 +30,7 @@ ESP32_Display_Panel encapsulates various components from the [Espressif Componen
Developers and manufacturers are welcome to submit PRs to add more development boards.
66
+
Developers and manufacturers are welcomed to contribute PRs to add more development boards. For detailed instructions, please refer to the [`Board Development Guide`](./src/board/Board_Development_Guide.md).
66
67
67
68
### LCD Controllers
68
69
@@ -295,6 +296,10 @@ To port the SquareLine project (v1.3.x), please refer to [here](#porting-squarel
295
296
296
297
## Other Relevant Instructions
297
298
299
+
### Configuring Supported Development Boards
300
+
301
+
For details on how to configure the supported development boards in the Arduino IDE, see [Board_Instructions.md](./src/board/Board_Instructions.md).
302
+
298
303
### Configuring LVGL
299
304
300
305
The functionality and parameters of LVGL can be configured by editing the `lv_conf.h` file, where users can modify macro definitions to update the behavior or default parameters of the driver. Here are some features for configuring LVGL:
Copy file name to clipboardExpand all lines: src/board/Board_Development_Guide.md
+23-25Lines changed: 23 additions & 25 deletions
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,17 @@
2
2
3
3
1. Newly added development boards must ensure the hardware schematics are open-source. Please provide a link or file.
4
4
2. This library currently only supports the APIs provided in ESP-IDF. It does not support other Arduino library APIs, such as Wire.
5
+
3. It is recommended to use the vscode + Arduino CLI development environment.
6
+
4. Pull the ESP32_Display_Panel repository into the Arduino library directory before making modifications.
7
+
5. The project uses pre-commit to enforce commit standards. It is recommended to install the pre-commit library before committing using the following command:
8
+
9
+
```
10
+
pip3 install pre-commit
11
+
```
5
12
6
13
# Modification Content
7
14
8
-
Using the adaption of the M5Stack M5CORE2 development board as an example. Following this guide, changes below will be made under the project:
15
+
Using the adaption of the `M5Stack M5CORE2` development board as an example. Following this guide, changes below will be made under the project:
9
16
10
17
```
11
18
| -ESP32_Display_Panel
@@ -23,39 +30,30 @@ Using the adaption of the M5Stack M5CORE2 development board as an example. Follo
23
30
| -README_CN.md [M]
24
31
| -README.md [M]
25
32
```
33
+
Note: [A] stands for 'append' and [M] stands for 'modify'
26
34
27
35
# Modification Process
28
36
29
-
Using the adaption of M5Stack M5CORE2 as an example, follow these steps to modify the relevant files:
37
+
Using the adaption of `M5Stack M5CORE2` as an example, follow these steps to modify the relevant files:
30
38
31
-
1.**[M]ESP_Panel_Board_Supported**: Add a macro for the new development board, such as BOARD_M5STACK_M5CORE2. Ensure the macro is in uppercase. Include the manufacturer's name and link, as well as the target development board's link.
32
-
2.**[A]src/board/m5stack/M5CORE2.h**: Use the ESP_Panel_Board_Custom.h file in the root directory as a template to create a new configuration header file for the development board. Follow the naming conventions of existing development boards.
33
-
3.**[M]src/board/ESP_PanelBoard.h**: Add the macro check for the new development board by referring to the existing boards in the file, and modify the file to use the correct header file for this development board.
39
+
1.**[M]***[ESP_Panel_Board_Supported.h](../../ESP_Panel_Board_Supported.h)*: Add a macro for the new development board, such as `BOARD_M5STACK_M5CORE2`. Ensure the macro is in uppercase. Include the manufacturer's name and link, as well as the target development board's link.
40
+
2.**[A]***[src/board/m5stack/M5CORE2.h](../board/m5stack/M5CORE2.h)*: Use the *ESP_Panel_Board_Custom.h* file in the root directory as a template to create a new configuration header file for the development board. Follow the naming conventions of existing development boards.
41
+
3.**[M]***[src/board/ESP_PanelBoard.h](../board/ESP_PanelBoard.h)*: Add the macro check for the new development board by referring to the existing boards in the file, and modify the file to use the correct header file for this development board.
34
42
35
43
**Note**: At this point, you can verify the above steps:
36
44
37
-
- Choose an example, such as examples/Panel/PanelTest.
38
-
-**[M] examples/Panel/PanelTest/ESP_Panel_Board_Supported.h**: Modify the ESP_PANEL_USE_SUPPORTED_BOARD macro to enable this header file. Define the development board macro, such as BOARD_M5STACK_M5CORE2, to enable the new header file src/board/m5stack/M5CORE2.h.
45
+
- Choose an example, such as *[examples/Panel/PanelTest](../../examples/Panel/PanelTest/)*.
46
+
-modify the macro `ESP_PANEL_USE_SUPPORTED_BOARD`to enable this header file. Define the development board macro, such as `BOARD_M5STACK_M5CORE2`, to enable the new header file *[src/board/m5stack/M5CORE2.h](../board/m5stack/M5CORE2.h)*.
39
47
- Verify the example's ino file. If successful, proceed to the following steps.
40
48
41
-
4. Modify the configuration header file for the new development board:
49
+
4.**[M]***[src/board/m5stack/M5CORE2.h](../board/m5stack/M5CORE2.h)*: Modify the configuration header file for the new development board:
42
50
- Review the hardware schematics of the development board, focusing on the BUS type used for the LCD screen, the LCD driver name, the BUS type used for touch, the touch driver name, and the chip pin numbers used for each interface of the LCD and touch.
43
-
-**[M] src/board/m5stack/M5CORE2.h**: The best practice is to first get the screen working, then work on the touch functionality.
51
+
- The best practice is to first get the screen working, then work on the touch functionality.
44
52
- If the new development board's driver is compatible with an existing driver, there is no need to add a new driver. Simply note in the comments that this driver is compatible with an existing one and use the existing driver.
45
-
- If the driver used by the new development board is not compatible with existing drivers or has other special configurations, you can achieve this by modifying the macro functions at the end of the new development board's configuration header file, such as ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION, ESP_PANEL_BEGIN_END_FUNCTION, etc. Refer to src/board/espressif/ESP32_S3_BOX_3.h or src/board/m5stack/M5CORE2.h for specific implementations.
46
-
- Run examples other than examples/LCD and examples/Touch, and continuously adjust the configuration header file to ensure correct settings.
47
-
48
-
5.**[M] ESP_Panel_Board_Supported, library.properties, board/README.md, README_CN.md, README.md**: Update the supported development boards information in these files.
49
-
6.**[M] src/board/README.md**: Update the recommended configuration for the new development board.
50
-
7.**[M] src/ESP_PanelVersions.h**: Ensure that the version under "Library Version" should be ahead of the latest tag version in terms of the minor version; when changes occur to ESP_Panel_Board_Custom.h, ESP_Panel_Board_Supported.h, and ESP_Panel_Conf.h in the root directory, the minor version number at the end of the corresponding file should be increased by one, and it should be ensured that the File ESP_Panel_Conf.h, File ESP_Panel_Board_Custom.h, and File ESP_Panel_Board_Supported.h in src/ESP_PanelVersions.h match the versions of the corresponding files.
51
-
8.**[M] CHANGELOG.md**: Update the changelog
53
+
- If the driver used by the new development board is not compatible with existing drivers or has other special configurations, you can achieve this by modifying the macro functions at the end of the new development board's configuration header file, such as `ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION`, `ESP_PANEL_BEGIN_END_FUNCTION`, etc. Refer to *[src/board/espressif/ESP32_S3_BOX_3.h](../board/espressif/ESP32_S3_BOX_3.h)* or *[src/board/m5stack/M5CORE2.h](../board/m5stack/M5CORE2.h)* for specific implementations.
54
+
- Run examples other than *[examples/LCD](../../examples/LCD/)* and *[examples/Touch](../../examples/Touch/)*, and continuously adjust the configuration header file to ensure correct settings.
52
55
53
-
# Notes
54
-
55
-
1. It is recommended to use the vscode + Arduino CLI development environment.
56
-
2. Pull the ESP32_Display_Panel repository into the Arduino library directory before making modifications.
57
-
3. The project uses pre-commit to enforce commit standards. It is recommended to install the pre-commit library before committing using the following command:
58
-
59
-
```
60
-
pip3 install pre-commit
61
-
```
56
+
5.**[M]***[ESP_Panel_Board_Supported](../../ESP_Panel_Board_Supported.h)*, *[library.properties](../../library.properties)*, *[board/Board_Instructions.md](../board/Board_Instructions.md)*, *[README_CN.md](../../README_CN.md)*, *[README.md](../../README.md)*: Update the supported development boards information in these files.
57
+
6.**[M]***[src/board/Board_Instructions.md](../board/Board_Instructions.md)*: Update the recommended configuration for the new development board.
58
+
7.**[M]***[src/ESP_PanelVersions.h](../ESP_PanelVersions.h)*: Ensure that the version under `Library Version` should be ahead of the latest tag version in terms of the minor version; when changes occur to *[ESP_Panel_Board_Custom.h](../../ESP_Panel_Board_Custom.h)*, *[ESP_Panel_Board_Supported.h](../../ESP_Panel_Board_Supported.h)*, and *[ESP_Panel_Conf.h](../../ESP_Panel_Conf.h)* in the root directory, the minor version number but patch version number at the end of the corresponding file and at the beginging of *[src/ESP_PanelVersions.h](../ESP_PanelVersions.h)* should be increased by one and reset the patch version number to 0.
59
+
8.**[M]***[CHANGELOG.md](../../CHANGELOG.md)*: Update the changelog.
0 commit comments