Skip to content

Commit 7e4de93

Browse files
heinwesselscarlescufi
authored andcommitted
tests: drivers: adc_dma: fix buffer state not being verified
Previously the contents of buffers after an ADC DMA read was simply printed, but not verified with an zassert that the value was updated. This commit updates it to be similar to the adc_api test that fills the buffer initially with a known value, which is then used to ensure the ADC DMA functioned successfully. Signed-off-by: Hein Wessels <[email protected]>
1 parent a0e6fe3 commit 7e4de93

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

tests/drivers/adc/adc_dma/src/test_adc.c

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ static void init_counter(void)
122122

123123
static const struct device *init_adc(void)
124124
{
125-
int ret;
125+
int i, ret;
126126
const struct device *const adc_dev = DEVICE_DT_GET(ADC_DEVICE_NODE);
127127

128128
zassert_true(device_is_ready(adc_dev), "ADC device is not ready");
@@ -139,7 +139,11 @@ static const struct device *init_adc(void)
139139
ret);
140140
#endif /* defined(ADC_2ND_CHANNEL_ID) */
141141

142-
(void)memset(m_sample_buffer, 0, sizeof(m_sample_buffer));
142+
for (i = 0; i < BUFFER_SIZE; ++i) {
143+
m_sample_buffer[i] = INVALID_ADC_VALUE;
144+
m_sample_buffer2[0][i] = INVALID_ADC_VALUE;
145+
m_sample_buffer2[1][i] = INVALID_ADC_VALUE;
146+
}
143147

144148
#if defined(CONFIG_ADC_ASYNC)
145149
k_poll_signal_init(&async_sig);
@@ -164,8 +168,16 @@ static void check_samples(int expected_count)
164168
if (i && i % 10 == 0) {
165169
TC_PRINT("\n");
166170
}
171+
172+
if (i < expected_count) {
173+
zassert_not_equal(INVALID_ADC_VALUE, sample_value,
174+
"[%u] should be filled", i);
175+
} else {
176+
zassert_equal(INVALID_ADC_VALUE, sample_value,
177+
"[%u] should be empty", i);
178+
}
167179
}
168-
TC_PRINT("%d sampled\n", BUFFER_SIZE);
180+
TC_PRINT("\n");
169181
}
170182

171183
static void check_samples2(int expected_count)
@@ -180,8 +192,16 @@ static void check_samples2(int expected_count)
180192
if (i && i % 10 == 0) {
181193
TC_PRINT("\n");
182194
}
195+
196+
if (i < expected_count) {
197+
zassert_not_equal(INVALID_ADC_VALUE, sample_value,
198+
"[%u] should be filled", i);
199+
} else {
200+
zassert_equal(INVALID_ADC_VALUE, sample_value,
201+
"[%u] should be empty", i);
202+
}
183203
}
184-
TC_PRINT("%d sampled\n", BUFFER_SIZE);
204+
TC_PRINT("\n");
185205
}
186206

187207
/*

0 commit comments

Comments
 (0)