From 557b5bda9a043c1f9f01c877fe123808a90a8f88 Mon Sep 17 00:00:00 2001 From: Bartlomiej Buczek Date: Fri, 19 Jul 2024 15:34:42 +0200 Subject: [PATCH] tests: drivers: adc_accuracy: parametrize expected accuracy On nrf boards expected accuracy from ref voltage is 64 instead of 32. Signed-off-by: Bartlomiej Buczek --- tests/drivers/adc/adc_accuracy_test/boards/ek_ra8m1.overlay | 1 + tests/drivers/adc/adc_accuracy_test/boards/frdm_kl25z.overlay | 1 + .../drivers/adc/adc_accuracy_test/boards/frdm_mcxc242.overlay | 1 + .../adc/adc_accuracy_test/boards/nrf52840dk_nrf52840.overlay | 1 + .../boards/nrf54h20dk_nrf54h20_cpuapp.overlay | 1 + .../boards/nrf54l15dk_nrf54l15_cpuapp.overlay | 1 + tests/drivers/adc/adc_accuracy_test/src/ref_volt.c | 3 ++- 7 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/drivers/adc/adc_accuracy_test/boards/ek_ra8m1.overlay b/tests/drivers/adc/adc_accuracy_test/boards/ek_ra8m1.overlay index e3aced0a41b8ae..83209ee3b9ecca 100644 --- a/tests/drivers/adc/adc_accuracy_test/boards/ek_ra8m1.overlay +++ b/tests/drivers/adc/adc_accuracy_test/boards/ek_ra8m1.overlay @@ -8,6 +8,7 @@ zephyr,user { io-channels = <&adc0 0>; reference_mv = <3300>; + expected_accuracy = <32>; }; }; diff --git a/tests/drivers/adc/adc_accuracy_test/boards/frdm_kl25z.overlay b/tests/drivers/adc/adc_accuracy_test/boards/frdm_kl25z.overlay index 148ecda4535b2c..3be90387270f88 100644 --- a/tests/drivers/adc/adc_accuracy_test/boards/frdm_kl25z.overlay +++ b/tests/drivers/adc/adc_accuracy_test/boards/frdm_kl25z.overlay @@ -8,6 +8,7 @@ zephyr,user { io-channels = <&adc0 12>; reference_mv = <1100>; + expected_accuracy = <32>; }; }; diff --git a/tests/drivers/adc/adc_accuracy_test/boards/frdm_mcxc242.overlay b/tests/drivers/adc/adc_accuracy_test/boards/frdm_mcxc242.overlay index 7d0c761c9443d3..1397a540c928b9 100644 --- a/tests/drivers/adc/adc_accuracy_test/boards/frdm_mcxc242.overlay +++ b/tests/drivers/adc/adc_accuracy_test/boards/frdm_mcxc242.overlay @@ -10,6 +10,7 @@ zephyr,user { io-channels = <&adc0 1>; reference_mv = <1650>; + expected_accuracy = <32>; }; }; diff --git a/tests/drivers/adc/adc_accuracy_test/boards/nrf52840dk_nrf52840.overlay b/tests/drivers/adc/adc_accuracy_test/boards/nrf52840dk_nrf52840.overlay index 85a8c6880c93c2..08aa282bc6039d 100644 --- a/tests/drivers/adc/adc_accuracy_test/boards/nrf52840dk_nrf52840.overlay +++ b/tests/drivers/adc/adc_accuracy_test/boards/nrf52840dk_nrf52840.overlay @@ -9,6 +9,7 @@ zephyr,user { io-channels = <&adc 0>; reference_mv = <3000>; + expected_accuracy = <32>; }; }; diff --git a/tests/drivers/adc/adc_accuracy_test/boards/nrf54h20dk_nrf54h20_cpuapp.overlay b/tests/drivers/adc/adc_accuracy_test/boards/nrf54h20dk_nrf54h20_cpuapp.overlay index 20bd3110affeef..f6ee92720ca228 100644 --- a/tests/drivers/adc/adc_accuracy_test/boards/nrf54h20dk_nrf54h20_cpuapp.overlay +++ b/tests/drivers/adc/adc_accuracy_test/boards/nrf54h20dk_nrf54h20_cpuapp.overlay @@ -8,6 +8,7 @@ zephyr,user { io-channels = <&adc 0>; reference_mv = <1800>; + expected_accuracy = <64>; }; }; diff --git a/tests/drivers/adc/adc_accuracy_test/boards/nrf54l15dk_nrf54l15_cpuapp.overlay b/tests/drivers/adc/adc_accuracy_test/boards/nrf54l15dk_nrf54l15_cpuapp.overlay index 950c52047f6a0d..53facf3dc313f6 100644 --- a/tests/drivers/adc/adc_accuracy_test/boards/nrf54l15dk_nrf54l15_cpuapp.overlay +++ b/tests/drivers/adc/adc_accuracy_test/boards/nrf54l15dk_nrf54l15_cpuapp.overlay @@ -8,6 +8,7 @@ zephyr,user { io-channels = <&adc 0>; reference_mv = <1800>; + expected_accuracy = <64>; }; }; diff --git a/tests/drivers/adc/adc_accuracy_test/src/ref_volt.c b/tests/drivers/adc/adc_accuracy_test/src/ref_volt.c index 1c4806b249e411..66eaddd5b036da 100644 --- a/tests/drivers/adc/adc_accuracy_test/src/ref_volt.c +++ b/tests/drivers/adc/adc_accuracy_test/src/ref_volt.c @@ -8,6 +8,7 @@ #include #define REF_V DT_PROP(DT_PATH(zephyr_user), reference_mv) +#define EXP_ACC DT_PROP(DT_PATH(zephyr_user), expected_accuracy) extern const struct adc_dt_spec *get_adc_channel(void); @@ -31,7 +32,7 @@ static int test_ref_to_adc(void) ret = adc_raw_to_millivolts_dt(adc_channel, &sample_buffer); zassert_equal(ret, 0, "adc_raw_to_millivolts_dt() failed with code %d", ret); - zassert_within(sample_buffer, REF_V, 32, + zassert_within(sample_buffer, REF_V, EXP_ACC, "Value %d mV read from ADC does not match expected range (%d mV).", sample_buffer, REF_V);