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

45128 Commits

Author SHA1 Message Date
Marian Buschsieweke
3b3da09ec6
Merge pull request #20313 from maribu/sys/byteorder/cleanup-implementation
sys/byteorder: clean up implementation
2024-02-02 05:38:33 +00:00
Marian Buschsieweke
8c588d919c
Merge pull request #20328 from benpicco/event/periodic_callback-getter
event_periodic_callback: add getter for interval & count
2024-02-01 18:27:41 +00:00
Marian Buschsieweke
ebfaa362f5
pkg/tinydtls: fix conflict with endian.h 2024-02-01 18:24:40 +01:00
Marian Buschsieweke
e14b309c42
sys/byteorder: clean up implementation
This changes the implementation to be solely build upon `endian.h`
and `unaligned.h`.

This turns `byteorder.h` basically in syntactic sugar on top of the
`<endian.h>` API, reducing the complexity of the implementation and,
hence, the maintenance effort.

Note that yields a small ROM reduction as well *yeah!*

```
make BOARD=nrf52840dk RIOT_CI_BUILD=1 BUILD_IN_DOCKER=1 -C tests/unittests
```

Yields before this commit:

```
   text	  data	   bss	   dec	   hex	filename
 417788	  2200	 28640	448628	 6d874	/data/riotbuild/riotbase/tests/unittests/bin/nrf52840dk/tests_unittests.elf
```

And with this commit:

```
   text	  data	   bss	   dec	   hex	filename
 417756	  2200	 28640	448596	 6d854	/data/riotbuild/riotbase/tests/unittests/bin/nrf52840dk/tests_unittests.elf
```
2024-02-01 18:24:40 +01:00
Marian Buschsieweke
48b2552ed2
pkg/esp8266_sdk: make use of <endian.h> 2024-02-01 18:24:40 +01:00
benpicco
5bd879b406
Merge pull request #20315 from fzi-haxel/native-x86-64-support
native: Linux/x86_64 support
2024-02-01 17:11:56 +00:00
Teufelchen
ed44a43464
Merge pull request #19546 from MrKevinWeiss/pr/reruntests
Enable compile_and_test_for_board to skip if nothing changed
2024-02-01 16:22:34 +00:00
Benjamin Valentin
7cbf516e3b event_periodic_callback: add getter for interval & count 2024-02-01 17:11:37 +01:00
MrKevinWeiss
ceec795ae5
compile_and_test_for_board: Add only-if-changed feature
This will use the make test-input-hash-changed feature to save
the test hashes with the results and optionally skip running
the test if nothing has changed.

Murdock already has this feature but it is not easily accessible.

This should prevent unneeded flash cycles as well as speeding up
constant rerunning of tests for boards.
2024-02-01 13:50:00 +01:00
MrKevinWeiss
66d75f191c
makefiles/tests: Add test-input-hash-changed target
This target allows one to check if a test-input-hash is there and if it differs from
a new one, adding basic support to skip tests if nothing needs to be run.
2024-02-01 13:49:59 +01:00
MrKevinWeiss
8a77807e57
makefiles: Add RIOT_TEST_HASH_DIR to build system
RIOT_TEST_HASH_DIR represents the dir to generate the test-input-hash.sha1 file for
checking if a test has changed, uses BINDIR by default.

