From e7ea668a7f5e5be3c632b192d122028878db580d Mon Sep 17 00:00:00 2001 From: Marian Buschsieweke Date: Thu, 21 Nov 2024 14:01:01 +0100 Subject: [PATCH] tests/periph/selftest_shield: release UART after test Calling `uart_poweroff()` when done with the UART test allows sharing the underlying hardware e.g. to provide other peripheral interfaces. One example of this would be the SERCOM3 on the Adafruit Metro M4 Express that is used to provide UART on D1/D0 and SPI on D11/D12/D13. --- tests/periph/selftest_shield/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/periph/selftest_shield/main.c b/tests/periph/selftest_shield/main.c index ad4316c95f..9ab2f7c4a5 100644 --- a/tests/periph/selftest_shield/main.c +++ b/tests/periph/selftest_shield/main.c @@ -790,6 +790,9 @@ static bool periph_uart_rxtx_test(uint32_t symbolrate, uint32_t timer_freq) failed |= TEST(memcmp(testdata, serial_buf.data, sizeof(serial_buf.data)) == 0); failed |= TEST(serial_buf.pos == sizeof(testdata)); + /* disable UART again, in case it is a shared peripheral */ + uart_poweroff(UART_TEST_DEV); + return failed; }