Commit graph

55 commits

Author SHA1 Message Date
Marco Casaroli
1f3358e991 Documentation: Document the xipfs command, test suite and NXFLAT demo.
Pages for the three applications that come with xipfs: the command that
compacts a volume and prints its block map, the test suite and what each of
its sections covers, and the demo that downloads an NXFLAT module into a
volume and runs two instances of it in place.

Assisted-by: Claude Code:claude-opus-5
Signed-off-by: Marco Casaroli <marco.casaroli@gmail.com>
2026-07-29 07:49:03 -03:00
Matteo Golin
2e0abe6973 docs/applications/txmorse: Document the txmorse application
Documents how to use the txmorse application and how it can be extended
to support other output devices besides the console and GPIO.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-24 12:03:37 +08:00
Matteo Golin
a62f4b42aa docs/baromonitor: Add some documentation about the baromonitor example
Documents how to use the baromonitor example, shows its visualization
and explains its default behaviour.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-20 21:00:46 -03:00
Matteo Golin
1b6f918c3f docs/audio_rttl: Document the RTTL audio player
Added docs to explain how to use the RTTL audio player, the currently
supported audio sinks and how to add more audio sink support.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-07-15 16:15:42 -03:00
Jorge Guzman
2e7910fef6 boards/stm32h7/linum-stm32h753bi: enable USB FS host, add lvglterm_kbda
Enable the OTG FS host on the Linum board so an external USB HID keyboard
can be used: configure the USB VBUS, power-switch and over-current GPIOs
at board bring-up (the power switch on PI12 is active low) and start the
USB host from stm32_bringup() through stm32_usbhost_initialize().

Add the lvglterm_kbda configuration - the LVGL terminal driven by a USB
HID keyboard on /dev/kbda - with the microSD card enabled alongside the
USB host.  They coexist once CONFIG_MMCSD_MMCSUPPORT is left disabled, so
an SD card is not probed as an MMC device.

Also switch esp32s3-m5-cardputer:lvglterm to the renamed matrix-keyboard
input option (EXAMPLES_LVGLTERM_INPUT_KBD_MATRIX) to match the reworked
lvglterm example Kconfig.

Update the documentation accordingly: the LVGL Terminal example page for
the three-way input choice (touch, matrix, USB HID) with cursor-key
scrolling and per-variant configuration plus a photo of the USB variant
running on the Linum, the lvglterm_kbda entry on the Linum board page,
and the matrix-keyboard variant name on the M5Stack Cardputer board page.

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2026-07-08 14:08:16 -04: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
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
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
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
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
hanzj
54ef006069 Documentation/examples/uid: Add documentation for uid example
The uid example was missing documentation. This commit adds complete
documentation including:

- Command syntax and options
- Synopsis explaining the tool's purpose
- Options table with all available flags
- Usage examples for each query type:
  - Query user by ID (-uid)
  - Query user by name (-uname)
  - Query group by ID (-gid)
  - Query group by name (-gname)
- Help display example
- Configuration options

The documentation is based on the actual source code in
apps/examples/uid/uid_main.c.

Signed-off-by: hanzj <hanzjian@zepp.com>
2026-05-30 11:54:13 +08:00
raiden00pl
f1e7b143d9 !drivers: separate pulse count feature from PWM driver
BREAKING CHANGE: separate pulse count feature from PWM driver.

Coupling PWM driver with pulse count feature was bad decision from the beginning,
these are two different things:

- PWM is a modulation scheme: it continuously represents a value by varying duty
cycle, usually at a fixed frequency.
- Pulse train generation is a finite waveform transaction: generate N edges/pulses
with selected timing, then complete.

This change introduce a new pulse count driver with new API.
Now user can generate pulse train by providing:

- high pulse length in ns
- low pulse length in ns
- pulse count

