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

1651 Commits

Author SHA1 Message Date
Francisco Molina
a3ff566708 makefiles/tools/serial.inc.mk: socat set no parity 2022-03-28 08:53:27 +02:00
Francisco Molina
0819660303 sys/syscalls: add libc_gettimeofday
Conditionally implement gettimeofday() if module is included, this
avoids including ztimer64 even when not needed
2022-03-24 11:36:49 +01:00
Leandro Lanzieri
202fb261fe
Merge pull request #17811 from fjmolinas/pr_xtimer_dep_rework_simple
sys/*timer: rework dependecies to ease backend switch, prefer ztimer_xtimer_compat over xtimer_on_ztimer
2022-03-18 08:17:24 +01:00
Francisco Molina
9260cfb4f0 sys/xtimer: prefer ztimer_xtimer_compat 2022-03-17 14:37:40 +01:00
Francisco Molina
0b1453667e sys/xtimer-ztimer: rework dependecies to ease backend switch
This adds a xtimer_no_ztimer_default that is currently always
selected in Makefile, but that can be switched off in Kconfig.
Removing its inclusion will allow switching the default xtimer
backend to ztimer, while allowing for an easy way back.
2022-03-17 14:37:40 +01:00
Francisco Molina
8b532e8fb6 makefiles/docker.ink.mk: do not always pass CFLAGS to docker 2022-03-17 10:10:45 +01:00
Cenk Gündoğan
fa19b62cdb
gcoap/forward_proxy: add submodule 2022-03-11 14:53:17 +01:00
benpicco
08c2cf6b27
Merge pull request #17769 from gschorcht/cpu/esp32/gcc_8_4_0_espressif_tools
cpu/esp32: update to Espressif's precompiled ESP32 vendor toolchain with gcc 8.4.0
2022-03-11 09:30:23 +01:00
e59a6786a6
Merge pull request #17652 from kaspar030/split_core_lib
core: split out library code
2022-03-10 20:17:07 +01:00
b29a658555
Merge pull request #17719 from fjmolinas/pr_sys_posix_convert
sys/sema: add sema_ztimer64 to implement old api, deprecate sema
2022-03-10 15:36:06 +01:00
Francisco Molina
2e2daae5d0 sys/sema: use sema_ztimer64 to implement old sema api
This PR removes the old xtimer based implementation for sema. Since
this implementation used 64bit timeout, backweard compatibility is
kept by having `sema_wait_timed` be implemented by `ztimer64_usec`
which is enabled by selecting `sema_deprecated`

With this 64bit `sema` api is now deprecated.
2022-03-10 14:19:44 +01:00
chrysn
cd1c64c8ff
Merge pull request #17737 from maribu/dist/tools/usb-serial
dist/tools/usb_serial: Add tool for listing and filtering TTY interfaces
2022-03-10 13:19:58 +01:00
3db7c1150a core: split out library code
This commit splits core into it's scheduler/IPC part and into other code
that is either used or uses the scheduler, through defined APIs.
2022-03-09 21:43:05 +01:00
Marian Buschsieweke
b296ade6b2
dist/tools/usb-serial: Add ttys.py
- Provide a new tool to list and filter TTYs
- Change `Makefile.include` to use `$(RIOTTOOLS)/usb-serial/ttys.py`
  instead of `$(Q)$(RIOTTOOLS)/usb-serial/list-ttys.sh` to implement
  `make list-ttys`
- Extend `makefiles/tools/serial.inc.mk` to allow using the most recent
  port by passing `MOST_RECENT_PORT=1` as environment variable or
  parameter to make

Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
2022-03-09 15:40:36 +01:00
Gunar Schorcht
395ec06c16 dist/tools/esptool: upgrade to v3.2 for ESP32 2022-03-08 09:31:42 +01:00
eec8b7a8d4
tree-wide: emulators: s/RUNTIME_TMP_DIR/EMULATOR_TMP_DIR 2022-03-04 13:44:51 +01:00
d425cbb2bf
makefiles/renode: use RUNTIME_TMP_DIR in EMULATOR_SERIAL_PORT 2022-03-04 13:34:18 +01:00
Leandro Lanzieri
c33cfdfaec
Merge pull request #17742 from gschorcht/cpu/esp/rename_esptool_dir
dist/tools: rename directory esptool to esptools to use it for multiple tools
2022-03-04 11:58:40 +01:00
Gunar Schorcht
cbbd02d520 dist/tools: rename esptool to esptools to use it for several tools
The directory `dist/tools/esptool` already contains a couple of ESP tools and not only esptool.py. As the location for a couple of ESP related tools, it is more clear to call it `esptools` instead of `esptool`.
2022-03-04 08:34:19 +01:00
Karl Fessel
415f9aa0ee make/emulate: use unix sockets with qemu 2022-03-03 17:15:50 +01:00
Dylan Laduranty
bd49ea91db
Merge pull request #17396 from fjmolinas/pr_docker_env_vars_allways
makefiles/docker.inc.mk: add DOCKER_ENV_VARS_ALWAYS
2022-03-02 22:02:02 +01:00
Benjamin Valentin
2e46e4ad7d makefiles: warn if telnet is used in auto-init mode 2022-03-01 23:07:22 +01:00
Benjamin Valentin
2034fa5101 sys/net/application_layer: add telnet server module 2022-03-01 23:07:22 +01:00
df8086091f sys/ztimer: add ztimer64_xtimer_compat
The ztimer64_xtimer_compat modules implements the whole xtimer api
on top of ztimer64_usec
2022-02-24 09:10:58 +01:00
c6151226ad
Merge pull request #17633 from fjmolinas/pr_ztimer_auto_adjust
sys/ztimer: add auto_adjust module
2022-02-23 10:01:05 +01:00
Benjamin Valentin
4d7a3c1dba sys/board_common: add generic board_init() function 2022-02-22 10:04:44 +01:00
Francisco
dd150fe47e
Merge pull request #17584 from benpicco/auto_init_leds
sys/auto_init: add auto_init_leds, drop LED init code from boards
2022-02-18 19:40:50 +01:00
Benjamin Valentin
cd6aea3549 makefiles: make periph_init_leds a default module 2022-02-18 14:35:43 +01:00
d758cb93ef sys/ztimer: add auto_adjust module 2022-02-18 13:07:49 +01:00
benpicco
22a3fc7e8d
Merge pull request #14430 from benpicco/pkg/fatfs_format
pkg/fatfs: fatfs_vfs: wire up format()
2022-02-16 17:22:19 +01:00
chrysn
9ef2abbd53
Merge pull request #17278 from kaspar030/add_ubsan_support
make: Add ubsan support
2022-02-16 16:06:09 +01:00
Benjamin Valentin
5b246d02c0 pkg/fatfs: fatfs_vfs: wire up format() 2022-02-16 14:30:08 +01:00
ba0f8a7429 make: add initial ubsan support 2022-02-16 12:20:45 +01:00
1547d2f075 make: add -ffunction-sections -fdata-sections to LINKFLAGS if LTO=1 2022-02-15 12:28:16 +01:00
Francisco
d197c2518b
Merge pull request #17648 from MrKevinWeiss/pr/kconfig/boardconfig
boards: Use BOARD.config pattern for kconfig
2022-02-14 17:49:31 +01:00
benpicco
78e4f6b557
Merge pull request #17643 from benpicco/vfs_default
sys/vfs: add vfs_default, configure default fs for same54-xpro
2022-02-14 16:33:23 +01:00
MrKevinWeiss
ddfe1f6aff
boards: Use BOARD.config pattern for kconfig
Many simple kconfig configurations are added to boards and brought in with the board name.

This makes a common import of these configs so one only requires adding a BOARD.config without having to alter the makefile.
2022-02-14 13:10:09 +01:00
Benjamin Valentin
92d9d5676a sys/vfs: add vfs_default pseudo-module 2022-02-14 13:04:37 +01:00
Francisco Molina
3de5549899 makefile: move DEFAULT_MODULEs with deps to default_modules.deps.mk 2022-02-14 13:03:32 +01:00
Francisco Molina
25e670e263 makefiles/dependency_resolution: add outer loop for DEFAULT_MODULE deps
Some DEFAULT_MODULEs in tree have dependencies of their own. This is
usually done for aliases of init modules, and do not have dependencies
themselves.

This adds the final stage to dependency resolutions where DEFAULT_MODULEs
dependencies MAY be included. These included modules MUST NOT have
dependencies themselves.

This allows for modules to disable DEFAULT_MODULEs during dependencies
resolution independent of the inclusion order.

auto_init and periph_init modules are moved to this outer-loop, allowing
therefore for modules to disable them during the dependency resolution
2022-02-14 12:59:31 +01:00
krzysztof-cabaj
4bb5487f86 tools/cpy2remed: Addition of cpy2remed programmer to nucleo-L552ZE-Q 2022-02-11 08:27:25 -05:00
Silke Hofstra
9d61bdbb06 sys/senml: add SenML modules
Add a basic SenML module and submodules with support for:

- Encoding SenML values as CBOR using NanoCBOR.
- Converting from Phydat to SenML.
- Reading and encoding SAUL sensors.
2022-02-11 12:38:21 +01:00
Francisco Molina
be7b8179d0 makefiles/docker.inc.mk: add DOCKER_ENV_VARS_ALWAYS
This adds a list of variables that should always be passed to docker
since they are commonly set in Makefile/Makefile.include and therefore
can not be checked for their origin.
2022-02-10 13:27:01 +01:00
benpicco
be45400631
Merge pull request #17341 from benpicco/vfs-mtd_cleanup
sys/vfs: add file-system auto-mount
2022-02-09 21:50:34 +01:00
Benjamin Valentin
2f6aa71946 sys/vfs: add file-system auto-mount 2022-02-09 12:21:53 +01:00
Francisco
0d14b086d3
Merge pull request #17211 from NikLeberg/feature/external_pkg_dirs
buildsystem: add EXTERNAL_PKG_DIRS functionality
2022-02-07 14:46:08 +01:00
Francisco
dbae3ed706
Merge pull request #16860 from haukepetersen/add_nimble_netifextadv
nimble/netif: add support for BT5 PHY modes
2022-02-04 11:16:11 +01:00
Francisco
14f22c17aa
Merge pull request #12012 from HendrikVE/nimble_shell_module
sys/stdio_nimble: add new stdio module using nimble
2022-02-04 11:10:17 +01:00
NikLeberg
a411841322 buildsystem: implement EXTERNAL_PKG_DIRS feature 2022-02-01 18:06:54 +00:00
Francisco Molina
80f63ba1fa makefiles.kconfig.mk: use EXTERNAL_MODULE_DIRS in Kconfig resolution
Using EXTERNAL_MODULE_PATHS works fine when only using Kconfig for
configuratio, but when using it for dependencies this value is not
set since it depends on Kconfig. Instead use EXTERNAL_MODULE_DIRS
and filter matching on Kconfig files.
2022-02-01 10:22:20 +01:00
NikLeberg
140824e69c buildsystem/pkg: expand paths early 2022-01-30 19:58:52 +01:00
benpicco
5a57dec71a
Merge pull request #17093 from maribu/core/change_prio
core/sched: add sched_change_priority()
2022-01-28 20:01:20 +01:00
Hendrik van Essen
f91751ee08 sys/stdio_nimble: implementation of stdio_available 2022-01-28 19:26:38 +01:00
Hendrik van Essen
72a6ca6366 sys/stdio_nimble: add new stdio module using nimble
Implement a new module stdio_nimble, which uses nimble
for stdio. The characteristic for stdin is writable and
the characteristic for stdout uses the indicate mechanism
to publish the system's output to a connected device.
Data will be sent out asynchronously via callout functions.

The module can be enabled with "USEMODULE += stdio_nimble"

Co-authored-by: Francisco Molina <femolina@uc.cl>
2022-01-28 19:26:38 +01:00
6371051bc3
Merge pull request #17545 from fjmolinas/pr_iotlab_node_docker_riotci_build
Makefile.include: pass IOTLAB_NODE to docker
2022-01-27 20:20:03 +01:00
chrysn
f7dfa2f84d
Merge pull request #17133 from chrysn-pull-requests/doc-develhelp-stackoverflow-precision
doc: Start documenting pseudomodules
2022-01-27 15:09:22 +01:00
Francisco Molina
d2b9b4ce8c Makefile.include: pass IOTLAB_NODE to docker
By default if IoT-LAB Cli Tools V3 is used then BINFILE is used to
flash on IoT-LAB. But BINFILE is not built by default when RIOT_CI_BUILD
is set as a ci optimization.

But since before IOTLAB_NODE was not passed to docker when building it
did not know that it should BUILD BINFILE as well, which led to failures
if doing:

$ IOTLAB_NODE=iotlab-m3.grenoble.iot-lab.info BOARD=iotlab-m3 \
  RIOT_CI_BUILD=1 BUILD_IN_DOCKER=1 make -C examples/hello-world/ flash

But if IOTLAB_NODE is passed at is checks for IoT-LAB cli Tools also
happen in the docker container which leads to a make error since those
are not present in docker.

Therefore add BINFILE to BUILD_FILES if RIOT_CI_BUILD is set, but unset
IOTLAB_NODE once INSIDE_DOCKER.
2022-01-27 14:56:00 +01:00
chrysn
1e8209f80e pseudomodules: Documentation for board_software_reset 2022-01-27 13:49:25 +01:00
chrysn
15398a53cb doc: Sharpen list of pseudomodules in documentation
Not all pseudomodules should go here; this is mainly for those that
don't belon anywhere else.
2022-01-27 13:49:25 +01:00
chrysn
bb8402fc0b doc: Document the MPU pseudomodules 2022-01-27 13:49:25 +01:00
chrysn
68d0c291a9 doc: Initial documentation of pseudomodules
Co-authored-by: Francisco <femolina@uc.cl>
2022-01-27 13:49:14 +01:00
Hauke Petersen
0a4585d4c8 nimble/rpble: allow to select PHY mode 2022-01-27 10:30:30 +01:00
Hauke Petersen
2634063f5f nimble/statconn: allow to define PHY mode 2022-01-27 10:30:29 +01:00
Hauke Petersen
0ea7bf33d0 nimble/netif: support ext adv and BLE 5 PHY modes 2022-01-27 10:30:29 +01:00
chrysn
99d245f538
Merge pull request #17520 from chrysn-pull-requests/rust-enable-riscv
cpu/riscv_common: Enable Rust applications
2022-01-26 19:14:50 +01:00
Gunar Schorcht
d6f86a9b7a makefiles/libc/newlibc: allow toolchains with nano version only
The check for `newlib-nano` assumes that a toolchain which provides `newlib-nano` provides both the normal version and the nano version of the `newlib`.The nano version of `newlib.h` is therefore stored in its own include directory. This is the case for toolchains which allow to use both the normal and the nano version, e.g. for ARM and RISC-V.
However, if the toolchain provides `newlib_nano` but only allows the use of the nano version, it will only have the nano version of `newlib.h` and no separate directory for it, e.g. for ESP32.
To still be able to use such toolchains with `newlib_nano`, the check is changed so that the setting of the `-isystem` option depends on the existence of the separate directory.
2022-01-23 10:48:26 +01:00
Francisco Molina
8b45ed87be drivers/rtt_rtc: select rtc_utils 2022-01-18 15:32:38 +01:00
Marian Buschsieweke
8549ff2f7d
Merge pull request #17479 from gschorcht/cxxexflags_cpp+14
makefiles: use C++14 standard by default for C++ compilations
2022-01-17 13:42:41 +01:00
chrysn
210ad505aa makefiles: Reuse some of Rust's ~/.cargo in Docker container
Without passing this through, any crate downloads would go to the
container's image's scratch space, to be re-downloaded for each build,
and with new time stamps that cause compilation to start anew as well.
2022-01-14 14:59:04 +01:00
chrysn
d391b1c5f4 cpu/riscv_common: Enable Rust applications
This contains a workaround for
https://github.com/rust-lang/rust-bindgen/issues/1555 (withouot which
bindgen would fail, with little information helping remedy the cause)
2022-01-14 13:42:32 +01:00
9eec6f4eb1
makefiles/openocd: remove DEBUG_ADAPTER and PRE_FLASH_CHECK_SCRIPT vars 2022-01-08 12:05:46 +01:00
135e0a6ca1
makefiles/tools/pyocd: remove deprecated FLASH_TARGET_TYPE var 2022-01-08 12:04:51 +01:00
6e8d3246e6
makefiles/tools: remove deprecated FFLAGS_OPTS variable 2022-01-08 12:04:02 +01:00
c7a27fb073
make: introduce makefile to optimize driver with disp/touch_dev build 2022-01-06 12:07:07 +01:00
1432d3b5b5
make: introduce makefile to optimize driver with saul build 2022-01-06 12:07:06 +01:00
Gunar Schorcht
181f6423ae makefiles/cflags: enable C++14 by default 2022-01-06 11:15:23 +01:00
8d3d012acd
Merge pull request #17248 from benpicco/riotboot_serial-btn
riotboot_serial: enter bootloader mode by pin
2022-01-05 14:14:00 +01:00
0056648581
Merge pull request #17418 from aabadie/pr/drivers/periph_build_enh
drivers/periph_common: build periph module selectively
2022-01-04 14:59:39 +01:00
Gunar Schorcht
af621ec91b sys/usb/cdc/acm: implementation of stdio_available 2022-01-03 16:14:11 +01:00
Gunar Schorcht
0ffad24112 sys/stdio_uart: implementation of stdio_available 2022-01-03 16:14:11 +01:00
Gunar Schorcht
a71dec81a2 sys/stdio_base: add optional function stdio_available
A couple of `stdio` backend implementations allow to check for the number of available bytes for reading before the blocking `stdio_read` is called. This helps to implement non-blocking functionalities while waiting for `stdin`.
2022-01-03 16:14:11 +01:00
79df157727
sys: move rtc utility functions to their own module 2021-12-20 13:04:20 +01:00
chrysn
4e3e21d3ab build-info: Report Rust target 2021-12-19 10:02:38 +01:00
chrysn
afdabcf9b6
Merge pull request #16274 from chrysn-pull-requests/rust-application
Add some Rust building infrastructure and example
2021-12-16 16:17:28 +01:00
Martine Lenders
e062ad78f3
Merge pull request #17265 from miri64/ethos/fix/threadify-state-machine
ethos: move bulk of state machine out of ISR context
2021-12-16 12:24:14 +01:00
Marian Buschsieweke
882c593575
Merge pull request #17348 from krzysztof-cabaj/add-elf2uf2-tool
tools/elf2uf2: addition of new PROGRAMMER for RPi-pico
2021-12-15 22:08:51 +01:00
krzysztof-cabaj
940f1eea4b tools/elf2uf2: addition of new PROGRAMMER for rpi-pico board 2021-12-15 11:40:10 -05:00
Martine Lenders
568be105f2
stdio_ethos: move to ethos_stdio 2021-12-15 16:15:29 +01:00
Francisco Molina
69d82777e2 makefiles/docker.inc.mk: pass TEST_KCONFIG 2021-12-14 20:23:55 +01:00
chrysn
732c369b7e makefiles: Add mechanism to build modules through Cargo
... and to dissect the static libraries into invidial .o files to link
them the same way we link C.
2021-12-14 13:27:41 +01:00
chrysn
a2e1b92e1d makefiles: Define RUST_TARGET for use with Cargo / Rust
For RISC-V and Cortex-M-not-3, triples are known and have worked in some
configuration, but do not work at the moment and stay disabled until the
reference platforms (native, M3) have been established well.
2021-12-14 12:55:13 +01:00
benpicco
cfaa167469
Merge pull request #16598 from benpicco/sys/shell/udp
examples/gnrc_networking: move udp command to shell commands
2021-12-13 15:03:18 +01:00
Kevin "Tristate Tom" Weiss
ed94dd7085
Merge pull request #17376 from leandrolanzieri/pr/makefiles/add_board_cpu_config_variables
makefiles/kconfig: add board & CPU config variables
2021-12-13 13:26:40 +01:00
Leandro Lanzieri
df7ce1c647
makefiles/kconfig: use two lists for boards and CPUs default configs
This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for
boards and CPUs (including common directories) to add default
configuration files to be merged. The current approach, as it uses
Makefile.features, would include boards first, not allowing them to
override CPU configurations.
2021-12-13 12:33:21 +01:00
Leandro Lanzieri
aec9d7a8e5
makefiles/features_modules: do not generate init for ESP RTT
This avoids the generation of the unneeded modules
periph_init_rtt_hw_rtc and periph_init_rtt_hw_sys.
2021-12-10 18:51:24 +01:00
Francisco
7362074f49
Merge pull request #17235 from leandrolanzieri/cpu/kinetis/model_kconfig
cpu/kinetis: model kconfig
2021-12-09 14:22:10 +01:00
Francisco
622fca0235
Merge pull request #17304 from MrKevinWeiss/pr/depmips
cpu/mips: deprecate mips cpu
2021-12-09 11:57:20 +01:00
d959ce7eea
Merge pull request #16928 from kaspar030/ztimer64
sys/ztimer64: initial PR
2021-12-09 10:17:15 +01:00
MrKevinWeiss
cf74b26c55
cpu/mips: deprecate mips cpu
Add deprecate note in the mips cpu.
Add warning in make when any mips based board is being used (6lowpan-clicker, pic32-wifire).
2021-12-09 10:14:52 +01:00
439fcbf392 sys/ztimer64: initial implementation
Co-authored-by: Francisco Molina <femolina@uc.cl>
Co-authored-by: Marian Buschsieweke <maribu@users.noreply.github.com>
2021-12-07 23:57:56 +01:00
Leandro Lanzieri
9bfa652f9e
makefiles/features_modules: don't generate init for kinetis periphs 2021-12-07 11:32:16 +01:00
aa17621279
stdio_rtt: Convert to ztimer 2021-12-07 10:03:54 +01:00
Gunar Schorcht
912bb604ee makefiles: remove PCF857x pseudomodule definition
The pseudomodules used by the PCF7857x driver are correctly defined by `Makfefile.include` of the driver. However, by mistake they were left in `makefiles/pseudomodules.mk` when the very old PR was rebased to the current master. That is, they were only leftovers that have been overseen after rebasing an squashing dozens of fixup commits.
2021-12-05 15:57:34 +01:00
benpicco
0646862421
Merge pull request #10430 from gschorcht/drivers_pcf857x
drivers: add PCF857X I2C I/O expander driver
2021-12-04 16:57:01 +01:00
Gunar Schorcht
dae1da051b makefiles: add PCF957X driver pseudomodules 2021-12-04 14:11:04 +01:00
Francisco
3afa47d8f2
Merge pull request #14955 from maribu/cflags-cast-align
makefiles/cflags.inc.mk: Add -Wcast-align
2021-12-03 17:47:24 +01:00
Marian Buschsieweke
63b54b5e84
makefiles/cflags.inc.mk: Add -Wcast-align 2021-12-03 14:22:17 +01:00
Hauke Petersen
34b009fcc1 pkg/nimble: add config options for BLE5 PHYs 2021-12-02 23:31:32 +01:00
Francisco
cb07027b39
Merge pull request #17277 from leandrolanzieri/pr/cpu/qn908x/model_kconfig
cpu/qn908x: model kconfig
2021-12-01 01:03:30 +01:00
Leandro Lanzieri
07871d072e
makefiles/features_modules: avoid init for qn908x periphs 2021-11-29 13:56:43 +01:00
MrKevinWeiss
51f92fa816
drivers/periph_spi: Kconfig SPI_ON_QSPI model 2021-11-29 09:12:27 +01:00
MrKevinWeiss
ecb0b17910
makefiles/kconfig: Prevent pkg-prepare for info-packages
As the packages need to be downloaded before they can be included in menuconfig it becomes a bit pointless.
This also messes around with make info-packages, adding unwanted output
2021-11-26 09:26:25 +01:00
Leandro Lanzieri
6769101c34
sys/arduino: add pseudomodule for the arduino_pwm feature 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
7036388769
drivers/periph_common: add RTC ms module to Kconfig 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
39ebbfd460
makefile.include: add RIOTKCONFIG 2021-11-22 12:25:30 +01:00
Benjamin Valentin
4be2829537 makefiles: riotboot_serial: default to STDIO BAUD for PROG_BAUD
If $(PROG_BAUD) is not set, default to the boards $(BAUD).
2021-11-21 23:08:31 +01:00
Benjamin Valentin
f362a19eed sys/shell: hide random commands behind random_cmd pseudo-module
These commands cost 248 bytes of memory, we don't want to always
include them when the `random` module is selected.
2021-11-19 16:53:46 +01:00
Leandro Lanzieri
c5b29916eb
makefile.dep: require arch_ cpu_core_ features first 2021-11-18 09:00:35 +01:00
Francisco Molina
81c5d5dbcc sys/event/timeout: split xtimer, ztimer backends, don't force usec
This PR makes `event_timeout` and `event_timeout_ztimer` two distinct
pseudomodules, where the only api difference is in the init function.

If only `event_timeout_ztimer` is selected then no default ZTIMER
backend is selected and the old init function is not implemented.

If only `event_timeout` is selected then `xtimer` is used unless
`ztimer_usec` is included. In which case the `xtimer` wrapper on top
of `ztimer` is used and `xtimer` is not directly selected. This
allows for the legacy api to be supported with `ztimer_usec` as
a drop-in replacement.

If `event_timeout` and `event_timeut_ztimer` are selected then
`event_timeout` SRC file is excluded from compilation.
2021-11-17 10:15:11 +01:00
chrysn
69dadf61e9
Merge pull request #17152 from maribu/sys/posix/sockets
sys/posix/socket: align struct sockaddr{,_storage}
2021-11-16 13:55:27 +01:00
Benjamin Valentin
3303b8c16a Makefile.include: rename Makefile.ci target to create-Makefile.ci
If we

    -include Makefile.ci

and `Makefile.ci` does not exist, but we provide `make` with a way
on how to do so, it will try to create `Makefile.ci`.

This is not what we want, but I don't know how to disable this automagic.
So rename the target to `create-Makefile.ci` to avoid the conflict.
2021-11-15 20:20:11 +01:00
benpicco
7c8504186e
Merge pull request #16109 from benpicco/dist/tools/create_makefile.ci.sh
tools/insufficient_memory: add create_makefile.ci.sh and Makefile.ci make target
2021-11-15 18:12:01 +01:00
Benjamin Valentin
0b3e4cd43f tools/insufficient_memory: add create_makefile.ci.sh 2021-11-15 17:41:54 +01:00
Marian Buschsieweke
4b02d0fbc1
makefiles/arch: use -std=gnu11 also for MIPS
This brings MIPS back in line with the other archs.
2021-11-11 09:55:24 +01:00
benpicco
4c61a99125
Merge pull request #17127 from benpicco/riscv-none-embed
makefiles: RISC-V: prefer target triple from riotdocker
2021-11-05 23:20:12 +01:00
Benjamin Valentin
b4dc8a5366 makefiles: RISC-V: prefer target triple from riotdocker 2021-11-04 10:02:04 +01:00
2b696fd770
stdio_semihosting: Convert to ztimer 2021-11-03 11:39:26 +01:00
Marian Buschsieweke
ed9bf358c5
sys/shell: Add nice shell command via module nice 2021-11-02 20:44:32 +01:00
Francisco
7f3344870d
Merge pull request #16972 from Ollrogge/flashpage_pr
periph/flashpage: extend API
2021-10-26 12:51:05 +02:00
Gunar Schorcht
697c44811a
Merge pull request #16911 from yarrick/esp_jtag
cpu/esp32: Add openocd programming support
2021-10-26 01:24:27 +02:00
Ollrogge
741943f021 cpu/msp430_common: extend flashpage API 2021-10-25 15:03:50 +02:00
Karl Fessel
c9f4d11c52
Merge pull request #16966 from yarrick/net_v6
sys/net: Add ipv4/ipv6 pseudomodules

to ease code unification
2021-10-20 11:58:26 +02:00
Erik Ekman
cbfe502cc6 cpu/esp32: Reset when starting debugging
To avoid 'Target not examined yet' error
2021-10-18 20:11:32 +02:00
Erik Ekman
1c6d7dcdaf tools/openocd: Make verifying flashed image optional
Checksumming flash is not supported on xtensa platform:

Warn : not implemented yet

make: *** [.../RIOT/examples/saul/../../Makefile.include:796: flash] Error 1
2021-10-15 10:13:25 +02:00
Erik Ekman
2df7d499c8 tools/openocd: Export IMAGE_OFFSET only when flashing 2021-10-15 10:12:40 +02:00
Erik Ekman
3d7d211157 cpu/esp: Always create app.elf.bin and partitions.bin
Even if programmer is not esptool
2021-10-15 09:59:38 +02:00
Marian Buschsieweke
32be74291c
Merge pull request #16790 from maribu/cpu/avr8_common/ldscripts
cpu/avr8_common: Fix link with binutils > 2.35.2
2021-10-15 09:59:14 +02:00
Marian Buschsieweke
62d6a560b1
cpu/avr8_common: Fix link with binutils > 2.35.2
The xfa.ld script is incompatible with binutils > 2.35.2 and results
in firmwares that wont boot. Sadly, I couldn't figure out an elegant
way to fix the issue. Instead, I modified the linker script provided
by binutils to also include XFA.
2021-10-13 16:37:19 +02:00
Leandro Lanzieri
e8ad257d66
Makefile.base: do not clean objects of bindist modules 2021-10-13 14:22:51 +02:00
04f1ed0274
make: add info-emulated-boards helper target 2021-10-12 10:39:57 +02:00
Erik Ekman
9844953da4 sys/net: Add ipv4 pseudomodule
Enabled when lwIP uses IPv4.
2021-10-11 21:37:47 +02:00
Erik Ekman
3df56d576f sys/net: Add ipv6 pseudomodule
Enabled when GNRC, lwIP or OpenWSN uses IPv6
2021-10-08 10:27:22 +02:00
Francisco
93bff48538
Merge pull request #16909 from leandrolanzieri/pr/cpu/riscv/model_kconfig
cpu/riscv: model Kconfig
2021-10-05 16:51:17 +02:00
2d00852a74
makefiles/pseudomodules: remove driver specific pseudomodules 2021-10-05 11:48:53 +02:00
chrysn
2219a7a2e3 docker: pass CONTINUE_ON_EXPECTED_ERRORS into container 2021-10-01 15:46:45 +02:00
Leandro Lanzieri
cf753c6790
cpu/riscv_common: model Kconfig 2021-10-01 11:26:15 +02:00
benpicco
a39c0e1010
Merge pull request #16750 from benpicco/gnrc_ipv6_auto_subnets
gnrc/ipv6_auto_subnets: relax topology requirements
2021-09-28 19:07:21 +02:00
Benjamin Valentin
6742fb8076 gnrc/ipv6_auto_subnets: relax topology requirements 2021-09-28 16:57:10 +02:00
Leandro Lanzieri
0129cbe954
Merge pull request #16594 from fjmolinas/pr_sys_fortuna_reseed_ms
sys/random/fortuna: change interval ressed to ms
2021-09-27 20:46:06 +02:00
Francisco Molina
1af2462404 sys/fortuna: remove need for now64
Use a timer to required a reseed, enable use of plain ztimer (no now64)
2021-09-27 17:30:05 +02:00
José Alamos
1ee57f80a0
Merge pull request #15030 from jia200x/pr/lora/remove_xtimer
drivers/sx127x: remove ZTIMER_USEC dependency
2021-09-27 11:41:22 +02:00
Francisco Molina
8e675cd64f makefiles/features_modules.inc.mk: add periph_rtc_rtt to init ignore 2021-09-27 10:25:11 +02:00
Marian Buschsieweke
65ddc09798
makefiles/vars.inc.mk: Document DEVELHELP and VERBOSE_ASSERT 2021-09-25 15:16:09 +02:00
Vera Clemens
06359e05ad drivers/lpsxxx: add support for lps22hh 2021-09-22 17:54:02 +02:00
Martine Lenders
ea8e632eda
Merge pull request #16765 from benpicco/RIOT_VERSION_CODE
build system: add machine-readable RIOT_VERSION_CODE macro
2021-09-22 12:47:35 +02:00
Benjamin Valentin
7ef2594327 core/include/kernel_defines.h: add RIOT_VERSION_NUM macro 2021-09-21 17:43:29 +02:00
Leandro Lanzieri
9980aa35b3
sys/net/credman: add key loading functions
This allows to load private and public keys encoded in DER format.
2021-09-20 08:10:59 +02:00
Benjamin Valentin
67f737b5e0 drivers/cc110x: use pseudo-modules for band selection 2021-09-17 12:58:10 +02:00
chrysn
0af6a5a7b5
Merge pull request #16857 from dylad/pr/docker/fix_particle_based_board_flashing
makefiles/docker.inc.mk: pass PARTICLE_MONOFIRMWARE to docker env vars
2021-09-15 20:01:14 +02:00
Dylan Laduranty
c6b6c71a42 makefiles/docker.inc.mk: pass PARTICLE_MONOFIRMWARE to docker env vars
This will allow the generation of the bin-checksummed file needed by dfu-util flashtool and thus allow to flash the all particle-based board with RUN_IN_DOCKER=1
2021-09-15 15:45:05 +02:00
4fd1ae89a7
Merge pull request #16463 from kfessel/p-sched-int
core/sched: add runq_callback hook and runq inspection functions
2021-09-15 15:43:50 +03:00
Kevin "Tristate Tom" Weiss
4c6dc973c8
Merge pull request #16719 from MrKevinWeiss/pr/kconfig/cc2538
cpu/cc2538: Add Kconfig support
2021-09-09 08:21:09 +02:00
Peter Kietzmann
b98fa6d9d0
Merge pull request #16489 from Ollrogge/fido2_pr
FIDO2 support in RIOT
2021-09-08 21:14:52 +02:00
Ollrogge
e127a4d865 FIDO2 support in RIOT 2021-09-08 15:22:40 +02:00
MrKevinWeiss
636c6c4cdb
cpu/cortexm: Use DEVELHELP to add stack guard 2021-09-08 12:40:30 +02:00
Kevin "Tristate Tom" Weiss
73e32207df
Merge pull request #16052 from miri64/dist/enh/genconfig-env
makefiles/kconfig.mk: generate config file from RIOT_CONFIG_% environment variables
2021-09-08 11:00:59 +02:00
Benjamin Valentin
459f3987d0 gnrc: select gnrc_netif if netdev_default is selected
A generic application might select netdev_default instead of
gnrc_netdev_default to pull in the default network interface.

So pull in gnrc_netif if netdev_default is selected with GNRC.
2021-09-06 15:43:40 +02:00
Martine Lenders
473ab2f9d3
Merge pull request #16795 from miri64/make-tests-with-config/feat/config-check
make: add capability to check config for `test-with-config`
2021-09-04 00:14:02 +02:00
Martine Lenders
0b230605a4
make: add capability to check config for test-with-config 2021-09-03 16:41:26 +02:00
Martine Lenders
13cc189a8a
Revert "Remove which from shell invocations" 2021-09-03 11:27:03 +02:00
chrysn
d4ed42ad8f
Merge pull request #16776 from chrysn-pull-requests/shell-make-fixes-2
Remove `which` from shell invocations
2021-09-03 09:03:59 +02:00
chrysn
6b50033766 makefiles: Replace which with command -v
As the POSIX documentation[1] of `command -v` guarantees that on error
there will be no output (and there will be output in the other cases),
the tests in Makefiles were simplified to test for output equality to
the empty string.

Redirects swallowing error outputs were removed, as the command produces
no error output there (as recommended at [2]).

Existing uses of `command` are simplified as well.

[1]: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html
[2]: https://salsa.debian.org/debian/debianutils/-/blob/master/debian/NEWS
2021-09-02 16:30:46 +02:00
benpicco
9ac9b41a57
Merge pull request #16536 from benpicco/gnrc_ipv6_nib_subnets
gnrc_ipv6_simple_subnets: auto-configuration for nested subnets on a simple tree topology
2021-09-02 16:24:53 +02:00
Benjamin Valentin
f4828cc7ae gnrc_ipv6_nib: add hook for Prefix Information Option 2021-09-02 15:35:14 +02:00
2ec9ec13a4
Merge pull request #16770 from fjmolinas/pr_suit_use_Q_for_silencing
makefiles/suit*: use $(Q) to silence output
2021-09-01 11:00:53 +02:00
Francisco Molina
22d012ff50 makefiles/suit*: use $(Q) to silence output 2021-09-01 08:57:13 +02:00
Marian Buschsieweke
a3f880c858
Merge pull request #16509 from fjmolinas/pr_clang_tidy_target
makefiles/clang-tidy: initial support
2021-08-31 15:26:33 +02:00
chrysn
de768b5d23
Merge pull request #16775 from chrysn-pull-requests/shell-make-fixes
makefiles: Sort >/dev/null and 2>&1
2021-08-27 10:37:51 +02:00
benpicco
dde4772aa4
Merge pull request #16003 from benpicco/cpu/nrf52/saul-vddh
cpu/nrf52: add SAUL driver for VDDH sensor
2021-08-25 20:31:53 +02:00
chrysn
648e014184 makefiles: Sort >/dev/null and 2>&1
Redirecting `2>&1 >/dev/null` moves stderr to stdout first and then
stdout to /dev/null; when checking for command existence or otherwise
silencing output, this is usually not desired (but only starts producing
errors when the actual command fails, which is often not tested).
2021-08-24 14:41:54 +02:00
Gerson Fernando Budke
307e8c7a17 cpu/atxmega: Add external bus interface
Introduce XMEGA EBI driver.  This enable EBI for use with all memory
supported by the device and peripherals. It include support to  SRAM,
SDRAM, LCDs or any other external bus access.

Note: This feature only works for A1/A1U series, which are, the series
with EBI hardware.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-24 08:35:41 -03:00
benpicco
be85777cd1
Merge pull request #16678 from viktorbatista/modules/lm75
drivers/lm75: driver for the lm75 sensor and derivatives
2021-08-20 18:04:12 +02:00
Vitor Batista
9267fa2670 drivers/lm75: driver for the lm75 sensor and derivatives 2021-08-20 17:09:40 +02:00
Martine Lenders
f2f6700865
Merge pull request #16228 from JKRhb/dhcp-ia-na
sys/net/dhcpv6: Add IA_NA support to the DHCPv6 client
2021-08-11 20:50:01 +02:00
Jan Romann
234a71870a
sys/net/dhcpv6: Add IA_NA implementation 2021-08-11 19:15:35 +02:00
Martine Lenders
4afc65688f
dhcpv6_relay: initial import of a lightweight DHCPv6 relay agent 2021-08-11 13:19:06 +02:00
Martine Lenders
6da2f0fab3
Merge pull request #16669 from miri64/sock_dns/enh/factor-out-msg-parsing
sock_dns: factor out message parsing and composition
2021-08-11 12:43:26 +02:00
Martine Lenders
e8cbc6da85
dns: move message parsing and composition to own module 2021-08-11 11:55:29 +02:00
Sören Tempel
6dc6433663 picolibc: Reset color in error message if picolibc is not available
This is a regression which was introduced in #16114, without resetting
the color the red color will be used for all following text written to
the terminal and will also cause the shell prompt etc. pp. to be colored
in red which is undesirable. This commit fixes this regression by using
the ANSI escape sequences to reset the color after the error message has
been written.
2021-08-05 20:52:15 +02:00
Martine Lenders
8492bd7b12
Merge pull request #16568 from benpicco/gnrc_ipv6_nib-rio
gnrc_ipv6_nib: handle route information option and add config to add to final RAs
2021-08-03 15:44:01 +02:00
Benjamin Valentin
12a0d481dc gnrc_ipv6_nib: handle route information option 2021-07-22 15:54:46 +02:00
benpicco
c4bc40f03b
Merge pull request #16658 from miri64/dhcpv6_client/enh/optional-ia_pd
dhcpv6_client: make IA_PD an optional module
2021-07-21 14:36:34 +02:00
Martine Lenders
38d14b6335
dhcpv6_client: make IA_PD an optional module
Prefix delegation used to be the only supported feature of our DHCPv6
client, but by now it also supports MUD, DNS recursive name servers and
IA_NA is on the horizon. So it makes sense to make IA_PD an optional
module like all those other features are as well.
2021-07-21 11:37:29 +02:00
Benjamin Valentin
da7d3779bf examples/gnrc_networking: move udp command to shell commands
The `udp` command is a valuable debugging tool that is also useful
outside of the gnrc_networking example.

To enable easy sending of udp messages in other applications during
development, move the `udp` command to the shell module and introduce
the `gnrc_udp_cmd` pseudo-module to enable it.
2021-07-21 11:19:47 +02:00
benpicco
4f905bfa8c
Merge pull request #15493 from benpicco/riotboot-serial
riotboot: implement serial flasher
2021-07-21 11:01:31 +02:00
Benjamin Valentin
a82d4e6683 makefiles: add riotboot_serial as flash tool 2021-07-20 22:51:15 +02:00
Martine Lenders
d9be29318d
gnrc_dhcpv6_client_mud_url: rename to dhcpv6_client_mud_url
There is no real reason for that pseudo-module to use the `gnrc_`
prefix. Neither does it need GNRC-components (except, but optionally, as
a network stack of course), nor is it implemented with in the GNRC
network stack.
2021-07-20 15:30:34 +02:00
Jose Alamos
dc482cffff
makefiles/kconfig.mk: force SHOULD_USE_KCONFIG if config file is present
Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2021-07-14 01:16:48 +02:00
Akshai M
81e60e24eb boards/wl55jc : Add support for sx1261 2021-07-09 11:16:41 +02:00
Marian Buschsieweke
03670e6e86
Merge pull request #16630 from jia200x/pr/remove_nrf52840_legacy
drivers/nrf802154: remove nrf802154_rf_netdev_legacy
2021-07-09 09:53:41 +02:00
Jose Alamos
670782a76b
drivers/nrf802154: remove nrf802154_rf_netdev_legacy 2021-07-08 18:43:54 +02:00
Jose Alamos
8f553488d1
drivers/cc2538_rf: remove cc2538_rf legacy 2021-07-08 15:37:42 +02:00
János Brodbeck
23a8659bdf
net/gcoap: support DTLS 2021-07-07 14:45:30 +02:00
MrKevinWeiss
652e4f41c1
cpp: Use modules for cpp and libstdcpp
Also add better error message when kconfig or make includes a .cpp without cpp module.
2021-07-02 15:11:10 +02:00
Martine Lenders
28931da0ed
makefiles/kconfig.mk: generate config file from RIOT_CONFIG_% vars 2021-06-25 14:04:39 +02:00
Martine Lenders
4deb15cb6f
dhcpv6_client: add DNS recursive name server option handling
Signed-off-by: Martine Lenders <m.lenders@fu-berlin.de>
2021-06-24 16:01:59 +02:00
Benjamin Valentin
9fbab8f0f8 drivers/slipdev: report NETOPT_ADDRESS to simulate l2 address
A lot of things break if `GNRC_NETIF_FLAGS_HAS_L2ADDR` is not set.
In order to handle router advertisements and auto-configureation,
generate a faux l2 address based on the netdev ID.
2021-06-21 12:42:03 +02:00
Francisco Molina
f74d8ea6bb
makefiles/boot/riotboot.mk: pass IOTLAB_NODE 2021-06-16 12:24:09 +02:00
Francisco Molina
edeacbf85a
makefiles/boot/riotboot: clean bootloader when cleaning application 2021-06-07 09:38:52 +02:00
Francisco Molina
0d607e4eb0
makefiles/stdio.inc.mk: stdio_uart require uart or lpuart 2021-06-01 12:38:07 +02:00
fde0bb7819
Merge pull request #16505 from fjmolinas/pr_event_timeout_ztimer
sys/event/timeout: add option to use ztimer as backend
2021-06-01 12:19:39 +02:00
Francisco Molina
2c18d0d3d6
makefiles/clang-tidy: initial support 2021-05-28 11:57:20 +02:00
Francisco Molina
4f34e50130
sys/event/timeout: add option to use ztimer as backend 2021-05-27 22:34:01 +02:00
Jnae
b287d120ff at86rf215: timestamp counter for rx frames 2021-05-12 15:27:36 +02:00
Karl Fessel
9f00528a58 core/sched: add runq_callback hook and runq inspection functions 2021-05-10 15:01:58 +02:00
Francisco
8cb8bba4e7
Merge pull request #16104 from maribu/external_modules
build system: Rework EXTERNAL_MODULE_DIRS
2021-05-07 23:27:17 +02:00
Marian Buschsieweke
6ac8aba955
build system: rework EXTERNAL_MODULE_DIRS
Previously, external modules had to be individually added to both
EXTERNAL_MODULE_DIRS and USEMODULE. If those where not in sync, this
resulted in build errors.

With this commit, search folders for external modules are added to
EXTERNAL_MODULE_DIRS instead. So lets say the file system structure is
like this

```
└── /path/to/external/modules
    ├── mod_a
    │   ├── Makefile
    │   ├── Makefile.dep
    │   ├── Makefile.include
    │   ├── foo.c
    │   └── include
    │       └── external_module.h
    └── mod_b
        ├── Makefile
        └── bar.c

```

One now adds `/path/to/external/modules` to EXTERNAL_MODULES and only
with `USEMODULE += mod_a` the corresponding module, dependencies and
include settings are actually used. Hence, it is possible to configure
`EXTERNAL_MODULE_DIRS` from `~/.profile` or `~/.bashrc` once and never
needs to worry about them again.
2021-05-07 21:29:05 +02:00
Leandro Lanzieri
d36628d37e
Merge pull request #16183 from Ollrogge/aes_pr
sys/crypto: Enable support for AES-192, AES-256
2021-05-05 09:19:12 +02:00
Leandro Lanzieri
8107b8f3f2
Merge pull request #16434 from fjmolinas/pr_color_functions
TAKEOVER: makefiles/color: Add color functions, new attempt. #12156
2021-05-04 18:29:54 +02:00
Francisco Molina
bc8bfc7bb9
makefiles/info-global.inc.mk: fix DEFAULT_MODULE inclusion 2021-05-04 11:28:17 +02:00
Juan Carrano
9fe8f54db9
makefiles/color: Add color functions.
c_xxxx functions can be used to wrap a piece of text in a
$(COLOR_X)...$(COLOR_RESET) block, thereby avoiding the easy mistake
of forgetting to place a COLOR_RESET.
2021-05-04 10:57:47 +02:00
Juan Carrano
1036115f2d
makefiles/utils/ansi: Refactor ansi codes into their own file.
The escape codes and special chars now live in their own module. The
color module is only concerned with detecting whether to use colors or
not.

Additional variables are defined with hard a coded ESC char, a tab and a
newline. This removes the need for echo or printf.
2021-05-04 10:52:50 +02:00
Juan Carrano
3ed96312af
makefiles/color: preprocess color strings.
The color strings COLOR_* are redefined so that they don't have to be
processed by "echo -e". This is done by storing the already interpreted
ANSI sequence in a shell variable.

With this change, not only can color messages be printed using normal
`echo` with no switches: colors also work with the `info` and `warning`
builtins of make.

The COLOR_ECHO variable is kept because it is also being used (confusingly)
to intepret tabs an newlines. This will be fixed in another commit.

This change should change absolutely anything and colors should still work
as always.
2021-05-04 10:50:58 +02:00
Ollrogge
b1a2d4787d sys/crypto: Remove leftover code related to deprecated 3DES block cipher 2021-05-03 17:34:53 +02:00
Ollrogge
427d2bd06e sys/crypto: Enable support for AES-192, AES-256 2021-05-03 17:34:49 +02:00
b2148cc34b
makefiles/kconfig: add pkg-prepare as menuconfig dependency 2021-04-28 11:19:24 +02:00
46cc7dedf3
tools/programmer.inc.mk: programmer wrapper is not used by default 2021-04-28 09:46:02 +02:00
99a40d8b78
makefiles/vars.inc.mk: update USE_PROGRAMMER_WRAPPER_SCRIPT comment 2021-04-28 08:42:09 +02:00
Francisco
31a6aa1c9c
Merge pull request #16307 from iosabi/esp_table
esptool: Allow to pass the partition table CSV.
2021-04-27 14:26:51 +02:00
iosabi
4d40e55edf esptool: Allow to pass the partition table CSV.
The partition table of the device in the esp8266 and esp32 based boards
was set to a default table with one "factory" partition with exactly
the size of the compiled firmware. This is problematic if we want to
update the device on the field.

This patch allows to set the `PARTITION_TABLE_CSV` variable from the
Makefile to a .csv file with a custom partition table, for example this
could be set to a partition table with two ota entries, or with a single
factory entry but of a known fixed size.
2021-04-26 22:50:45 +00:00
285ea200e9
Merge pull request #16371 from benpicco/makefiles/tools/programmer-disable
tools/programmer: do not use programmer wrapper
2021-04-26 10:24:06 +02:00
Benjamin Valentin
a0b83f8195 makefiles/tools/programmer: do not use programmer wrapper
While nice at first, this causes more issues than it's worth for
a slightly more pretty output.

Hiding information from developers is not a good idea, especially when
it comes to an often finicky programming step.

While in theory error output should be caught, there are enough
cases where the programmer will get stuck in a loop or require user
input that hiding programmer output by default is a bad idea.
2021-04-21 00:48:42 +02:00
iosabi
f72efb1daf drivers/si70xx: Add support for Si705x sensors
The Silicon Labs Si705x sensors (Si7050/1/3/4/5) are very similar to the
Si7021 sensors featuring only a temperature sensor and no humidity
sensor. The only difference between the Si705x is the temperature
accuracy of the reading, ranging from +/- 0.1 C in the Si7051 to +/- 1 C
in the Si7050.

This patch adds support for this family of sensors extending the
functionality of the existing si70xx driver. Following the style of
other modules, this implements a pseudomodule per supported chip, adding
si7050, si7051, si7053, si7054 and si7055 pseudomodules.

As a minor change this patch also implements the missing
si70xx_get_serial, si70xx_get_id and si70xx_get_revision functions that
were declared in the si70xx.h header but implemented as private
functions. The si70xx_get_id() may be relevant for the application to
know at run time exactly which version of the hardware is installed.

The updated test running with a Si7051 shows the following output, which
seems consistent with the room temperature conditions during the test.

```
make SI70XX_VARIANT=si7051 -C tests/driver_si70xx/ all flash
```

```
SI70XX temperature and humidity sensor test application
Initializing sensor...
[OK]
Found SI7051 sensor, revision 32
temperature: 24.71 C
temperature: 24.69 C
```
2021-04-17 20:14:35 +00:00
benpicco
fa8057ffbf
Merge pull request #16180 from nicoHarel/drivers/ds3231
drivers/ds3231: add alarm support
2021-04-13 13:57:16 +02:00
Leandro Lanzieri
58ec967cc6
Merge pull request #16264 from MrKevinWeiss/pr/pkgupdate/kconfig
pkg/*/Kconfig: Model simple pkgs in Kconfig
2021-04-12 19:01:18 +02:00
eca4ff7a04 make: make riotboot target depend on pkg-prepare
When riotboot depends on a package for building that the main
application also depends on (e.g., gecko_sdk for efm32), previously,
that package would be checked out twice in parallel, which fails.

