1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-22 13:03:54 +01:00

1450 Commits

Author SHA1 Message Date
Marian Buschsieweke
c06335b71b
sys/shell: make cmds submodules
Previously `shell_commands` was a "catch-all" module that included
shell commands for each and every used module that has a shell
companion. Instead, the new `shell_cmds` module is now used to provide
shell commands as individually selectable submodules, e.g.
`cmd_gnrc_icmpv6_echo` now provides the ICMPv6 echo command (a.k.a.
ping).

To still have a "catch all" module to pull in shell commands of modules
already used, `shell_cmds_default` was introduced. `shell_commands`
depends now on `shell_cmds_default` for backward compatibility, but
has been deprecated. New apps should use `shell_cmds_default`
instead.

For a handful of shell commands individual selection was already
possible. Those modules now depend on the corresponding `cmd_%` module
and they have been deprecated.
2022-09-16 13:15:45 +02:00
Marian Buschsieweke
b2bcfabcfb
Merge pull request #18452 from maribu/makefiles/boards/stm32.inc.mk
makefiles/boards/stm32.inc.mk: improve stm32flash support
2022-09-15 00:29:33 +02:00
benpicco
2917c0f51e
Merge pull request #18506 from gschorcht/cpu/esp32/add_esp32s2_cpu_support
cpu/esp32: add support for ESP32-S2
2022-08-30 21:24:36 +02:00
Marian Buschsieweke
0f13178085
Merge pull request #18533 from maribu/makefiles/arch/avr8.inc.mk
makefiles/arch/avr8.inc.mk: Fix compilation with GCC 12.2.0
2022-08-30 19:06:55 +02:00
Gunar Schorcht
ad9cdeb855 makefiles: undefine BOARD_VERSION in info-global.inc.mk 2022-08-30 15:08:39 +02:00
Marian Buschsieweke
7bd23069dc
makefiles/arch/avr8.inc.mk: Fix compilation with GCC 12.2.0
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523 for details
2022-08-30 14:26:40 +02:00
chrysn
6cfe240812 makefiles: Select suitable terminal when stdio_rtt is used
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2022-08-30 10:51:59 +02:00
chrysn
2c9e853aae
Merge pull request #18526 from chrysn-pull-requests/openocd-rtt
makefiles: Add openocd-rtt
2022-08-30 09:44:50 +02:00
chrysn
62a6d3c128 makefiles: Add openocd-rtt
JLink presumably has information about the device's RAM available
internally. Not passing the precise symbol area (which would be
available in the ELF file) because a) that'd make the terminal break
when the flashed firmware does not equal the built one, and b) that
would introduce a dependency from `term` to the ELF file that other
terminals don't have.
2022-08-30 09:34:22 +02:00
Marian Buschsieweke
78de9a3f53
makefiles/tools/serial.inc.mk: Improve PORT selection
When `stdio_cdc_acm` is used, assume `"RIOT-os\.org"` as vendor string
and `$(BOARD)` being used as model string. This is the default
behavior in RIOT since eaace28804effe222b4cfbdbb19dbf621f00ed84
2022-08-29 16:39:25 +02:00
Dylan Laduranty
8dac70db69 makefiles/tools/dfu-util: add option to pass DFU_SERIAL
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-08-29 09:39:15 +02:00
MrKevinWeiss
0489630aa7
makefiles: quiet messages on CI
After introducing #18423 there are occasional messages that still happen.
These messages cause a diff output when testing with TEST_KCONFIG=1.
This then causes a failure when comparing make/kconfig modules and packages.
2022-08-22 11:35:56 +02:00
Leandro Lanzieri
2dd59236c8
Merge pull request #18423 from MrKevinWeiss/pr/disable/hashchecks
.murdock: disable hash checks of kconfig/make
2022-08-17 18:30:36 +02:00
MrKevinWeiss
29c6fecab3
makefiles/features_modules: ignore non-init periphs 2022-08-17 14:37:24 +02:00
Marian Buschsieweke
276ad5716a
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
A if `netdev_driver_t::confirm_send()` is provided, it provides the
new netdev API. However, detecting the API at runtime and handling
both API styles comes at a cost. This can be optimized in case only
new or only old style netdevs are in use.

To do so, this adds the pseudo modules `netdev_legacy_api` and
`netdev_new_api`. As right now no netdev actually implements the new
API, all netdevs pull in `netdev_legacy_api`. If `netdev_legacy_api` is
in used but `netdev_new_api` is not, we can safely assume at compile
time that only legacy netdevs are in use. Similar, if only
`netdev_new_api` is used, only support for the new API is needed. Only
when both are in use, run time checks are needed.

This provides two helper function to check for a netif if the
corresponding netdev implements the old or the new API. (With one
being the inverse of the other.) They are suitable for constant folding
when only new or only legacy devices are in use. Consequently, dead
branches should be eliminated by the optimizer.
2022-08-17 12:56:07 +02:00
Marian Buschsieweke
08d88ee557
makefiles/boards/stm32.inc.mk: improve stm32flash support
Allow issuing a reset to bootloader sequence by abusing the RTS and
the DTR pins of a TTL adapter. This makes flashing via UART much
more convenient, as no jumpers need to be placed to select booting to
the bootloader / flash and no reset buttons need to be pressed.
2022-08-16 22:00:06 +02:00
MrKevinWeiss
99f4fd633e
makefiles: Prevent periph_init_mcg_lite module 2022-08-16 10:57:26 +02:00
Marian Buschsieweke
9efd6a3e52
Merge pull request #18298 from maribu/makefiles/info.inc.mk
build system: add info-kconfig-variables
2022-08-08 19:13:23 +02:00
Marian Buschsieweke
bf6d742017
build system: add info-kconfig-variables
This aids debugging issues with KConfig by being able to print all
`CONFIG_*` variables.
2022-08-08 08:15:15 +02:00
benpicco
cf745e954e
Merge pull request #18387 from gschorcht/cpu/esp32/cleanup_spi_flash_mode
cpu/{esp8266,esp32}: cleanup of SPI Flash configuration
2022-08-05 12:24:45 +02:00
Fabian Hüßler
9333970b77 gcoap/fileserver: make PUT and DELETE pseudomodules 2022-08-03 22:10:30 +02:00
Gunar Schorcht
be1764043d makefile/tools/esptool: use dio instead of qout or qio flash mode
If Quad SPI modes qout or qio are set by variable FLASH_MODE, esptool.py has to be called with parameter `--flash_mode dio` so that the first stage bootloader is always using Dual SPI mode.
2022-08-01 15:08:41 +02:00
Daniel Lockau
363cf8c546 makefiles/suit: avoid unwanted key creation trigger
This fixes a trigger of re-creation of an already existing SUIT
key when combining a build target with the clean target, e.g.
`make clean all`.
2022-07-20 12:35:33 +02:00
Martine Lenders
8bec9c1115
sock_dns_cache: move to dns_cache
Also piggy-back some fixes to the unittests and submodule handling
2022-07-18 15:27:58 +02:00
Benjamin Valentin
077a41a719 sock_dns: implement DNS cache 2022-07-13 23:23:52 +02:00
Martine Lenders
a8254d52b8
Merge pull request #16705 from miri64/gcoap_dns/feat/initial
gcoap_dns: initial import of a DNS over CoAP (DoC) client
2022-07-13 02:27:17 +02:00
Gunar Schorcht
a88cb32a18
Merge pull request #18236 from maribu/murdock
.murdock: print hash input when hashes mismatch
2022-07-12 06:45:34 +02:00
Marian Buschsieweke
de74c6acbd
.murdock: print hash input when hashes mismatch 2022-07-11 17:17:15 +02:00
chrysn
ebfa6f61d6 shell/democommands: Add example Rust module 2022-07-10 21:27:12 +02:00
chrysn
841e4deee5 lsm303agr: New sensor driver using external Rust crate
It is enabled by saul_default on microbit-v2.

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2022-07-10 21:27:12 +02:00
chrysn
ba76c6ee65 Rust: Add crates-to-module adapter 2022-07-09 21:15:29 +02:00
chrysn
7ee66ad219 makefiles/cargo: Drop duplicate workaround remnants 2022-07-09 20:45:51 +02:00
Martine Lenders
107a2a0753
gcoap_dns: initial import of a DNS over CoAP client 2022-07-01 18:44:02 +02:00
benpicco
eada4f0b75
Merge pull request #18157 from benpicco/suit-key-dir
makefiles/suit: place keys in $XDG_DATA_HOME
2022-06-28 16:01:11 +02:00
benpicco
61d17d5601
Merge pull request #18248 from gschorcht/cpu/esp32/inverse_MCU_CPU_conditionals
cpu/esp32: invert MCU_* and CPU* conditionals
2022-06-23 21:41:31 +02:00
Gunar Schorcht
b6dc652d1d makefiles/tools/esptool.mk: inverse CPU* conditionals
The CPU* conditionals are inverted so that they can be tested for ESP8266. In all other cases the MCU is any ESP32x SoC
2022-06-23 12:56:56 +02:00
chrysn
be11978f7f
Merge pull request #18243 from chrysn-pull-requests/rust-nightly-selection
rust: Explicitly select nightly
2022-06-23 07:52:10 +02:00
chrysn
b9af16e42a
Merge pull request #18220 from chrysn-pull-requests/rust-err-early
makefiles/rust: Err early, provide suggestions
2022-06-22 19:17:26 +02:00
chrysn
5cde02177c rust: Explicitly select nightly
Examples have previously relied on the (really: some) nightly toolchain
to be the default. As that, in practice, is a problematic assumption,
the latest toolchain to use is now determined programmatically, and that
is set explicitly on the examples that use nightly.

