Skip to content

feat(byte90): Add Byte90 Board Support Package (BSP) component#451

Merged
finger563 merged 2 commits intomainfrom
feat/byt90-bsp
Jun 5, 2025
Merged

feat(byte90): Add Byte90 Board Support Package (BSP) component#451
finger563 merged 2 commits intomainfrom
feat/byt90-bsp

Conversation

@finger563
Copy link
Copy Markdown
Contributor

@finger563 finger563 commented Jun 5, 2025

Description

  • Add Byte90 component
  • Add example
  • Update docs
  • Update build CI
  • Update upload components CI

Motivation 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?

  • Build and run byte90/example on a Byte90

Screenshots (if appropriate, e.g. schematic, board, console logs, lab pictures):

image
CleanShot 2025-06-05 at 15 33 16
Showing the button properly changing the brightness/orientation:
image
image
image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update
  • Hardware (schematic, board, system design) change
  • Software change

Checklist:

  • My change requires a change to the documentation.
  • I have added / updated the documentation related to this change via either README or WIKI

Software

  • I have added tests to cover my changes.
  • I have updated the .github/workflows/build.yml file to add my new test to the automated cloud build github action.
  • All new and existing tests passed.
  • My code follows the code style of this project.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 5, 2025

✅Static analysis result - no issues found! ✅

@finger563 finger563 self-assigned this Jun 5, 2025
@finger563 finger563 requested a review from Copilot June 5, 2025 20:36
@finger563 finger563 added enhancement New feature or request byte90 labels Jun 5, 2025
Copy link
Copy Markdown
Contributor

Copilot AI left a 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 Byte90 Board Support Package (BSP) component with accompanying documentation, example application, and CI updates.

  • Implements espp::Byte90 hardware 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_CIRCLES is defined in uppercase but max_circles uses 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() {

Comment thread components/byte90/src/display.cpp
@finger563 finger563 merged commit e29a38f into main Jun 5, 2025
80 checks passed
@finger563 finger563 deleted the feat/byt90-bsp branch June 5, 2025 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

byte90 enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants