Commit graph

3611 commits

Author SHA1 Message Date
raiden00pl
147134a3fb boards/sim: add Lely CANopen examples
add Lely CANopen examples for sim

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-07-06 11:02:46 -03:00
raiden00pl
418c80c633 Documentation: update Lely CANopen doc
update Lely CANopen doc

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-07-06 11:02:46 -03:00
hanzhijian
9f69e1c0e9 Documentation: fill in pass1 directory description in organization.rst
Replace the TODO placeholder with a description of the two-pass build
mechanism (CONFIG_BUILD_2PASS).  pass1/ supports two-pass builds where
application-generated source files are compiled and linked into the
kernel address space during pass 2, primarily for kernel symbol table
generation required by loadable kernel modules.

Signed-off-by: hanzhijian <hanzhijian@zepp.com>
Author: hanzhijian <hanzhijian@zepp.com>
2026-07-06 10:18:42 -03:00
Old-Ding
115e0a97e9 Documentation: Fix kernel module wording.
Fix repeated and misspelled words in the kernel modules versus shared libraries implementation notes so the text reads correctly.

Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
2026-07-05 19:43:23 +02:00
raiden00pl
e9ac37e427 !arch/arm/src/stm32: unify the timer input clock board options
Replace the divergent board conventions for the timer input clock
frequency with a single uniform convention provided by every board:

- STM32_APBx_TIMn_CLKIN and BOARD_TIMn_FREQUENCY -> STM32_TIMn_CLKIN
- STM32_APBx_LPTIMn_CLKIN, BOARD_LPTIMn_FREQUENCY and
  STM32_LPTIMn_FREQUENCY -> STM32_LPTIMn_CLKIN
- STM32_APB1_THRTIM1_CLKIN and BOARD_HRTIM1_FREQUENCY ->
  STM32_HRTIM1_CLKIN

All STM32 consumers (tim/lptim/pwm/adc/dac/capture/sdadc/dfsdm/
pulsecount) updated to match; the timer input clock is now bus-agnostic
in the drivers.

Boards that carried the same timer clock in more than one convention now
define STM32_TIMn_CLKIN exactly once, derived from the APB bus clock
(PCLKx with the x2 doubler when the APB prescaler is greater than 1),
instead of redefining it with a second, sometimes different, value.

BREAKING CHANGE: The timer input-clock board macros STM32_APBx_TIMn_CLKIN,
BOARD_TIMn_FREQUENCY, STM32_APBx_LPTIMn_CLKIN, BOARD_LPTIMn_FREQUENCY,
STM32_LPTIMn_FREQUENCY, STM32_APB1_THRTIM1_CLKIN and
BOARD_HRTIM1_FREQUENCY are removed in favor of STM32_TIMn_CLKIN,
STM32_LPTIMn_CLKIN and STM32_HRTIM1_CLKIN.  Out-of-tree boards must
define the new macros (drop the APB bus from the name, keep the value),
and out-of-tree drivers referencing the old names must be updated.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-07-04 16:31:29 -03:00
Peter Barada
fb428899dc crypto: Support SHA2_224_HMAC
Since already have support for SHA2-224, extend cryptodev/cryptosoft
to support HMAC version of SHA2-224.

Signed-off-by: Peter Barada <peter.barada@gmail.com>
2026-07-04 14:15:17 +08:00
Jorge Guzman
7a4f270492 boards/arm/stm32h7: linum-stm32h753bi: add LVGL terminal configuration
Add an "lvglterm" configuration that runs the on-screen NuttShell terminal
(apps/examples/lvglterm, touch input variant) on the display: an on-screen
LVGL keyboard driven by the FT5X06 touchscreen feeds the shell and the NSH
output is rendered in an LVGL text area.

Update the apps/examples/lvglterm documentation to describe the two input
variants (on-screen touch keyboard and physical keyboard) and their
configuration options (input source, keyboard device and font choices).

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-04 02:01:56 +08:00
Jorge Guzman
1953a7449d boards/esp32s3: esp32s3-m5-cardputer: add keyboard and LVGL terminal
Add the 56-key matrix keyboard driver for the M5Stack Cardputer.  The keys
form an 8x7 matrix behind a 74HC138 3-to-8 demultiplexer; the driver scans it
on the low-priority work queue and registers a keyboard device at /dev/kbd0,
reporting ASCII codes with SHIFT/CTRL and Fn (cursor) handling.

Add an "lvglterm" configuration that runs the on-screen NuttShell terminal
(apps/examples/lvglterm, physical-keyboard input variant) on the ST7789
display: the shell output is rendered in an LVGL text area and the keyboard
feeds the input.  Wi-Fi is included so the on-screen shell can associate with
an access point using wapi.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-04 02:01:56 +08:00
Alan Carvalho de Assis
ae0210479d doc/nxdoom: Improve the nxdoom doc to let user play it
It is very easy to get NXDoom running on NuttX, but the instructions
was omitting the needed steps to get it running on Simulator.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2026-07-04 01:55:42 +08:00
Matteo Golin
51d0848b74 docs/sim: Include documentation about NXDoom configuration
Include docs about new NXDoom configurations for playing NXDoom.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-03 10:30:40 +08:00
Matteo Golin
3bc183485a docs/games/NXDoom: Documentation for DOOM port
Includes documentation about the current state of the DOOM port, where
it came from, how to play and what the requirements are. Includes all of
the warnings about experimental/unfinished features.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-03 10:30:40 +08:00
hanzhijian
597a533a47 Documentation: add CRC implementation details
Add a new section under Implementation Details explaining the CRC32
variants available in NuttX, including the difference between the
native crc32() and the new Linux/zlib-compatible crc32_ieee().

Signed-off-by: hanzhijian <hanzhijian@zepp.com>
2026-07-03 10:18:28 +08:00
Jorge Guzman
f0c94bb64a Documentation/spresense: rewrite board page with images and configs
Replace the bare "README.txt literal include" with a proper reStructuredText
page for the Sony Spresense board, and remove the now-redundant README.txt
(all of its content has been migrated into index.rst):

- Add board, extension and camera pinout figures (sony*.png).
- Add Features, Serial Console, Buttons and LEDs sections.
- Add "Flashing the bootloader" and "Building and Flashing" sections,
  including the official firmware download link and the flash_writer.py
  workflow.
- Document all board configurations (audio, audio_sdk, camera, charger,
  coremark, elf, example_camera, example_lcd, fmsynth, getprime, lcd, lte,
  module, mpy, nsh, nsh_automount, nsh_trace, ostest, posix_spawn, rndis,
  rndis_composite, rndis_smp, smp, usbmsc, usbnsh, wifi, wifi_smp), each of
  which was verified to build.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-02 09:02:54 -03:00
Jorge Guzman
1ddbeee4ef boards/esp32s3: add support to M5Stack Cardputer board
This port adds support for the M5Stack Cardputer (M5Stamp S3 /
ESP32-S3FN8, dual Xtensa LX7 @ 240 MHz, 8 MB flash, no PSRAM).

It reuses the common ESP32-S3 board helpers and ships these
configurations:

  - nsh:    NuttShell over the USB-Serial-JTAG console
  - sdcard: microSD card on SPI3 (FAT)
  - fb:     ST7789 240x135 display exposed as a framebuffer
  - wifi:   Wi-Fi station
  - softap: Wi-Fi SoftAP with DHCP server
  - lvgl:   LVGL graphics on the ST7789 (lvgldemo)

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-02 13:27:20 +08:00
Matteo Golin
50f91ef502 docs/boards/esp32s3-xiao: Fix documentation typo
Fixed references to incorrect board ID 'xiao-esp32s3' instead of
'esp32s3-xiao'.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-01 16:39:06 +02:00
Matteo Golin
fb45f1d0f9 docs/boards/seeed-xiao-rp2040: Fix undocumented configurations
Fixes undocumented configurations in the list of configs and the typo in
the 'userleds' configuration.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-01 16:39:06 +02:00
raul_chen
76838fa1b2 Documentation: add Realtek RTL8721Dx and RTL8720F platform docs
Add the chip-level and board-level documentation for both Ameba WHC
SoCs and their evaluation boards.  Each board document follows the
board.rst template with tags, features, configurations, building and
flashing instructions, and license exceptions.

Signed-off-by: raul_chen <raul_chen@realsil.com.cn>
2026-07-01 09:18:06 -03:00
wangjianyu3
21e9d0cafa Documentation/rexecd: document command-line options including -t
Fill in the previously empty rexecd page with a description of the
daemon, its listening port/RPMsg name, usage, and all command-line
options (-4/-6/-r/-t), including the new -t threadless option that
serves each connection inline without a per-connection worker thread.

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-06-30 20:19:16 +08:00
Felipe Moura
3f00e60c1f Documentation/esp32c3-devkit: document Dropbear SSH server setup
Describe how to enable and use the Dropbear SSH server on the ESP32-C3
DevKit, including Wi-Fi, host key, and login configuration.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-06-27 14:07:56 -03:00
Eren Terzioglu
5e1b10971d Docs/platforms/esp32p4: Add crypto docs for esp32p4
Add missing crypto accelerator docs for esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-06-27 19:32:06 +08:00
Jorge Guzman
f5e3bb2459 boards/esp32p4: add support to M5Stack Tab5 board
This initial port supports NSH and the I2C0 bus; all board pins are
documented for future drivers.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-06-26 09:32:08 -03:00
Alin Jerpelea
0d4ad87fe4 Documentation: add NuttX 13.0.0 release notes
add release notes for NuttX 13.0.0 release

Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2026-06-25 19:50:07 +08:00
Xiang Xiao
9704481224 libc/unistd: add getgroups()
Add getgroups() to the C library.  NuttX has no supplementary group
IDs, so it reports a single group, the effective group ID, and follows
POSIX for the gidsetsize == 0 and short-buffer (EINVAL) cases.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-06-24 14:55:11 -03:00
raiden00pl
8b7639d5a3 Documentation: add STM32 porting guide
add STM32 porting guide

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 14:54:44 -03:00
raiden00pl
07c4bf0048 !arch/stm32: move stm32l1 and finalize the directory split
Move the stm32l1 sources, headers and boards into arch/arm/src/stm32l1,
arch/arm/include/stm32l1 and boards/arm/stm32l1, then finalize the split:
source each split family directly in arch/arm/Kconfig and boards/Kconfig and
remove the now-empty combined arch/arm/src/stm32 and boards/arm/stm32 trees.

BREAKING CHANGE: The legacy STM32 architecture and board paths were split into
stm32f1, stm32l1, stm32f2, stm32f3, stm32f4, and stm32g4 directories.
Out-of-tree boards must move from stm32 to the matching split family.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 14:54:44 -03:00
raiden00pl
f491361368 !arch/stm32: move common sources to common/stm32
BREAKING CHANGE: Common STM32 source and private header files moved to
arch/arm/src/common/stm32. Out-of-tree code that references family-local
common source paths must update includes, build rules, and source paths
to the new common STM32 location.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 14:54:44 -03:00
raiden00pl
0e5d8d6c85 !boards/arm/stm32: move common board sources
BREAKING CHANGE: Move the existing STM32 board common sources to
boards/arm/common/stm32 and fold in the common STM32F0/L0/G0/C0
board helpers so split STM32 board families can share one source
tree.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-24 14:54:44 -03:00
Nightt
e906add15c docs: add SCPI application documentation
Document the SCPI parser application, including source location, basic Kconfig options, and the unit parser options introduced by apache/nuttx-apps#3556.

