-
Notifications
You must be signed in to change notification settings - Fork 24
feat(expressive_eyes): Add new ExpressiveEyes component
#587
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
Conversation
…k with other hardware
|
✅Static analysis result - no issues found! ✅ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds a new ExpressiveEyes display animation component, along with documentation, an ESP-IDF example app, and CI updates so the new component is built and published.
Changes:
- Introduces
components/expressive_eyes(core class + IDF component metadata). - Adds an ESP-IDF example with multiple LVGL-based drawing styles and menuconfig options.
- Updates Sphinx/Doxygen docs and GitHub Actions workflows to include the new component and example.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| doc/en/display/index.rst | Adds Expressive Eyes docs page into the display documentation toctree. |
| doc/en/display/expressive_eyes_example.md | Includes the example README into the docs. |
| doc/en/display/expressive_eyes.rst | New Expressive Eyes feature overview + API reference include. |
| doc/Doxyfile | Adds the ExpressiveEyes header and example to Doxygen inputs/examples. |
| components/expressive_eyes/src/expressive_eyes.cpp | Implements animation logic (blink, look, expression blending) and draw callback invocation. |
| components/expressive_eyes/include/expressive_eyes.hpp | Public API for ExpressiveEyes (config, states, expressions, callback). |
| components/expressive_eyes/idf_component.yml | Registers the component for ESP-IDF component manager publishing. |
| components/expressive_eyes/example/sdkconfig.defaults | Default config values for the example build. |
| components/expressive_eyes/example/main/monochrome_blue_drawer.hpp | Example LVGL renderer: blue monochrome eyes. |
| components/expressive_eyes/example/main/full_featured_drawer.hpp | Example LVGL renderer: white eyes with pupils and background-cut eyebrows/cheeks. |
| components/expressive_eyes/example/main/eye_drawer.hpp | Drawer interface used by the example to provide draw callbacks. |
| components/expressive_eyes/example/main/expressive_eyes_example.cpp | Example app wiring (board init, LVGL canvas, expression/looking demos). |
| components/expressive_eyes/example/main/README_DRAWERS.md | Documents the drawer architecture and how to add new drawers. |
| components/expressive_eyes/example/main/Kconfig.projbuild | Adds menuconfig options for board + drawing method + eye params. |
| components/expressive_eyes/example/main/CMakeLists.txt | Registers the example’s main component with ESP-IDF. |
| components/expressive_eyes/example/README.md | User-facing instructions and description for the example. |
| components/expressive_eyes/example/CMakeLists.txt | ESP-IDF project config for building the example. |
| components/expressive_eyes/README.md | Component README describing features and linking to the example. |
| components/expressive_eyes/CMakeLists.txt | ESP-IDF component registration for expressive_eyes. |
| .github/workflows/upload_components.yml | Adds components/expressive_eyes to publishing workflow. |
| .github/workflows/build.yml | Adds the expressive_eyes example to CI build matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
…h out some more of the expressions
Description
expressive_eyescomponent for configurable expressions with support for custom drawing styles.Motivation and Context
They look nice, and can help to create a nice little desk buddy or robot face
How has this been tested?
Build and run
expressive_eyes/exampleonESP32-S3-BOXandwaveshare touch LCDScreenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):
Videos:
New:
expressive-eyes-demo-compressed.mp4
Click to show old video
Old:
Expressive.Eyes.2.compressed.mp4
Console output:
Types of changes
Checklist:
Software
.github/workflows/build.ymlfile to add my new test to the automated cloud build github action.