Workaround-For: https://github.com/rust-lang/rustup/issues/3015
2022-06-22 12:07:45 +02:00
Marian Buschsieweke
d1317abc02
makefiles/tests: use FLASHFILE for hash comparision instead of ELFFILE
Let's consider firmwares as identical if their flash files are matching.
This will have the side effect that hash mismatches for ESP32 due to
different .debug sections in the ELFFILE are prevented, as for ESP32
the BINFILE is used.
2022-06-17 18:31:17 +02:00
chrysn
54fe5fc8c3 makefiles/rust: Extra checks to ensure a usable build environment
... and print actionable errors.

Closes: https://github.com/RIOT-OS/RIOT/issues/18200
2022-06-16 16:23:02 +02:00
chrysn
36a029c07a makefiles/rust: Line wrap for better readability 2022-06-16 16:15:22 +02:00
chrysn
d129f3dc31 makefiles/rust: Colorful error output 2022-06-16 16:14:39 +02:00
chrysn
95cef2229c makefiles/rust: Err before trying to build without having the libraries in place
This is also a workaround for Rust's [97685], but primarily to enhance
the error message by pointing out that -Zbuild-std is an option, and
generally presenting the error as RIOT usually does.

[97685]: https://github.com/rust-lang/rust/issues/97685
2022-06-16 16:14:34 +02:00
Francisco
e5c7e3b633
Merge pull request #18029 from haukepetersen/verbump_nimble_nrfx2022
pkg/nimble: version bump to NimBLE 1.5.0 RC1
2022-06-10 04:11:26 +02:00
Alexandre Abadie
c239f63cce
Merge pull request #18031 from fjmolinas/pr_pkg_quieter
pkg/pkg.mk: silence info if QUIETER
2022-06-09 11:37:21 +02:00
Hendrik van Essen
ccc795133f sys/shell: add pseudomodule shell_lock_auto_locking
Module to lock the shell after a given timeout of time x. When the
shell did not receive any input within time x, then the shell is
locked automatically.
2022-06-08 12:53:48 +02:00
Marian Buschsieweke
e706468a5a
makefiles/tools/serial.inc.mk: Use TTY_BOARD_FILTER
When `MOST_RECENT_PORT` is set to `1`, the most recently added USB
serial is selected. This is a crude but surprisingly effective filter.
However, for the CC2560-Launchpad this doesn't work, as it provides
two USB serials. The first USB serial interface is the targeted UART
bridge and the second controls the debugger. Since the second is added
a tiny fraction after the first, this reliably selects the wrong
interface. Allowing the board to filter USB serials first can avoid
this issue.

This is also useful as e.g. an STM Nucleo board can easily be told
apart from an `samr21-xpro` or an nRF52840dk using such filters.
2022-06-03 19:59:30 +02:00
Marian Buschsieweke
055a26d9d2
Merge pull request #17662 from fjmolinas/pr_default_modules_early_late
buildsystem: split default modules include early and late
2022-06-02 21:18:17 +02:00
benpicco
dd6b473a0f
Merge pull request #18138 from benpicco/makefiles/boot/riotboot-elffile
makefiles/boot/riotboot: set DEBUG_ELFFILE to slot0.elf
2022-06-02 16:10:09 +02:00