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>
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>
Documents how to use the baromonitor example, shows its visualization
and explains its default behaviour.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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