Skip to content

Share AMOLED brightness control and optional Brookesia integration - #3

Merged
Y1hsiaochunnn merged 3 commits into
mainfrom
fix/remove-brookesia-adapters
Sep 7, 2026
Merged

Y1hsiaochunnn merged 3 commits into
mainfrom
fix/remove-brookesia-adapters

Conversation

@Y1hsiaochunnn

@Y1hsiaochunnn Y1hsiaochunnn commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

The three AMOLED board definitions referenced duplicated Brookesia brightness plugins. Move the hardware brightness command into a public helper and share one explicit optional plugin, preserving the board features and runtime brightness controls.

  • Keep display/touch, audio, SD, PMU, peripheral, and hardware-default source in boards/<model>/. Remove automatic Brookesia dependencies from board YAML.
  • Expose waveshare_amoled_set_brightness() in include/waveshare_amoled.h so ordinary Board Manager applications can control the supported QSPI AMOLED panels without Brookesia.
  • Share the optional adapter under integrations/brookesia_hal_custom/. Preserve its brightness setter/getter, 0–100 percent range, mutex, cached value, plugin/interface names, display group, and defaults. Keep all three original application profiles under profiles/<model>/.
  • Depend directly on the HAL interface, using the same display_lcd group from Board Manager instead of including the full HAL adaptor for that constant. Document opt-in setup and upstream constraints: Brookesia 0.8 lib_utils requires IDF 6.0–6.2; the standalone adapter does not depend on HAL adaptor 0.8.4's separate Board Manager 0.5.* constraint.

Validation for 93028a8: 22 helper/host tests, metadata/catalog/navigation checks, actionlint, package contents, and Markdown audit passed (one expected range-audit notice for the preserved upstream changelog). Host C tests check brightness command encoding, scaling, clamping, invalid handles, and IO-error propagation. Hardware source and the three application profiles remain byte-identical to the base. All eleven local builds passed: eight plain builds across IDF v5.5.5/v6.1 plus three optional adapter builds on its native IDF v6.1, Board Manager 0.7.2. All eleven Actions builds passed on the same commit, along with metadata and aggregate checks. A separate IDF 6.1 consumer fetched this exact commit through Component Manager, discovered the 1.8 board under managed_components/waveshare__waveshare_boards, and compiled both the public brightness call and the optional adapter successfully. Adapter builds also check that the plugin and brightness getter/setter are linked and no HAL adaptor dependency is resolved. Physical board behavior and an unmodified full Brookesia application are not validated.

@Y1hsiaochunnn Y1hsiaochunnn changed the title Remove Brookesia application adapters from board definitions Consolidate optional AMOLED brightness integration without removing board features Sep 7, 2026
@Y1hsiaochunnn Y1hsiaochunnn changed the title Consolidate optional AMOLED brightness integration without removing board features Share AMOLED brightness control and optional Brookesia integration Sep 7, 2026
@Y1hsiaochunnn
Y1hsiaochunnn merged commit de24ab7 into main Sep 7, 2026
13 checks passed
@Y1hsiaochunnn
Y1hsiaochunnn deleted the fix/remove-brookesia-adapters branch September 8, 2026 01:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant