The icmsg and icmsg_me backends has limitations in context of
concurrent access to single instance. Some limitations are:
* sending by more thread at the same time may cause -EBUSY
* allocating TX buffer will cause errors in other threads that want
to allocate before first thread sent the message,
* during no-copy receive, when RX buffer is on hold receiving is
totally blocked.
This backend resolves those limitations by adding dynamically allocated
buffers on shared memory next to ICmsg circular buffer. The data is
passed using those buffers, so concurrency is not a problem. The ICmsg
is used only to pass short 2-byte messages containing references to
those buffers. The backend also supports multiple endpoint.
The ipc/icmsg_me sample was modified to support this backend.
Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
Rename the lorawan_set_battery_level_callback to
lorawan_register_battery_level_callback to make it consistent with other
functions for downlink and data rate changed callbacks.
Also making the function void for consistency. The get_battery_level
already checks if the callback is NULL before invoking it.
Signed-off-by: Martin Jäger <martin@libre.solar>
The native device type name is "native", "native posix" is just
one of the possible target boards (which is going to be deprecated
in the next release).
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Explain the root cause behind garbage characters received in shell
applications, what Zephyr does to mitigate the issue and what is
expected from host userspace applications.
Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
Responding to feedback from the community, clarify that the cmd.exe
window needs to be closed and reopened.
Also be specific about the type of terminal window to be used.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Multiple users have failed to read the output from the Homebrew
installation script, which instructs the user how to add it to the
path. Include the instructions in the guide.
Also add a step to include the Homebrew Python executable to the path,
which allows then for invocation of python and pip as well as python3
and pip3.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
The DMA API has several expectations for drivers and callers that were
underdocumented or undocumented. Better clarify the driver expectations
and caller expectations.
The DMA API from the caller side is not a portable API and really cannot
be as each DMA has unique properties and expectations of memory,
peripheral interaction, and features. The API in effect provides a union
of all useful DMA functionality drivers have needed in the tree. It can
still be a good abstraction, with care, for peripheral devices for
vendors where the DMA IP might be very similar but have slight
variances.
From the driver implementation side expectations around synchronization,
state transitions, and memory management for transfer descriptors is now
described in documentation rather than solely from me in github review
comments.
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
Correct Properties subsection of the document to be accurate
to the latest implementation of the charger API.
Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
Removes a statement at the introduction claiming only getting
properties is supported by the API. The charger API can get/set
properties.
Signed-off-by: Ricardo Rivera-Matos <ricardo.rivera-matos@cirrus.com>
The index at the end of the PDF document can contain pretty long strings
that don't fit in the default 2-column layout.
This commit makes the index use a single-column.
Note: this relies on LaTeX package idxlayout which should already be
included in the packages recommended for installation in our
instructions.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Function prototype in PM device implementation documentation had the
incorrect prototype for device power management. Fix this to align
with the correct prototype.
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Use get_maintainer.py to add more meaningful labels to issues creates
from a documentation page.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Not sure why I used square brackets for "[doc]" prefix of the default
Github issue title. Change it to "doc:".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Page prefix can be an empty string.
Fixed the condition so that it only evaluates to try when prefix is
truly None.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Compute ZEPHYR_BASE like other extensions do rather than artificially
pretend it's a config option.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add a note to the 3.6 migration guide about the CoAP API changes
introduced with the CoAP server subsystem.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
The CoAP documentation has server/clients sample usages, added a
note about the available subsystems that can be used instead.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Update the sample outputs for ram and rom report commands to reflect
current look&feel, and reduce the width of the output to better fit
on narrow screens & PDF output.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Adds a note about how to replicate the functionality of the now
removed MCUboot mass erase Kconfig option
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
"cmake/extensions.cmake" does not exist. The link is broken.
Fix it to correct one "cmake/modules/extensions.cmake".
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
The ability to send the solicitation PDU doesn't
depend on GATT Client role.
Commit makes independent one functionality from
another.
Signed-off-by: Aleksandr Khromykh <aleksandr.khromykh@nordicsemi.no>
Update the inter-node dependencies documentation to clarify the child
node dependency inheritance recently introduced in 403640b75e.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
While we will probably want to properly document how to use Powershell
on Windows in the near future, current Getting Started Guide contained a
misleading mention to activating Pythonv venv using Powershell that this
commit removes.
Addresses comments raised in #64682.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix SYS_MEM_BLOCKS_DEFINE_STATIC() description.
Use a "memory blocks allocator" instead of "slab",
which is most probably was copy-pasted from
the previous "slab" chapter by mistake.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Make sure application-kconfig.include is properly highlighted by setting
the :language: attribute.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add in DT the possibility to configure both INT1 and INT2
pin. The driver will then assign one of the two (either 1
or 2, according to what value drdy_pin is set) to a gpio
for receiving drdy interrupts.
The other pin may be used in the future to receive event
interrupts.
Signed-off-by: Armando Visconti <armando.visconti@st.com>
Move the syscall_handler.h header, used internally only to a dedicated
internal folder that should not be used outside of Zephyr.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Adding support for echo option if telnet commands are supported. This is
useful when the telnet client is in character mode. It allows to use the
arrow keys, ctrl-c and more. Something to keep in mind is that when
character mode is turned on by the client, network traffic is
considerably increased as each typed character is sent over the wire.
Note: echo mode is only supported if SHELL_TELNET_SUPPORT_COMMAND is
enabled.
Signed-off-by: David Corbeil <david.corbeil@dynon.com>
Python 3.12 is not (yet) providing a seamless experience for Windows
developers. Update Install instructions to invite people to stick to
Python 3.11 for the time being.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Ubuntu 18.04 LTS support was dropped in May 2023, therefore bump
version to oldest supported LTS release
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Improves the documentation about how CDP 128, 129 and 130, as well as
Models Metadata Page 128 are created, as well as which functions the
application will have to call to store the correct contents in the
pages.
Signed-off-by: Ludvig Jordet <ludvig.jordet@nordicsemi.no>
Adds a note that an additional Kconfig needs to be selected if a
serial MCUmgr transport is used
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Extend the previous support of creating object instances by allowing
creation of resource instances as well.
Similarly, add support for deleting.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
The existing driver and sample:
- drivers/bluetooth/hci/rpmsg
- samples/bluetooth/hci_rpmsg
are no longer correctly named, since they now use the IPC subsystem to
send and receive data. The IPC subsystem can use RPMsg as a transport,
but that is one of several selectable backends.
I initially wanted to deprecated both the BT_RPMSG Kconfig option as
well as the zephyr,bt-hci-rpmsg-ipc chosen node in Devicetree. However,
this proved to be undoable in the case of the Kconfig option. This is
because it's a choice option, and those have special behavior. In
particular, the only practical way to deprecate would've been to keep
the old Kconfig option outside the choice (much like it's done in this
commit) but then also add a 'depends on !BT_RPMSG' on each of the
remaining choice symbols *except* on the new BT_HCI_IPC one. This, however,
only works correctly for .conf files. If a board instead sets the
default BT_HCI_BUS_TYPE in the Kconfig.defconfig file then the Kconfig
tree parsing would fail, because it'd try to set it to a value
(BT_RPMSG) that is no longer part of the choice.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Unify spelling of CAN Flexible Data-rate abbreviation to "CAN FD" instead
of "CAN-FD". The former aligns with the CAN in Automation (CiA)
recommendation.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Split out the CAN transceiver API documentation from the CAN controller API
documentation. The CAN transceiver API was introduced in Zephyr v3.1.0.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
- Added GNSS documentation entry to peripherals
- Added GNSS API entry to the API overview as 3.6 experimental
Signed-off-by: Bjarki Arge Andreasen <bjarkix123@gmail.com>
Add required class so that sphinx-togglebutton admonition is expanded by
default.
Also remove sphinx-immaterial code that should not be there.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Using an UL with "manually" formatted text was probably an oversight.
Show related samples as a "definition list", with sample name as the
"term" and the description as the "definition".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
As per Doxygen Awesome documentation:
"HTML_COLORSTYLE must be set to LIGHT since Doxygen 1.9.5!"
Fixes#64505
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Move the documentation for high-level CAN protocols (for now only covering
ISO-TP) from the peripherals section to the connectivity section.
This matches the layout in code, where the CAN controllers are under the
drivers/can directory and the protocols are under the subsys/canbus/
directory.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Add a paragraph mentioning the initlevels target for inspecting the
DEVICE_DEFINE and SYS_INIT sequence.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Added pytest_dut_scope keyword under harness_config section.
New keyword is used to determine the scope of dut and shell
fixtures in pytest-twister-harness plugin.
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
- Add extension to get git metadata (date, SHA-1, ...) regarding the
latest update made to a page
- Add date of last "actual" update to each manually authored doc page
- Add admonition inviting to report issues
- Add button in breadcrumb to report issue
Fixes#60622.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This adds a vcs_link_get_open_issue_url Jinja filter to craft the URL
allowing to report an issue for a given Sphinx page
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Update the vcs_link extension to also support generating "edit" URL
vcs_link_version is also now a Sphinx config making its value available
to extensions.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Replaces sizeof(header) which is equal to the size of the pointer,
by sizeof (*header), which is equal to the size of struct message_header.
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
Convert the warning about multiple symbol definitions to a dedicated
section. This allows the warning to be restricted to the information
that is non-intuitive, with a note for actions that should be taken
when working with multiple definitions.
Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
Document needed steps to download, install and setup the debug host
tools for NXP S32 Debug Probe.
Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
Updates Bluetooth mesh specification references:
- Change "Profile" to "Protocol" since the main specification has
changed its name.
- Update/align formating of specification references. This will
make it easier to find spec references in the future.
- Change some section references to point to the correct section of the
newest version of the specification (v1.1).
Signed-off-by: Anders Storrø <anders.storro@nordicsemi.no>
The new "net sockets" command will utilize the object core
support to track and show information about BSD sockets that
are created in the system. This command is able to show info
for all network sockets (native, offloaded etc) in the system.
Example of the output of the new command:
uart:~$ net sockets
Creator Name Flags FD Lifetime (ms) Sent Received
main af_inet46 6ST 0 3260 819 498
main af_inet46 4ST 1 2110 469 142
main af_inet46 6DU 2 2110 9941 9941
main af_inet46 4DU 3 2110 1375 621
4 active sockets found.
Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
Correct a previous mistake indicating syntax highlighting is
autoguessed.
Add recommendations and samples around languages that documentation
authors are encouraged to use.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Force code blocks with no 'language' explicitly set to render with no
highlighting. The current default was to use python (bad), and there
would also be an option to set it to "guess" but this doesn't work all
so well (ex. some C blocks would be detected as Transact-SQL!).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Backport a useful CSS rule from Godot that allows to have *all* cells of
a table to wrap. This can be useful for list-tables in particular,
where otherwise the first column don't wrap.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Passing arguments to west flash is needed in many cases
but there was no way to properly generate documentation
with such examples.
With this new "flash-args" option we can now.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
The figure and table related to the VDED notification sequence were wrong.
It fixes that by changing the image and adjusting the table content.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
Since samples are starting to leverage the new :zephyr:code-sample
directive, let's use the available meta data to expose that structured
information to search engines.
This commit adds JSON-LD markup to the HTML output of code sample pages
and sets the meta description to the samples' description.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
CodeSample node is meant to be a temporary node that's transformed into
standard docutils nodes. While the node might contain children useful
for the transformation, they're not meant to be included in the result
of the transform.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
According to the UART API documentation, implementation must block when
the transceiver is full. For CDC ACM UART, TX ringbuffer can be
considered as transceiver buffer/FIFO. Blocking when the USB subsystem
is not ready is considered highly undesirable behavior. Blocking may
also be undesirable when CDC ACM UART is used as a logging backend.
Change the behavior of CDC ACM poll out to:
- Block if the TX ring buffer is full, hw_flow_control property is
enabled, and called from a non-ISR context.
- Do not block if the USB subsystem is not ready, poll out
implementation is called from an ISR context, or hw_flow_control
property is disabled.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The main new features are a 'west grep' command and a new
'description:' field in the manifest file's 'projects:' elements.
Rather than try to keep the version number in index.rst up to
date, which it frequently is not, just delete the paragraph.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
These are backwards compatible extensions in keeping with
our promise to adhere to semantic versioning from now on.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
The main documentation for the command itself is in the 'west help
grep' output, so just add an entry in the list of built-in commands.
Document the extra config options as well.
Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
Add a note about requirements for specialized drivers, clarifying the
requirements about using Zephyr APIs.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Since there are multiple static analysis tools being used
now, it is better to change references for a particular one
and just point to static analysis section in the documentation.
JIRA is no longer used for tracking security issues. Update it
to Github.
Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
Remove gdbstub sample (samples/subsys/debug/gdbstub) as duplicated
by a test (tests/subsys/debug/gdbstub).
Update the GDB stub documentation.
Signed-off-by: Dmitrii Golovanov <dmitrii.golovanov@intel.com>
Add new configuration value CONFIG_LWM2M_UPDATE_PERIOD
that allows calculating update period from last update,
instead of calculating it from the lifetime.
In runtime, server is allowed to change the lifetime of the
registration which causes update perdiod to be effected.
When fixed update period is preferred, UPDATE_PERIOD
config is then used.
Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
Add Zephyr 3.5 as a supported release until July 26th 2024, i.e. when
3.7 is planned to be released.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Use Noto as baseline font and Inconsolata Nerd Font for source code.
These are both esthetically pleasing and have good Unicode coverage.
NOTE: Unsupported characters (i.e. emojis, at the time of this commit)
are rendered as tofu (i.e. a square).
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
XeLaTeX is a TeX typesetting engine that extends LaTeX with support for
Unicode and modern font technologies such as OpenType.
It is included in all the LaTeX distro recommended for Zephyr so it is
safe to assume it is available to the user interested in building the
PDF documentation locally
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add note to migration guide describing how to instantiate a ramdisk
using devicetree, and calling out Kconfig options that have been removed
with this change
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Add migration guide notes for i.MX RT boards, including the following
changes:
- i.MX RT boards must now manually enable
CONFIG_DEVICE_CONFIGURATION_DATA and CONFIG_NXP_IMX_EXTERNAL_SDRAM
when required
- SNVS pin names have changed for i.MX RT11xx series boards
Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
Reorder the sections so that the core/wide impact ones come first (e.g.
Kernel and C-Library) and more specific ones (e.g. architectures) come
last.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Add sections to the migration guide to make it easier to spot and follow
suggestions of specific areas.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Reword VPX part as was requested by @abrodkin
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Evgeniy Paltsev <PaltsevEvgeniy@gmail.com>
Added explicit code blocks throughout the document.
Removed several incorrect uses of "console" language where it should have
been shell or bat.
"console" is only for _bash_ sessions that include a prompt.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The 'console' language in pygments is for Bash shell session, i.e code
snippets were commands MUST start with a prompt.
The commands rendered by the ZephyrAppCommandsDirective do not include
a prompt, and should therefore be set as "shell".
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Add required settings for telling the copybutton Sphinx extension to
ignore prompts when copying a code block.
Both bash prompt and Zephyr UART prompt are ignored.
Examples of the new behavior:
.. code-block:: console
$ echo "Hello World"
Hello World
The copied text will be: 'echo "Hello World"'.
.. code-block:: console
uart:~$ l2cap connect 29
Chan sec: 1
L2CAP connection pending
Channel 0x20000210 connected
Channel 0x20000210 status 1
uart:~$ l2cap send 3 14
Rem 2
Rem 1
Rem 0
Outgoing data channel 0x20000210 transmitted
Outgoing data channel 0x20000210 transmitted
Outgoing data channel 0x20000210 transmitted
The copied text will be: 'l2cap connect 29\nl2cap send 3 14'.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Make sure devicetree code blocks all have proper pygments language set.
Fixed a few other "none" code blocks as well.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>