Skip to content

Commit

Permalink
feat(board): add new board M5CORES3
Browse files Browse the repository at this point in the history
feat(docs): update changelog
feat(docs): update some docs related to version
  • Loading branch information
MacChu0315-Espressif authored and Lzw655 committed Jun 14, 2024
1 parent 1886c66 commit 8131565
Show file tree
Hide file tree
Showing 16 changed files with 452 additions and 37 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

* feat(board): add add new board M5CORE2 by @MacChu0315-Espressif (#40)
* feat(board): add add new board M5DIAL by @MacChu0315-Espressif (#41)
* feat(board): add add new board M5CORES3 by @MacChu0315-Espressif (#45)

### Bugfixes:

Expand Down
5 changes: 3 additions & 2 deletions ESP_Panel_Board_Supported.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@
*
* - M5STACK_M5CORE2: https://docs.m5stack.com/zh_CN/core/core2
* - M5STACK_M5DIAL: https://docs.m5stack.com/zh_CN/core/M5Dial
*
* - M5STACK_M5CORES3: https://docs.m5stack.com/zh_CN/core/CoreS3
*/
// #define BOARD_M5STACK_M5CORE2
// #define BOARD_M5STACK_M5DIAL
// #define BOARD_M5STACK_M5CORES3

/*
* Shenzhen Jingcai Intelligent Supported Boards (https://www.displaysmodule.com/):
Expand All @@ -78,7 +79,7 @@
*
*/
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0

#endif
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Below is a list of [supported development boards](src/board/Board_Instructions.m
| **Manufacturer** | **Board Model** |
| --------------- | --------------- |
| [Espressif](src/board/Board_Instructions.md#espressif) | ESP32-C3-LCDkit, ESP32-S3-Box, ESP32-S3-Box-3, ESP32-S3-Box-3(beta), ESP32-S3-Box-Lite, ESP32-S3-EYE, ESP32-S3-Korvo-2, ESP32-S3-LCD-EV-Board, ESP32-S3-LCD-EV-Board-2, ESP32-S3-USB-OTG |
| [M5Stack](https://m5stack.com/) | M5STACK-M5CORE2, M5STACK-M5DIAL |
| [M5Stack](https://m5stack.com/) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 |
| [Jingcai](src/board/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 |

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_Contribution_Guide.md).
Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ ESP32_Display_Panel 的功能框图如下所示,主要包含以下特性:
| **厂商** | **开发板型号** |
| -------- | -------------- |
| [Espressif](src/board/Board_Instructions.md#espressif) | ESP32-C3-LCDkit, ESP32-S3-Box, ESP32-S3-Box-3, ESP32-S3-Box-3(beta), ESP32-S3-Box-Lite, ESP32-S3-EYE, ESP32-S3-Korvo-2, ESP32-S3-LCD-EV-Board, ESP32-S3-LCD-EV-Board-2, ESP32-S3-USB-OTG |
| [M5Stack](https://m5stack.com/) | M5STACK-M5CORE2, M5STACK-M5DIAL |
| [M5Stack](https://m5stack.com/) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 |
| [Jingcai](src/board/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 |

欢迎开发者和厂商贡献 PR 来添加更多的开发板,详细说明请参考 [`开发板贡献指南`](./src/board/Board_Contribution_Guide_CN.md)
Expand Down
5 changes: 3 additions & 2 deletions examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@
*
* - M5STACK_M5CORE2: https://docs.m5stack.com/zh_CN/core/core2
* - M5STACK_M5DIAL: https://docs.m5stack.com/zh_CN/core/M5Dial
*
* - M5STACK_M5CORES3: https://docs.m5stack.com/zh_CN/core/CoreS3
*/
// #define BOARD_M5STACK_M5CORE2
// #define BOARD_M5STACK_M5DIAL
// #define BOARD_M5STACK_M5CORES3

/*
* Shenzhen Jingcai Intelligent Supported Boards (https://www.displaysmodule.com/):
Expand All @@ -78,7 +79,7 @@
*
*/
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0

#endif
5 changes: 3 additions & 2 deletions examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@
*
* - M5STACK_M5CORE2: https://docs.m5stack.com/zh_CN/core/core2
* - M5STACK_M5DIAL: https://docs.m5stack.com/zh_CN/core/M5Dial
*
* - M5STACK_M5CORES3: https://docs.m5stack.com/zh_CN/core/CoreS3
*/
// #define BOARD_M5STACK_M5CORE2
// #define BOARD_M5STACK_M5DIAL
// #define BOARD_M5STACK_M5CORES3

/*
* Shenzhen Jingcai Intelligent Supported Boards (https://www.displaysmodule.com/):
Expand All @@ -78,7 +79,7 @@
*
*/
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0

#endif
5 changes: 3 additions & 2 deletions examples/Panel/PanelTest/ESP_Panel_Board_Supported.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@
*
* - M5STACK_M5CORE2: https://docs.m5stack.com/zh_CN/core/core2
* - M5STACK_M5DIAL: https://docs.m5stack.com/zh_CN/core/M5Dial
*
* - M5STACK_M5CORES3: https://docs.m5stack.com/zh_CN/core/CoreS3
*/
// #define BOARD_M5STACK_M5CORE2
// #define BOARD_M5STACK_M5DIAL
// #define BOARD_M5STACK_M5CORES3

/*
* Shenzhen Jingcai Intelligent Supported Boards (https://www.displaysmodule.com/):
Expand All @@ -78,7 +79,7 @@
*
*/
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0

#endif
5 changes: 3 additions & 2 deletions examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@
*
* - M5STACK_M5CORE2: https://docs.m5stack.com/zh_CN/core/core2
* - M5STACK_M5DIAL: https://docs.m5stack.com/zh_CN/core/M5Dial
*
* - M5STACK_M5CORES3: https://docs.m5stack.com/zh_CN/core/CoreS3
*/
// #define BOARD_M5STACK_M5CORE2
// #define BOARD_M5STACK_M5DIAL
// #define BOARD_M5STACK_M5CORES3

/*
* Shenzhen Jingcai Intelligent Supported Boards (https://www.displaysmodule.com/):
Expand All @@ -78,7 +79,7 @@
*
*/
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0

#endif
5 changes: 3 additions & 2 deletions examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,11 @@
*
* - M5STACK_M5CORE2: https://docs.m5stack.com/zh_CN/core/core2
* - M5STACK_M5DIAL: https://docs.m5stack.com/zh_CN/core/M5Dial
*
* - M5STACK_M5CORES3: https://docs.m5stack.com/zh_CN/core/CoreS3
*/
// #define BOARD_M5STACK_M5CORE2
// #define BOARD_M5STACK_M5DIAL
// #define BOARD_M5STACK_M5CORES3

/*
* Shenzhen Jingcai Intelligent Supported Boards (https://www.displaysmodule.com/):
Expand All @@ -78,7 +79,7 @@
*
*/
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0

#endif
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version=0.1.3
author=espressif
maintainer=espressif
sentence=ESP32_Display_Panel is an Arduino library designed for ESP SoCs to drive display panels and facilitate rapid GUI development.
paragraph=Currently supported boards:ESP32-C3-LCDkit,ESP32-S3-Box,ESP32-S3-Box-3,ESP32-S3-Box-3(beta),ESP32-S3-Box-Lite,ESP32-S3-EYE,ESP32-S3-Korvo-2,ESP32-S3-LCD-EV-Board,ESP32-S3-LCD-EV-Board-2,ESP32-S3-USB-OTG,M5STACK-M5CORE2,M5STACK-M5DIAL,ESP32-4848S040C_I_Y_3. Currently supported devices: Bus,LCD,Touch,Backlight,IO expander. Currently supported Bus: I2C,SPI,QSPI,3-wire SPI + RGB. Currently supported LCD controllers: GC9A01,GC9B71,GC9503,ILI9341,NV3022B,ST7262,ST7701,ST7789,ST7796,ST77916,ST77922. Currently supported Touch controllers: CST816S,FT5x06,GT1151,GT911,ST7123,TT21100,XPT2046.
paragraph=Currently supported boards:ESP32-C3-LCDkit,ESP32-S3-Box,ESP32-S3-Box-3,ESP32-S3-Box-3(beta),ESP32-S3-Box-Lite,ESP32-S3-EYE,ESP32-S3-Korvo-2,ESP32-S3-LCD-EV-Board,ESP32-S3-LCD-EV-Board-2,ESP32-S3-USB-OTG,M5STACK-M5CORE2,M5STACK-M5DIAL,M5STACK-M5CORES3,ESP32-4848S040C_I_Y_3. Currently supported devices: Bus,LCD,Touch,Backlight,IO expander. Currently supported Bus: I2C,SPI,QSPI,3-wire SPI + RGB. Currently supported LCD controllers: GC9A01,GC9B71,GC9503,ILI9341,NV3022B,ST7262,ST7701,ST7789,ST7796,ST77916,ST77922. Currently supported Touch controllers: CST816S,FT5x06,GT1151,GT911,ST7123,TT21100,XPT2046.
category=Other
architectures=esp32
url=https://github.com/esp-arduino-libs/ESP32_Display_Panel
Expand Down
2 changes: 1 addition & 1 deletion src/ESP_PanelVersions.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

/* File `ESP_Panel_Board_Supported.h` */
#define ESP_PANEL_BOARD_SUPPORTED_VERSION_MAJOR 0
#define ESP_PANEL_BOARD_SUPPORTED_VERSION_MINOR 3
#define ESP_PANEL_BOARD_SUPPORTED_VERSION_MINOR 2
#define ESP_PANEL_BOARD_SUPPORTED_VERSION_PATCH 0

/* Check if the current configuration file version is compatible with the library version */
Expand Down
18 changes: 9 additions & 9 deletions src/board/Board_Contribution_Guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ pip3 install pre-commit && pre-commit install

## Modification Content

Using the adaption of the `M5Stack M5CORE2` development board as an example. Following this guide, changes below will be made under the project:
Using the adaption of the [`M5Stack M5DIAL`](https://github.com/esp-arduino-libs/ESP32_Display_Panel/commit/1886c668468626b9dd2ae975f7db12df5413378e) development board as an example. Following this guide, changes below will be made under the project:

```
| -ESP32_Display_Panel
| -src
| -board
| -m5stack [A]
| -M5CORE2.h [A]
| -M5DIAL.h [A]
| -ESP_PanelBoard [M]
| -README.md [M]
| -ESP_PanelVersions.h [M]
Expand All @@ -36,26 +36,26 @@ Note: [A] stands for 'append' and [M] stands for 'modify'

## Modification Process

Using the adaption of `M5Stack M5CORE2` as an example, follow these steps to modify the relevant files:
Using the adaption of `M5Stack M5DIAL` as an example, follow these steps to modify the relevant files:

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.
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.
1. **[M]** *[ESP_Panel_Board_Supported.h](../../ESP_Panel_Board_Supported.h)*: Add a macro for the new development board, such as `BOARD_M5STACK_M5DIAL`. Ensure the macro is in uppercase. Include the manufacturer's name and link, as well as the target development board's link.
2. **[A]** *[src/board/m5stack/M5DIAL.h](../board/m5stack/M5DIAL.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.
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.

**Note**: At this point, you can verify the above steps:

- Choose an example, such as *[examples/Panel/PanelTest](../../examples/Panel/PanelTest/)*.
- 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)*.
- modify the macro `ESP_PANEL_USE_SUPPORTED_BOARD` to enable this header file. Define the development board macro, such as `BOARD_M5STACK_M5DIAL`, to enable the new header file *[src/board/m5stack/M5DIAL.h](../board/m5stack/M5DIAL.h)*.
- Verify the example's ino file. If successful, proceed to the following steps.

4. **[M]** *[src/board/m5stack/M5CORE2.h](../board/m5stack/M5CORE2.h)*: Modify the configuration header file for the new development board:
4. **[M]** *[src/board/m5stack/M5DIAL.h](../board/m5stack/M5DIAL.h)*: Modify the configuration header file for the new development board:
- 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.
- The best practice is to first get the screen working, then work on the touch functionality.
- 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.
- 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.
- 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/M5DIAL.h](../board/m5stack/M5DIAL.h)* for specific implementations.
- Run examples other than *[examples/LCD](../../examples/LCD/)* and *[examples/Touch](../../examples/Touch/)*, and continuously adjust the configuration header file to ensure correct settings.

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.
6. **[M]** *[src/board/Board_Instructions.md](../board/Board_Instructions.md)*: Update the recommended configuration for the new development board.
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.
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 tag 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, ensure that the version number at the end of the corresponding file and at the beginging of *[src/ESP_PanelVersions.h](../ESP_PanelVersions.h)* should be ahead of the latest tag version in terms of the minor version.
8. **[M]** *[CHANGELOG.md](../../CHANGELOG.md)*: Update the changelog.
Loading

0 comments on commit 8131565

Please sign in to comment.