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

927 Commits

Author SHA1 Message Date
benpicco
52bf3096cf
Merge pull request #14480 from benpicco/openocd-adapters_swd
openocd-adapters: select transport based on adapter
2020-08-04 11:37:32 +02:00
Cenk Gündoğan
4517e27837
Merge pull request #14684 from leandrolanzieri/pr/kconfig/optimize_integration
makefiles/kconfig.mk: remove duplicate calls to merge_config and cleanups
2020-08-04 11:21:06 +02:00
Benjamin Valentin
0d59e7dc6e makefiles/tools/openocd-adapters: default to SWD, but make it configurable 2020-08-04 10:36:39 +02:00
benpicco
77be30dee6
Merge pull request #14613 from benpicco/openocd-buspirate
makefiles/buspirate: add Bus Pirate as Debug Adapter
2020-08-03 15:34:49 +02:00
Benjamin Valentin
1a04425d7b makefiles/buspirate: add Bus Pirate as Debug Adapter
Flash with PROGRAMMER=openocd DEBUG_ADAPTER=buspirate
2020-08-03 14:10:42 +02:00
Leandro Lanzieri
cf779a7241
makefiles/kconfig.mk: Remove duplicate calls to merge_config 2020-08-03 12:26:05 +02:00
Leandro Lanzieri
6a5c7744cb
makefiles/kconfig.mk: include KCONFIG_OUT_CONFIG always
This allows to include KCONFIG_OUT_CONFIG file in Makefile
unconditionally, which means that `make clean all` is allowed when using
Kconfig.

For this, the recipe for `clean` is guarded with `MAKE_RESTARTS` so
the BINDIR folder is not removed once Make restarts scanning the files.
2020-07-31 13:55:33 +02:00
benpicco
7e4b3d0f40
Merge pull request #14653 from Nishchay-sopho/drivers/sdp3x_#14603
driver/sdp3x: Resolved irq pin code used even if irq pin not connected
2020-07-31 01:22:02 +02:00
nagrawal
7cc4f2b79b driver/sdp3x: Resolved irq pin code used even if irq pin not connected
irq_pin check when multiple sensors connected with or without irq pin
2020-07-30 16:35:35 +02:00
Leandro Lanzieri
788ae39e73
Merge pull request #14645 from cgundogan/pr/kconfig/sync-deps
kconfig: make sync-deps flag accessible
2020-07-29 16:55:32 +02:00
Cenk Gündoğan
53eb1efe1b kconfig: make sync-deps flag accessible 2020-07-29 15:33:07 +02:00
Martine Lenders
0e3aa2fff5
Merge pull request #14632 from benpicco/netif_single
gnrc_netif: replace GNRC_NETIF_SINGLE with gnrc_netif_single pseudo-module
2020-07-28 17:56:51 +02:00
Benjamin Valentin
0c06694f72 gnrc_netif: replace GNRC_NETIF_SINGLE with gnrc_netif_single pseudo-module 2020-07-28 13:59:20 +02:00
Marian Buschsieweke
057aae1d04
makefiles/vars.inc.mk: Export FEATURES_USED
This is needed so that features used can be reliably be accessed.
2020-07-23 20:18:33 +02:00
Benjamin Valentin
96c67b0fa5 drivers/soft_uart: add software based UART implementation 2020-07-14 22:51:59 +02:00
Martine S. Lenders
4f243c52ea
pkg/emb6: remove deprecated package
Deprecation was noted in 7cf1bab2e6
2020-07-11 02:18:17 +02:00
benpicco
0bf3a2e279
Merge pull request #14476 from ML-PA-Consulting-GmbH/fix/20200706__sdcard_spi_auto_init
drivers/sdcard_spi: remove auto-init
2020-07-10 15:53:17 +02:00
c8b0f972df
makefiles/tools: add common bossa makefile 2020-07-10 11:56:11 +02:00
Daniel Lockau
0d3dc120ef drivers/sdcard_spi: remove auto-init 2020-07-09 08:50:53 +02:00
MrKevinWeiss
04630d20ba sys/shell: Add optional hooks for shell commands
Introduce optional user shell_post_readline_hook, shell_pre_command_hook, shell_post_command_hook.
Enable with USEMODULE=shell_hooks.
Calls user implemented *_hook functions if defined.
If implementation does not exist, nothing happens.