Since it defaults to BINDIR it should have no effect on running systems.
This allows a bit more fine grain control, especially when using
the compile_and_test_for_board.py script.
2024-02-01 13:49:57 +01:00
e48cbb2cd8
Merge pull request #20324 from maribu/tests/sys/ztimer_overhead
tests/sys/timer_overhead: disable test on native in CI
2024-02-01 12:09:43 +00:00
Kevin "Tristate Tom" Weiss
e6844f8d28
Merge pull request #20325 from miri64/tests/enh/lwip-radio-settings
tests/pkg/lwip: include default-radio-settings.inc.mk
2024-02-01 09:51:39 +00:00
benpicco
d00fdcb301
Merge pull request #20030 from benpicco/nanocoap_fileserver
gcoap_fileserver: rename to nanocoap_fileserver
2024-02-01 09:08:49 +00:00
benpicco
ad743820f4
Merge pull request #20317 from Wer-Wolf/native_timer_init
Fix for `periph_timer` on `native`
2024-02-01 09:08:20 +00:00
Marian Buschsieweke
01aa5d8167
tests/sys/timer_overhead: disable test on native in CI 2024-02-01 09:55:55 +01:00
Martine Lenders
fb9b6b9cdc
tests/pkg/lwip: include default-radio-settings.inc.mk 2024-02-01 09:52:22 +01:00
benpicco
4934504c93
Merge pull request #20314 from benpicco/nanocoap_sock-debug
nanocoap_sock: improve debug output
2024-01-31 21:20:09 +00:00
Marian Buschsieweke
9723a8d5f4
sys/endian: move form sys/libc
Move the <endian.h> header from `sys/libc/include` to `sys/include`.
2024-01-31 20:14:46 +01:00
benpicco
4ea27d4c13
Merge pull request #20300 from jparker324/stm32c0_and_nucleo_c031c6
cpu/stm32: add support for STM32C0 and NUCLEO-C031C6
2024-01-31 15:09:25 +00:00
Marian Buschsieweke
10e896390d
sys/libc/endian.h: fix compilation with older newlib
Older versions of newlib already provide the magic endian numbers
via `machine/endian.h`, which may be indirectly included. This changes
the header to only provide the macros if the are not provided otherwise.
For sanity, it checks if the values are indeed the expected magic
numbers, even if provided from other sources.
2024-01-31 14:50:36 +01:00
Marian Buschsieweke
0d01356c9c
sys/libc/endian: fix compilation on AVR
There is no need to use `__uint16_t` instead of `uint16_t` etc., so
let's just go with `uint16_t` and have AVR GCC happy.
2024-01-31 14:46:24 +01:00
Marian Buschsieweke
e5f69206ad
sys/libc/endian.h: fix magic constants
The constants BIG_ENDIAN etc. were not consistently defined. This
bug was not caught by the unit tests, as the preprocessor would
treat undefined macros as being `0` in numeric comparisons, hence
the following test did select the correct implementation:

```C
#if BYTE_ORDER == LITTLE_ENDIAN
/* correct implementation for all currently supported boards */
#endif
```

This adds now an explicit test to the unit tests to ensure that the
magic numbers are consistently the correct values. Hence, this bug
should no longer be able to sneak in.

Co-authored-by: Teufelchen <9516484+Teufelchen1@users.noreply.github.com>
2024-01-31 14:46:24 +01:00
Marian Buschsieweke
b42b1998ec
cpu/sam0_common: fix vendor header files
Ran the `fix_headers.sh` to fix the vendor header files and removed
the no longer needed work around for them.
2024-01-31 14:46:23 +01:00
Marian Buschsieweke
1425dc0652
cpu/sam0_common: Update script to fix vendor headers
The script to fix the vendor header files has been renamed to
`fix_headers.sh` and now does two things:

1. Strip bogus type qualifiers in front of padding (as before)
2. Strip bogus `LITTLE_ENDIAN` defines.
2024-01-31 14:46:23 +01:00
Benjamin Valentin
a67f7782ad tests: add nucleo-c031c6 to Makefile.ci 2024-01-31 13:11:05 +01:00
Teufelchen
cec06d5417
Merge pull request #15965 from benpicco/cpu/sam0_common/flashpage_irq_disable
cpu/sam0_common: flashpage: disable interrupts while writing
2024-01-31 10:49:10 +00:00
6adc52594d
Merge pull request #20311 from kaspar030/git-cache-rs
ci: support git-cache-rs
2024-01-31 07:34:27 +00:00
Armin Wolf
d8dc6d3963 cpu/native: timer: Delete POSIX timer upon error
If `register_interrupt` somehow fails, we leak the already created
POSIX timer by returning immediately.

