Skip to content

Commit 3dadda7

Browse files
committed
samples: sensor: bme680: Extend upstream sample
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 <sebastian.glab@nordicsemi.no>
1 parent 7e02f62 commit 3dadda7

File tree

7 files changed

+76
-8
lines changed

7 files changed

+76
-8
lines changed

CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,7 @@
530530
/samples/nrf_rpc/ @nrfconnect/ncs-si-muffin
531531
/samples/sensor/accel_polling/ @nrfconnect/ncs-low-level-test
532532
/samples/sensor/bh1749/ @nrfconnect/ncs-cia
533+
/samples/sensor/bme680/ @nrfconnect/ncs-low-level-test
533534
/samples/sensor/bme68x_iaq/ @nrfconnect/ncs-cia
534535
/samples/sensor/qdec/ @nrfconnect/ncs-low-level-test
535536
/samples/subsys/settings/ @nrfconnect/ncs-low-level-test
@@ -705,7 +706,6 @@
705706
/scripts/partition_manager/*.rst @nrfconnect/ncs-aurora-doc
706707
/scripts/shell/ble_console/**/*.rst @nrfconnect/ncs-doc-leads
707708
/scripts/west_commands/sbom/*.rst @nrfconnect/ncs-si-muffin-doc
708-
/scripts/twister/alt/zephyr/samples/sensor/ @nrfconnect/ncs-low-level-test
709709
/scripts/twister/alt/zephyr/tests/drivers/ @nrfconnect/ncs-low-level-test
710710

711711
# Share

samples/sensor/bme680/CMakeLists.txt

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#
2+
# Copyright (c) 2018 Bosch Sensortec GmbH
3+
#
4+
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
#
6+
7+
cmake_minimum_required(VERSION 3.20.0)
8+
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
9+
project(bme680)
10+
11+
FILE(GLOB app_sources src/*.c)
12+
target_sources(app PRIVATE ${app_sources})

samples/sensor/bme680/README.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
This sample extends the same-named Zephyr sample to verify it with Nordic development kits.
2+
3+
Source code and basic configuration files can be found in the corresponding folder structure in zephyr/samples/sensor/bme680.

samples/sensor/bme680/prj.conf

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CONFIG_STDOUT_CONSOLE=y
2+
CONFIG_I2C=y
3+
CONFIG_SENSOR=y

scripts/twister/alt/zephyr/samples/sensor/bme680/sample.yaml samples/sensor/bme680/sample.yaml

+9-7
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ common:
66
- drivers
77
- i2c
88
- sensors
9+
- ci_samples_sensor
10+
- ci_samples_sensor_bme680
911
harness: console
1012

1113
tests:
12-
sample.sensor.bme680.nrf54h:
14+
nrf.extended.sample.sensor.bme680.nrf54h:
1315
filter: not CONFIG_COVERAGE
1416
harness_config:
1517
fixture: pca63566
@@ -21,7 +23,7 @@ tests:
2123
- SHIELD=pca63566
2224
platform_allow: nrf54h20dk/nrf54h20/cpuapp
2325

24-
sample.sensor.bme680.nrf54h_cpuppr:
26+
nrf.extended.sample.sensor.bme680.nrf54h_cpuppr:
2527
filter: not CONFIG_COVERAGE
2628
sysbuild: true
2729
harness_config:
@@ -35,7 +37,7 @@ tests:
3537
- vpr_launcher_SHIELD=pca63566_fwd
3638
platform_allow: nrf54h20dk/nrf54h20/cpuppr
3739

38-
sample.sensor.bme680.nrf54h_coverage:
40+
nrf.extended.sample.sensor.bme680.nrf54h_coverage:
3941
filter: CONFIG_COVERAGE
4042
harness_config:
4143
fixture: pca63566
@@ -47,7 +49,7 @@ tests:
4749
- SHIELD=pca63566;coverage_support
4850
platform_allow: nrf54h20dk/nrf54h20/cpuapp
4951

50-
sample.sensor.bme680.nrf54l:
52+
nrf.extended.sample.sensor.bme680.nrf54l:
5153
filter: not CONFIG_COVERAGE
5254
harness_config:
5355
fixture: pca63565
@@ -59,7 +61,7 @@ tests:
5961
- SHIELD=pca63565
6062
platform_allow: nrf54l15dk/nrf54l15/cpuapp
6163

62-
sample.sensor.bme680.nrf54l_coverage:
64+
nrf.extended.sample.sensor.bme680.nrf54l_coverage:
6365
filter: CONFIG_COVERAGE
6466
harness_config:
6567
fixture: pca63565
@@ -71,7 +73,7 @@ tests:
7173
- SHIELD=pca63565;coverage_support
7274
platform_allow: nrf54l15dk/nrf54l15/cpuapp
7375

74-
sample.sensor.bme680.nrf54l_cpuflpr:
76+
nrf.extended.sample.sensor.bme680.nrf54l_cpuflpr:
7577
filter: not CONFIG_COVERAGE
7678
sysbuild: true
7779
harness_config:
@@ -82,5 +84,5 @@ tests:
8284
.]*$"
8385
extra_args:
8486
- SHIELD=pca63565
85-
- vpr_launcher_DTC_OVERLAY_FILE="../../../../nrf/boards/shields/pca63565/boards/nrf54l15dk_nrf54l15_vpr_launcher.overlay"
87+
- vpr_launcher_DTC_OVERLAY_FILE="${ZEPHYR_NRF_MODULE_DIR}/boards/shields/pca63565/boards/nrf54l15dk_nrf54l15_vpr_launcher.overlay"
8688
platform_allow: nrf54l15dk/nrf54l15/cpuflpr

samples/sensor/bme680/src/main.c

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright (c) 2018 Bosch Sensortec GmbH
3+
*
4+
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5+
*/
6+
7+
#include <zephyr/kernel.h>
8+
#include <zephyr/device.h>
9+
#include <zephyr/drivers/sensor.h>
10+
#include <stdio.h>
11+
12+
int main(void)
13+
{
14+
const struct device *const dev = DEVICE_DT_GET_ONE(bosch_bme680);
15+
struct sensor_value temp, press, humidity, gas_res;
16+
17+
if (!device_is_ready(dev)) {
18+
printk("sensor: device not ready.\n");
19+
return 0;
20+
}
21+
22+
printf("Device %p name is %s\n", dev, dev->name);
23+
24+
#ifndef CONFIG_COVERAGE
25+
while (1) {
26+
#else
27+
for (int i = 0; i < 5; i++) {
28+
#endif
29+
k_sleep(K_MSEC(3000));
30+
31+
sensor_sample_fetch(dev);
32+
sensor_channel_get(dev, SENSOR_CHAN_AMBIENT_TEMP, &temp);
33+
sensor_channel_get(dev, SENSOR_CHAN_PRESS, &press);
34+
sensor_channel_get(dev, SENSOR_CHAN_HUMIDITY, &humidity);
35+
sensor_channel_get(dev, SENSOR_CHAN_GAS_RES, &gas_res);
36+
37+
printf("T: %d.%06d; P: %d.%06d; H: %d.%06d; G: %d.%06d\n",
38+
temp.val1, temp.val2, press.val1, press.val2,
39+
humidity.val1, humidity.val2, gas_res.val1,
40+
gas_res.val2);
41+
}
42+
return 0;
43+
}

scripts/ci/tags.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -1523,6 +1523,11 @@ ci_samples_sensor_accel_polling:
15231523
- nrf/samples/sensor/accel_polling/
15241524
- zephyr/samples/sensor/accel_polling/
15251525

1526+
ci_samples_sensor_bme680:
1527+
files:
1528+
- nrf/samples/sensor/bme680/
1529+
- zephyr/samples/sensor/bme680/
1530+
15261531
ci_samples_sensor_qdec:
15271532
files:
15281533
- nrf/samples/sensor/qdec/

0 commit comments

Comments
 (0)