The intent is to make profiling of the shell command timings easier.

Test provided in tests/shell with USEMODULE=shell_hooks.
2020-07-07 17:00:38 +02:00
Leandro Lanzieri
f85f2e7b62
Merge pull request #14433 from cgundogan/pr/make_cleanups
make: use $(MAKE) instead of direct `make` call
2020-07-03 13:42:04 +02:00
Cenk Gündoğan
7aa499d5f1 make: use $(MAKE) instead of direct make call 2020-07-03 12:03:06 +02:00
c7189cfe99
makefiles/sam0: only fail on missing device with explicit targets 2020-07-03 10:24:40 +02:00
Francisco
41888674a4
Merge pull request #14385 from aabadie/pr/make/appdeps_export
boards/mips: remove use of APPDEPS, un-export globally APPDEPS
2020-07-01 09:13:35 +02:00
Francisco
1004fb3f83
Merge pull request #13382 from chrysn-pull-requests/usb-check-unification
usb: Warn on test-ID usage in a unified location
2020-06-30 13:30:14 +02:00
Leandro Lanzieri
955efd85ff
drivers/at: Add at_urc_isr module to process URCs upon arrival 2020-06-30 11:41:13 +02:00
chrysn
85d7042732 usb Kconfig: Provide explicit defaults
See-Also: https://github.com/RIOT-OS/RIOT/pull/13382#discussion_r380506106
2020-06-30 10:51:42 +02:00
chrysn
a181c0dbcd usb: Use separate Makefile for configuration and checks 2020-06-30 10:51:40 +02:00
Gunar Schorcht
028c0d4b3c
Merge pull request #14353 from fjmolinas/pr_reorder_makefiles_cleanup
Makefile: use normal conditionals
2020-06-30 09:59:02 +02:00
Francisco Molina
e98341da93
Makefile: use normal conditionals 2020-06-29 22:40:29 +02:00
benpicco
f372beb405
Merge pull request #12363 from maribu/dfplayer
drivers/dfplayer: New driver for the DFPlayer Mini MP3 player
2020-06-28 23:24:36 +02:00
Marian Buschsieweke
d2f3cafa45
sys/auto_init: Added auto-init for multimedia
Added auto-init hook for multimedia device drivers
2020-06-28 21:06:14 +02:00
df51ff7617
makefiles/vars.inc.mk: don't export APPDEPS globally 2020-06-28 12:14:31 +02:00
Gunar Schorcht
660a852935 drivers: add netdev driver for ATWINC15x0 WiFi module 2020-06-26 12:33:38 +02:00
e3f6c0f340 core: make idle thread optional 2020-06-25 16:02:28 +02:00
Francisco
a665fcc542
Merge pull request #14123 from jue89/fix/ztimer_pseudomodules
ztimer: relocate PSEUDOMODULES definitions
2020-06-24 22:56:07 +02:00
Benjamin Valentin
a653667172 makefiles/boards/sam0.inc.mk: dap: use OpenOCD for debugging
ebdg can only be used for flashing, we still have to use OpenOCD for
debugging.