Fix this by calling `timer_delete` before returning.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
2024-01-30 22:28:13 +01:00
Armin Wolf
eac719166b cpu/native: timer: Stop using err
When using `err`, no stacktrace is generated and the standard panic
functionallity of RIOT is sidestepped.

Use `core_panic` instead.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
2024-01-30 22:28:13 +01:00
Armin Wolf
acbe7a8af3 cpu/native: timer: Remove unnecessary uses of (void)
In `timer_init`, `freq` is being check so its not unused.
In `timer_set_periodic`, `flags` is being used too.

Remove the uses of `(void)` in both cases.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
2024-01-30 22:11:14 +01:00
f9afdf86d0 pkg: ensure "dynamic sparse paths" are up-to-date 2024-01-30 21:08:20 +01:00
2bb2016e23 pkg/cmsis: add PKG_SPARSE_PATHS for NN and DSP sub-pkgs 2024-01-30 21:08:20 +01:00
Teufelchen
0d04b730e3
Merge pull request #15576 from Hxinrong/aes_encryptBranch
add error check of aes_encrypt()
2024-01-30 19:19:34 +00:00
Martine Lenders
34fcffe37b
Merge pull request #20170 from miquel-b/lsm6dsxx
drivers/lsm6dsxx: refactoring Lsm6dsl into common driver Lsm6dsxx
2024-01-30 19:07:04 +00:00
Han Xinrong
bf3c038fa9 sys/random/fortuna/fortuna.c:add error check of aes_encrypt() 2024-01-30 19:04:01 +01:00
Benjamin Valentin
a21acf0858 cpu/sam0_common: flashpage: disable interrupts while writing 2024-01-30 18:48:01 +01:00
Benjamin Valentin
c5ac574236 tests/net/gcoap_fileserver: gcoap_fileserver -> nanocoap_fileserver 2024-01-30 16:59:00 +01:00
Benjamin Valentin
cf087bb0eb examples/gcoap_fileserver: gcoap_fileserver -> nanocoap_fileserver 2024-01-30 16:59:00 +01:00
Benjamin Valentin
e1f64ffc62 examples/nanocoap_server: use nanocoap_fileserver 2024-01-30 16:59:00 +01:00
Benjamin Valentin
be399d59d0 gcoap_fileserver: rename to nanocoap_fileserver 2024-01-30 16:59:00 +01:00
Benjamin Valentin
a76feeb70e nanocoap_sock: improve debug output 2024-01-30 16:33:55 +01:00
Frederik Haxel
16eff9b6ed native: Linux/x86_64 support
Initial version to test 64 bit compatibility.

Instead of a separate board, the inital version for Linux/x86_64 is enabled
by setting the environment variable `NATIVE_64BIT=y` and compiling as usual.

Not currently implemented:
* Architectures other than x86_64 or operating systems other than Linux
    * No FreeBSD support
    * No Aarch support
* Rust support for x86_64
2024-01-30 16:33:19 +01:00
Jason Parker
a2f4a13beb boards/nucleo-c031c6 initial add 2024-01-30 10:11:57 -05:00
benpicco
7c8c522a73
Merge pull request #20309 from jia200x/pr/fix_tnt_loopback
gnrc_ipv6: fix double-free when pinging TNT loopback address
2024-01-30 11:54:48 +00:00
Marian Buschsieweke
e085ad02af
Merge pull request #20310 from maribu/libc/endian
sys/libc: add endian.h
2024-01-30 11:48:45 +00:00
Marian Buschsieweke
6615f47b90
tests/unittests: Add tests for endian.h 2024-01-30 12:24:12 +01:00
benpicco
1ee9985577
Merge pull request #20276 from fzi-haxel/native64-part3
tests: 64-bit support preparations
2024-01-30 11:13:09 +00:00
Marian Buschsieweke
68018fe182
sys/libc: add endian.h
This provides glibc, NetBSD, FreeBSD compatible endian.h header with a
lean and simple API to convert between host byte order to little endian
and big endian and the other way around.
2024-01-30 10:59:28 +01:00
cba6f12b8b make: pkg/: add git-cache-rs support 2024-01-30 10:51:20 +01:00