feat(byte90): Add Byte90 Board Support Package (BSP) component#451
Merged
feat(byte90): Add Byte90 Board Support Package (BSP) component#451
Conversation
|
✅Static analysis result - no issues found! ✅ |
Contributor
There was a problem hiding this comment.
Pull Request Overview
Adds a new Byte90 Board Support Package (BSP) component with accompanying documentation, example application, and CI updates.
- Implements
espp::Byte90hardware abstraction (LCD, button, accelerometer) - Provides a runnable example demonstrating display, button, and accelerometer usage
- Updates documentation, Doxygen config, and CI workflows to include Byte90
Reviewed Changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| doc/en/index.rst | Register Byte90 page in documentation index |
| doc/en/byte90.rst | Add Byte90 overview, example toctree, API include |
| doc/Doxyfile | Include Byte90 example and header in Doxygen input |
| components/byte90/include/byte90.hpp | Define Byte90 API and pin configurations |
| components/byte90/src/display.cpp | Implement LCD initialization and SPI callbacks |
| components/byte90/src/byte90.cpp | Core SPI bus setup and base component integration |
| components/byte90/src/button.cpp | Add button initialization and state query |
| components/byte90/src/accelerometer.cpp | Configure ADXL345 accelerometer and interrupts |
| components/byte90/example/main/byte90_example.cpp | New example app demonstrating all subsystems |
| .github/workflows/build.yml & upload_components.yml | Include Byte90 in build and upload pipelines |
Comments suppressed due to low confidence (4)
components/byte90/Kconfig:6
- The help text refers to a keyboard and touch callback, which don’t exist in this component. Update it to mention the button and accelerometer interrupts instead.
Size of the stack used for the interrupt handler. Shared by the
components/byte90/example/main/byte90_example.cpp:3
- M_PI, cos, and sin are used later but is not included. Add
#include <cmath>to ensure those symbols are defined.
#include <stdlib.h>
components/byte90/example/main/byte90_example.cpp:91
- [nitpick] Inconsistent constant naming:
MAX_CIRCLESis defined in uppercase butmax_circlesuses lowercase. Rename one of them to follow a single convention.
static constexpr int max_circles = 10;
components/byte90/src/display.cpp:41
- Consider adding unit or integration tests for
initialize_lcd()to verify SPI bus setup and DisplayDriver initialization under different conditions.
bool Byte90::initialize_lcd() {
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Byte90componentMotivation and Context
This is a follow-up PR after #448 and #449 which added the accelerometer and OLED display driver used in the Byte90.
How has this been tested?
byte90/exampleon a Byte90Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):
Showing the button properly changing the brightness/orientation:
Types of changes
Checklist:
Software
.github/workflows/build.ymlfile to add my new test to the automated cloud build github action.