1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

6830 Commits

Author SHA1 Message Date
Marian Buschsieweke
447493e719
tests/periph/gpio_ll: test for features matching
Test that features implemented match the features claimed to be
supported.
2024-01-23 15:03:34 +01:00
Marian Buschsieweke
a1bb536dbd
tests/periph/gpio_ll: structure code a bit
When it is difficult to navigate a function, it is overdue to split
it up :D

Also, no need to test for feature `gpio_ll_irq` in `test_irq()` *and*
before calling `test_irq()`.
2024-01-23 15:03:34 +01:00
Marian Buschsieweke
63ec7fc7b5
Merge pull request #19835 from maribu/msp430
cpu/msp430: rework MSP430 x1xx periph drivers
2024-01-22 18:41:23 +00:00
Marian Buschsieweke
675dcc381c
cpu/msp430: rework MSP430 x1xx periph drivers
- Move common code for USART (shared SPI / UART peripheral) to its
  own file and allow sharing the USART peripheral to provide both
  UART and SPI in round-robin fashion.
- Configure both UART and SPI bus via a `struct` in the board's
  `periph_conf.h`
    - this allows allocating the two UARTs as needed by the use case
    - since both USARTs signals have a fixed connection to a single
      GPIO, most configuration is moved to the CPU
    - the board now only needs to decide which bus is provided by
      which USART

Note: Sharing an USART used as UART requires cooperation from the app:
- If the UART is used in TX-only mode (no RX callback), the driver
  will release the USART while not sending
- If the UART is used to also receive, the application needs to power
  the UART down while not expecting something to send. An
  `spi_acquire()` will be blocked while the UART is powered up.
2024-01-22 16:59:23 +01:00
Marian Buschsieweke
3159578cbe
Merge pull request #20189 from maribu/cpu/sam0_common/periph_gpio_ll
cpu/sam0_common: implement periph_gpio_ll and periph_gpio_ll_irq
2024-01-22 15:39:26 +00:00
Marian Buschsieweke
00cb9668ae
drivers/periph_gpio_ll: Improve documentation
The documentation on the state `GPIO_DISCONNECT` was a bit vague. The
API doc said it should disconnect the GPIO from all peripherals, the
test also tested them for being electrically disconnected.

The documentation in both the test and the API is extended to point out
that a GPIO indeed SHOULD be in high impedance state, but that user
MUST NOT expect that this requested is honored by every implementation
and for every GPIO pin.

In the test it is also pointed out that failing the test for a GPIO
in the `GPIO_DISCONNECT` state being electrically disconnected is for
some pins expected, and that the test should be just run again with
different GPIOs. The test intentionally tests for a feature not provided
by every GPIO pin rather than warning on a failure: The effort to just
flash and run the test again with different GPIOs is relatively low, but
it does confirm correct behavior of the API.
2024-01-22 10:28:35 +01:00
Marian Buschsieweke
891c627c48
tests/periph/gpio_ll: make test more robust
When using level triggered IRQs, a new IRQ flag may already have been
set while the IRQ callback is executed. Hence, we cannot just toggle
the output, but rather should drive it low/high for a level trigger on
high/low.

Also test `gpio_ll_query_conf()` for the disconnected state as well.
2024-01-21 18:27:35 +01:00
Marian Buschsieweke
922276296e
drivers/periph/gpio_ll: pass gpio_conf_t by value
Now that `gpio_conf_t` is on all implemented platforms no larger than
a register, we can more efficiently pass it by value rather than via
pointer.
2024-01-21 09:19:08 +01:00
Marian Buschsieweke
718f277642
tests/periph/gpio_ll: optimize RAM usage on AVR 2024-01-21 08:38:48 +01:00
Marian Buschsieweke
84800fdb5d
tests/periph/gpio_ll: Use better default pin config
The default pin config is only a place holder anyway. But if it is
invalid at least on AVR most of the firmware is considered unreachable.
This updates the default GPIO config to something that should look
plausible to the compiler for all MCUs supporting GPIO LL, so that
ROM and RAM size in the CI start making sense.
2024-01-21 08:38:47 +01:00
Marian Buschsieweke
2ee949e676
tests/periph/gpio_ll: fix output on LOW_ROM_BOARDS
Printing the newline after the state was printed is not optional.