This commit adds pkg-prepare as dependency to the bootloader target,
ensuring any packages are already up-to-date before calling the
bootloader submake.
2021-04-09 11:12:58 +02:00
MrKevinWeiss
a3075ec0c4 makefiles/info: Add make info-packages command 2021-04-08 16:44:10 +02:00
Dylan Laduranty
db7d0777b8
Merge pull request #16260 from dylad/pr/riotboot_dfu/auto_dfu_alt
riotboot_dfu: select DFU_ALT automatically when invoking make flash-slotX
2021-04-06 20:27:18 +02:00
Nicolas Harel
c710aff9c6 drivers/ds3231: add alarm support
tests/driver_ds3231

drivers/ds3231: add alarm support with IRQ

drivers/ds3231: alarm support and documentation

drivers/ds3231: alarm interrupt with mutex

drivers/ds3231: alarm, _unlock function

fixup! drivers/ds3231: add alarm support
2021-04-06 14:48:31 +02:00
dylad
7eae017d5d makefiles/dfu-util: add default DFU_ALT for riotboot/flash-slotX 2021-04-01 20:29:46 +02:00
4fc3112995
makefiles: add sx1261/2 pseudo-modules 2021-03-30 16:12:39 +02:00
Francisco
2b7a6acecf
Merge pull request #16252 from maribu/avr-ldscipts
cpu/avr8_common: move ldscripts from atmega_common
2021-03-30 12:13:28 +02:00
Marian Buschsieweke
5cc62437da
cpu/avr8_common: move ldscripts from atmega_common
The ldscripts are already used for both ATmega and ATxmega, so it
makes sense to have them in the common folder.
2021-03-30 10:50:09 +02:00
chrysn
bf571ad7b2 riotboot: Build ARCHIVES
Like /Makefile.include builds ARCHIVES before ELFFILES.
2021-03-22 20:43:41 +01:00
Benjamin Valentin
f3c1106c9e cpu/nrf52: add SAUL driver for VDDH sensor 2021-03-17 15:35:23 +01:00
Gerson Fernando Budke
1d55c85f24 makefiles/tools/avrdude: Add xmega cpu conditions
The current script don't allow change debug protocol and not allows
set proper part name for xmega.  This make DEBUGPROTO optional with
JTAG as default protocol.  It add a filter for atxmega to add proper
AVRDUDE_PROGRAMMER_FLAGS.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
4b2bcd560b makefiles/arch/avr8: Add xmega linker conditions
The current script doesn't allow change script path and name.
Add LDSCRIPT_COMPAT_PATH and LDSCRIPT_COMPAT_NAME default
values to allow a unique path inside atxmega folder.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Gerson Fernando Budke
699248c65f makefiles/arch/atmega.inc.mk: Rename to avr8.inc.mk
Atmel AVR-8 CPU was reworked to accomodate variants like ATxmega.
This rename to atmega.inc.mk to avr8.inc.mk to be compliant with
new directory structure.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-03-15 20:16:10 -03:00
Leandro Lanzieri
246391a9fa
cpu/nrf52/nrf802154: use driver specific legacy pseudomodule
This introduces the nrf802154_netdev_legacy pseudomodule that switches
to the netdev-based implementation of the nrf802154 radio driver.
2021-03-10 14:18:12 +01:00
Leandro Lanzieri
f0e7dfdf76
cpu/cc2538/radio: use driver specific legacy pseudomodule
This introduces the cc2538_rf_netdev_legacy pseudomodule that switches
to the netdev-based implementation of the cc2538 radio driver.
2021-03-10 14:18:12 +01:00
Francisco
fc82e3916e
Merge pull request #15931 from haukepetersen/add_dbgpin3
sys: add `dbgpin` module for debugging and profiling (take 2)
2021-03-09 10:26:37 +01:00
bbe0c94167
sys/auto_init: add mechanism for auto_init_screen 2021-03-03 18:00:49 +01:00
Francisco Molina
930eb03a8c
makefiles/tools/programmer: do not use wrapper with pyocd
When multiple debuggers are connected then pyocd shows an interactive
UI to select the user interface to flash, with python wrapper this
is lost.

Until a similar functionality is implemented with the wrapper disable
the programmer wrapper script when pyocd is used.
2021-03-02 14:43:19 +01:00
Francisco Molina
cfe9e0f6a1
makefiles/libc/picolibc.mk: only fail when building 2021-03-01 13:47:53 +01:00
Hauke Petersen
2d582cdd2e sys: initial import of dbgpin module 2021-02-26 11:34:52 +01:00
Kevin "Tristate Tom" Weiss
a31ffdc934
Merge pull request #16092 from miri64/kconfig/fix/app.config-mutual-exclusive
Kconfig: make app.config and app.config.test mutually exclusive
2021-02-26 09:51:58 +01:00
363412cd72
Merge pull request #15970 from aabadie/pr/make/redirect_flash_output
make: print spinning icon while flashing/resetting
2021-02-25 21:39:45 +01:00
af37f5b9bc
makefiles/boot: map PROGRAMMER_QUIET to riotboot/flash% 2021-02-25 12:59:40 +01:00
a47bf12719
makefiles/vars.inc.mk: document PROGRAMMER_QUIET variable 2021-02-25 12:59:39 +01:00
c181ba2fe4
Makefile.include: use programmer wrapper to silent output 2021-02-25 12:59:39 +01:00
56165d22a4
arch/riscv: use natural malign-data type 2021-02-25 12:50:52 +01:00
Martine Lenders
d4828ee7d9
Kconfig: make app.config and app.config.test mutually exclusive 2021-02-25 10:50:39 +01:00
benpicco
7c71fb2c78
Merge pull request #16012 from maribu/fix-feature-resolution-again
build system: don't optionally use conflicting features
2021-02-24 20:22:50 +01:00
Francisco
2e06957e3b
Merge pull request #15983 from aabadie/pr/make/supported_programmers
boards: make: introduce mechanism to define supported programmers
2021-02-24 16:47:19 +01:00
367a8e8574
Merge pull request #16083 from benpicco/cosy
make: add cosy as a build target
2021-02-24 13:59:11 +01:00
64f88214cd
makefiles/info.inc.mk: add target to print supported programmers 2021-02-24 13:29:40 +01:00
a1118c2e19
makefiles/vars.inc.mk: document PROGRAMMER* vars 2021-02-24 13:29:39 +01:00
b4fecf33ed
makefiles/stm32.inc.mk: allow to override supported programmers
The check on supported programmers is now also done in the main Makefile.include, so it's removed from there
2021-02-24 13:28:01 +01:00
32cbbe05f2
makefiles/sam0.inc.mk: define list of supported programmers 2021-02-24 13:28:01 +01:00
Benjamin Valentin
d95f21fd67 make: add cosy as a build target
`cosy` is a graphical memory usage analyzer.
It is a great tool, but pretty hidden.
Add it as a build target so it can be easiely summoned for any application and board.
2021-02-24 12:11:00 +01:00
Leandro Lanzieri
d5fc632ef4
Merge pull request #16053 from fjmolinas/pr_kconfig_external_modules
Kconfig: source EXTERNAL_MODULES configurations
2021-02-24 08:56:56 +01:00
Francisco
bf7b727c4a
Merge pull request #16049 from aabadie/pr/make/namespace_programmer_vars
make: namespace programmer specific variables
2021-02-24 08:17:47 +01:00
benpicco
34d7d23d88
Merge pull request #16008 from kfessel/p-make-picolib-failure
makefile/..picolibc: make missing picolibc fail louder
2021-02-23 22:00:41 +01:00
e515c11b9f
tools/pyocd: deprecate FLASH_TARGET_TYPE 2021-02-23 21:22:56 +01:00
1c2132a508
tools/openocd: deprecate DEBUG_ADAPTER and PRE_FLASH_CHECK_SCRIPT 2021-02-23 21:22:55 +01:00
3b9682788c
tools/uf2conv: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
571a113a50
tools/dfu-util: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
b1d0fe0b2b
tools/cc2538-bsl: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
3ed4734821
tools/bossa: add deprecation warning about FFLAGS_OPTS 2021-02-23 21:22:55 +01:00
7e21f25779
make: namespace openocd PRE_FLASH_CHECK_SCRIPT variable 2021-02-23 21:22:55 +01:00
3f02e3bd12
boards/openmote*: introduce CC2538_BSL_FLASHFFILE variable
This allows to remove the last cc2538-bsl programmer conditional at board level
2021-02-23 21:22:54 +01:00
6b6abed29b
make: namespace bossa optional flags variable 2021-02-23 21:22:53 +01:00
9b0a626f0a
make: namespace cc2538-bsl optional flags variable 2021-02-23 21:22:53 +01:00
7ac924f15c
make: namespace uf2conv specific flags variable 2021-02-23 21:22:53 +01:00
6d5a5b9528
make: namespace dfu-util optional flags var 2021-02-23 21:22:53 +01:00
74274d9e19
boards: remove openocd/pyocd config conditionals 2021-02-23 21:22:52 +01:00
6f47505997
make: namespace pyocd FLASH_TARGET_TYPE variable 2021-02-23 21:22:52 +01:00
603186f913
make: namespace openocd DEBUG_ADAPTER variable 2021-02-23 21:22:52 +01:00
Francisco Molina
582e3a3153
Kconfig: source EXTERNAL_MODULES configurations 2021-02-23 19:16:33 +01:00
Francisco
ddc5dea8ed
Merge pull request #16064 from leandrolanzieri/pr/makefiles/kconfig_include_config_only_when_running
makefiles/kconfig: include out.config only when running Kconfig
2021-02-23 18:58:52 +01:00
554a02ff2a
tools/esptool: cleanup preflash and qemu integration 2021-02-23 11:01:38 +01:00
Leandro Lanzieri
017fc36c7b
makefiles/kconfig: include out.config only when running Kconfig 2021-02-22 16:15:46 +01:00
24185611d1
Merge pull request #16059 from aabadie/pr/make/esptool_qemu_fix
make/esptool: fix FFLAGS inclusion order for qemu
2021-02-22 14:19:42 +01:00
benpicco
bd7782c23f
Merge pull request #16034 from maribu/test-boards-supported
makefiles/tests: add unit test for info-boards-supported
2021-02-22 14:15:50 +01:00
Marian Buschsieweke
47414f8e3b
makefiles/tests: add unit tests for fixed bug
Make sure that optional features that would cause conflicts don't end up being
used again.
2021-02-22 12:06:27 +01:00
Marian Buschsieweke
43781c3fba
build_system: don't optionally use conflicting features
If adding a provided but optional feature would result in a feature conflict,
don't use it.
2021-02-22 12:06:27 +01:00
430770886b
make/esptool: fix FFLAGS inclusion order for qemu 2021-02-22 10:35:38 +01:00
9153e39dab
makefiles/edbg: refactor to use wrapper script 2021-02-21 12:56:43 +01:00
Martine Lenders
b10ce9784a
Merge pull request #15989 from haukepetersen/opt_nrf52_dcdcento1
cpu/nrf5x: enhance enabling of internal DC/DC converter
2021-02-20 02:29:38 +01:00
Hauke Petersen
f69fcc162b make: introduce VDD_LC_FILTER_x feature 2021-02-19 17:19:28 +01:00
Francisco
4c6524d18d
Merge pull request #16047 from aabadie/pr/make/riotboot_programmer
makefiles/boot: use same PROGRAMMER to flash riotboot
2021-02-19 13:20:16 +01:00
15124e4769
Merge pull request #15002 from kaspar030/pr/xfa_v3
core: introduce crossfile arrays (xfa) v3
2021-02-18 14:49:22 +01:00
1a04e3c323
makefiles/boot: use same PROGRAMMER to flash riotboot 2021-02-18 14:34:17 +01:00
6711388afe cpu/mips_pic32_common: fix XFA support 2021-02-18 10:46:08 +01:00
f411fd4814 cpu/msp430_common: add XFA support 2021-02-18 10:46:08 +01:00
Marian Buschsieweke
8183bbb069
makefiles/tests: add unit test for info-boards-supported 2021-02-17 15:40:05 +01:00
Francisco Molina
8d63bc10c9
makefiles/info-global.inc.mk: reset features_required_any 2021-02-16 16:17:46 +01:00
Joakim Nohlgård
6adeec09e9 atmega_common: add arch specific XFA ldscript to properly place .roxfa 2021-02-16 14:55:26 +01:00
09df6a4549
Merge pull request #15971 from aabadie/pr/make/emulate_flash_bug
make/emulate: fix bugs when using flash target
2021-02-16 11:56:04 +01:00
Karl Fessel
f7a8e0840d Improve meassaging suggest workarounds 2021-02-15 14:40:03 +01:00
Karl Fessel
f3c0a4e602 makefile/..picolib: make missing picolib fail louder 2021-02-15 14:07:42 +01:00
Benjamin Valentin
95f814b5da CODING_CONVENTIONS.md: default to C11
The standard is 9 years old now, it is well supported in all mayor compilers.
In fact, features of the 'new' standard are already used in RIOT (std_atomic).