All architectures supporting pulse count have been adapted in subsequent commits.
Users must migrate their code to use the new driver with new API.

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-05-25 14:33:11 +02:00
Matteo Golin
48db502daf !boards: Remove NSH_ARCHINIT and board_app_initialize
BREAKING: In an effort to simplify NuttX initialization, NSH_ARCHINIT is
removed. board_app_initialize is also removed. BOARD_LATE_INITIALIZE now
performs all board initialization logic, and is by default enabled. All
references to these symbols are removed. BOARDIOC_INIT remains, but will
result in -ENOTTY when called. It is to be removed in a later commit.

Quick fix: Boards relying on NSH_ARCHINIT should now enable
CONFIG_BOARD_LATE_INITIALIZE instead. If the application needs
fine-grained control over board initialization from userspace, the logic
performed by BOARDIOC_INIT may be copied to the board_finalinitialize
function and used instead via BOARDIOC_FINALINIT. All
board_app_initialize logic provided by NuttX is now moved to
board_late_initialize, and the same should be done for out-of-tree
boards.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2026-05-02 18:36:46 +08:00
Tomasz 'CeDeROM' CEDRO
3efaf80d3d boards/xtensa/esp32s3: New board WaveShare ESP32-S3-Touch-LCD-1.28 (WIP).
* Initial experimental / work in progress implementation.
* New board name is esp32s3-ws-lcd128.
* Supports Kconfig delectable w/wo touch variants (lcd gpios difference).
* IMU QMI8658 bringups is put into esp32s3/common/src to share with other
  boards. Pin defines are located at <board>include/board.h and referenced
  with `#include <arch/board/board.h>`.
* Supported configurations: nsh, ostest, coremark, touch-lvgl, notouch-lvgl,
  imu-qmi8658, watchdog.
* Does not have touch panel driver yet.
* Created board documentation. Added sphinx inline cross-references.
* TODO: Fix SPI GC9A01A LCD pixel format colors.
* TODO: Create I2C CST816S touch panel driver.

Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2026-04-24 16:27:08 +08:00
raiden00pl
6f9d6f3d94 boards/nucleo-c071rb: add nxmodbus examples to jumbo
add nxmodbus client and server examples to jumbo

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 09:39:04 +08:00
raiden00pl
d1c8c7e480 Documentation: add nxmodbus doc
add nxmodbus doc

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-04-21 09:39:04 +08:00
Arjav Patel
ea161e4fa9 documentation: Document MQTT-C with Mbed TLS usage.
Add Kconfig guidance, mqttc_pub TLS options and default port, the
mqttc_mbedtls_pub example, and cross-links between the mqttc example and mbedtls overview pages

Signed-off-by: Arjav Patel <arjav1528@gmail.com>
2026-04-14 16:05:54 +08:00
wangjianyu3
bab7e3e51b boards/lckfb-szpi-esp32s3: add UVC camera standalone defconfig
Add UVC configuration for lckfb-szpi-esp32s3 board based on gc0308
camera config, with USB OTG and UVC gadget driver enabled in
standalone (non-composite) mode.

- defconfig: enable ESP32S3_OTG, USBUVC, UVC example app
- board doc: add uvc section with usage and host verification

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-03-29 12:35:22 -03:00
raiden00pl
9424c3ac3b Documentation: update nxscope doc
update various nxscope doc

Signed-off-by: raiden00pl <raiden00@railab.me>
2026-03-24 09:39:42 +08:00
Huang Qi
e3eeaefd6d style: Fix "the the" typo across the codebase.
Fix 269 occurrences of duplicate "the" word typo found in 209 files
across source code, header files, and configuration.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2026-03-23 11:07:49 +01:00
Arjav Patel
6f1edad8f5 docs/examples/sx127x_demo: Expand SX127X demo documentation
Add default configuration, short-range FSK testing tips,
and troubleshooting guidance for the SX127X demo example.

Signed-off-by: Arjav Patel <arjav1528@gmail.com>
2026-03-08 16:08:39 -03:00
hujun5
f794238bb8 boards/boardctl.c: BOARDIOC_SPINLOCK missing some Conditional branch
Add missing else branches to handle spinlock operations when no valid spinlock
pointer is available. This fixes a regression in IRQ save/restore operations
introduced by a previous refactoring of the spinlock control logic.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2026-02-02 20:40:33 +08:00
Felipe Moura
4662ac5edf docs/applications/smf: added state machine framework example documentation
Update Doc - WIP