This also moves the call to `gpio_ll_print_conf()` and `puts("")` to
a static function to safe enough ROM so that this still can be flashed
on `nucleo-l011k4`.
2024-01-21 08:38:47 +01:00
Marian Buschsieweke
2a00ec13e5
drivers/periph/gpio_ll: shrink gpio_conf_t
This commit optimizes the `gpio_conf_t` type in the following
regards:

- The "base" `gpio_conf_t` is stripped from members that only some
  platforms support, e.g. drive strength, slew rate, and disabling of
  the Schmitt Trigger are no longer universally available but
  platform-specific extensions
- The `gpio_conf_t` is now crammed into a bit-field that is 8 bit or
  16 bit wide. This allows for storing lots of them e.g. in
  `driver_foo_params_t` or `uart_conf_t` etc.
- A `union` of the `struct` with bit-field members and a `bits` is used
  to allow accessing all bits in a simple C statement and to ensure
  alignment for efficient handling of the type

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2024-01-21 08:38:40 +01:00
Marian Buschsieweke
504c169346
Merge pull request #20270 from maribu/boards/gd32vf103c-start
boards/gd32vf103c-start: new board
2024-01-20 16:11:31 +00:00
Marian Buschsieweke
66abbd22d6
examples,tests: add gd32vr103c-start to Makefile.ci 2024-01-20 17:00:04 +01:00
benpicco
8dbe2ef7e4
Merge pull request #20273 from benpicco/coap_find_uri_query
nanocoap: implement coap_find_uri_query()
2024-01-20 11:27:15 +00:00
Benjamin Valentin
f9d5328242 tests: don't explicitly set RIOT_TERMINAL=native 2024-01-19 18:11:09 +01:00
Benjamin Valentin
4c7fc012c5 tests/unittests: nanocoap: add test for coap_find_uri_query() 2024-01-19 10:53:03 +01:00
Marian Buschsieweke
f9aab53e16
tests/periph/uart_locate_pins: new test/utility app
This application uses `soft_uart` to bit-bang the name of a number of
configured GPIO pins via said pins at 9600 Bd. This way attaching an
USB UART bridge to one pin at a time easily reveals which MCU GPIO
pin a given pin on a board corresponds to. This is useful when no
schematic and no silkscreen labeling is available, or when the
information is misleading or outright incorrect (looking at the
E180-ZG120B-TB).
2024-01-18 10:42:13 +01:00
Frederik Haxel
64c551a714 unittests/tests-fib: Fix array size types
Reverts the type changes for the array size variables, as `size_t` is needed
in the function calls `fib_get_next_hop` and `fib_get_destination_set`.