Let's make it the default and adapt the Makefiles accordingly.
2021-02-14 14:28:13 +01:00
54dbc555c0
Merge pull request #15176 from nmeum/pr/hifive1-llvm
fe310: Support compilation with clang
2021-02-13 18:53:54 +01:00
Francisco
579de7c35e
Merge pull request #15973 from maribu/feature-resolution-test
tests/feature_resolution: add build system unit tests
2021-02-13 09:53:48 +01:00
Marian Buschsieweke
6dcd3bb8ff
build system: support wrong target triples with LLVM
clang/LLVM is a bit more finicky with what target triples it accepts compared
to GCC. However, the GCC target triple is needed to properly locate the C
libraries. In case a locally installed GCC toolchain uses a technically not
fully correct target triple, it might be impossible to build with LLVM.

The solution here is to allow specifying a TARGET_ARCH_LLVM target triple
(which defaults to TARGET_ARCH), which is passed to clang. For locating the
C lib, still TARGET_ARCH is used.
2021-02-11 17:19:15 +01:00
Marian Buschsieweke
ed2ae85985
tests/feature_resolution: add build system unit tests
This test "application" contains a set of unit tests for the feature resolution
of RIOT's build system.
2021-02-10 21:05:38 +01:00
Marian Buschsieweke
4304600512
build system: fix using optional blacklisted features 2021-02-10 09:38:21 +01:00
Marian Buschsieweke
8fb30660b5
makefiles/features_check.inc.mk: fix declaration order
FEATURES_CONFLICTING previously was declared prior to the function it is
calling, resulting in empty output during the first dependency resolution
iteration. This fixes the order so that the conflicting features are detected
right from the first recursion.
2021-02-10 09:29:50 +01:00
Marian Buschsieweke
47035fbc2a
build system: fix feature resolution
Fix FEATURES_REQUIRED_ANY using more features than needed.
2021-02-09 21:24:03 +01:00
ed8f14e5fb
makefiles/cc2538-bsl: define FFLAGS as overridable + cleanup 2021-02-09 18:53:16 +01:00
dbd8c7975e
makefiles/jlink: define FLASHER var as overridable 2021-02-09 18:48:00 +01:00
Marian Buschsieweke
633dc78fa2
Merge pull request #15957 from maribu/features_required_any_order_fix
build system: fix FEATURES_REQUIRED_ANY
2021-02-09 17:34:25 +01:00
f97267ba68 sys/net: add netstats_neighbor 2021-02-09 12:27:58 +01:00
Marian Buschsieweke
f41dcc9a8d
build system: fix FEATURES_REQUIRED_ANY
Previously, FEATURES_REQUIRED_ANY didn't honor the order of the alternatives
provided, if none of the features were already in used and multiple options
are provided. This fixes this.
2021-02-09 10:45:03 +01:00
2692957c0e
riscv_common: Refactor common fe310 code to riscv_common 2021-02-05 09:32:19 +01:00
Dylan Laduranty
1f085cfd03
Merge pull request #15843 from benpicco/mtd_write_page_hl
mtd: rename mtd_write_page() -> mtd_write_page_raw(), add high-level mtd_write_page()
2021-01-28 18:43:42 +01:00
Benjamin Valentin
e8bbe1d1c7 mtd: re-add mtd_write_page()
Add a write_page() command that performs a read-modify-write cycle
if necessary.
2021-01-28 11:51:28 +01:00
1bde5296fd
Merge pull request #14987 from bergzand/pr/riscv/semihosting
stdio_semihosting: Extend with RISC-V support
2021-01-27 18:49:35 +01:00
0a6c9c4ec0
stdio_semihosting: Extend with RISC-V support
RISC-V support semihosting in very similar way as the cortex-m
microcontrollers. The code calls a breakpoint instruction and the
attached debugger reads/writes registers and memory for stdio.

The RISC-V architecture doesn't support a call number with the EBREAK
instruction, to allow the debugger to detect a semihosting break point,
the EBREAK instruction is wrapped in a SLLI and SRAI instruction. These
use x0 as output register, making them NOP instructions.

One caveat when using this is that the RISC-V core traps the EBREAK
instruction with trap code 3 when no debugger is attached. Restarting
the application with the debugger attached avoids this.
2021-01-27 17:52:19 +01:00
Francisco Molina
1ed4c3a230
makefiles/dependencies_debug.inc.mk: add TOOLCHAIN 2021-01-27 11:11:43 +01:00
7212ad7dbd
Merge pull request #15860 from leandrolanzieri/pr/makefiles/riotboot_add_builddeps_dependency
makefiles/riotboot: ensure BUILDDEPS are built before riotboot targets
2021-01-27 10:34:29 +01:00
ce97e9d8ce
Merge pull request #15859 from fjmolinas/pr_newlib_feature
treewide: model newlib as a FEATURE
2021-01-27 10:06:08 +01:00
Francisco Molina
63a2a6ce1b
treewide: model newlib as a FEATURE 2021-01-27 09:24:25 +01:00
Leandro Lanzieri
c99559222f
makefiles/riotboot: ensure BUILDDEPS are built before riotboot targets 2021-01-26 18:04:22 +01:00
ad20733f01
Merge pull request #15771 from aabadie/review_test_manual
tests: add test-with-config and test-as-root targets
2021-01-26 09:33:14 +01:00
Francisco
de9f29cf42
Merge pull request #15835 from leandrolanzieri/pr/makefile/fix_default_modules_in_usemodules
Makefile.include: avoid recursive expansion of USEMODULE
2021-01-25 21:50:03 +01:00
Gaëtan Harter
54c4536945
tests: add 'test-as-root' and 'test-with-config' targets
These targets cannot be used in an automated testing workflow without
complex configuration or extend rights.