SFM doc updated - WIP

Finished first documentation release

Update documentation after source code changes

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-01-05 09:47:23 +08:00
zhangshuai39
9a75fc2162 netpkt: Introduction to using netpkt example
The introduction includes an overview, the configuration items that need to be enabled, and how to use them.

Signed-off-by: zhangshuai39 <zhangshuai39@xiaomi.com>
2025-12-24 16:50:27 +08:00
Matteo Golin
d4c904d949 docs/applications/examples/fb: Add documentation to fb example
Included documentation for the framebuffer example, fb. This includes a
description of how the program works, what features it supports and
images of what the rendered output should look like if everything is
correct.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-11-10 13:48:23 +08:00
Matteo Golin
71c05b3a2b docs/calib_udelay: Added documentation for the calib_udelay example.
This commit adds documentation to the almost empty `calib_udelay` page
as part of #11081. It provides reasoning for the example, an explanation
of what it does and why `CONFIG_BOARD_LOOPSPERMSEC` is necessary, and
also shows some example console output of the program.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-10 17:52:38 -04:00
Matteo Golin
aba41c9d23 docs/applications/bmp280: Documentation for the BMP280 application.
This commit provides documentation for using the `bmp280` application to
read pressure and temperature from the device. It provides a brief
explanation of how the program works and the console output it
generates. Part of #11081.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-09-10 12:48:00 -03:00
Jorge Guzman
46d415698d Documentation/xedge_demo: Fix RST formatting issues
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2025-08-21 17:43:09 +08:00
Jorge Guzman
44b65cbafd boards/qemu-armv8a: Add xedge example program and documentation
- Add documentation for xedge example program
- Add defconfig to run xedge with qemu-armv8a board

Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
2025-08-16 10:59:57 -03:00
Windsor Schmidt
6bbc8c701a documentation: spelling and grammar fixes 2025-07-24 14:44:02 +08:00
Filipe Cavalcanti
a754b73e4c documentation: update MCUBoot docs for local update agent example
Updates the example documentation for a new example: local update agent.
This example allows the user to update MCUBoot image from a locally stored file.

Signed-off-by: Filipe Cavalcanti <filipe.cavalcanti@espressif.com>
2025-07-16 09:12:41 +08:00
Matteo Golin
d1439d2dee docs/gps: Add documentation for gps example program.
Add documentation for `gps` example program as part of #11081.

Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
2025-05-26 10:51:51 -03:00
Lars Kruse
ccc974b224 WIP: Documentation: replace first person perspectives
Documentation containing first person perspective phrasing may be
understood as belonging to a single person project (instead of a
community project).
2025-05-19 20:21:33 +08:00
Lars Kruse
57a7cb503a Documentation: fix spelling 2025-05-15 11:33:41 +08:00
Lars Kruse
b333ad3ab5 style: fix typos
Thanks, codespell!
2025-04-30 13:45:46 +08:00
Laczen JMS
dd29b8a4cf Documentation/applications/examples/elf/index.rst: Update for PR #3062 in nuttx-apps
Update the documentation to align with https://github.com/apache/nuttx-apps/pull/3062

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2025-04-19 08:55:13 -03:00
chao an
52482219c8 libc/elf: rename modlib to libelf
Renaming "modlib" to "libelf" is more in line with the implementation content,
which makes it easier for individual developers to understand the capabilities of this module.

CONFIG_LIBC_MODLIB -> CONFIG_LIBC_ELF

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-04-11 09:43:22 +08:00
Huang Qi
69495f8a40 docs: Add Rust examples including JSON handling and Slint UI framework
Summary:
- Added two new Rust example applications to the documentation:
  - `hello` example showcasing JSON serialization/deserialization, async runtime usage, and C interoperability in a NuttX environment
  - `slint` example demonstrating the integration of the Slint UI framework with NuttX's framebuffer and touchscreen devices for creating GUI applications in Rust
