Commit graph

103 commits

Author SHA1 Message Date
Alberto Escolar Piedras 6e2deeebbc samples/modules/chre: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim.
And switch the default test platform to native_sim from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Alberto Escolar Piedras 32000aafa1 samples/modules/lvgl: Switch from native_posix to native_sim
In the docs replace the references to native_posix with native_sim.
And switch the default test platform to native_sim from native_posix.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-14 13:06:01 +01:00
Henrik Brix Andersen 49f0c9f221 samples: modules: canopennode: suggest using manifest.project-filter
Suggest users to use "west config manifest.project-filter +canopennode"
instead of "west config manifest.group-filter +optional" in the sample
documentation to avoid pulling in unrelated, optional modules.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-27 13:30:50 -05:00
Henrik Brix Andersen 7579eadaaf modules: canopennode: make the CANopenNode module optional
Make the CANopenNode module, which provides a CANopen protocol
implementation, optional.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-26 09:48:26 +02:00
Keith Packard 1e5c46df3d samples: Switch from NEWLIB_LIBC to REQUIRES_FULL_LIBC
Instead of forcing use of NEWLIB_LIBC, select any available complete C
library implementation. Add CONFIG_REQUIRES_FLOAT_PRINTF and adjust
CONFIG_LIBC_MALLOC_ARENA_SIZE as needed.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-10-25 08:32:06 +02:00
Pieter De Gendt ae26f1ef9d samples: modules: nanopb: Update requirements
Add installation instruction for adding nanopb to the west workspace.
This is required because it is optional and not installed by default.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-10-24 09:05:50 +02:00
Fabian Blatz d72159d288 samples: modules: lvgl: demo: Add widgets entry to README
Adds a short description and build command for the widgets demo to the
README.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-10-24 09:05:12 +02:00
Flavio Ceolin 564adad952 treewide: Add CODE_UNREACHABLE after k_thread_abort(current)
Compiler can't tell that k_thread_abort() won't return and issues a
warning unless we tell it that control never gets this far.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2023-10-24 09:04:42 +02:00
Daniel DeGrasse a9aad1de31 samples: modules: lvgl: enable widgets demo
Enable LVGL widgets demo within Zephyr. This demo requires additional
stack and heap space in order to execute correctly, so raise the stack
and heap size to enable it to run.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2023-10-20 15:03:37 +02:00
Benjamin Cabé 17fad703c5 samples: lvgl: sensor: Add LVGL sample for real-time sensor data chart
This adds a new sample for LVGL that displays a real-time chart for
accelerometer data acquired from &accel0 sensor.

This also adds the appropriate overlays so that the sample can also run
on native POSIX and native sim using emulated BMI160.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-20 15:00:02 +02:00
Anas Nashif 2ed4cf0fde samples: tflite-micro: depend on module
The sample depends on on the tflite-micro module.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Fabian Blatz c7f8033f2b modules: lvgl: simplify sys_heap memory size configs
Changes the Kconfig symbols for the sys_heap based memory management option
and removes the notion of `BLOCKS` with a more concise single
`LV_Z_MEM_POOL_SIZE` option. Also adds `LV_MEM_CUSTOM` to the lv_conf.h,
since in any option the memory management is considered to be custom.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-09-27 09:54:08 +02:00
Benjamin Cabé 2479af21f6 doc: samples: Fix incorrect maxdepth for some toctrees
The table of contents for the samples' catalog was showing too many
levels for some sections.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-09-26 12:02:54 +02:00
Ryan McClelland 65a15e9299 samples: tflite-micro: update samples for latest tflite-micro
tflite-micro now uses MicroPrintf instead of MicroErrorReporter. Update
the samples to use this function instead. AllOpsResolver is now removed
from tflite-micro. AllOpsResolver was also removed in the latest
tflite-micro. Use MicroMutableOpResolver and only include the kernels
used instead.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2023-09-25 09:46:33 +02:00
Fabian Blatz b94641697f samples/modules: Add LVGL demo sample
Adds a sample which allows to build the LVGL upstream demo applications
(music, benchmark, stress).