- Add new 'test-as-root' target for tests that require to be root or
start an external daemon as root
- Add new 'test-with-config' target for tests that require a specific
configuration to succeed (module configuration or hardware
configuration)
2021-01-25 21:10:06 +01:00
Gaëtan Harter
4412b9a4ab
tests/tests.inc.mk: move tests targets and variables
Create a file for setting tests targets and variables.
It is a refactoring before adding new commands.
2021-01-25 21:10:06 +01:00
benpicco
83201ddb00
Merge pull request #15760 from maribu/sock-aux-rssi
sys/net/sock: add sock_aux_rssi
2021-01-25 18:51:11 +01:00
Francisco
25e99d81ed
Merge pull request #10748 from maribu/sane_signed_interger_overflow
makefiles: Add -fwrapv to CFLAGS
2021-01-25 18:47:09 +01:00
Marian Buschsieweke
01382dc4ad
makefiles: Add -fwrapv to CFLAGS
This commit makes overflow of signed integers to behave as expected by at 90%
of the C developers, even though overflow of signed integers are strictly
undefined behavior.

Note: Please do not add code relying on a specific behavior for the overflow of
      signed integers, even though `-fwrpav` will make that code work. This is
      intended to mitigate the risk of bugs in overflow checks being exploited,
      not to encourage adding new bugs.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475 for details and see