Signed-off-by: Nightt <87569709+nightt5879@users.noreply.github.com>
2026-06-24 23:29:57 +08:00
Felipe Moura
d8a7dee73e Documentation/netutils/dropbear: add Dropbear SSH server documentation
Add application-level documentation for the Dropbear SSH server port,
covering prerequisites, configuration options, usage and troubleshooting.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-06-24 08:37:03 -03:00
Xiang Xiao
95063bde15 drivers/serial: add job-control TTY ioctls and libc wrappers
NuttX has no real session/process-group abstraction, so the TTY layer
collapses the foreground process group onto the single dev->pid field
(pgrp == pid, one member per group).  Extend the controlling-terminal
support so portable software (e.g. dropbear, socat) that relies on
job-control primitives works without losing the existing NuttX-specific
behaviour.

Driver (serial.c, pty.c):
- TIOCSCTTY now accepts a flag: arg > 0 keeps the historical "target
  PID in arg" semantics (NSH registers the foreground command it just
  spawned), while arg == 0 selects the calling task via
  nxsched_getpid(), matching the POSIX flag convention used by
  dropbear/socat/apue.  This preserves all existing callers and makes
  the previously-dead arg==0 path deliver SIGINT correctly.
- Add TIOCGPGRP/TIOCGSID (return dev->pid) and TIOCSPGRP (set it).
- pty.c gains the same handlers against pd_pid and includes
  nuttx/sched.h for nxsched_getpid().

ioctl numbers (tioctl.h): TIOCGPGRP/TIOCSPGRP/TIOCGSID at 0x37-0x39.

libc wrappers:
- termios: tcgetpgrp(), tcsetpgrp(), tcgetsid() over the new ioctls.
- unistd: setsid()/getsid()/setpgid() stubs consistent with the
  existing getpgrp()/getpgid() single-session model (sid == pgid ==
  pid; setpgid only succeeds for pgid == pid).

Declare the new prototypes in unistd.h (tcgetsid was already in
termios.h) and register all sources in the Make.defs/CMakeLists.

Group-broadcast signalling (kill(-pgrp)) remains unsupported, so
tty signals still target the single dev->pid; a real session/process
group model is left as a follow-up.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2026-06-23 16:26:53 -03:00
Matteo Golin
cb892dd434 raspberrypi-4b/bmp280: Include optional registration of BMP280 driver
This commit includes BMP280 driver registration on I2C1 in the RPi4B
bringup logic _if_ the user selects the board-level configuration option
(so as to not interfere with any user's custom implementation of
interfacing with this sensor). A configuration is added with the BMP280
registration, example program and `uorb_listener` that is also
documented.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-06-23 20:56:22 +08:00
Matteo Golin
14b02bd6dc raspberrypi-4b/i2c: Added I2C configuration
Includes a new I2C configuration (and documentation for it) to use the
I2C1 bus on the Raspberry Pi 4B.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-06-23 20:56:22 +08:00
Eren Terzioglu
5b94c8031e Docs/platforms/risc-v: Add TWAI2 docs for esp32p4
Add TWAI2 docs for esp32p4

Signed-off-by: Eren Terzioglu <eren.terzioglu@espressif.com>
2026-06-22 19:55:56 +08:00
Abhishek Mishra
34dabfc4e7 fs/littlefs: Enforce open permissions and set create ownership
Check open access against file mode and owner via fs_checkmode(), verify
parent directory permissions on create, and assign creator uid/gid to
newly created files.

Signed-off-by: Abhishek Mishra <mishra.abhishek2808@gmail.com>
2026-06-21 10:39:42 +08:00
Michael Rogov Papernov
3804e3d82e Documentation/testing: Document MemBrowse integration
Add a Memory Footprint Tracking section with a dashboard screenshot.

