Skip to content

Comments

boards/stm32h7: Add button support to nucleo-h743zi2#18407

Closed
pbarada wants to merge 20 commits intoapache:masterfrom
pbarada:test/nucleo-h743zi2-btns
Closed

boards/stm32h7: Add button support to nucleo-h743zi2#18407
pbarada wants to merge 20 commits intoapache:masterfrom
pbarada:test/nucleo-h743zi2-btns

Conversation

@pbarada
Copy link
Contributor

@pbarada pbarada commented Feb 18, 2026

This patch adds support for the user button on nuclo-h743zi2 board (and nucleo-h753zi2 which is also a MB1364 board design) and provides nucleo-h743zi2:buttons configuration selector.

Note: Please adhere to Contributing Guidelines.

Summary

Add button support for the B1 button oh nucleo-h743zi2 MB1364-based nucleo boards (includes nucleo-h753zi2).
Create new nucelo-h743zi2:buttons defconfig.

Impact

  • User experience: No adaptation required. This fix extends existing behavior.
  • Build: No impact.
  • Hardware: Affects nucleo-h7x3zi2 baser boards (MB1364 board designs).
  • Documentation: None required.
  • Security: No impact.
  • Compatibility: Backward compatible - extends current behavior.

Testing

Build Host:

  • OS Ubuntu 24.04 LTS
  • Compiler: arm-non-eabui-gcc v13.2.1

Target:

  • Architecture: ARM (STM32H7x3zix)
  • Board: nucleo-h753zi2
  • Configuration: nucleo-h743zi2:buttons

Testing performced:

  • Ran OS-test
  • Ran buttons and pressed blue B1 button on board while observing console showing button pressed/released.

nucleo-h743zi2-buttons.log

This patch adds support for the user button on nuclo-h743zi2 board
(and nucleo-h753zi2 which is also a MB1364 board design) and provides
nucleo-h743zi2:buttons configuration selector.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
linguini1
linguini1 previously approved these changes Feb 19, 2026
@simbit18
Copy link
Contributor

simbit18 commented Feb 19, 2026

Hi @pbarada, please align CMakeLists.txt with Makefile

add this

if(CONFIG_ARCH_BUTTONS)
  list(APPEND SRCS stm32_buttons.c)
endif()

here

https://github.com/pbarada/nuttx/blob/9fd154a0b4ada10201a19ec651a82a461aff0689/boards/arm/stm32h7/nucleo-h743zi2/src/CMakeLists.txt#L34

simple build test

cmake -B build -DBOARD_CONFIG=nucleo-h743zi2:buttons -GNinja

cmake --build build

@raiden00pl
Copy link
Member

@pbarada why not add buttons example to nuclo-h743zi2/jumbo ?

Copy link
Contributor

@acassis acassis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pbarada please update the Documentation

@pbarada
Copy link
Contributor Author

pbarada commented Feb 19, 2026

Hi @pbarada, please align CMakeLists.txt with Makefile

Will do.

@pbarada
Copy link
Contributor Author

pbarada commented Feb 19, 2026

@pbarada why not add buttons example to nuclo-h743zi2/jumbo ?

Doh! I'll rework pull request to remove buttons defconfig, add input buttons to jumbo defconfig, and update documentation. Waiting for USB OTG cable from Amazon to complete tests shown in jumbo log(mounting USB stick).

@raiden00pl
Copy link
Member

@pbarada nucleo-h743zi2 has a lot of FLASH, so we can easily add features to a single configuration. The name "jumbo" may not be the best, but we haven't yet decided what to call this type of config that enables all the board's features :)

Incorporate PR suggestions to add button support to jumbo
configuration selector and update the documentation.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
linguini1 and others added 9 commits February 20, 2026 13:27
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Aligns `CONFIG_INTERPRETER_*` options to `CONFIG_INTERPRETERS_*` to be
consistent with other interpreters.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
- Fix byte count calculation for 16-bit SPI words
  using shift-by-1 instead of shift-by-2
- Use word count instead of byte count for DMA
  iteration config on both RX and TX channels

Signed-off-by: Atsunori Saito <sai@yedo.com>
Add support for ST7796 TFT LCD controller (320x480). The driver
implements the NuttX framebuffer interface for SPI-connected displays.

Features:
- SPI interface with CONFIG_SPI_CMDDATA for D/C pin control;
- RGB565 (16-bit) and RGB666 (18-bit) color formats;
- Runtime rotation support (0, 90, 180, 270 degrees) via MADCTL;
- Board-provided configuration via st7796_config_s structure;
- Partial screen update via updatearea for efficient rendering;
- Persistent swap buffer to avoid per-frame allocations;
- Proper ST7796S initialization sequence with documented timing;

The driver uses a board-provided configuration structure allowing
flexible setup of resolution, SPI frequency, color depth, and
initial MADCTL value without requiring Kconfig options in the
generic driver.

Architecture changes in this revision as per request:

- Moved internal register commands to .c file (private)
- Moved MADCTL bit definitions to .c file (private)
- Moved struct st7796_cmd_s to .c file (private)
- Converted MADCTL orientation macros to absolute values
- Moved CONFIG_SPI_CMDDATA error check to beginning of file
- Removed duplicated CONFIG_SPI_CMDDATA guards
- Public header contains only board configuration API
- Changed the Kconfig auto-select FB from 'select' to 'depends on'

Tested with LVGL graphics library on STM32H753ZI board (my own port).

Signed-off-by: Vinicius May <vmay.sweden@gmail.com>
* As voted in https://www.mail-archive.com/dev@nuttx.apache.org/msg14264.html.
* Contributing Guide nomenclature align.
* Mention CG locations (git and doc).
* Reference NuttX Documentation, Contributing, and Security.
* Added Contributing Guide to NuttX Documentation (md include to stay in sync).
* Breaking Changes marking update:
  * `[BREAKING]` title tag replaced with `!` (exclamation mark).
  * `BREAKING CHANGES:` description brief with quick-fix instructions added.
* Breaking change git commit and pr template examples added.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
…/E5x Family

- added Microchip's SAM D5x/E5x Family

Signed-off-by: simbit18 <simbit18@gmail.com>
CMake added boards:

 - metro-m4

 - same54-xplained-pro

Signed-off-by: simbit18 <simbit18@gmail.com>
simbit18 and others added 8 commits February 20, 2026 13:27
fix b-l072z-lrwan1:nxlines_oled
b-l072z-lrwan1/src/stm32_lcd_ssd1306.c:38:10: fatal error: stm32_ssd1306.h: No such file or directory
   38 | #include "stm32_ssd1306.h"
      |          ^~~~~~~~~~~~~~~~~

Signed-off-by: simbit18 <simbit18@gmail.com>
Automatically select I2C_DRIVER when ESP32_I2C is selected.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
Add I2C defconfig to esp32-devkitc board and update some board
ifdefs.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
Add a GPIO defconfig for ESP32-DevKit-C.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
Add SPI defconfig for ESP32-DevKit-C.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
Adds description for the GPIO, SPI and I2C defconfigs for the
esp32-devkitc board.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
Adds the efuse defconfig for the ESP32-S2.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
Adds description for the efuse defconfig on esp32s2-saola-1 board.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
@pbarada
Copy link
Contributor Author

pbarada commented Feb 20, 2026

Gah, I've messed up my branch trying to rebase/squash. I'm closing this pull request, creating a new branch with the updated changes and creating a new pull request. My apologies...

@pbarada pbarada closed this Feb 20, 2026
@pbarada pbarada deleted the test/nucleo-h743zi2-btns branch February 20, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Build system Board: arm Size: M The size of the change in this PR is medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants