Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add espp::SsRoundDisplay hardware abstraction component for the Seeed Studio Round Display #315

Merged
merged 18 commits into from
Aug 26, 2024
Merged
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
Prev Previous commit
Next Next commit
wip final updates
finger563 committed Aug 26, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit dfb31714c16fbd9cf8acb60a7964824f9103c01e
28 changes: 9 additions & 19 deletions components/seeed-studio-round-display/example/README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,19 @@
# ESP-BOX Example
# Seeed Studio Round Display Example

This example shows how to use the `espp::EspBox` hardware abstraction component
to automatically detect and initialize components on both the ESP32-S3-BOX and
the ESP32-S3-BOX-3.
This example shows how to use the `espp::SsRoundDisplay` hardware abstraction
component to initialize the hardware components on the [Seeed Studio Round
Display](https://wiki.seeedstudio.com/get_start_round_display/) when used with
either the XIAO S3 or the QtPy ESP32S3.

It initializes the touch, display, and audio subsystems. It reads the touchpad
state and each time you touch the scren it 1) uses LVGL to draw a circle where
you touch, and 2) play a click sound (wav file bundled with the firmware). If
you press the home button on the display, it will clear the circles.

https://github.com/esp-cpp/espp/assets/213467/d5379983-9bc2-4d56-a9fc-9e37f54af15e

![image](https://github.com/esp-cpp/espp/assets/213467/bfb45218-0d1f-4a07-ba30-c0c74a1657b9)
![image](https://github.com/esp-cpp/espp/assets/213467/c7216cfd-330d-4610-baf2-30001c98ff42)
It initializes the touch and display subsystems. It reads the touchpad state and
each time you touch the scren it uses LVGL to draw a circle where you touch.

## How to use example

### Hardware Required

This example is designed to run on the ESP32-S3-BOX or ESP32-S3-BOX-3.
This example is designed to run on either the QtPy ESP32S3 or the XIAO S3,
though the `espp::SsRoundDisplay` can be used with custom hardware.

### Build and Flash

@@ -37,8 +32,3 @@ See the Getting Started Guide for full steps to configure and use ESP-IDF to bui

## Example Output

BOX3:
![CleanShot 2024-07-01 at 08 47 31](https://github.com/esp-cpp/espp/assets/213467/27cdec8e-6db0-4e3d-8fd6-91052ce2ad92)

BOX:
![CleanShot 2024-07-01 at 09 56 23](https://github.com/esp-cpp/espp/assets/213467/2f758ff5-a82e-4620-896e-99223010f013)
Original file line number Diff line number Diff line change
@@ -21,8 +21,10 @@ extern "C" void app_main(void) {

//! [seeed studio round display example]
#if CONFIG_EXAMPLE_HARDWARE_XIAOS3
logger.info("Using XiaoS3 hardware configuration");
espp::SsRoundDisplay::set_pin_config(espp::SsRoundDisplay::XiaoS3Config);
#elif CONFIG_EXAMPLE_HARDWARE_QTPYS3
logger.info("Using QtpyS3 hardware configuration");
espp::SsRoundDisplay::set_pin_config(espp::SsRoundDisplay::QtpyS3Config);
#else
#error "Please select a hardware configuration"