From 53986be800d12270ce9e240eba6d5c792d03b543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20G=C5=82=C4=85b?= Date: Fri, 28 Feb 2025 09:20:04 +0100 Subject: [PATCH] samples: sensor: bme680: Extend upstream sample MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add sample that reuses source code from "original" sample that existing in the upstream Zephyr. Extend sample with configurations that rely on internal shields pca63565 and pca63566. Remove Twister alt-config for upstream sample. Signed-off-by: Sebastian Głąb --- CODEOWNERS | 2 +- samples/sensor/bme680/CMakeLists.txt | 12 ++++++ samples/sensor/bme680/README.txt | 3 ++ samples/sensor/bme680/prj.conf | 3 ++ .../sensor/bme680/sample.yaml | 4 +- samples/sensor/bme680/src/main.c | 43 +++++++++++++++++++ scripts/ci/tags.yaml | 5 +++ 7 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 samples/sensor/bme680/CMakeLists.txt create mode 100644 samples/sensor/bme680/README.txt create mode 100644 samples/sensor/bme680/prj.conf rename {scripts/twister/alt/zephyr/samples => samples}/sensor/bme680/sample.yaml (92%) create mode 100644 samples/sensor/bme680/src/main.c diff --git a/CODEOWNERS b/CODEOWNERS index fd01faf00bcc..25c2ddcecb2c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -530,6 +530,7 @@ /samples/nrf_rpc/ @nrfconnect/ncs-si-muffin /samples/sensor/accel_polling/ @nrfconnect/ncs-low-level-test /samples/sensor/bh1749/ @nrfconnect/ncs-cia +/samples/sensor/bme680/ @nrfconnect/ncs-low-level-test /samples/sensor/bme68x_iaq/ @nrfconnect/ncs-cia /samples/sensor/qdec/ @nrfconnect/ncs-low-level-test /samples/subsys/settings/ @nrfconnect/ncs-low-level-test @@ -705,7 +706,6 @@ /scripts/partition_manager/*.rst @nrfconnect/ncs-aurora-doc /scripts/shell/ble_console/**/*.rst @nrfconnect/ncs-doc-leads /scripts/west_commands/sbom/*.rst @nrfconnect/ncs-si-muffin-doc -/scripts/twister/alt/zephyr/samples/sensor/ @nrfconnect/ncs-low-level-test /scripts/twister/alt/zephyr/tests/drivers/ @nrfconnect/ncs-low-level-test # Share diff --git a/samples/sensor/bme680/CMakeLists.txt b/samples/sensor/bme680/CMakeLists.txt new file mode 100644 index 000000000000..fb360d52169a --- /dev/null +++ b/samples/sensor/bme680/CMakeLists.txt @@ -0,0 +1,12 @@ +# +# Copyright (c) 2018 Bosch Sensortec GmbH +# +# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause +# + +cmake_minimum_required(VERSION 3.20.0) +find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) +project(bme680) + +FILE(GLOB app_sources src/*.c) +target_sources(app PRIVATE ${app_sources}) diff --git a/samples/sensor/bme680/README.txt b/samples/sensor/bme680/README.txt new file mode 100644 index 000000000000..03b6a3690695 --- /dev/null +++ b/samples/sensor/bme680/README.txt @@ -0,0 +1,3 @@ +This sample extends the same-named Zephyr sample to verify it with Nordic development kits. + +Source code and basic configuration files can be found in the corresponding folder structure in zephyr/samples/sensor/bme680. diff --git a/samples/sensor/bme680/prj.conf b/samples/sensor/bme680/prj.conf new file mode 100644 index 000000000000..d1027c82490f --- /dev/null +++ b/samples/sensor/bme680/prj.conf @@ -0,0 +1,3 @@ +CONFIG_STDOUT_CONSOLE=y +CONFIG_I2C=y +CONFIG_SENSOR=y diff --git a/scripts/twister/alt/zephyr/samples/sensor/bme680/sample.yaml b/samples/sensor/bme680/sample.yaml similarity index 92% rename from scripts/twister/alt/zephyr/samples/sensor/bme680/sample.yaml rename to samples/sensor/bme680/sample.yaml index 4c4b129c43d9..115768fd038b 100644 --- a/scripts/twister/alt/zephyr/samples/sensor/bme680/sample.yaml +++ b/samples/sensor/bme680/sample.yaml @@ -6,6 +6,8 @@ common: - drivers - i2c - sensors + - ci_samples_sensor + - ci_samples_sensor_bme680 harness: console tests: @@ -82,5 +84,5 @@ tests: .]*$" extra_args: - SHIELD=pca63565 - - vpr_launcher_DTC_OVERLAY_FILE="../../../../nrf/boards/shields/pca63565/boards/nrf54l15dk_nrf54l15_vpr_launcher.overlay" + - vpr_launcher_DTC_OVERLAY_FILE="${ZEPHYR_NRF_MODULE_DIR}/boards/shields/pca63565/boards/nrf54l15dk_nrf54l15_vpr_launcher.overlay" platform_allow: nrf54l15dk/nrf54l15/cpuflpr diff --git a/samples/sensor/bme680/src/main.c b/samples/sensor/bme680/src/main.c new file mode 100644 index 000000000000..8ab830d2f031 --- /dev/null +++ b/samples/sensor/bme680/src/main.c @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2018 Bosch Sensortec GmbH + * + * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause + */ + +#include +#include +#include +#include + +int main(void) +{ + const struct device *const dev = DEVICE_DT_GET_ONE(bosch_bme680); + struct sensor_value temp, press, humidity, gas_res; + + if (!device_is_ready(dev)) { + printk("sensor: device not ready.\n"); + return 0; + } + + printf("Device %p name is %s\n", dev, dev->name); + +#ifndef CONFIG_COVERAGE + while (1) { +#else + for (int i = 0; i < 5; i++) { +#endif + k_sleep(K_MSEC(3000)); + + sensor_sample_fetch(dev); + sensor_channel_get(dev, SENSOR_CHAN_AMBIENT_TEMP, &temp); + sensor_channel_get(dev, SENSOR_CHAN_PRESS, &press); + sensor_channel_get(dev, SENSOR_CHAN_HUMIDITY, &humidity); + sensor_channel_get(dev, SENSOR_CHAN_GAS_RES, &gas_res); + + printf("T: %d.%06d; P: %d.%06d; H: %d.%06d; G: %d.%06d\n", + temp.val1, temp.val2, press.val1, press.val2, + humidity.val1, humidity.val2, gas_res.val1, + gas_res.val2); + } + return 0; +} diff --git a/scripts/ci/tags.yaml b/scripts/ci/tags.yaml index a9cffe0ec64a..6cd91242dc2f 100644 --- a/scripts/ci/tags.yaml +++ b/scripts/ci/tags.yaml @@ -1523,6 +1523,11 @@ ci_samples_sensor_accel_polling: - nrf/samples/sensor/accel_polling/ - zephyr/samples/sensor/accel_polling/ +ci_samples_sensor_bme680: + files: + - nrf/samples/sensor/bme680/ + - zephyr/samples/sensor/bme680/ + ci_samples_sensor_qdec: files: - nrf/samples/sensor/qdec/