fixes #14328
2020-06-24 16:06:12 +02:00
499cd934a2
makefiles/vars.inc.mk: export NM and RANLIB variables 2020-06-24 11:01:01 +02:00
080d5caa17
makefiles/toolchain: don't export all variables
There are already exported globally in vars.inc.mk
2020-06-24 11:00:54 +02:00
df58141e15
Makefile.include: don't define GITCACHE and GIT_CACHE_DIR globally 2020-06-23 14:54:25 +02:00
ebc147d058 drivers/mhz19: initial support 2020-06-17 08:41:41 +02:00
Leandro Lanzieri
649017f0b2
cpu/cortexm_common: Rename arch_cortexm feature to cpu_core_cortexm 2020-06-16 12:05:41 +02:00
Leandro Lanzieri
4d65bc8e0a
cpu: Rename CPU_ARCH to CPU_CORE 2020-06-16 12:05:40 +02:00
Francisco
b041221905
Merge pull request #13825 from kaspar030/cortexm_free_svc
cpu/cortexm: "free" SVC
2020-06-16 10:31:09 +02:00
Benjamin Valentin
2325dba871 makefiles/bossa: move USB reset logic to common file 2020-06-11 11:56:35 +02:00
24facae6fb makefiles/features_modules: add cortexm_svc 2020-06-10 23:12:58 +02:00
dbe7331d10 cpu/cortexm: "free" SVC 2020-06-10 23:12:58 +02:00
benpicco
75d82cc9b8
Merge pull request #14209 from btcven/2020_06_04-common-cfg
boards/cc26x2_cc13x2-based: move config to common directory
2020-06-10 15:32:11 +02:00
Francisco
2afcef2e40
Merge pull request #13006 from benpicco/make-fix-nixos
makefiles/color: fix build on NixOS
2020-06-09 18:13:29 +02:00
1ed0d659ed
Merge pull request #13320 from bergzand/pr/stdio/semihosting
stdio_semihosting: Initial include of Semihosting-based STDIO
2020-06-09 16:52:44 +02:00
99ca736b53
stdio_semihosting: Initial include of Semihosting-based STDIO 2020-06-09 10:15:49 +02:00
aff18b9599
tools/openocd: add OPENOCD_DBG_EXTRA_CMD 2020-06-09 10:14:57 +02:00
b82c1e8707
makefiles: add common makefile for auto_init modules 2020-06-08 10:27:35 +02:00
Jean Pierre Dudey
c0f6b3d58a
tools/uniflash.inc.mk: allow changing config dir
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-06-04 17:12:19 -05:00
Marian Buschsieweke
98824df68b
makefiles/boards/sam0.inc.mk: Allow other programmers
Modified to allow including sam0.inc.mk even if none of the programmers handled
their is used. This is useful for boards that by default are programmed via a
bootloader. Still including sam0.inc.mk allows users to specify the `PROGRAMMER`
to use jlink, openocd, or edgb instead of the bootloader.
2020-06-04 21:28:17 +02:00
Leandro Lanzieri
3716457f94
makefiles/dependencies_debug: Add target to print Kconfig features
This adds a target to print all features provided computed from Kconfig
files for a given board.
2020-06-02 17:42:16 +02:00
4cd1d54715
makefiles/stlink: fix path to default stm32 openocd config files 2020-05-27 15:44:28 +02:00
bd919cf2f1
Merge pull request #14129 from fjmolinas/pr_fix_info-boards-supported
makefiles/info-global.inc.mk: fix info-boards-supported
2020-05-25 21:50:12 +02:00
Leandro Lanzieri
8bb51e9423
makefiles/info-global: Remove dependency resolution cache
This removes a preliminar dependency resolution that is performed
without including features, to skip a full dependency resolution when
boards can be proven to be unsupported on an earlier stage.

This was introducing issues on some boards since the blacklisting of
some features depends on board information which is not available at the
time of performing this resolution.
2020-05-25 11:07:15 +02:00
Francisco Molina
8eee779c50
makefiles/info-global.inc.mk: add info-boards-features-blacklisted 2020-05-25 09:48:36 +02:00
Francisco Molina
1c01e46956
makefiles/info-global.inc.mk: fix info-boards-supported
When using eval the function board_unsatisfied_features is evaluated
twice, in the first evaluation this will lead to the previous value
for `BOARDS` to be expanded, so escape all occurrences.
2020-05-25 09:45:06 +02:00
Juergen Fitschen
5a54c29f09 xtimer_on_ztimer: move PSEUDOMODULES definition to pseudomodules.inc.mk 2020-05-23 16:37:45 +02:00
012a0b02a8
makefiles/stlink: fix common config filename 2020-05-20 13:39:11 +02:00
Martine Lenders
59da69ef6c
Merge pull request #14022 from benpicco/gnrc_netif_bus
gnrc/netif: add IPv6 event bus
2020-05-20 12:36:07 +02:00
Benjamin Valentin
85100ad61a gnrc_netif: add message bus to interface
Allow threads to listen for events on an interface.
2020-05-20 10:44:11 +02:00
Francisco
99e7b81d10
Merge pull request #8573 from aabadie/pr/generator
makefiles: add code generator targets
2020-05-20 09:44:14 +02:00
Leandro Lanzieri
16113afb1e
Merge pull request #14026 from miri64/gnrc_netif/fix/deps
gnrc_netif: use gnrc_netif-submodules to pull in upper-layer struct members
2020-05-19 16:36:18 +02:00
Martine S. Lenders
5e8f8ddc4a
gnrc_netif: introduce gnrc_netif_mac pseudo-module for gnrc_mac members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
a48629b395
gnrc_netif: introduce gnrc_netif_ipv6 pseudo-module for IPv6 members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
9801a439fc
gnrc_netif: introduce gnrc_netif_6lo pseudo-module for 6LoWPAN members
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
a534caebb4
makefiles: add code generator targets
These targets will bootstrap code for an example application, a test application or a new board support. The 'riotgen' tool is used behind
2020-05-17 17:52:43 +02:00
benpicco
e45777d077
Merge pull request #13809 from Vinggui/master
Added a new flashing parameter for generic cheap St-link and bluepill(-128kib) boards.
2020-05-12 11:48:43 +02:00
Leandro Lanzieri
34689a290c
Merge pull request #13994 from miri64/gnrc_nettype/enh/use-pseudomodules
gnrc_nettype: indirect NETTYPE definition via pseudo-modules
2020-05-05 20:59:44 +02:00
Martine S. Lenders
1c251beb03
gnrc_nettype: indirect NETTYPE definition via pseudo-modules
Instead of making a NETTYPE definition dependent on an implementation
module, this change makes it dependent on a pseudo-module for each
specific NETTYPE and makes the respective implementation modules
dependent on it.