Resolves issue #62744.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2023-09-22 09:26:29 +02:00
Pieter De Gendt 0357b4d4f5 modules: nanopb: Add helper function to generate sources
Introduce a helper function zephyr_nanopb_sources to generate
source files and add these to a target.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2023-09-15 12:57:40 +02:00
Nick Ward 2d65acca3a drivers: gpio: use gpio_is_ready_dt helper function
Update `struct gpio_dt_spec` use with gpio_is_ready_dt()

Signed-off-by: Nick Ward <nix.ward@gmail.com>
2023-08-28 08:48:35 -05:00
Anas Nashif b835b02136 tests: cleanup metadata and filtering
- Add integration_platforms to avoid excessive filtering
- Make sure integration platforms are actually part of the filter
- Fix some tags and test meta data

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-13 09:38:27 -04:00
Benjamin Cabé 21f473aaec samples: doc: fix dead links
Fixed deadlinks reported by Sphinx linkchecker

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-06-07 04:40:47 -04:00
Keith Packard 6ccdf47f60 lib/cpp: Remove CONFIG_CPP_MAIN
With Zephyr now always using `int main(void)`, there's no longer any need
for this definition. The last remaining use which gated the declaration of
_posix_zephyr_main isn't necessary as adding that declaration
unconditionally is harmless.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-05-31 06:16:35 -04:00
Anas Nashif 04827ba71f tests/samples: use integration_platforms more where it makes sense
Use integration platforms to limit churn and build time in PR CI .

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-05-26 17:52:02 -04:00
Maciej Perkowski 75b062a6d6 tests: samples: Resolve duplicates in names.
Several duplicates were found with
scripts/twister -T samples/ -T tests/ --dry-run --list-test-duplicates
This is an issue since duplicated names causes overwriting of
results. Most duplicates looked like obvious copy-pase errors.
New names where addopted looking at other tests in the same yaml
or looking at the directory/descriptio.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-05-16 06:21:25 -04:00
Gerard Marull-Paretas 93b63df762 samples, tests: convert string-based twister lists to YAML lists
Twister now supports using YAML lists for all fields that were written
as space-separated lists. Used twister_to_list.py script. Some artifacts
on string length are due to how ruamel dumps content.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-05-10 09:52:37 +02:00
Francois Ramu 6c732185af samples: modules: can openmode runs on stm32h573i_dk
Add an overlay to avoid running the samples/modules/canopennode
on the external octo NOR flash of the stm32h573i disco kit.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2023-05-04 20:50:27 +02:00
Kumar Gala 0bae215ba9 samples: modules: thrift: filter on CONFIG_FULL_LIBCPP_SUPPORTED
Change sample to set CONFIG_FULL_LIBCPP_REQUIRED and to filter on
CONFIG_FULL_LIBCPP_SUPPORTED.  Since not all toolchains provide a
full libc++ this will restrict the sample only to those environments
that do.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-05-03 22:39:13 -04:00
Keith Packard 71255a210d samples/chre: Filter out targets not providing a full libc
When the only C library available is the minimal one, this test cannot
work. Accept only platforms with full C library support to prevent build
failures.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-27 20:18:11 +09:00
Keith Packard 0b90fd5adf samples, tests, boards: Switch main return type from void to int
As both C and C++ standards require applications running under an OS to
return 'int', adapt that for Zephyr to align with those standard. This also
eliminates errors when building with clang when not using -ffreestanding,
and reduces the need for compiler flags to silence warnings for both clang
and gcc.

Most of these changes were automated using coccinelle with the following
script:

@@
@@
- void
+ int
main(...) {
	...
-	return;
+	return 0;
	...
}

Approximately 40 files had to be edited by hand as coccinelle was unable to
fix them.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-04-14 07:49:41 +09:00
Gaël PORTAY 419dda3ed7 samples: fix path to tensorflow lite micro examples
The samples under the tensorflow modules directory has been renamed
since commit 6fd1b02496. However, the path
in their README.rst was not updated.