http://c-faq.com/misc/intovf.html on how to implement overflow checks properly.
2021-01-25 13:35:43 +01:00
Leandro Lanzieri
645ac53fe0
makefiles: allow boards and CPUs to define default modules
This allows boards and CPUs to define a Makefile.default file where
default modules can be added before the normal dependency
resolution.
2021-01-25 09:16:59 +01:00
benpicco
71fe6685b5
Merge pull request #13743 from fabian18/driver-nrf24l01p-netdev-minimal
drivers/nrf24l01p: Netdev driver for nrf24l01p
2021-01-24 22:19:50 +01:00
fabian18
f7a77ebb04 drivers/nrf24l01p_ng: netdev driver for nrf24l01+
The driver uses the netdev interface. Due to the limited
capabilities of the transceiver (32 byte FIFO and no source address in the layer2 frame),
it relies on 6LowPAN compression and adds the source address to the frame for that.
2021-01-24 20:49:39 +01:00
Jean Pierre Dudey
9b4688bab1 makefiles/info.inc.mk: fix EXTERNAL_BOARD_DIRS in info-build-json
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-01-22 20:33:38 +01:00
benpicco
1df890304a
Merge pull request #15523 from btcven/2020_11_25-bq2429x
drivers: add bq2429x power management IC driver
2021-01-22 20:24:35 +01:00
Jean Pierre Dudey
273721efc0 drivers: add bq2429x power management IC driver
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-01-22 19:30:12 +01:00
Benjamin Valentin
236c4db83e cpu/atmega*: drop ldscripts_compat
Those were only needed with very old toolchains.
These days they cause more confusion than benefit, so drop them.
2021-01-22 19:05:20 +01:00
Francisco Molina
c636a6501c
makefiles/docker.inc.mk: use version_is_greater_or_equal for jobs check 2021-01-18 14:38:47 +01:00
Francisco Molina
e455ccd3c0
makefiles/utils/strings.mk: add version_greater_or_equal 2021-01-18 14:37:23 +01:00