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

45052 Commits

Author SHA1 Message Date
Jose Alamos
8dc5e9109e
gnrc_ipv6: fix double free when pinging TNT loopback address 2024-01-29 14:34:41 +01:00
chrysn
8f111a3c29
Merge pull request #20299 from chrysn-pull-requests/nrf52-spi-bugs-2
cpu/nrf52 i2c: Wait for complete transmission when writing NOSTOP
2024-01-27 08:56:05 +00:00
chrysn
790e808deb cpu/nrf52 i2c: Wait for complete transmission when writing NOSTOP 2024-01-27 09:41:26 +01:00
Marian Buschsieweke
ad69fc14c9
Merge pull request #20304 from benpicco/drivers-luid_get
drivers/w5100: make use of netdev_eui48_get()
2024-01-26 21:31:57 +00:00
Benjamin Valentin
a774ad935b drivers/w5100: make use of netdev_eui48_get() 2024-01-26 21:42:27 +01:00
chrysn
1073df2ce2
Merge pull request #20298 from chrysn-pull-requests/nrf52-spi-bugs
cpu/nrf52 i2c: Always buffer writes
2024-01-25 16:09:28 +00:00
chrysn
52a976e147 cpu/nrf52 i2c: Add shortcut when data is in RAM
See-Also: https://github.com/RIOT-OS/RIOT/pull/20298#discussion_r1466508505
2024-01-25 16:33:25 +01:00
chrysn
b80d1e622f cpu/nrf52 i2c: Always buffer writes
The underlying peripheral can only read from RAM. This uses the
existing infrastructure (already needed to work around the lack of a
hardware support for I2C_NOSTART) to unconditionally copy any to-be-sent
data into RAM.
2024-01-25 15:24:57 +01:00
benpicco
2d459157f1
Merge pull request #20284 from benpicco/coap_build_reply_header
nanocoap: add coap_build_reply_header()
2024-01-24 22:00:57 +00:00
Teufelchen
de89843fbc
Merge pull request #20293 from mguetschow/uzlib-warning
pkg/uzlib: warn about memory leak during compression
2024-01-24 16:48:41 +00:00
chrysn
52b0c8087b
Merge pull request #20294 from Teufelchen1/chore/rpl_format
routing/rpl: Fixing styling & format
2024-01-24 12:08:05 +00:00
Teufelchen1
1407d4b638 net/rpl: Major style fixes using uncrustify 2024-01-24 11:47:28 +01:00
Teufelchen1
8f6d5b2cb4 net/rpl: Minor style fixes 2024-01-24 11:45:32 +01:00
Mikolai Gütschow
a9e0a0daa1
pkg/uzlib: warn about memory leak during compression 2024-01-24 11:15:45 +01:00
benpicco
ded97c36f0
Merge pull request #20285 from benpicco/gnrc_loopback-linklocal
gnrc/ipv6: only send link-local loopback if it's on the same interface
2024-01-23 21:48:54 +00:00
Benjamin Valentin
c71b5ae617 nanocoap: implement coap_reply_simple() using coap_build_reply_header() 2024-01-23 19:16:59 +01:00
Benjamin Valentin
158c1b8fa8 nanocoap: add coap_build_reply_header() 2024-01-23 19:16:59 +01:00
Benjamin Valentin
a6ef93fc71 nanocoap: make use of COAP_PAYLOAD_MARKER 2024-01-23 19:16:59 +01:00
7bec6cb0b1
Merge pull request #20288 from kaspar030/fix_check_commits
ci: ensure "xxx succeeded" properly fail
2024-01-23 17:04:05 +00:00
Marian Buschsieweke
2bf461117b
Merge pull request #20291 from maribu/cpu/sam0_common/fix-doc
cpu/sam0_common/periph_gpio_ll: fix doc
2024-01-23 15:10:08 +00:00
Marian Buschsieweke
807fcd7614
cpu/sam0_common/periph_gpio_ll: fix doc
Fix some copy-paste bugs in the doc.
2024-01-23 15:51:36 +01:00
5a16b63f86 ci: ensure "tools-build succeeded" always runs 2024-01-23 14:01:02 +01:00
Benjamin Valentin
fdc722f842 net/coap: define COAP_PAYLOAD_MARKER 2024-01-23 13:56:10 +01:00
f8bbeca2c9 ci: ensure "check-commits succeeded" actually ran 2024-01-23 13:49:31 +01:00
mguetschow
50cf7b77cd
Merge pull request #20272 from Teufelchen1/chore/fmt_test_2
tests: Slightly increase coverage of fmt unittests
2024-01-23 12:06:48 +00:00
Teufelchen1
7c39b48847 tests: Slightly increase coverage of fmt unittests 2024-01-23 10:30:49 +01:00
Marian Buschsieweke
0a06b0c1d8
Merge pull request #20282 from chrysn-pull-requests/nrf52-i2c-nostop
cpu/nrf5x i2c: Set up correct interrupts after NOSTOP transmissions
2024-01-23 09:05:35 +00:00
Marian Buschsieweke
e5cb676dfe
Merge pull request #20286 from chrysn-pull-requests/nrf52dk-arduino
boards/nrf52dk: Minimal Arduino pinout support
2024-01-23 05:27:23 +00:00
chrysn
7452a61e64 fixup! boards/nrf52dk: Minimal Arduino pinout support 2024-01-23 01:12:06 +01:00
chrysn
b0a46c2eba boards/nrf52dk arduino: Declare SPI (side SPI) support 2024-01-23 00:39:03 +01:00
chrysn
ecfa2f7573 boards/nrf52dk: Minimal Arduino pinout support 2024-01-22 23:44:16 +01:00
chrysn
fce82dec6e cpu/nrf5x i2c: Forbid receive NOSTOP, document rationale 2024-01-22 23:29:24 +01:00
Benjamin Valentin
616a5d69f6 gnrc/ipv6: only send link-local loopback if it's on the same interface 2024-01-22 20:03:41 +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
407deabc0f
boards/olimex-msp430-h1611: uart_stdio @ 9600 Bd 2024-01-22 16:59:23 +01: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
1484d305bf
cpu/sam0_common: implement periph_gpio_ll_irq
Co-authored-by: benpicco <benpicco@googlemail.com>
2024-01-22 16:28:30 +01:00
Marian Buschsieweke
855756524f
cpu/sam0_common: Implement periph_gpio_ll
Co-authored-by: benpicco <benpicco@googlemail.com>
2024-01-22 16:28:16 +01:00
benpicco
9949237e5f
Merge pull request #20283 from maribu/drivers/periph/gpio_ll/doc
drivers/periph_gpio_ll: Improve documentation
2024-01-22 12:35:23 +00:00
benpicco
a384707d6d
Merge pull request #20125 from benpicco/examples/dtls-sock-cleanup
examples/dtls-sock: make use of helper functions
2024-01-22 10:51:45 +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
chrysn
b91161dfce cpu/nrf5x i2c: Set up correct interrupts after NOSTOP transmissions 2024-01-22 02:03:46 +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
3d1f651f7c
Merge pull request #20236 from maribu/periph/gpio_ll/smaller_type
drivers/periph/gpio_ll: shrink gpio_conf_t
2024-01-21 08:31:27 +00: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