1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-30 08:51:19 +01:00

48348 Commits

Author SHA1 Message Date
crasbe
7c44b06e5c
Merge pull request #21652 from benpicco/nanocoap_server/buf
nanocoap_server: use zero-copy network buffer for parsing request
2025-09-04 14:43:05 +00:00
fabian18
3eee3687d8
Merge pull request #21684 from fabian18/pr/sx126x_dio2_dio3
drivers/sx126x: add support for Dio2 and Dio3
2025-08-27 16:04:09 +00:00
Fabian Hüßler
e15a65e3a7 drivers/sx126x: add support for Dio2 and Dio3 2025-08-27 13:44:43 +02:00
Marian Buschsieweke
34c90840f3
Merge pull request #21677 from mguetschow/tests-printf-p
tests: accept %p printing in uppercase and without leading 0x
2025-08-25 09:47:10 +00:00
Mikolai Gütschow
4767b98c8b
tests/core/msg_queue_print: accept (nil) instead of 0x0+ for all boards 2025-08-25 10:56:41 +02:00
crasbe
480ed832cb
Merge pull request #21683 from aabadie/emlearn_cleanup
tests/pkg/emlearn: fix wrong model header file name in README
2025-08-25 08:41:22 +00:00
Mikolai Gütschow
ede39c6c45
tests: accept %p printing in uppercase and without leading 0x
the output of the specifier %p is implementation defined, and mpaland-printf gives something different than newlib
2025-08-25 10:40:20 +02:00
Alexandre Abadie
fb61483be7
tests/pkg/emlearn: generate_model.py is no longer called automatically 2025-08-25 10:34:18 +02:00
Alexandre Abadie
965c8387e3
tests/pkg/emlearn: fix wrong model header file name in README 2025-08-25 10:28:20 +02:00
Marian Buschsieweke
e49b7fd3a4
Merge pull request #21678 from maribu/pkg/mpaland-printf/format-pointer-like-glibc
pkg/mpaland-printf: format points like glibc
2025-08-22 13:07:01 +00:00
Marian Buschsieweke
9cb6c2e3e3
Merge pull request #21676 from mguetschow/riotboot-builddir
makefiles/boot/riotboot: pass BUILD_DIR to recursive Make call
2025-08-22 12:40:24 +00:00
Mikolai Gütschow
625a8a8c89
makefiles/boot/riotboot: pass BUILD_DIR to recursive Make call 2025-08-22 11:13:04 +02:00
Marian Buschsieweke
9673e36a76
pkg/mpaland-printf: format points like glibc
newlib and picolibc already implicitly add the `0x` prefix for `%p` just
as glibc does, and some of our tests scripts depend on this.

(And subjectively, this looks better.)

This adds https://github.com/mpaland/printf/pull/90 on top of our
patches.
2025-08-22 10:53:14 +02:00
mguetschow
95952acb01
Merge pull request #21645 from ML-PA-Consulting-GmbH/dl/riot/20250805__info-build-json
makefiles/info.inc.mk: improvements to json build output
2025-08-22 08:00:47 +00:00
Marian Buschsieweke
c0cc617c7f
Merge pull request #21633 from crasbe/pr/sntp
sys/net/sntp: migrate from xtimer to ztimer
2025-08-21 16:23:56 +00:00
crasbe
acf10d91b9 sys/net/ntp_packet: add ref to SNTP, fix time 2025-08-21 14:27:28 +02:00
crasbe
8ab9956ae5 sys/net/sntp: migrate from xtimer to ztimer 2025-08-21 14:27:28 +02:00
Marian Buschsieweke
e26321e913
Merge pull request #21438 from maribu/sys/newlib/fix-stdio
build system: use thread-safe stdio
2025-08-21 11:07:34 +00:00
Marian Buschsieweke
4a84f6f58e
tests/sys/snprintf: use printf_long_long
This is required to support printing 64 bit numbers, as is done in the
test.

In addition that 64 bit formatting test is feature gated, so that users
can simply comment out the `USEMODULE += printf_long_long` to fit tiny
boards.

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
2025-08-21 12:08:10 +02:00
Marian Buschsieweke
3415656a4a
sys/newlib_syscalls_default: wrap newlib's assert implementation
This avoids inconsistent output when external code gets linked in that
directly links against newlib's assert implementation (e.g. binary blobs
or packages that do not add `core/lib/include` to the include paths).

This also greatly benefits wrapping printf, as newlib's `__assert_func()`
directly links to internal printf functions of newlib.