Signed-off-by: Michael Rogov Papernov <michael@membrowse.com>
2026-06-19 12:21:54 -03:00
dependabot[bot]
57eed4d904 build(deps): bump starlette from 1.0.1 to 1.3.1 in /Documentation
Bumps [starlette](https://github.com/Kludex/starlette) from 1.0.1 to 1.3.1.
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](https://github.com/Kludex/starlette/compare/1.0.1...1.3.1)

---
updated-dependencies:
- dependency-name: starlette
  dependency-version: 1.3.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-18 12:49:49 -04:00
Matteo Golin
e17d776357 docs/guides/customboards: Mention special Kconfig settings
This change mentions the special Kconfig settings for custom boards to
tell the build system about properties that are defined using the `HAVE`
options for in-tree boards. It also specifically mentions to avoid using
Kconfig `if` guards around the custom board Kconfig, which would be a
gotcha for people copying from in-tree boards.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>

fix
2026-06-18 21:51:48 +08:00
Abhishek Mishra
8e843b22e6 docs/nsh: document id, su, whoami, and privilege prompt markers
Document NSH identity commands and how login/su update the prompt (# for
effective root, $ for non-root). Cover flat-build euid semantics, related
Kconfig options, and session identity behavior after login.
2026-06-18 09:01:01 -03:00
Tiago Medicci Serrano
adc3d4c408 Documentation: Add NuttX Web Panel documentation entry
This commits adds an example of the NuttX Web Panel documentation
along with its usage on ESP32-P4.

Signed-off-by: Tiago Medicci Serrano <tiago.medicci@espressif.com>
2026-06-18 08:57:17 -03:00
hanzhijian
5e5137adee Documentation/applications/system/critmon: add critmon man page
Add documentation for the critmon command including:
- critmon (one-shot dump)
- critmon_start (start daemon)
- critmon_stop (stop daemon)
- Output format explanation
- Configuration options

Signed-off-by: hanzhijian <hanzhijian@zepp.com>
2026-06-16 17:07:18 +08:00
raiden00pl
944a653e67 Documentation: update references to nrfjprog
nrfjprog is no longer maintained. Change all nrfjprog commands
to equivalent nrfutil commands

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-15 23:02:28 +08:00
Serg Podtynnyi
1282b94792 arch/risc-v/rp23xx-rv: Add SMP support for dual Hazard3
Add SMP support to rp23xx risc-v port

Signed-off-by: Serg Podtynnyi <serg@podtynnyi.com>
2026-06-14 22:54:12 +08:00
raiden00pl
a517f9f20e !arch/stm32u5: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32U5 Kconfig symbols were renamed from CONFIG_STM32U5_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32U5_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-14 11:35:31 -03:00
raiden00pl
4033c54742 !arch/stm32l5: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32L5 Kconfig symbols were renamed from CONFIG_STM32L5_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32L5_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-14 11:35:31 -03:00
raiden00pl
0d4a9cf1c8 !arch/stm32l4: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32L4 Kconfig symbols were renamed from CONFIG_STM32L4_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32L4_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-14 11:35:31 -03:00
raiden00pl
624b1cdc7e !arch/stm32h7: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32H7 Kconfig symbols were renamed from CONFIG_STM32H7_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_STM32H7_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-14 11:35:31 -03:00
raiden00pl
ed0c96334c !arch/stm32h5: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32H5 Kconfig symbols were renamed from CONFIG_STM32H5_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_ARCH_BOARD_STM32H5_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-14 11:35:31 -03:00
raiden00pl
c306e4129d !arch/stm32f7: use common STM32 Kconfig symbols
BREAKING CHANGE: STM32F7 Kconfig symbols were renamed from CONFIG_STM32F7_* to CONFIG_STM32_*.
Out-of-tree code must update defconfigs and Kconfig references to the new CONFIG_STM32_* names.
The custom clock option is a special breaking case that does not follow the family-to-common pattern:
CONFIG_STM32F7_CUSTOM_CLOCKCONFIG was renamed to CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-06-14 11:35:31 -03:00
Felipe Moura
cf9c51d144 Documentation/examples/rng90: add RNG90 application documentation
Document configuration, usage, Kconfig enable path, and hardware validation for the RNG90 example.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-06-14 18:41:09 +08:00
Eren Terzioglu
84aba62f26 Docs/platforms: Add missing defconfig docs for esp32[-c3|-c6|-h2]
Add missing defconfig docs for risc-v based Espressif devices
2026-06-13 13:05:42 +08:00