This has two advantages:

- one does not need include the whole implementation module to
  subscribe to a NETTYPE for testing or to provide an alternative
  implementation
- A lot of circular dependencies related to GNRC could be untangled.
  E.g. the only reason `gnrc_icmpv6` needs the `gnrc_ipv6` is because it
  uses `GNRC_NETTYPE_IPV6` to search for the IPv6 header in an ICMPv6
  when demultiplexing an ICMPv6 header.

This change does not resolve these dependencies or include usages where
needed. The only dependency change is the addition of the
pseudo-modules to the implementation modules.
2020-05-05 19:16:06 +02:00
36a80a14be
Merge pull request #13678 from fjmolinas/pr_docker_run_make
makefiles/docker.inc.mk: add and use generic docker_run_make
2020-05-05 16:46:10 +02:00
Francisco Molina
7c528c7ecd
makefiles/docker.inc.mk: add and use generic docker_run_make
DOCKER_MAKE_ARGS only hold additional make args like '-j'
2020-05-05 14:41:13 +02:00
Vinicius G. Guimaraes
f8776a989f boards/blxxxpill: add support for stm32duino bootloader and for generic St-Link V2. 2020-05-04 19:36:15 -07:00
Hauke Petersen
c333b7e896 mk/boards/stm32: add JLink support 2020-05-04 16:42:25 +02:00
Francisco
919249f361
Merge pull request #13862 from maribu/extra_boards
Makefile*: Allow multiple external board dirs
2020-04-29 20:12:06 +02:00
Marian Buschsieweke
ba7815163c
Makefile*: Allow multiple external board dirs
- Add the new EXTERNAL_BOARD_DIRS variable that can contain a space separated
  list of folders containing external boards
- Introduce $(BOARDDIR) as shortcut for $(BOARDSDIR)/$(BOARD)
- Map the existing BOARDSDIR to the new approach
    - If BOARDSDIR is provided by the user, it will be added to
      EXTERNAL_BOARD_DIRS for backward compatibility. (And a warning is issued
      to encourage users migrating to EXTRA_BOARDS.)
    - BOARDSDIR is updated after the board is found to "$(BOARDDIR)/..".
        - Useful for `include $(BOARDSDIR)/common/external_common/Makefile.dep`
        - Provides backward compatibility