Co-authored-by: crasbe <crasbe@gmail.com>
2025-08-21 12:08:10 +02:00
Marian Buschsieweke
64c76246c5
core/assert: always declare _assert_panic() / _assert_failure()
That way users can rely on elimation of dead code from the optimizer
instead of having to use preprocessor conditionals when feature-gating
assert implementations behind `!NDEBUG`.

Co-authored-by: benpicco <benpicco@googlemail.com>
Co-authored-by: crasbe <crasbe@gmail.com>
Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
2025-08-21 12:08:09 +02:00
Marian Buschsieweke
674dede8ae
sys/newlib: drop workaround for stdio
This drops a workaround that initialized newlib's reentrancy structure
on boot to reduce the chances of crashes when using the non-thread-safe
(unless reentrancy hooks are provided) stdio implementation of newlib.

Now that the newlib stdio implementation is only ever used if it is
thread-safe, we no longer need a workaround that reduces the chance
of crashes on concurrent use of stdio.
2025-08-21 12:06:10 +02:00
Marian Buschsieweke
2623221854
build system: use thread-safe stdio
This makes use of the new bug modeling to declare all platforms that
can use newlib and have no reentrancy hooks as affected by the
non-thread-safe stdio bug. (Which is every platform but ESP* and AVR,
the former because the reentrancy hooks are provided, the latter because
we do not and never will support newlib on them.)

Building on that, the mpaland-printf package is used when newlib is
used and the bug is present. This way we can rely on the stdio being
thread-safe on every platform and not causing random crashes at run
time.

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
2025-08-21 12:06:10 +02:00
Marian Buschsieweke
2ed57cb154
build system: introduce bug_% feature category
This introduces a new feature category to declare which bugs are present
in a given build that we cannot fix in RIOT, but need to work around.
These bugs may be silicon bugs, software bugs in ROM, software bugs in
binary blobs needed for a platform, or bugs in the toolchain.

These features behave the same way as `arch_%` features: Every provided
bug is always used, so that we can inspect `FEATURES_USED` to check
which bugs need to be worked around.

Co-authored-by: crasbe <crasbe@gmail.com>
2025-08-21 12:06:10 +02:00
Marian Buschsieweke
f69b6667b0
pkg/mpaland-printf: fix dependencies
- `arch_64bit` depends on long long support (rather than just enabling
  it by default), as otherwise `%p` will not work correctly
  ==> add hard dependency
- On 32 bit platforms support of printing long long is not almost free
  ==> do not enable long long on `arch_32bit` by default
- The ESP SDK contains binary blobs that already link against newlib and
  mpaland-printf is not ABI compatible with newlib's stdio, it is only
  API compatible.
  ==> mark mpaland-printf as incompatible to ESP MCUs

Co-authored-by: crasbe <crasbe@gmail.com>
2025-08-21 12:06:03 +02:00
crasbe
a76186eec7
Merge pull request #21672 from AnnsAnns/riscv_asm
arch/riscv: fix incorrect ASFLAGS
2025-08-20 19:48:45 +00:00
crasbe
0745ea5e05
Merge pull request #21673 from AnnsAnns/guide_fix_timers
guides/c_tutorials/timers: Fix outdated intro
2025-08-20 18:40:04 +00:00
AnnsAnn
f7cd047123 guides/c_tutorials/timers: Fix outdated intro 2025-08-20 17:17:39 +02:00
AnnsAnn
abc02fafd0 arch/riscv: fix incorrect ASFLAGS 2025-08-20 15:25:13 +02:00
crasbe
9e3906ceac
Merge pull request #21632 from krzysztof-cabaj/boards_change_to_SPDX_part4
boards: move licenses from headers to SPDX format (part4)
2025-08-20 11:55:41 +00:00
krzysztof-cabaj
222175d193 boards: move licenses to SPDX for boards which name's start from t-z 2025-08-20 13:41:44 +02:00
krzysztof-cabaj
4223e11b3c boards: move licenses to SPDX for boards which name's start from q-r 2025-08-20 13:37:06 +02:00
krzysztof-cabaj
32f1562643 boards: move licenses to SPDX for boards which name's start with s 2025-08-20 13:36:40 +02:00
Gunar Schorcht
216ef04ae7
Merge pull request #21665 from gschorcht/boards/common/nucleo144/fix_complete_pin_config
boards/common/nucleo144: fix and complete Arduino configuration
2025-08-19 18:32:40 +00:00
benpicco
0a8b9d0948
Merge pull request #21668 from benpicco/makefiles/CI-RIOT_VERSION_CODE
build-system: don't set `RIOT_VERSION_CODE` to dummy value in CI
2025-08-19 14:10:45 +00:00
Gunar Schorcht
b889024990 boards/common/nucleo144: complete Arduino config for I2C, SPI and UART 2025-08-19 15:40:40 +02:00
Gunar Schorcht
04a0aba28a boards/common/nucleo144: fix Arduino A0...A5 config for L5, U5 boards
Nucleo144 boards for L5 and U5 have a completely different analog pin configuration. It's a very small change, but due to style changes it seems like a big change. In fact, the configuration has been changed just by adding an #ifdef ... #else ... #end and the six analog pins for L5 and U5 boards.
2025-08-19 15:40:40 +02:00
Joshua DeWeese
a23e100c42
Merge pull request #21669 from maribu/tests/sys/libc_newlib/drop
tests/sys/libc_newlib: drop test
2025-08-19 13:29:56 +00:00
Benjamin Valentin
6aa434ef13 build-system: don't set RIOT_VERSION_CODE to dummy value in CI 2025-08-19 15:09:31 +02:00
Marian Buschsieweke
7410255cfc
tests/sys/libc_newlib: drop test
This tests makes little sense to have for a number of reasons:

1. One should not use `iprintf()` for a number of reasons:
    1. It is non-standard and using it over `printf()` makes the code
       less portable (e.g. it cannot be used on AVR)
    2. The idea of adding a leaner variant of `printf()` in addition to
       the larger one is bogus, as apps will end up using both resulting
       in a *larger* firmware instead of a smaller
    3. RIOT's build system already has the `printf_float` module to
       control whether formatting of floating point numbers should be
       suppered. This mechanism will actually result in smaller builds,
       if floating point support is not needed, as it prevents two
       variants of printf to be linked in.
2. The test checks some implementation details (e.g. whether the
   address of two functions is identical), rather than correct behavior
   of the implementation. This is completely bogus.
2025-08-19 14:20:03 +02:00
Gunar Schorcht
8f903b3291 boards/common/nucleo144: fix Arduino D14/D15 (I2C) pin config
According to user manuals the pin configuration for Arduino pins D14/D15 is PB9/PB8. The configuration was mixed up. Furthermore, I2C_DEV(1) is configured correclty with SDA=PB9 and SCL=PB8 that have to be mapped to Arduino pins D14=SDA and D15=SCL, respectively, to be compatibly with Arduino shields.
2025-08-19 13:23:23 +02:00
Gunar Schorcht
6bc840e515 boards/common/nucleo144: fix Arduino D0/D1 config for L4, L5, U5 family
On Nucleo144 boards for L4, L5, U5 Arduino connector pins D0/D1 have a different configuration. According to the User manuals for
- [L4 boards]( https://www.st.com/resource/en/user_manual/um2179-stm32-nucleo144-boards-mb1312-stmicroelectronics.pdf), D0/D1 are GPIOs PD9/PD8
- [L5 boards](https://www.st.com/resource/en/user_manual/um2581-stm32l5-nucleo144-board-mb1361-stmicroelectronics.pdf), D0/D1 are GPIOs PD9/PD8
- [U5 boards](https://www.st.com/resource/en/user_manual/um2861-stm32u5-nucleo144-board-mb1549-stmicroelectronics.pdf), D0/D1 are GPIOs PG8/PG7
2025-08-19 13:23:23 +02:00
crasbe
543714fb75
Merge pull request #21662 from AnnsAnns/picotool_bump
picotool/picosdk: Bump version
2025-08-15 10:36:00 +00:00
AnnsAnn
5056aa2df5 pkg/picosdk: bump version 2025-08-15 12:15:44 +02:00
AnnsAnn
5917bd6f39 tools/picotool: bump version 2025-08-15 12:15:29 +02:00
crasbe
4d4888984c
Merge pull request #21661 from mguetschow/guides-typo
guides/index: fix minor typo
2025-08-14 16:41:15 +00:00
crasbe
91d63add43
Merge pull request #21660 from mguetschow/guides-psutil
guides/installing: add psutil requirement for pyterm
2025-08-14 16:39:40 +00:00
Mikolai Gütschow
a6f28d17a2
guides/index: fix minor typo 2025-08-14 15:55:43 +02:00
Mikolai Gütschow
8e0619f4f3
guides/installing: add psutil requirement for pyterm 2025-08-14 15:46:57 +02:00
crasbe
c6e80f4405
Merge pull request #21658 from fabian18/pr/suit_class_id
export SUIT_CLASS_ID from suit.inc.mk
2025-08-14 12:21:27 +00:00