-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from Y1hsiaochunnn/master
Migrate the project and update some component support
- Loading branch information
Showing
93 changed files
with
8,329 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Push components to Espressif Component Service | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
|
||
jobs: | ||
upload_components: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@master | ||
with: | ||
submodules: 'recursive' | ||
- name: Upload components to component service | ||
uses: espressif/upload-components-ci-action@v1 | ||
with: | ||
directories: > | ||
display/lcd/esp_lcd_jd9165; | ||
display/lcd/esp_lcd_jd9365_8; | ||
display/lcd/esp_lcd_jd9365_10_1; | ||
display/lcd/esp_lcd_hx8394; | ||
display/lcd/esp_lcd_dsi; | ||
namespace: "waveshare" | ||
api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,154 @@ | ||
# Waveshare-ESP32-components | ||
waveshare componets For ESP Component Registry | ||
# Waveshare ESP32 Board Support Packages and Drivers | ||
|
||
Welcome to the repository for Waveshare ESP32 products! This repository is designed to provide resources, drivers, and | ||
support packages for Waveshare's ESP32-based boards and compatible display modules. It aims to simplify development and | ||
accelerate your project setup. | ||
|
||
--- | ||
|
||
## 📦 Repository Contents | ||
|
||
### 1. **Board Support Packages (BSP)** | ||
|
||
| Board | supported | | ||
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------| | ||
| [ESP32-P4-NANO](https://www.waveshare.com/esp32-p4-nano.htm)<br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/e/s/esp32-p4-nano-1.jpg"> | ✅ | | ||
| [ESP32-S3-Touch-AMOLED-1.8](https://www.waveshare.com/esp32-s3-touch-amoled-1.8.htm)<br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.net/photo/development-board/ESP32-S3-Touch-AMOLED-1.8/ESP32-S3-Touch-AMOLED-1.8-1.jpg"> | 🕒 | | ||
| [ESP32-S3-Touch-LCD-1.69](https://www.waveshare.com/esp32-s3-touch-lcd-1.69.htm)<br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/e/s/esp32-s3-touch-lcd-1.69-1.jpg"> | 🕒 | | ||
| [ESP32-S3-LCD-1.69](https://www.waveshare.com/esp32-s3-lcd-1.69.htm)<br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/e/s/esp32-s3-lcd-1.69-1.jpg"> | 🕒 | | ||
| [ESP32-S3-Touch-LCD-4 ](https://www.waveshare.com/esp32-s3-touch-lcd-4.htm)<br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/e/s/esp32-s3-touch-lcd-4-1.jpg"> | 🕒 | | ||
|
||
### 2. **Display Drivers** | ||
|
||
| Product ID | Dependency | tested | | ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|--------| | ||
| [2.8inch DSI LCD](https://www.waveshare.com/2.8inch-dsi-lcd.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/thumbnail/122x122/9df78eab33525d08d6e5fb8d27136e95/2/_/2.8inch-dsi-lcd-3.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [3.4inch DSI LCD (C)](https://www.waveshare.com/3.4inch-dsi-lcd-c.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/3/_/3.4inch-dsi-lcd-c-1.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [4inch DSI LCD (C)](https://www.waveshare.com/4inch-dsi-lcd-c.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/4/i/4inch-dsi-lcd-c-1.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [4inch DSI LCD](https://www.waveshare.com/4inch-dsi-lcd.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/4/i/4inch-dsi-lcd-1.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [5inch DSI LCD (D)](https://www.waveshare.com/5inch-dsi-lcd-d.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/5/i/5inch-dsi-lcd-d-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [6.25inch DSI LCD](https://www.waveshare.com/6.25inch-dsi-lcd.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/6/_/6.25inch-dsi-lcd-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [5inch DSI LCD (C)](https://www.waveshare.com/5inch-dsi-lcd-c.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/5/i/5inch-dsi-lcd-c-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [7inch DSI LCD (C)](https://www.waveshare.com/7inch-dsi-lcd-c-with-case-a.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/7/i/7inch-dsi-lcd-c-4.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [7.9inch DSI LCD](https://www.waveshare.com/7.9inch-dsi-lcd.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/7/_/7.9inch-dsi-lcd-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [7inch DSI LCD (E)](https://www.waveshare.com/7inch-dsi-lcd-e.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/7/i/7inch-dsi-lcd-e-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [8inch DSI LCD (C)](https://www.waveshare.com/8inch-dsi-lcd-c.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/8/i/8inch-dsi-lcd-c-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [10.1inch DSI LCD (C)](https://www.waveshare.com/10.1inch-dsi-lcd-c.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/1/0/10.1inch-dsi-lcd-c-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [8.8inch DSI LCD](https://www.waveshare.com/8.8inch-dsi-lcd.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/8/_/8.8inch-dsi-lcd-2.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [11.9inch DSI LCD](https://www.waveshare.com/11.9inch-dsi-lcd.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/1/1/11.9inch-dsi-lcd-3.jpg"> | [waveshare/esp_lcd_dsi](display/lcd/esp_lcd_dsi) | ✅ | | ||
| [:101M-8001280-IPS-CT-K](https://www.waveshare.com/101m-8001280-ips-ct-k.htm) <br/><img style="width: 150px; height: auto; display: block; margin: 0 auto;" src="https://www.waveshare.com/media/catalog/product/cache/1/image/800x800/9df78eab33525d08d6e5fb8d27136e95/1/0/101m-8001280-ips-ct-k-1.jpg"> | [waveshare/esp_lcd_jd9365_10_1](display/lcd/esp_lcd_jd9365_10_1) | ✅ | | ||
|
||
## 📚 Documentation | ||
|
||
Each library and support package comes with detailed documentation and examples. Key highlights include: | ||
|
||
- **Initialization Guides:** Step-by-step instructions for setting up your board and peripherals. | ||
- **Examples:** | ||
- The driver library code provides the simplest low-level drivers | ||
- BSP sample programs can be queried in different product wikis, and will be synchronized in | ||
the [ESP32-display-support](https://github.com/waveshareteam/ESP32-display-support) | ||
- **Code Comments:** Inline documentation for better understanding. | ||
|
||
--- | ||
|
||
## 🚀 Getting Started | ||
|
||
### Prerequisites | ||
|
||
- **Hardware:** | ||
- Waveshare ESP32 boards | ||
- Supported display modules | ||
- Compatible touch controllers(Optional) | ||
- **Software:** | ||
- [ESP-IDF](https://github.com/espressif/esp-idf)(Each product has a recommended version on the wiki as well as | ||
sample routines) | ||
|
||
[//]: # (### Setup) | ||
|
||
[//]: # () | ||
|
||
[//]: # (1. Clone the repository:) | ||
|
||
[//]: # () | ||
|
||
[//]: # () | ||
|
||
[//]: # (2. Install required dependencies:) | ||
|
||
[//]: # () | ||
|
||
[//]: # () | ||
|
||
[//]: # (3. Flash the example projects:) | ||
|
||
|
||
--- | ||
|
||
## 🌟 Features | ||
|
||
- **LVGL Support:** | ||
- Widgets, animations, and custom UI components for Waveshare displays. | ||
- **Optimized Drivers:** | ||
- DMA and double buffering for smooth graphics. | ||
- **Peripheral Utilities:** | ||
- Simplified access to RTC, I/O expanders, and power management ICs. | ||
- **Arduino-Compatible Libraries:** | ||
- Easy porting of code using the Arduino ecosystem. | ||
|
||
--- | ||
|
||
## 🔧 Configuration | ||
|
||
You can view some of the configurations that have been added via menuconfig, which will allow you to verify the | ||
functionality directly | ||
|
||
--- | ||
|
||
## 📂 Directory Structure | ||
|
||
``` | ||
. | ||
├── bsp/ # Board support packages | ||
├── display/ # Display drivers | ||
└── README.md # Project overview (this file) | ||
``` | ||
|
||
--- | ||
|
||
## 🛠️ Contributing | ||
|
||
We welcome contributions! Here’s how you can help: | ||
|
||
1. Fork the repository. | ||
2. Create a new branch for your feature or bug fix. | ||
3. Commit your changes with clear descriptions. | ||
4. Submit a pull request for review. | ||
|
||
--- | ||
|
||
## 🧩 Issues and Support | ||
|
||
If you encounter any issues: | ||
|
||
- Check the [Issues](https://github.com/waveshareteam/Waveshare-ESP32-components/issues) section. | ||
- Create a new issue with detailed information. | ||
- Refer to the documentation for troubleshooting tips. | ||
|
||
--- | ||
|
||
## 📜 License | ||
|
||
This repository is licensed under the Apache License License. See the `LICENSE` file for details. | ||
|
||
--- | ||
|
||
## 🙌 Acknowledgments | ||
|
||
- Waveshare for their excellent hardware platforms and software support | ||
- The Espressif Team for their continuous support. | ||
- Open-source contributors who make these projects possible. | ||
|
||
--- | ||
|
||
Thank you for using Waveshare-ESP32-components! 🚀 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
|
||
idf_component_register( | ||
SRCS "esp32_p4_nano.c" | ||
INCLUDE_DIRS "include" | ||
PRIV_INCLUDE_DIRS "priv_include" | ||
REQUIRES driver | ||
PRIV_REQUIRES esp_lcd usb spiffs fatfs | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
menu "Board Support Package(ESP32-P4)" | ||
|
||
config BSP_ERROR_CHECK | ||
bool "Enable error check in BSP" | ||
default y | ||
help | ||
Error check assert the application before returning the error code. | ||
|
||
menu "I2C" | ||
config BSP_I2C_NUM | ||
int "I2C peripheral index" | ||
default 1 | ||
range 0 1 | ||
help | ||
ESP32P4 has two I2C peripherals, pick the one you want to use. | ||
|
||
config BSP_I2C_FAST_MODE | ||
bool "Enable I2C fast mode" | ||
default y | ||
help | ||
I2C has two speed modes: normal (100kHz) and fast (400kHz). | ||
|
||
config BSP_I2C_CLK_SPEED_HZ | ||
int | ||
default 400000 if BSP_I2C_FAST_MODE | ||
default 100000 | ||
endmenu | ||
|
||
menu "I2S" | ||
config BSP_I2S_NUM | ||
int "I2S peripheral index" | ||
default 1 | ||
range 0 2 | ||
help | ||
ESP32P4 has three I2S peripherals, pick the one you want to use. | ||
endmenu | ||
|
||
menu "uSD card - Virtual File System" | ||
config BSP_SD_FORMAT_ON_MOUNT_FAIL | ||
bool "Format uSD card if mounting fails" | ||
default n | ||
help | ||
The SDMMC host will format (FAT) the uSD card if it fails to mount the filesystem. | ||
|
||
config BSP_SD_MOUNT_POINT | ||
string "uSD card mount point" | ||
default "/sdcard" | ||
help | ||
Mount point of the uSD card in the Virtual File System | ||
|
||
endmenu | ||
|
||
menu "SPIFFS - Virtual File System" | ||
config BSP_SPIFFS_FORMAT_ON_MOUNT_FAIL | ||
bool "Format SPIFFS if mounting fails" | ||
default n | ||
help | ||
Format SPIFFS if it fails to mount the filesystem. | ||
|
||
config BSP_SPIFFS_MOUNT_POINT | ||
string "SPIFFS mount point" | ||
default "/spiffs" | ||
help | ||
Mount point of SPIFFS in the Virtual File System. | ||
|
||
config BSP_SPIFFS_PARTITION_LABEL | ||
string "Partition label of SPIFFS" | ||
default "storage" | ||
help | ||
Partition label which stores SPIFFS. | ||
|
||
config BSP_SPIFFS_MAX_FILES | ||
int "Max files supported for SPIFFS VFS" | ||
default 5 | ||
help | ||
Supported max files for SPIFFS in the Virtual File System. | ||
endmenu | ||
|
||
menu "Display" | ||
config BSP_LCD_DPI_BUFFER_NUMS | ||
int "Set number of frame buffers" | ||
default 1 | ||
range 1 3 | ||
help | ||
Let DPI LCD driver create a specified number of frame-size buffers. Only when it is set to multiple can the avoiding tearing be turned on. | ||
|
||
config BSP_DISPLAY_LVGL_AVOID_TEAR | ||
bool "Avoid tearing effect" | ||
depends on BSP_LCD_DPI_BUFFER_NUMS > 1 | ||
default "n" | ||
help | ||
Avoid tearing effect through LVGL buffer mode and double frame buffers of RGB LCD. This feature is only available for RGB LCD. | ||
|
||
choice BSP_DISPLAY_LVGL_MODE | ||
depends on BSP_DISPLAY_LVGL_AVOID_TEAR | ||
prompt "Select LVGL buffer mode" | ||
default BSP_DISPLAY_LVGL_FULL_REFRESH | ||
config BSP_DISPLAY_LVGL_FULL_REFRESH | ||
bool "Full refresh" | ||
config BSP_DISPLAY_LVGL_DIRECT_MODE | ||
bool "Direct mode" | ||
endchoice | ||
|
||
config BSP_DISPLAY_BRIGHTNESS_LEDC_CH | ||
int "LEDC channel index" | ||
default 1 | ||
range 0 7 | ||
help | ||
LEDC channel is used to generate PWM signal that controls display brightness. | ||
Set LEDC index that should be used. | ||
|
||
choice BSP_LCD_COLOR_FORMAT | ||
prompt "Select LCD color format" | ||
default BSP_LCD_COLOR_FORMAT_RGB565 | ||
help | ||
Select the LCD color format RGB565/RGB888. | ||
|
||
config BSP_LCD_COLOR_FORMAT_RGB565 | ||
bool "RGB565" | ||
config BSP_LCD_COLOR_FORMAT_RGB888 | ||
bool "RGB888" | ||
endchoice | ||
|
||
choice BSP_LCD_TYPE | ||
prompt "Select LCD type" | ||
default BSP_LCD_TYPE_1280_800_WAVESHARE_10_1 | ||
help | ||
Select the LCD. | ||
|
||
config BSP_LCD_TYPE_1024_600 | ||
bool "LCD 7-inch 1024x600 - ek79007" | ||
config BSP_LCD_TYPE_1280_800 | ||
bool "LCD 1280x800 - ili9881c" | ||
config BSP_LCD_TYPE_1280_800_WAVESHARE_10_1 | ||
bool "Waveshare 1280x800 10.1inch Display" | ||
endchoice | ||
|
||
config BSP_LCD_MIPI_DSI_LANE_BITRATE_MBPS | ||
int "MIPI DSI lane bitrate (Mbps)" | ||
default 1500 | ||
range 600 1500 | ||
help | ||
Set the lane bitrate for the MIPI DSI interface in Mbps. | ||
Adjust this value based on the display's requirements and capabilities. | ||
Try 840, 860, 933, 1000, 1200, 1500. | ||
|
||
|
||
endmenu | ||
|
||
endmenu |
Oops, something went wrong.