Skip to content

Commit c46e30d

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 9eec8ac commit c46e30d

File tree

7 files changed

+75
-8
lines changed

7 files changed

+75
-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

+8-7
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ common:
66
- drivers
77
- i2c
88
- sensors
9+
- ci_samples_sensor_bme680
910
harness: console
1011

1112
tests:
12-
sample.sensor.bme680.nrf54h:
13+
nrf.extended.sample.sensor.bme680.nrf54h:
1314
filter: not CONFIG_COVERAGE
1415
harness_config:
1516
fixture: pca63566
@@ -21,7 +22,7 @@ tests:
2122
- SHIELD=pca63566
2223
platform_allow: nrf54h20dk/nrf54h20/cpuapp
2324

24-
sample.sensor.bme680.nrf54h_cpuppr:
25+
nrf.extended.sample.sensor.bme680.nrf54h_cpuppr:
2526
filter: not CONFIG_COVERAGE
2627
sysbuild: true
2728
harness_config:
@@ -35,7 +36,7 @@ tests:
3536
- vpr_launcher_SHIELD=pca63566_fwd
3637
platform_allow: nrf54h20dk/nrf54h20/cpuppr
3738

38-
sample.sensor.bme680.nrf54h_coverage:
39+
nrf.extended.sample.sensor.bme680.nrf54h_coverage:
3940
filter: CONFIG_COVERAGE
4041
harness_config:
4142
fixture: pca63566
@@ -47,7 +48,7 @@ tests:
4748
- SHIELD=pca63566;coverage_support
4849
platform_allow: nrf54h20dk/nrf54h20/cpuapp
4950

50-
sample.sensor.bme680.nrf54l:
51+
nrf.extended.sample.sensor.bme680.nrf54l:
5152
filter: not CONFIG_COVERAGE
5253
harness_config:
5354
fixture: pca63565
@@ -59,7 +60,7 @@ tests:
5960
- SHIELD=pca63565
6061
platform_allow: nrf54l15dk/nrf54l15/cpuapp
6162

62-
sample.sensor.bme680.nrf54l_coverage:
63+
nrf.extended.sample.sensor.bme680.nrf54l_coverage:
6364
filter: CONFIG_COVERAGE
6465
harness_config:
6566
fixture: pca63565
@@ -71,7 +72,7 @@ tests:
7172
- SHIELD=pca63565;coverage_support
7273
platform_allow: nrf54l15dk/nrf54l15/cpuapp
7374

74-
sample.sensor.bme680.nrf54l_cpuflpr:
75+
nrf.extended.sample.sensor.bme680.nrf54l_cpuflpr:
7576
filter: not CONFIG_COVERAGE
7677
sysbuild: true
7778
harness_config:
@@ -82,5 +83,5 @@ tests:
8283
.]*$"
8384
extra_args:
8485
- SHIELD=pca63565
85-
- vpr_launcher_DTC_OVERLAY_FILE="../../../../nrf/boards/shields/pca63565/boards/nrf54l15dk_nrf54l15_vpr_launcher.overlay"
86+
- vpr_launcher_DTC_OVERLAY_FILE="${ZEPHYR_NRF_MODULE_DIR}/boards/shields/pca63565/boards/nrf54l15dk_nrf54l15_vpr_launcher.overlay"
8687
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)