Additionnaly, the modules top directory under the samples is missing for
the samples magic_wand and tflm_ethosu.

This fixes the path to the tensorflow lite micro samples in their
README.rst.

Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
2023-03-06 16:08:55 -06:00
Jamie McCrae 0241de3969 samples: canopennode: Select STREAM_FLASH for sysbuild build
For mcuboot support, this Kconfig option needs to be selected, this
is done by having a separate project configuration file when
building the version that supports mcuboot.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-03-03 10:49:32 +01:00
Jamie McCrae af78cbdc99 samples and tests: Add REQUIRED to Zephyr find_package call
Adds REQUIRED to samples and tests for finding the zephyr package
to align all samples and tests with the same call and parameters.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-03-02 09:58:27 +01:00
Chris Friedt 93c2e08711 samples: modules: thrift: improve Thrift documentation
* ensure Thrift documents are globbed in `modules/index.rst`
* add a "What is Thrift?" section to the Thrift sample

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-03-01 19:42:49 -05:00
Chris Friedt 63e5ff0223 samples: modules: thrift: add thrift-layers image
The "Thrift Layers" image gives a good visual representation
of Thrift in what would otherwise take many words.

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-03-01 19:42:49 -05:00
Chris Friedt 3ea28b2fa5 samples: modules: thrift: add samples for thrift module
Here we add a client and server samples for the basic
"hello" service.

These samples are designed to be run by either Zephyr or
the host machine, interchangeably.

Additionally, there is a python version of the client
to demonstrate Thrift's cross-language capabilities.

This code was merged from the following repository
at the commit specified below, with minor formatting
and coding-style modifications.

https://github.com/zephyrproject-rtos/gsoc-2022-thrift
e12e014d295918cc5ba0b4c507d1bf595a2f539a

Signed-off-by: Chris Friedt <cfriedt@meta.com>
2023-02-09 20:30:21 +09:00
Keith Packard bf384bf41a samples/modules/chre: Support picolibc %p for NULL pointers
glibc and newlib print "(nil)" for NULL pointers while picolibc just prints
"0". Allow either by replacing the exact "(nil)" match with ".*" instead

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-01-26 09:12:35 -08:00
Jamie McCrae ec7044437e treewide: Disable automatic argparse argument shortening
Disables allowing the python argparse library from automatically
shortening command line arguments, this prevents issues whereby
a new command is added and code that wrongly uses the shortened
command of an existing argument which is the same as the new
command being added will silently change script behaviour.

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2023-01-26 20:12:36 +09:00
Henrik Brix Andersen 55d0ffa874 drivers: can: remove CAN_HAS_CANFD Kconfig helper
Remove the CAN_HAS_CANFD Kconfig helper symbol in order to allow enabling
CAN-FD support in the API regardless of driver support.

Change default to CAN-FD support being disabled and have samples and tests
that require CAN-FD support turn it on. This aligns the default
configuration across CAN controller drivers regardless of their
capabilities.

The rationale behind this is that we are starting to see MCUs with multiple
CAN controllers, some CAN-FD compatible, some not (e.g. NXP i.MX RT1060 and
FPGAs). Automatically enabling CAN-FD support based on the presence of a
CAN-FD capable CAN controller leads to different application default
settings based on the CAN controller(s) in use.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-01-25 15:00:39 +00:00
Kumar Gala 8f04408725 tests: Add newlib filter for some testcases that dont have it
Not all toolchains support newlib so tests that require newlib need
to have a filter to we don't try and build those tests on those
testcases.  Some newer tests are missing:

	filter: TOOLCHAIN_HAS_NEWLIB == 1

so add that to testcases that needed.

Signed-off-by: Kumar Gala <kumar.gala@intel.com>
2023-01-24 11:10:27 +00:00
Stephanos Ioannidis cf211aa7af treewide: Update deprecated CONFIG_LIB_CPLUSPLUS usages
This commit updates all deprecated `CONFIG_LIB_CPLUSPLUS` usages to:

* check if the Zephyr minimal C++ library is enabled using
  `CONFIG_MINIMAL_LIBCPP` instead of relying on the
  `CONFIG_LIB_CPLUSPLUS`-based inference.

* select `CONFIG_REQUIRES_FULL_LIBCPP` when there exists a component-
  level C++ standard library dependency. This allows a component to
  declare C++ standard library dependency without designating a
  specific libray implementation.

* select the correct type of C++ standard library implementation to use
  through one of the `CONFIG_LIBCPP_IMPLEMENTATION` choices.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Stephanos Ioannidis 4a64bfe351 treewide: Use CONFIG_CPP instead of CONFIG_CPLUSPLUS
This commit updates all in-tree code to use `CONFIG_CPP` instead of
`CONFIG_CPLUSPLUS`, which is now deprecated.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-01-13 17:42:55 -05:00
Henrik Brix Andersen c0fb33ab8d samples: modules: canopennode: convert to sysbuild
Convert the CANopenNode sample to use sysbuild for generating MCUboot +
CANopenNode sample binaries instead of using manual instructions.

Rework the twister sample filtering to just list the known good boards.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-01-13 14:05:40 +01:00
Tom Burdick 89695ddaa3 samples: tag chre sample
Tags the chre sample so it may be ignored for platforms that don't want
to build or run this sample.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2023-01-10 18:29:35 -05:00
Fabio Baltieri 792469aae9 yamllint: indentation: fix files in samples/
Fix the YAML files indentation for files in samples/.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 14:23:53 +01:00
Andrei Emeltchenko 3f62b3803f samples: canopennode: Fix typo
Fixes typo in a canopennode sample.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-01-04 10:34:06 +01:00
Anas Nashif ba7d730e9b tests/samples: use integration_plaforms in more tests/samples
integration_platforms help us control what get built/executed in CI and
for each PR submitted. They do not filter out platforms, instead they
just minimize the amount of builds/testing for a particular
tests/sample.
Tests still run on all supported platforms when not in integration mode.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-29 16:03:23 +01:00
Fabio Baltieri 2f2eba7517 samples: chre: exclude qemu_leon3
This test used to only run on native_posix due to the test filter until
e478a4e850 was merged. Now it's running on all platforms but it's failing
on qemu_leon3 for some address alignment issue.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-11-24 16:37:49 +01:00
Fabio Baltieri 80e3d68691 samples: chre: use CONFIG_LOG_MODE_MINIMAL
The sample depends on the log output to check for a successful run. This
means that with a small enough log buffer we could lose messages and
fail the run, as it's happening right now on qemu_cortex_m0.

Switching to CONFIG_LOG_MODE_MINIMAL to avoid the problem in the first
place.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-11-24 16:37:49 +01:00
Andrzej Głąbek 1ef35090d0 samples: modules: chre: Flush log messages after initialization
On targets where POST_KERNEL initialization routines, executed after
the logging thread has started, take significant amount of time,
log messages produced during CHRE initialization may collide with
printk messages output by the sample. Prevent this by flushing all
log messages right after the initialization is performed.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-11-23 17:22:16 +00:00
Kristofer Jonsson e35e981564 samples: Add a TFLU Ethos-U sample program
Add a sample program that demonstates how to run inferences on
Arm Ethos-U.

Signed-off-by: Kristofer Jonsson <kristofer.jonsson@arm.com>
Signed-off-by: Fredrik Knutsson <fredrik.knutsson@arm.com>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-11-15 14:47:43 +01:00
Stephanos Ioannidis d7f69fccc3 samples: chre: Correct main() function prototype
C++ standard requires C++ main() to have the return type of 'int'.

This commit updates the CHRE sample to define main() as
`int main(void)` and enable  `CONFIG_CPP_MAIN`, which instructs the
Zephyr kernel to call the C++ main().

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-11-05 16:41:45 +09:00
Henrik Brix Andersen 4af4fc0314 samples: modules: canopennode: exclude qemu_x86 from storage build
Exclude the qemu_x86 and qemu_x86_64 boards from the build-only CANopenNode
storage test.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2022-11-01 15:22:31 -04:00