2020-04-29 18:32:39 +02:00
Francisco
80b300289d
Merge pull request #13912 from benpicco/at86rf215-mr-qpsk
drivers/at86rf215: implement MR-O-QPSK
2020-04-29 12:44:00 +02:00
Benjamin Valentin
fac35644d0 ieee802154: add definitions & config options for MR-O-QPSK
Define options for IEEE 802.15.4g MR-O-QPSK as well as shell commands
to set them via ifconfig.
2020-04-29 10:41:37 +02:00
ab8ad3f990
makefiles/vars: document EEPROM_FILE variable 2020-04-29 08:56:34 +02:00
Martine Lenders
633d0f486d
Merge pull request #13669 from bergzand/pr/netif/async_events
gnrc_netif: Add support for internal event loop
2020-04-28 13:03:39 +02:00
Leandro Lanzieri
ed38bd86d4
makefiles/kconfiglib: Use RIOT specific menuconfig script 2020-04-27 12:29:40 +02:00
Leandro Lanzieri
9463f85d39
makefiles/serial: Add variable for Miniterm flags 2020-04-21 17:56:16 +02:00
Leandro Lanzieri
d8fa69d1e2
Merge pull request #13897 from akshaim/Kconfig_cc110x
drivers/cc110x : Expose Configurations to Kconfig
2020-04-20 13:32:23 +02:00
Martine Lenders
55a7010a0a
Merge pull request #13157 from nmeum/pr/fuzzing_tcp_only
Add AFL-based fuzzing setup for network modules
2020-04-18 10:54:14 +02:00
Akshai M
01a8c64e39 drivers/cc110x : Add CONFIG_
Add Add CONFIG_ Prefix for CC110X_DEFAULT_CHANNEL
2020-04-17 23:27:01 +05:30
Sören Tempel
24d71f9d15 makefiles: Add the fuzzing/ directory to APPLICATION_DIRS
This should ensure that fuzzing applications are build by the CI.
2020-04-17 17:11:15 +02:00
Sören Tempel
24468bead6 fuzzing: Initialize
This adds a new subdirectory called `fuzzing/` which will contain
applications for fuzzing various RIOT network modules in the future.
This subdirectory is heavily inspired by the `examples/` subdirectory.

The fuzzing applications use AFL as a fuzzer. Each application contains
Makefiles, source code, and an input corpus used by AFL to generate
input for fuzzing.
2020-04-17 17:11:15 +02:00
Joakim Nohlgård
2013ac75f5
gnrc_netif: Add support for internal event loop
Enabled by the gnrc_netif_events pseudo module. Using an internal event
loop within the gnrc_netif thread eliminates the risk of lost interrupts
and lets ISR events always be handled before any send/receive requests
from other threads are processed.
The events in the event loop is also a potential hook for MAC layers and
other link layer modules which may need to inject and process events
before any external IPC messages are handled.