Fixes 475a55136a
2024-01-15 11:26:36 +01:00
Frederik Haxel
a6a6e31699 tests/unittests/tests-uri_parser: Added PRIuSIZE 2024-01-12 17:17:33 +01:00
benpicco
714958ad3c
Merge pull request #20241 from benpicco/busy_wait
sys/busy_wait: add busy wait helper
2024-01-11 12:19:31 +00:00
Benjamin Valentin
9cf1c47e86 tests/sys/busy_wait: add test for busy wait 2024-01-11 13:02:56 +01:00
benpicco
bbf5e23cf9
Merge pull request #19786 from gschorcht/cpu/esp32/periph/sdmmc
cpu/esp32/periph: add low-level SDMMC peripheral driver for ESP32 and ESP32-S3
2024-01-07 16:51:16 +00:00
Gunar Schorcht
60ab86b273 tests/pkg/fatfs_vfs: add SDMMC support 2024-01-07 17:02:10 +01:00
Kevin "Tristate Tom" Weiss
32af5758ee
Merge pull request #20229 from benpicco/tests/build_system-drop_kconfig
tests/build_system: drop Kconfig tests
2024-01-05 08:03:21 +00:00
Gunar Schorcht
00c9bb73d8 tests/pkg/fatfs: add SDMMC support 2024-01-05 07:22:27 +01:00
Marian Buschsieweke
866f2a00c0
Merge pull request #20226 from maribu/boards/generic-cc2538-cc2592-dk
boards/generic-cc2538-cc2592-dk: add board support
2024-01-05 00:35:11 +00:00
Marian Buschsieweke
947d05ed77
boards/generic-cc2538-cc2592-dk: add board support
The CC2538-CC2592-DK is one of the few readily available and
affordable boards featuring a legacy CC2538 MCU. This should make
maintaining RIOT support for that legacy MCU more affordable :-)
2024-01-05 00:00:48 +01:00
Benjamin Valentin
bca6d2721b tests/build_system/kconfig_features: drop test
We are removing Kconfig dependency modeling, so the test is obsolete.
2024-01-04 15:37:27 +01:00
Marian Buschsieweke
f860d96a25
Merge pull request #19891 from chrysn-pull-requests/ws2181x_timer
drivers/ws281x: Add gpio_ll and timer based driver
2024-01-03 09:22:26 +00:00
benpicco
59eb017448
Merge pull request #20198 from Teufelchen1/chore/fmt_test
tests: Slightly increase coverage of fmt unittests
2024-01-02 14:02:59 +00:00
Benjamin Valentin
d8cc2ac24f tests: don't manually select native term 2023-12-23 20:27:47 +01:00
Benjamin Valentin
90dad75751 tests/build_system/test_tools: use native terminal 2023-12-22 18:01:21 +01:00
Oleg Hahm
c0e71b0592
Merge pull request #20172 from OlegHahm/pr/pyterm_native_pipe
pyterm: add native support
2023-12-21 23:08:22 +00:00
Frederik Haxel
475a55136a unittests/tests-fib: test cleanup
- Added helper function to avoid 'format-truncation' warning
- Changed all `size_t` types to `unsigned`
- Changed function names from `_FIB_` to `_fib_`
2023-12-21 12:06:51 +01:00
Frederik Haxel
fa0cf05d0a tests: Use size_t print format specifier
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-12-21 12:02:37 +01:00
Teufelchen1
4a62b9ff31 tests: Slightly increase coverage of fmt unittests 2023-12-19 18:11:28 +01:00
benpicco
30f89714f2
Merge pull request #20195 from benpicco/coap_get_uri_query-defuse
nanocoap: defuse footgun in coap_get_uri_query()
2023-12-19 13:30:14 +00:00
Benjamin Valentin
d6ca03aaa9 tests/unittests: coap_get_uri_query() -> coap_get_uri_query_string() 2023-12-19 14:02:28 +01:00
chrysn
d86405cef4
drivers/ws281x: Add timer and gpio_ll based driver 2023-12-19 11:13:43 +01:00
Oleg Hahm
273486be78 examples: tests: unify native arguments for ZEP 2023-12-18 20:00:44 +01:00
Kevin "Tristate Tom" Weiss
5ba18df6fb
Merge pull request #20129 from bergzand/pr/mjson/initial
mjson: Initial include of package
2023-12-18 13:07:41 +00:00
MrKevinWeiss
18c1548077
tests/pkg/mjson: Add BOARD_INSUFFICIENT_MEMORY list 2023-12-18 13:56:25 +01:00
Oleg Hahm
99ff9bad03 examples: tests: update native TERMFLAGS
Updating the Makefiles for example and test applications to set the
TERMFLAGS correctly for native.
2023-12-18 13:44:20 +01:00
Oleg Hahm
2b779fc5a9 native: only set TERMFLAGS for pyterm
If TERMPROG is unset the default is pyterm. If TERMPROG is pyterm we
need to set the native flag.
2023-12-18 13:44:20 +01:00
Marian Buschsieweke
59573a8678
Merge pull request #20178 from Einhornhool/pr/fix-psa-build-config-tests
tests/sys/psa_crypto*: Fix failing tests
2023-12-16 22:27:55 +00:00
Lena Boeckmann
359cacd62c
tests/sys/psa_crypto_*: increase stack size for sw ecc tests 2023-12-16 22:08:16 +01:00
Lena Boeckmann
38db021456 tests/sys/psa_crypto_se*: remove test folders from se tests 2023-12-14 13:13:33 +01:00
benpicco
690efb2655
Merge pull request #20128 from benpicco/tests/periph/uart-nl
tests/periph/uart: allow to set line ending
2023-12-13 22:11:54 +00:00
benpicco
6eac1e1761
Merge pull request #15380 from benpicco/mtd_drop_write
mtd/*: drop .write() if .write_page() is implemented
2023-12-13 20:35:53 +00:00