Add a new backend for Host Commands that uses UART. The backend bases
asynchronous UART API.
The UART backend is mainly used by FPMCU.
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Adds information on updated fs_mgmt functionality and describes
the new optional file close command.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The note previously mentioned that, when "upgrade" flag is present,
uploaded image version can not be lower than version of a running
application; this has been corrected as uploaded image should
have version higher than running, as "upgrade" only flag makes
no sense when same version is uploaded.
Additionally note that Zephyr does not support this feature has
been removed, as MCUmgr library within Zephyr does actually
perform the version check when "upgrade" flag is set.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Adds a note that the upload response hash is partially
optionally from the point of view of MCUboot's serial recovery.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The specification of que CBOR request 'image upload request' field
'sha' was decalred as type (str) but is (byte str).
Just replaced the field type after verified with code here:
/subsys/mgmt/mcumgr/grp/img_mgmt/src/img_mgmt.c#L383
Signed-off-by: Mathis Raemy <mathis.raemy@gmail.com>
Rework the Host Command support. It includes:
-change API to backend
-change a way of defining rx and tx buffers
-fix synchronization between the handler and backend layer
-simplify the HC handler
Signed-off-by: Dawid Niedzwiecki <dawidn@google.com>
Instead of no hash being passed when using image confirm on a
test upgrade and empty hash should be passed, otherwise an error
is returned.
Signed-off-by: Dean Sellers <dsellers@evos.com.au>
The SHELL_SUBCMD_DICT_SET_CREATE macro was previous changed in PR #51231
to require a string comment as part of the macro but the documentation
was not updated to reflect that. This patch updates the documentation to
relect the change in the shell library.
Signed-off-by: Jason Yuan <jasonyuan@google.com>
Supplemental information on shell command execution. Added an
illustration and four examples showing how the shell will call
the handler and what it will pass as an argument.
Signed-off-by: Jakub Rzeszutko <jakub.rzeszutko@nordicsemi.no>
Add details for several unclear aspects of zbus. The explanation of VDED
was vague, and some developers needed clarification. So this commit adds
images and an illustration scenario to explain that in detail. Typos
corrected. More code was added in the claim/finish descriptions.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
Adds a note on the new match field which will indicate if the
uploaded data's SHA256 hash matches the provided hash.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a note that the MCUmgr go application has many faults and
is not recommended to be used in a production environment.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Removes the `psa_crypto` sample from the current release, due to
PSA API conflicts that can not be immediately resolved between Zephyr's
instance of MbedTLS in the NS environment, and the TF-M PSA APIs
included when building with TF-M support.
PSA API changes upstream in MbedTLS 3.2.1 (used by TF-M 1.7.0), and
MbedTLS 3.1 (used in TF-M 1.6.0) need to be be resolved in both
upstream projects before this sample can be reintroduced.
Signed-off-by: Kevin Townsend <kevin.townsend@linaro.org>
Signed-off-by: David Brown <david.brown@linaro.org>
Fixes an issue with the documentation whereby the wrong hash/sha
sections were described, also adds a link to upstream MCUboot
documentation for further information.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Improves the documentation when OR'ing multiple events of the same
group together to describe that this is only supported for events
that are part of the same group, giving example of correct and
incorrect usage.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
The old random timer test was not random-looking
enough on some platforms.
Replace with new test which is psuedo-xoshiro.
The generator is still deterministic
and does not depend on entropy at all,
but should look more random for testing.
Change name of generator tree-wide also.
Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
There are scenarios when it is necessary to globally redefine
a log macro. The existing logging frontend is not sufficient since
it redirects at the function level.
One example is using pigweed_tokenzier. The pigweed tokenizer depends
on intercepting log strings at the macro level to function.
Introduce an option to include a custom application provided header
named "zephyr_custom_log.h" at the end of log.h. This allows an
application to extend the LOG_* macros globally.
This change includes a simple test that redefines the core LOG macros
to include a custom prefix.
Signed-off-by: Rob Barnes <robbarnes@google.com>
The `TEST_RANDOM_GENERATOR` Kconfig symbol indicates that a non-random
number generator (i.e. a random number generator that is not truly
random) is _allowed_ to be used for testing purposes, and not
necessarily that a non-random number generator is _selected_ -- that is
indicated by the `RNG_GENERATOR_CHOICE` choices that depend on
`TEST_RANDOM_GENERATOR` (i.e. only `TIMER_RANDOM_GENERATOR` as of now).
This commit updates the `TEST_RANDOM_GENERATOR` Kconfig symbol
description to reflect and clarify that.
It also removes the `TEST_RANDOM_GENERATOR`'s dependency on
`ENTROPY_HAS_DRIVER` because the act of _allowing_ a non-random number
generator to be used does not depend on the availability of an entropy
driver -- when an entropy driver is available, by default, the
`ENTROPY_DEVICE_RANDOM_GENERATOR` will be selected; otherwise,
`TIMER_RANDOM_GENERATOR`, a non-random generator, will be selected.
Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
The DFU documentation has been extended with MCUboot API
chapter and API reference, from mcuboot_api Doxygen group.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The Flash img API is used for writting image application image
to flash and is rather part of DFU than storage.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Includes reference to esp32 deep sleep sample code
to system power management documentation,
Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
Introduce an API mirroring the CMSIS-DSP's basicmath. If CMSIS_DSP is
enabled, then it will by default be used as a backend. Developers may
opt into a custom backend by setting CONFIG_DSP_BACKEND_CMSIS=n. If
done, the application must provide `zdsp_backend/dsp.h` and optionally
implement the functions in its own .c files.
Signed-off-by: Yuval Peress <peress@google.com>
Add section which describes coexistence of printk and logging
and the behavior of LOG_PRINTK with information that it is by
default enabled.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
Currently there is inconsistency in repository file names, APIs, Kconfig
options and documentation around file / file-system backend for settings
storage, as both "file" and "FS (file system)" are used. As an example,
there is `CONFIG_SETTINGS_FS` Kconfig option, but the file that implements
this settings backend is called `settings_file.c`. Another example are
names of static functions that implement settings storage API:
`settings_file_load()`, `settings_file_save()` and
`settings_fs_storage_get()`.
This backend is actually storing all settings in a single file, so it makes
sense to use "File" as the name of backend, instead of a more general
"FS" (which would make sense if several files would be used to store
settings).
Fix inconsistency in used wording in the tree and unify it to "settings
file backend". This naming is more precise to how the implementation looks.
It will also make it easier to grep through the codebase and analyze
existing code.
Deprecate settings_mount_fs_backend() function and all Kconfig options
starting with `CONFIG_SETTINGS_FS`.
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Remove Kconfig file samples/subsys/usb/usb_pid.Kconfig added in
the commit e5cbe6a9e7 ("usb: cdc: Add unique PIDs for each sample")
with the motivation to have a separate ID for each sample supposedly
to be recognizable by the host.
The new USB support does not use the options, VID/PID is set
directly in the application. As a note, it is not necessary to have
unique PID for each sample, especially for the well known USB classes.
Replace the individual Kconfig options in the documentation
by a table with the references to the samples and PIDs.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
The commit moves MCUmgr SMP transport documentation from
subsys/mgmt/mcumgr/lib to doc/services/device_mgmt.
Documentation have been rewritten for that purpose.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add zbus message bus as a Zephyr subsystem. No message bus
or communication abstraction other than the usual (message queues,
mailboxes, etc.) enabled developers to implement event-driven systems in
Zephyr quickly. Zbus would fill that gap by providing the community with
a lightweight and flexible message bus. The implementation tries to be
closest as possible to the existing ones. We use the claim/finish
approach, and the API for publishing and reading channels are similar
in message queues. Zbus is about channels, messages, and observers.
Signed-off-by: Rodrigo Peixoto <rodrigopex@gmail.com>
Adds the initial documentation describing the mcumgr callback
system and how to use it, including API reference and samples.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>