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

46807 Commits

Author SHA1 Message Date
mguetschow
ec9afd28eb
Merge pull request #20972 from IsikcanYilmaz/pr/esp32_usb_serial_jtag_isr_flag_reset
cpu/esp32/stdio_usb_serial_jtag: Fix to ESP32 stdio usb serial hanging if it receives data too quickly
2024-11-12 08:45:34 +00:00
Marian Buschsieweke
15086a2f55
Merge pull request #20024 from mguetschow/makefile-subfolders
Build system: support for application subfolders
2024-11-12 08:05:47 +00:00
Moritz Holzer
97acd2e562 examples/lwm2m: changes on example application 2024-11-12 08:47:13 +01:00
benpicco
1976e68177
Merge pull request #16739 from benpicco/examples/tcp_echo
examples: add TCP echo server & client from documentation
2024-11-12 05:28:07 +00:00
Benjamin Valentin
f2d5a4cad9 examples/sock_tcp_echo: add TCP echo client / server 2024-11-12 00:22:38 +01:00
benpicco
d141c170ba
Merge pull request #20975 from benpicco/drivers/slipdev-tx_done
drivers/slipdev: implement NETDEV_EVENT_TX_COMPLETE event
2024-11-11 23:11:30 +00:00
Marian Buschsieweke
0d4256fb06
Merge pull request #20976 from benpicco/gnrc_netif-double-free
gnrc_netif: fix double free with netdev_new_api & gnrc_netif_pktq
2024-11-11 22:43:11 +00:00
Marian Buschsieweke
b60534796a
tests/rust_libs: use shell_builtin_cmd_help_json
This increases the robustness of the test by not relying on the
order shell commands are printed in. At least for XFA based shell
commands, there is no guarantee in which order they will be shown in
the help.
2024-11-11 22:05:08 +01:00
Marian Buschsieweke
f0a88dcf56
sys/shell: add help_json builtin command
This command does the same as `help`, but provides a machine readable
JSON rather than a human readable table. It is only provided when the
(pseudo-)module `shell_builtin_cmd_help_json` is used.
2024-11-11 22:05:04 +01:00
Benjamin Valentin
0bed0c6bfe gnrc_netif: fix double free with netdev_new_api & gnrc_netif_pktq 2024-11-11 20:30:30 +01:00
Benjamin Valentin
122758143a drivers/slipdev: implement NETDEV_EVENT_TX_COMPLETE event 2024-11-11 19:17:24 +01:00
Marian Buschsieweke
e419c144fa
Merge pull request #20969 from benpicco/boards/openmote-b-reset_delay
boards/openmote-b: set at86rf215 reset pulse width to 50ms
2024-11-11 16:45:28 +00:00
Benjamin Valentin
602acbf3c5 boards/openmote-b: set at86rf215 reset to 2ms 2024-11-11 17:38:44 +01:00
Benjamin Valentin
982af61c82 sys/net/gnrc_pktbuf_static: make hexdump optional 2024-11-11 15:17:40 +01:00
Benjamin Valentin
4bd273f009 sys/net/gnrc_pktbuf_static: add double free detection 2024-11-11 15:17:40 +01:00
Isikcan Yilmaz
a21d302d08 cpu/esp32/stdio_usb_serial_jtag: clear all usb serial jtag flags and flush the tx fifo at the end of usb serial isrs 2024-11-11 11:20:46 +01:00
mguetschow
d86738f057
Merge pull request #20970 from crasbe/pr/nRF_OpenOCD
cpu/nRF52: Always recover Device before Flashing
2024-11-11 08:29:41 +00:00
Marian Buschsieweke
5d76abffa1
Merge pull request #20951 from maribu/makefiles/improve-tty-select-cmd-handling
makefiles/serial: better MOST_RECENT_PORT=1 for CDC ACM
2024-11-10 19:14:07 +00:00
Marian Buschsieweke
cec85cfc88
Merge pull request #20945 from maribu/sys/net/gcoap/replace-super-insane-hack-with-less-insane-hack
sys/net/gcoap: reduce insanity of hack
2024-11-08 20:03:37 +00:00
Marian Buschsieweke
77b6264da1
tests/net/gnrc_sixlowpan_frag_sfr_congure: work around bug in test
The test following test is flaky:

    TEST_ASSERT(msg->send_time > 0U);

It assumes that 0 as time is indicating the time is invalid. But on
`native`, the time will be zero for the first millisecond the test
is launched. Before the interactive sync caused seemingly a reliable
delay of at least one milli second, but this no longer is the case.

This works around the bug by just waiting at the start of the test
until the time is no longer zero, possibly spinning for one millisecond.
2024-11-08 20:52:14 +01:00
crasbe
168829f865 boards/nrf52: always recover device before flashing with OpenOCD 2024-11-08 16:04:35 +01:00
crasbe
5d7194a4ee makefiles: introduce OPENOCD_POST_INIT_CMDS 2024-11-08 16:03:17 +01:00
Marian Buschsieweke
1672c0e613
Merge pull request #20956 from HavingaThijs/cc2538_crc_bit
cpu/cc2538: use RX FIFO count to determine CRC OK location
2024-11-08 12:49:36 +00:00
Marian Buschsieweke
cedfb63a88
tests: no default interactive sync for native
The aim is to allow faster test cycles on native for unit test style
apps (that don't need interaction) by bypassing the python test
framework using e.g.:

    make RIOT_TERMINAL=native all term

This would work already before, but now is more convenient as no
manual press of the `s` key is needed to start the test.

For non-native boards we need the sync, as otherwise the board may
finish booting before the python test automation framework can capture
output. For `native` and `native64`, we actually control when the RIOT
app is started and do not need to sync.

On a typical machine this can reduce the test cycle by more than 4
seconds.

With this change:

    $ time sh -c 'make BOARD=native -C tests/unittests tests-nanocoap -j && make BOARD=native RIOT_TERMINAL=native -C tests/unittests term'
    [...]
    main(): This is RIOT! (Version: 2024.10-devel-394-gd65dec-tests/no-sync-control)
    ...................................
    OK (35 tests)
    [...]
    make: Leaving directory '/home/marian.buschsieweke@ml-pa.loc/Repos/software/RIOT/master/tests/unittests'
    sh -c   0.30s user 0.24s system 113% cpu 0.476 total

Before t his change:

    $ time sh -c 'make BOARD=native -C tests/unittests tests-nanocoap -j && make BOARD=native -C tests/unittests test'
    [...]
    main(): This is RIOT! (Version: 2024.10-devel-394-gd65dec-tests/no-sync-control)
    Help: Press s to start test, r to print it is ready
    READY
    s
    START
    ...................................
    OK (35 tests)
    [...]
    make: Leaving directory '/home/marian.buschsieweke@ml-pa.loc/Repos/software/RIOT/master/tests/unittests'
    sh -c   0.50s user 0.37s system 17% cpu 4.863 total
2024-11-08 13:24:32 +01:00
Dylan Laduranty
6401abbd92
Merge pull request #20850 from dylad/pr/cpu/saml21/compat_headers
cpu/saml21: add compatibily headers for vendor files migration
2024-11-08 08:14:28 +00:00
Marian Buschsieweke
6a19004aa1
Merge pull request #20963 from maribu/clang-format/line-limit
.clang-format: Set ColumnLimit to 0
2024-11-08 05:54:50 +00:00
Dylan Laduranty
a9cb19dcc5 cpu/samr30: create compatibility headers for vendor files migration
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-11-07 21:25:03 +01:00
Dylan Laduranty
7d83c7a9d2 cpu/samr34: create compatibility headers for vendor files migration
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2024-11-07 21:22:23 +01:00
benpicco
d65dec6ab5
Merge pull request #20960 from maribu/build_system/xfa/fix-alignment
build_system/xfa: change API to fix alignment
2024-11-07 16:16:28 +00:00
Marian Buschsieweke
2b6f65a08a
build_system/xfa: change API to fix alignment
This changes the API of xfa from

    XFA(array_name, prio) type element_name = INITIALIZER;

to

    XFA(type, array_name, prio) element_name = INITIALIZER;

this allows forcing natural alignment of the type, fixing failing tests
on `native64`.
2024-11-07 16:30:01 +01:00
Marian Buschsieweke
30a3057bdb
.clang-format: Set ColumnLimit to 0
This disables adding/removing line breaks by `clang-format`, as this
could very well introduce regressions in code formatting in terms of
our coding convention: If a long array was matching the soft limit of 80
chars per line, `clang-format` would reflow it to match the hard limit
of 100 chars.

One can selectively disable `clang-format` with magic comments. But at
this point, I'd say we should rather disable this feature until we
can configure it in a way to match our coding convention better (without
having to add magic comments).
2024-11-07 16:16:04 +01:00
mguetschow
76b9b711a8
Merge pull request #20962 from maribu/tests/sys/shell_lock/test-robustness
tests/sys/shell_lock: increase robustness of the test
2024-11-07 12:21:04 +00:00
Marian Buschsieweke
abb666bf73
tests/sys/shell_lock: increase robustness of the test
Before the test used the `help` command to verify that access to the
shell is present. While this does have the benefit of not requiring a
custom command, it does have some robustness issues:

- When new default commands get added, this test will fail
- When the help message of a command gets reworded, the test will fail
- When the order of commands in the test will change, the test will fail
    - Note that with the XFA based `SHELL_COMMAND()` macro, we do not
      guarantee any particular order. Specifically, the order can change
      with implementation details.
2024-11-07 10:45:50 +01:00
Marian Buschsieweke
e436f45871
tests/net/nanocoap_cli: make use of XFA for shell commands 2024-11-06 21:31:55 +01:00
Marian Buschsieweke
2839224594
tests/build_system/xfa: improve test coverage
This increases the test coverage for XFA:

- Multiple entries are added from a single file
- Priorities are assigned to enforce a given order
- The size of the `struct` to add is changed to no longer be a power of
  2
2024-11-06 19:34:35 +01:00
Thijs Havinga
81358aa7b3
cpu/cc2538: use RX FIFO count to determine CRC OK location 2024-11-06 14:41:37 +01:00
benpicco
9c55be7237
Merge pull request #20954 from benpicco/mutex_init_locked
core/mutex: add `mutex_init_locked()`
2024-11-06 12:09:56 +00:00
Benjamin Valentin
46ecf82e24 core/mutex: add mutex_init_locked() 2024-11-06 12:53:17 +01:00
Marian Buschsieweke
06aaf648e3
Merge pull request #20953 from Enoch247/add-u8g2-to-displays-doc-group
pkg/u8g2: add to the displays doc group
2024-11-06 11:37:06 +00:00
Joshua DeWeese
01fd2195db pkg/u8g2: add to the displays doc group 2024-11-05 20:09:41 -05:00
Marian Buschsieweke
d10ab413a0
Merge pull request #20952 from benpicco/nanocoap-block_robust
nanocoap/sock: re-try if wrong block was received
2024-11-05 17:24:17 +00:00
Benjamin Valentin
9b25c033de nanocoap/sock: re-try if wrong block was received 2024-11-05 18:06:31 +01:00
Marian Buschsieweke
c70075b073
Merge pull request #20950 from maribu/sys/net/nanocoap/coap_get_response_hdr_len
sys/net/nanocoap: add and use coap_get_response_hdr_len()
2024-11-05 13:09:51 +00:00
Marian Buschsieweke
fdac725d8c
makefiles/serial: better MOST_RECENT_PORT=1 for CDC ACM
- Allow specifying an alternative board filter for the bootloader TTY,
  as this will present different vendor, model, and serial than RIOT's
  USB implementation.
- Allow specifying the serial. This is useful when multiple CDC ACM
  devices are present.
2024-11-05 13:21:16 +01:00
Marian Buschsieweke
68beb52f14
sys/net/nanocoap: add and use coap_get_response_hdr_len()
Before, handlers writing blockwise transfer assumed that the response
header length will match the request header length. This is true for
UDP, but not for TCP: The CoAP over TCP header contains a Len field,
that gets extended for larger messages. Since the reply often is indeed
larger than the request, this is indeed often the case for CoAP over
TCP.

Note: Right now, no CoAP over TCP implementation is upstream. However,
      getting rid of incorrect assumptions now will make life easier
      later on.
2024-11-05 10:46:02 +01:00
benpicco
27343666dc
Merge pull request #20949 from maribu/sys/net/nanocoap/fix-coap_build_reply_header
sys/net/nanocoap: fix `coap_build_reply_header()`
2024-11-05 08:52:15 +00:00
Marian Buschsieweke
e52659c4cd
tests/unittests: Increase test coverage for coap_build_reply_header()
This increases test coverage for coap_build_reply_header() for the case
that extended tokens are used. The test validates the correctness of
the return value and the correctness of the assembled reply.
2024-11-04 21:18:08 +01:00
Marian Buschsieweke
2c93dc9c3b
sys/net/nanocoap: fix coap_build_reply_header()
In case no payload is added, `coap_build_reply_header()` would return
`sizeof(coap_hdr_t) + token_length` regardless of the actual header
length returned by `coap_build_hdr()`. These can be different if
RFC 8974 extended tokens are enabled (module `nanocoap_token_ext`
used): If an extended token length field is used, its size is not
considered.

Co-authored-by: benpicco <benpicco@googlemail.com>
2024-11-04 21:18:07 +01:00
Marian Buschsieweke
afb16bb705
Merge pull request #20570 from maribu/doc/coding-convention/IWYU
CODING_CONVENTIONS.md: Add IWYU policy
2024-11-04 15:27:48 +00:00
Marian Buschsieweke
ffeb46fc42
CODING_CONVENTIONS.md: Add IWYU policy
This makes an implicit agreement that code should include the headers
is uses, no more and no less, explicit.

It also recommends using tooling (such as clangd) and adding IWUY
pragma comments to aid those tools in common cases they otherwise would
provide false positives.

Co-authored-by: chrysn <chrysn@fsfe.org>
2024-11-04 16:24:28 +01:00