Co-Authored-By: Koen Zandberg <koen@bergzand.net>
2020-04-17 12:02:39 +02:00
Francisco Molina
2331448644
Makefile: remove usage of SUBMODULES_NOFORCE
With #10970 only existing *.c files will be added to SRC when using
the SUBMODULES mechanism, so SUBMODULES_NOFORCE (used to filter out
non existing source files) is now redundant so remove the usage.
2020-04-15 12:11:44 +02:00
Dylan Laduranty
faa0afd8c1
Merge pull request #13381 from benpicco/sam0-jlink-fix
makefiles/sam0.inc.mk: fix detection of JLinkExe
2020-04-14 20:29:43 +02:00
Leandro Lanzieri
a06d9bbb66
Merge pull request #13315 from jia200x/pr/kconfig/ieee802154
ieee802154: Expose configurations to Kconfig
2020-04-08 19:34:55 +02:00
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02:00
Jose Alamos
c712b72400 makefiles/default-radio-settings: disable if Kconfig
If Kconfig is used for configuring default parameters of radios, this
logic has to be disabled in order to avoid collisions of config macros
2020-04-08 19:07:33 +02:00
Leandro Lanzieri
4ae944bac2
makefiles/kconfig: Output out.config with generated configuration
'merged.config' may not always be present (e.g. when no files to merge
are present). In order to always have an up-to-date configuration file
'out.config' will be generated mirroring the content of 'autoconf.h'.
This is the file that the build system will include to read the current
configuration symbols.
2020-04-08 17:37:05 +02:00
1f9ff9e767
makefiles/bossa: only use ROM_OFFSET with version 1.9 2020-04-08 09:58:21 +02:00
a12aeca9df
makefiles/stdio: handle case for bootloader_nrfutil blacklist 2020-04-08 09:35:08 +02:00
ebd1e8f016
makefiles/tools: add support for nrfutil 2020-04-08 09:35:08 +02:00
Sören Tempel
d7104e4992 makefiles/toolchain: add support for afl 2020-04-07 14:24:10 +02:00
Leandro Lanzieri
d60295db3c
Merge pull request #13720 from aabadie/pr/native_no_export
native: only export NATIVEINCLUDES in vars.inc.mk
2020-04-07 12:55:45 +02:00
010aca2638
Merge pull request #13719 from aabadie/pr/boards/flash_export_remove
boards*: remove remaining uses of export with some openocd related variables
2020-04-07 11:58:28 +02:00
75e828fdeb
makefiles/openocd: define flash targets in a variable 2020-04-07 11:38:10 +02:00
5e0d5d3302
Merge pull request #13774 from fjmolinas/pr_dependencie_debug_cpu_arch
makefiles/dependencies_debug.inc.mk: add CPU_ARCH
2020-04-03 09:40:59 +02:00
benpicco
0c7612673b
Merge pull request #13793 from ML-PA-Consulting-GmbH/make_riotboot_external_boards
riotboot: forward BOARDSDIR
2020-04-03 09:35:50 +02:00
Francisco Molina
abff884165
makefiles/info-global.inc.mk: undefine CPU_ARCH and CPU_FAM
Undefine variables that shouldnt be set at the start of resolution
and that might be used in dependency resolution.
2020-04-03 09:17:23 +02:00
Francisco Molina
b290b0d0c5
makefiles/dependencies_debug.inc.mk: add CPU_ARCH 2020-04-03 09:17:23 +02:00
192c8515b1
Merge pull request #13791 from fjmolinas/pr_remove_stdio_default_module
*/Makefile.dep: remove usage of DEFAULT_MODULE += stdio%
2020-04-02 16:23:15 +02:00
Sven Herrmann
9a58aaa354 riotboot: forward BOARDSDIR 2020-04-02 14:21:42 +00:00
Francisco Molina
0e5205c4a5
*/Makefile.dep: remove usage of DEFAULT_MODULE += stdio% 2020-04-02 14:50:18 +02:00
Leandro Lanzieri
c74544c9ec
Merge pull request #13349 from maribu/dependency-or
build system: Restructure dependency resolution
2020-04-02 10:40:44 +02:00
Marian Buschsieweke
af21f15b02
makefiles: Minor clean ups
- Add FEATURES_REQUIRED_ANY to dependency-debug:
  Now `make dependency-debug` by default also stores the contents of
  `FEATURES_REQUIRED_ANY`.
- makefiles/features_check.inc.mk: Break long lines
- {tests/minimal,tests/unittests,bootloaders/riotboot}:
  Disable auto_init_% in addition to auto_init.

This works around weird behavior due to the USEMODULE being recursively expended
in the first iteration of dependency resolution: Modules added to DEFAULT_MODULE
get automatically added to USEMODULE during the first run, but not for
subsequent. This should be iron out later on.
2020-04-02 09:56:39 +02:00
Marian Buschsieweke
7bc15acee2
build system: Restructure dependency resolution
Goals:
- Untangle dependency resolution and feature checking for better maintainability
- Improve performance of "make info-boards-supported"

Changes:
- Makefile.dep
    - Dropped handling of default modules and recursion
    - Now only dependencies of the current set of used modules and pkgs are
      added
  ==> External recursion is needed to catch transient dependencies
- Changed Makefile.features:
    - Dropped checking of provided features
    - Dropped populating FEATURES_USED with provided features that are required
      or optional
    - Dropped populating FEATURES_MISSING with required but not provided
      features
    - Dropped adding modules implementing used features to USE_MODULE
  ==> This now only populates FEATURES_PROVIDED, nothing more
- Added makefiles/features_check.inc.mk:
    - This performs the population of FEATURES_USED and FEATURES_MISSING now
- Added makefiles/features_modules.inc.mk:
    - This performs now the addition of modules implementing used features
- Added makefiles/dependency_resolution.inc.mk:
    - This now performs the recursion required to catch transient dependencies
    - Also the feature check is performed recursively to handle also required
      and optional features of the transient dependencies
    - DEFAULT_MODULES are added repeatedly to allow it to be extended based on
      used features and modules
      ==> This allows modules to have optional dependencies, as these
          dependencies can be blacklisted
- Use simply expanded variables instead of recursively expended variables
  (`foo := $(bar)` instead `foo = $(bar)`) for internal variables during feature
  resolution. This improves performance significantly for
  `make info-boards-supported`.