- Each example includes detailed explanations of key features and how they are implemented using Rust's modern language capabilities

Impact:
- Enhances the documentation for Rust development within NuttX, providing clear and practical examples for developers
- Facilitates easier adoption of Rust for new projects by demonstrating how to leverage its features while maintaining compatibility with existing NuttX infrastructure
- No changes to the core NuttX system; the additions are entirely within the documentation and examples directory

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-01-30 13:45:01 +08:00
Huang Qi
68d1750c12 docs: Rename hello_rust to rust/baremetal to reflect the actual codebase
Summary:
- The `hello_rust` example has been moved to `rust/baremetal` to better reflect its purpose as a bare-metal Rust application.
- The move also helps in organizing the Rust examples more clearly, separating them into categories based on their environment (bare-metal vs. non-bare-metal).
- A new directory structure has been created under `rust/baremetal`, and the `index.rst` file has been updated to describe the `baremetal` example in detail.
- The top-level `rust/index.rst` file has been created to include the new `rust/baremetal` directory in the toctree.

Impact:
- The new file structure and documentation improvements will help new contributors and users understand the purpose and setup of the example more easily.
- This change aligns the documentation with the actual codebase, enhancing the overall maintainability and clarity of the project.

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2025-01-29 12:41:06 +08:00
simbit18
e0106b00b3 docs: Fix example ina226
added example of doc ina226
2024-12-10 09:38:40 -03:00
Felipe Moura
0fad2ee73f riscv/common/espressif: Fix spi slave driver
Fix defconfigs and documentation
2024-11-05 14:59:37 +08:00
Felipe Moura
d291ed0afd Writing documentation related to SPI slave.
Fix build issues
2024-10-24 20:56:36 +08:00
Matteo Golin
bbc95d70db adc: Implement ADC driver interface for MCP3008 over SPI. Includes documentation page for the driver, and inclusion of driver registration code for RP2040-based boards. 2024-10-22 13:56:23 +08:00
Matheus Catarino
1936e68f40 risc-v/qemu-rv: Add Build Config for leds64_zig
This PR adds a new Build Config `rv-virt:leds64_zig` that builds the Zig App `leds_zig` for QEMU RISC-V 64-bit.
ref.: https://github.com/apache/nuttx-apps/pull/2534
2024-09-05 11:28:12 +08:00
Lup Yuen Lee
3862b71728 risc-v/qemu-rv: Add Build Config for leds64_rust
This PR adds a new Build Config `rv-virt:leds64_rust` that builds the Rust App `leds_rust` for QEMU RISC-V 64-bit. The build requires the [Rust Target `riscv64gc-unknown-none-elf`](https://github.com/apache/nuttx/pull/12858):

```bash
rustup target add riscv64gc-unknown-none-elf
```

New Files:

`boards/risc-v/qemu-rv/rv-virt/configs/leds64_rust/defconfig`: Add new Build Config `rv-virt:leds64_rust`

Updated Docs:

`applications/examples/leds_rust/index.rst`: Add `leds_rust` example app

`platforms/risc-v/qemu-rv/boards/rv-virt/index.rst`: Add `rv-virt:leds64_rust` config
2024-08-08 12:19:25 +08:00
raiden00pl
014029c649 boards: add support for ODrive V3.6 board 2023-11-18 17:07:20 -08:00
raiden00pl
200f709092 Documentation: migrate "NxTerm Example" from wiki
link: https://cwiki.apache.org/confluence/display/NUTTX/NxTerm+Example
2023-11-06 18:42:17 -03:00
Alan Carvalho de Assis
468e9fcde5 Documentation: Fix typos
I used codespell to find typos in the documentation.

Signed-off-by: Alan C. Assis <acassis@gmail.com>
2023-10-29 10:35:51 +08:00
raiden00pl
770df6d820 Documentation: remove readme references 2023-10-27 13:21:40 -03:00
raiden00pl
abdcc8d17c Documentation: unify applications/xxx/index.rst 2023-10-24 10:29:01 -03:00