Both the IRQ API and Asynchronous API support callback.
However, since they are both interrupt driven, having
callbacks on both API would interfere with each other
in almost all cases. So this adds a kconfig to signal
that the callbacks should be exclusive to each other.
In other words, if one is set, the other should not
be active. Drivers implementing both APIs have been
updated to remove the callbacks from the other API.
Though, this still leaves the option to disable
the kconfig and allows both APIs to have callbacks
if one desires.
Fixes#48606
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The current default value for `BOOTLOADER_SRAM_SIZE` is set to an
arbitrary-seeming value of `16`, which feels like a random magic
number.
Given that adding an offset in SRAM for a bootloader should always be
a conscious choice for a specific platform, this PR sets the default
to `0`. An appropriate value can be set at the SoC or board level,
overriding this default.
Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
The SPHINXOPTS option was not aligned with latest changes in CMake, and
SPHINXOPTS_EXTRA was not present.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
rtd_theme 1.2.x is required when using Sphinx >= 6.0, otherwise certain
features like search are broken. Note that jQuery support needs to be
enabled manually now using `sphinxcontrib.jquery` extension. Also update
Sphinx to latest 6.x release, 6.2 as it contains some fixes.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Documents the changes to the naming of the cc13/26xx timer compatible
and Kconfig options.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Zephyr scripts do not require documentation dependencies, so let's
move them from scripts/ to doc/.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
When something goes wrong in Sphinx or extensions, we'll get a detailed
traceback, so we can easily debug issues in CI.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new CMake option to append options to SPHINXOPTS. This allows us
to easily extend default SPHINXOPTS. This patch also restores the "-j
auto" option in CI (now that we use a custom runner).
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Run Sphinx in warnings as error mode, but keep going so that all issues
are reported to the user.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The bt_ots_init struct has been renamed to bt_ots_init_param in commit:
cf0ff30b53
That was previously triggering a warning in Sphinx, due to the same
name being used for a struct and function, and this pattern
was designed to silence it. We don't need the pattern any more as the
warning is gone.
Signed-off-by: Michael Jones <m.pricejones@gmail.com>
Fix reference to JLink host tools to be located in correct section, so
that output documentation fills in the correct header name when this
section is referenced.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Fixes an issue where double maps were shown for some items,
and one whereby there was excess text.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
In order to support easier setup of test scenarios with fuel gauge
emulators, we should expose an API that can change internal emulator state.
Add a minimal fuel gauge emulator backend API for setting the charging
current and voltage with a sample implementation in the emul_sbs_gauge with
an associated driver test.
Signed-off-by: Aaron Massey <aaronmassey@google.com>
PR adds the statistic module to estimate frame handling.
The module helps to understand the ratio of
the received\relayed\dropped\transmited frames.
That shows the efficiency of the current configuration\implementation.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Ensure `POSIX_SPIN_LOCKS` are documented as part of the
mandatory option requirements according to IEEE Std 1003.1-2017.
Additionally, list the functions implemented according to the
standard.
Signed-off-by: Christopher Friedt <cfriedt@meta.com>
This allows us to identify any patterns that we can remove or that
we didn't realise are no longer in use. This might happen if issues
within doxygen or docleaf are resolved.
This allows us to remove the pattern:
.*Duplicate C declaration.*\n.*'\.\. c:.*:: uint16_t id'.*
which does not match anything in the current set up.
We also split the filter patterns in known-warnings out into different
sections depending on their cause.
Also extend the pattern parser to ignore empty lines so that we can
have some formatting in the known-warnings file.
Signed-off-by: Michael Jones <m.pricejones@gmail.com>
We should probably clear out the old warnings and see what still
applies for docleaf now that we have that instead of breathe.
However for this moment, these are new duplication declarations that
we're seeing errors for and so we'd like to silence them.
Signed-off-by: Michael Jones <m.pricejones@gmail.com>
There are times when the log message is an exception object and that
causes the regex to fail with a TypeError. Here we work around that
by converting the input to a string.
Signed-off-by: Michael Jones <m.pricejones@gmail.com>
We make sure that we have the 'root' and 'xml' defined for the project
which is necessary at the moment for docleaf though the 'root' is only
really used for the 'linkcode' integration.
Signed-off-by: Michael Jones <m.pricejones@gmail.com>
Instead of breathe.
I'm not sure of the best version comparison to use. There is no
intention to break the API for docleaf but it is also still young
in some ways and there might be adjustments to the configuration values
that would need to be reflected in the version number as it is still
pre-1.0 that would only be a minor version change.
Signed-off-by: Michael Jones <m.pricejones@gmail.com>
This switches the Sphinx conf.py file over to using the
'docleaf.doxygen' module and the associated docleaf configuration
entries, replacing the breathe module and config.
Signed-off-by: Michael Jones <m.pricejones@gmail.com>
Scheduling relative timeouts from within timer callbacks (=sys clock ISR
context) differs from scheduling relative timeouts from an application
context.
This change documents and explains the rationale of this distinction.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
All public API declared in cfg.h won't schedule storing of the change
persistently if BT_MESH_VALID flag is not set. The flag is set after the
node is provisioned.
Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
Add a native way to log Host Command communication.
Use Zephyr logging system to do it. Use debug and normal levels.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
The functions pthread_mutexattr_destroy()
and pthread_mutexattr_init() are implemented (they just do nothing).
Signed-off-by: Christopher Friedt <cfriedt@meta.com>
The functions pthread_condattr_destroy()
and pthread_condattr_init() are implemented (they just do nothing).
Signed-off-by: Christopher Friedt <cfriedt@meta.com>
_POSIX_THREAD_PRIO_INHERIT was mistakenly marked supported in
commit a07774eada presumably because we have prototypes for the
functions below.
pthread_mutexattr_getprotocol()
pthread_mutexattr_setprotocol()
However, the functions are not actually implemented in Zephyr.
Signed-off-by: Christopher Friedt <cfriedt@meta.com>
The link to the zephyr_licensing page was broken
=> fix it.
Also add a relatively evident if to the list:
There is no need to add an entry to the licensing
list if the integrated code is Apache 2.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
There is no get_maintainers.pl in the tree, and
hasn't been for as long as the git history lasts.
Remove its mentiona as a GPL component.
get_maintainers.py is Apache 2.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
cooperative priorities are negative, 0 is not a cooperative priority.
Looks like the docs are showing an outdated diagram for some reason, try
to update that with a refresh.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add the safety documentation to the Zephyr documentation tree.
Starts with the safety overview which describes the general goals
for the safety in zephyr and introduces a process overview how a safety
certification can be achieved in the zephyr project.
Signed-off-by: Simon Hein <Shein@baumer.com>
Updates the data passing summary table to indicate that the size of
a message queue data item must be a multiple of its data alignment.
This brings the documentation in both the summary table and the
message queue documentation into alignment.
Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
Adds a note that this MCUmgr notification hook can now be used
to reject commands and send an error back to the client.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Rename the gen_handles script and all of its references/associated files
to gen_device_deps. The new new makes things more clear, because the
script just take care of generating, for each device, an array of device
dependencies. While device handles are used internally to store this
information, it is in reality an implementation detail.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add DeviceAbstract class to default imports from pytest-twister-harness
package to simplify importing DUT package, when creating tests.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Move sections out of the Overview section and put API documentation in
one section without bullets, which was causing duplication in headers
and text.
This also fixes the issue with PDF generation which is currently
blocking publication of HTML pages on docs.zephyrproject.org.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Added an MFD driver for the nPM1300.
This driver has register access helper functions that can be used
by subsystems. This will avoid each subsystem having to duplicate
the register access code.
Signed-off-by: Andy Sinclair <andy.sinclair@nordicsemi.no>
BT_ID_DEFAULT is hardcoded in mesh. Added clarification about
the necessity of another local identity allocation for BLE
if it coexists with mesh.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
The method ieee802154_radio_handle_ack() does not belong to the
PHY/radio layer but to the L2 layer. It is a callback called from the
radio layer into the L2 layer and to be implemented by all L2 stacks.
This is the same pattern as is used for ieee802154_init(). The
'_radio_' infix in this function is therefore confusing and
conceptually wrong.
This change fixes the naming inconsistency and extensively documents
its rationale.
It is assumed that the change can be made without prior deprecation of the
existing method as in the rare cases where users have implemented custom
radio drivers these will break in obvious ways and can easily be fixed.
Nevertheless such a rename would not be justified on its own if it were
not for an important conceptual reason:
The renamed function represents a generic "inversion-of-control" pattern
which will become important in the TSCH context: It allows for clean
separation of concerns between the PHY/radio driver layer and the
MAC/L2 layer even in situations where the radio driver needs to be
involved for performance or deterministic timing reasons. This
"inversion-of-control" pattern can be applied to negotiate timing
sensitive reception and transmission windows, it let's the L2 layer
deterministically timestamp information elements just-in-time with
internal radio timer counter values, etc.
Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
Since not all syscalls are generated to be included in
the final binaries due to changes in build steps and CMake
files, update the document to clarify what needs to be
done to include specific syscalls in final binaries.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
DSP AGU/XY extensions ARC EM processors are supported now in
Zephyr.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
This looks a bit lost in its own USB-C chapter,
move it to USB under the Power Delivery heading.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Mostly moved and reorganised content to the Connectivity chapter,
separated API references. Fill in some gaps in the USB device
documentation.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add release notes for SDHC and Disk drivers, highlighting addition
of NVME support in the disk driver layer as well as CPOL/CPHA clock
modes within the SDHC SPI driver.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Fixes the documentation to show image and slot number for get
state of image response being unsigned, not signed.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Added RP2040 related changes to the v3.4.0 release notes,
including new boards, new drivers and HAL changes.
Signed-off-by: Yonatan Schachter <yonatan.schachter@gmail.com>
Add release notes on:
- change in west sign internal logic;
- additional LittleFS sample configuration for nrf52840dk_nrf52840
using SPI communication;
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Updates and fixes callback documentation to show functionality and
definitions that were recently updated.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add points related to the POSIX arch and boards to the
3.4 release notes.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
In order to have clean, self-contained HCI headers that do not have any
dependencies towards the Host or any other part of the system (except
types), reorganize the headers in the following way:
- Split out the macros and structs from hci.h to a new hci_types.h
- Merge the existing hci_err.h into the new hci_types.h
Fixes#58214.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Several items needed to be updated in POSIX documentation.
* add `_POSIX_BARRIERS` top Option Requirements
* update `_POSIX_THREAD_ATTR_STACK*` in Option Requirements
* add `pthread_barrier_*()` to `POSIX_THREADS_BASE`
* update `pthread_cond_destroy()` and `pthread_setcancelstate()`
Signed-off-by: Christopher Friedt <cfriedt@meta.com>
prefix with numbers to get sorting based on usage. Most common files
issue types should come first, with bugs being at the top.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
auxdisplay API was introduced in 3.4, not 3.3.
Also update to "experimental" status to better reflect that the API is
new.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Promote DAC API from Experimental to Unstable.
The API is well adopted and used in more than 2 implementations.
Signed-off-by: Martin Jäger <martin@libre.solar>
Promote Task Watchdog API from Experimental to Unstable.
The API has proven to be suitable for its purpose.
Signed-off-by: Martin Jäger <martin@libre.solar>
Add a new top-level group for APIs that interact with third-party
services or applications. Included in the group:
- MCUboot image control API
- Hawkbit
- UpdateHub
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>