Changes the implementation of the L86xxx driver to use the
gnss_lowerhalf driver implementation, simplifying this driver's logic.
It also fixes the `read_line` function which would early return on `\r`,
as well as adding some retries for response checking and better mutex
locking.
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
This commit adds support for MAX31855 and MAX6675 thermocouple
sensors on the STM32F401RC-RS485 board via SPI1. It also updates
the board documentation accordingly.
Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
This commit adds support for the HX711 ADC in the STM32F4-Discovery
board and updates the board documentation accordingly.
Signed-off-by: Rodrigo Sim <rcsim10@gmail.com>
- Added support for ADC2 initialization and registration.
- Defined new ADC2 channels and corresponding pin mappings.
- Expanded ADC1 channel list and updated pin mappings.
- Updated board.h with additional ADC channel definitions.
- Ensured all ADCs are properly initialized and registered.
- Tested by opening and reading /dev/adc0 and /dev/adc1, checking
that the correct values are read.
Signed-off-by: Côme VINCENT <44554692+comejv@users.noreply.github.com>
This commit introduces a new guide in that details how to set up a reproducible development environment for NuttX using Nix flakes.
The guide covers:
- Prerequisites for using Nix flakes.
- Steps to enter the NuttX development shell.
- Benefits of using the Nix flake (reproducibility, simplified onboarding, dependency management).
- An overview of the contents.
A link to this new guide has also been added in index.rst to ensure discoverability.
Signed-off-by: Côme VINCENT <44554692+comejv@users.noreply.github.com>
This commit introduces a Nix flake (flake.nix and flake.lock) to provide
a reproducible development shell for NuttX using Nix and flakes.
- Adds a devShell with all required build tools and dependencies for NuttX,
including CMake, Ninja, GNU Make, clang-tools, ARM toolchain, and other
utilities (automake, bison, flex, genromfs, gettext, gperf, kconfig-frontends,
libelf, expat, gmp, isl, libmpc, mpfr, ncurses, zlib, kconfiglib).
- Uses flake-utils to support multiple platforms.
- Sets up a shell hook to enable CMake compile commands and provide a welcome
message.
- Based on nixpkgs `nixos-unstable` for up-to-date packages.
Purpose:
- Simplifies onboarding and ensures a consistent build environment across
contributors.
- Reduces "works on my machine" issues by pinning dependencies.
Tested by running `nix develop` and building NuttX on x86_64-linux.
No impact on runtime or target builds; this only affects developer tooling.
For more details, see the new flake.nix file.
Signed-off-by: Côme VINCENT <44554692+comejv@users.noreply.github.com>
Sometimes this driver will boot when the serial port is of the wrong
baud rate, and it cannot set the correct baud rate or verify
communication. This commit prevents registration if any settings fail to
be set, and also prevents the kernel thread from setting the L86 to
enabled (this is done only by the uORB upper half).
Signed-off-by: Matteo Golin <matteo.golin@gmail.com>
Update nxstyle whitelist to allow MixedCase
identifiers used by the Xedge (Barracuda App Server) example.
The following prefixes were added to g_white_prefix[]:
- Ba
- Thread
- LThread
- Http
- Disk
- Xedge
The following exact identifiers were added to g_white_content_list[]:
- baGetUnixTime
- baParseDate
- setDispExit
- xedgeInitDiskIo
- xedgeOpenAUX
- platformInitDiskIo
- ltMgr
- Lt
Signed-off-by: Jorge Guzman <jorge.gzm@gmail.com>
- Committing initial code for DTS. Missing ISR. Works for PCLK1. Cannot get to work for LSE.
- Pushing everything. Working with LSE now.
- Many fixes. Fixed interrupt setting. Added data structures.
- Changed interrupt handling. Removed FARs. Added Kconfig options for selecting interrupts.
- Updated info and formatting.
- Formatting fixes.
- Formatting.
- Changed iten to regval.
- Removed Triggger
- Formatting fixes per Pull request.
- Changed private_types to have stm32_ prefix. Used depends on for DTS Kconfig Menu. Fixed formatting per PR.
- Fixed spacing of function prototypes.
- Fixed indent on line
- Added documentation for STM32H5 and Nucleo-H563ZI regarding DTS. Also added GPDMA support to STM32H5 documentation (previous PR). Made stm32_dts.c more modular. stm32_dts_activate is now much more readable. Added comments/descriptions to private functions. Lastly, added a nucleo-h563zi:dts configuration.
update:
CMakeLists.txt
Make.defs
Kconfig
It allows the same version of SystemView target sources to be used for CMake and Make, to avoid discrepancies in the future.
Signed-off-by: simbit18 <simbit18@gmail.com>
Set level high for unused interrupt trigger to avoid waking up from cold sleeping.
Signed-off-by: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com>
Sim use coroutine base on one thread in host to do switch context. but if we allow switch context with in one API (host-API and errno get), maybe the switch context from coroutine cause re-enter host-API call. Make the errno get behavior not work as expected.
Signed-off-by: guanyi3 <guanyi3@xiaomi.com>
This is a supplement to the patch:1936126210a56b6d1b033d6d940669413dd6e1b0
Due to the automatic wrapping of MTD devices during the
open() process, the legacy registration methods
ftl_initialize() and bchdev_register() are no longer
required for MTD device registration for user code.
So we have adjusted the registration method for MTD devices
in nuttx/boards, replacing the previous approach using
ftl_initialize() with register_mtddriver().
According to a reference manual, VCC and VDD undervoltage
and VDD burst leads to the reset of all registers.
Therefore we have to reconfigure the expander to make
it functional again.
Signed-off-by: Michal Lenc <michallenc@seznam.cz>
1. -target should be in front, otherwise clang will not be able to find the corresponding libgcc.a
2. When using clang++ compiler to link, you also need to specify the corresponding arch, otherwise ld.lld will report an error due to arch mismatch.
Signed-off-by: wangmingrong1 <wangmingrong1@xiaomi.com>
return early due to signal interruption (EINTR). This makes the
main thread think the async operation is done, but the background
worker thread is still running—risking access to freed memory,
race conditions, crashes or undefined behavior.
Using nxsem_wait_uninterruptible():the main thread waits until the
worker thread finishes, preventing these issues.
Signed-off-by: nuttxs <zhaoqing.zhang@sony.com>