- Reduce dependency resolution steps in `make info-boards-supported`
    - Globally resolve dependencies without any features (including arch)
      provided
      ==> This results in the common subset of feature requirements and modules
          used
        - But for individual boards additional modules might be used on top due
          to architecture specific dependencies or optional features
    - Boards not supporting this subset of commonly required features are not
      supported, so no additional dependency resolution is needed for them
    - For each board supporting the common set of requirements a complete
      dependency resolution is still needed to also catch architecture specific
      hacks
         - But this resolution is seeded with the common set of dependencies to
           speed this up
2020-04-02 09:55:07 +02:00
benpicco
660b1a9b5f
Merge pull request #10083 from gschorcht/drivers_hmc5883l
drivers: add driver for Honeywell HMC5883L magnetometer
2020-04-01 14:49:34 +02:00
Gunar Schorcht
e6090adb3f drivers: add hmc5883l device driver 2020-04-01 13:37:22 +02:00
Leandro Lanzieri
ea2f963302
cpu/cortexm: Add 'cortexm_fpu' as a DEFAULT_MODULE if possible
This adds cortexm_fpu to the DEFAULT_MODULE list when the feature
cortexm_fpu is provided by the architecture. It also moves the
dependency resolution of this module to the architecture-specific
Makefile.dep file.
2020-04-01 09:46:29 +02:00
Leandro Lanzieri
64552a3b9a
cpu/cortexm_common: Move common modules to Makefile.dep
This moves the following modules to a architecture-specific Makefile.dep
file:
- cortexm_common
- cortexm_common_periph
- newlib
- newlib_nano
- periph
2020-04-01 09:46:21 +02:00
Marian Buschsieweke
3628db19fd
Makefile.features: Allow "one out of" dependencies
An application/test/module that requires one feature out of a set of
alternatives (let's say either periph_uart, periph_spi, or periph_i2c) can
request this now using:

    FEATURES_REQUIRED_ANY += periph_uart|periph_spi|periph_i2c
2020-04-01 09:12:50 +02:00
Benjamin Valentin
fc89531c61 sys/base64: Implement Base 64 Encoding with URL Safe Alphabet
RFC4648 specifies an alternate alphabet for base64 encoding / decoding
where '+' and '/' are exchanged for '-' and '-' to make the resulting
string safe to use in filenames and URLs.

This adds a base64url_encode() function that uses the alternate alphabet.

The base64_decode() function is extended to accept both alphabets.
2020-03-31 19:01:05 +02:00
91a553b3e2
makefiles/vars: export NATIVEINCLUDES there 2020-03-26 10:25:09 +01:00
308ee9b31c
makefiles/openocd: export OPENOCD_CMD_RESET_RUN only when required 2020-03-26 10:00:05 +01:00
a0be709a8c
makefiles/openocd: export PRE_FLASH_CHECK_SCRIPT only when required 2020-03-26 09:37:05 +01:00
fcecd6e362
makefiles/openocd: export OPENOCD_PRE_FLASH_CMDS only when required 2020-03-26 09:31:21 +01:00
93f1c7971c
makefiles/openocd: export OPENOCD_PRE_VERIFY_CMDS only when required 2020-03-26 09:31:11 +01:00
7d0c475113
Merge pull request #13486 from bergzand/pr/suit/ietf_v3
SUIT: Update to draft-ietf-v3
2020-03-20 14:44:29 +01:00
Francisco
cdbf0b2d69
Merge pull request #13583 from benpicco/at86rf215-minimal
drivers/at86rf215: add basic support for AT86RF215 dual-band radio
2020-03-20 09:33:50 +01:00
413b91326f
tests/suit_v3_manifest: Add draft-ietf-v3 manifest parser test
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-19 22:56:01 +01:00
benpicco
b0fab9c53a
Merge pull request #13638 from gschorcht/sys/shell/rtt_command
sys/shell: add rtt command
2020-03-19 21:21:12 +01:00
Gunar Schorcht
3d20b0b6c5 sys/shell: add rtt command 2020-03-19 17:17:26 +01:00
521bb7e643
Merge pull request #11311 from benpicco/openocd-raspi
makefiles: add OpenOCD config for Raspberry Pi GPIO
2020-03-19 16:40:17 +01:00
Benjamin Valentin
d35511bee7 drivers/at86rf215: Add basic driver for the AT86RF215 radio
This adds a driver for the SPI based AT86RF215 transceiver.
The chip supports the IEEE Std 802.15.4-2015 and IEEE Std 802.15.4g-2012 standard.

This driver supports two versions of the chip:
    - AT86RF215:  dual sub-GHz & 2.4 GHz radio & baseband
    - AT86RF215M: sub-GHz radio & baseband only

Both radios support the following PHY modes:
    - MR-FSK
    - MR-OFDM
    - MR-O-QPKS
    - O-QPSK (legacy)

The driver currently only implements support for legacy O-QPSK.

To use both interfaces, add

    GNRC_NETIF_NUMOF := 2

to your Makefile.

The transceiver is able to send frames of up to 2047 bytes according to
IEEE 802.15.4g-2012 when operating in non-legacy mode.

Known issues:

 - [ ] dBm setting values are bogus
 - [ ] Channel spacing for sub-GHz MR-O-QPSK might be wrong
 - [ ] TX/RX stress test will lock up the driver on openmote-b
2020-03-19 14:39:18 +01:00
Francisco Molina
9536a80e52
Makefile.dep: use stdio.inc.mk
Move all stdio dependencies to its own makefile
2020-03-18 15:58:38 +01:00
14bdf8f46b
sys/suit: Add SUIT draft ietf-v3 firmware upgrade module
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2020-03-18 14:13:12 +01:00
accbfbd0d1
tools/bossa: add and configure preflash-delay when required 2020-03-18 10:43:05 +01:00
Francisco Molina
a31003a23c
tests: add interactive_sync adapted to shell 2020-03-17 17:23:27 +01:00
benpicco
a0cc4b0515
Merge pull request #13623 from Scallog/add_rom_offset_stm32
makefiles/boards/stm32.ink.mk: Use ROM_OFFSET with stm32flash
2020-03-16 12:09:40 +01:00
Corentin 'Kmikaz' Vigourt
6a559f1924 makefiles/boards/stm32.ink.mk: Use ROM_OFFSET with stm32flash 2020-03-16 10:47:32 +01:00
benpicco
db2ee4cbf6
Merge pull request #13634 from fjmolinas/pr_cc2538_flasher_guard
makefiles/tools/cc2538-bsl.inc.mk: allow FLASHER override
2020-03-16 00:58:37 +01:00
Francisco Molina
a00d61a2d6
makefiles/tools/cc2538-bsl.inc.mk: allow FLASHER override
If flasher is changed then make will still see it as a FLASH
dependency and try to execute the target which will likely not
exist.

A use case for this is when flashing on a remote machine and setting
FLASHER=ssh to then execute the FLASHER on the remote.
2020-03-15 11:58:39 +01:00
Robert Hartung
dc6665d5cf
Merge pull request #12717 from dylad/pr/bme680_pkg_driver
driver/bme680: add I2C/SPI driver for BME680 device
2020-03-12 14:00:40 +01:00
Francisco
3153a86551
Merge pull request #11192 from aabadie/pr/tools/dfu
boards: include common dfu logic where applicable
2020-03-12 09:05:32 +01:00
Gunar Schorcht
9dd11eb188 drivers: add support for BME680 driver
Add the support for BME680 based on the BME680 vendor driver package.
2020-03-12 08:42:59 +01:00
benpicco
52cc02c9a9
Merge pull request #13387 from nmeum/mpu_noexec_ram_ng
Add optional support for executable space protections
2020-03-11 20:00:44 +01:00
1e8037670b
Merge pull request #10420 from gschorcht/drivers_apds99xx
drivers: add driver for APDS99XX ambient light and proximity sensors
2020-03-11 16:27:53 +01:00
Schorcht
7548a6e849 drivers: add APDS99XX ALS and proximity 2020-03-11 14:21:47 +01:00
benpicco
008faef16a
Merge pull request #13581 from Scallog/olimexino-stm32-support
boards/olimexino-stm32: add support for olimexino-stm32 board
2020-03-11 11:40:53 +01:00
benpicco
d294e1d01c
Merge pull request #9572 from maribu/atmega-debug
On-Chip Debugging for AVR/ATmega based boards
2020-03-11 11:40:40 +01:00
Corentin 'Kmikaz' Vigourt
a4976c3333 makefiles/boards/stm32.inc.mk: add stm32flash support 2020-03-11 11:00:49 +01:00