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

544 Commits

Author SHA1 Message Date
8a1e78bf4d
Merge pull request #9081 from kaspar030/add_arch_features
make: add architecture features and feature blacklisting
2019-10-14 16:12:54 +02:00
cc80961b5f make: allow feature based blacklisting (FEATURES_BLACKLIST) 2019-10-13 21:03:41 +02:00
Jose Alamos
77a7aed6e6 netif: introduce descriptor based netif 2019-10-11 10:59:14 +02:00
053dbd1c4a
Merge pull request #12398 from cladmi/pr/cortexm/remove_old_clang_handling
makefiles/arch/cortexm.inc.mk: remove clang 3.6.2 workaround
2019-10-10 13:18:51 +02:00
5ab8d92702
Merge pull request #11818 from kaspar030/suit-pr
sys/suit: initial support for SUIT firmware updates
2019-10-10 10:38:01 +02:00
fb12c4aa8d sys/suit: add SUIT draft v4 firmware upgrade module
This commit adds a sys module implementing SUIT draft v4 compatible
firmware updates.

Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Francisco Molina <femolina@uc.cl>
2019-10-09 11:05:01 +02:00
Dylan Laduranty
cdcdaa63ce
Merge pull request #11725 from benpicco/sam0-jlink
sam0: allow flashing with JLinkExe
2019-10-08 20:59:59 +02:00
Francisco
1c5c027ee7
Merge pull request #12004 from cladmi/pr/make/dependencies/debug_targets
make: add targets to debug dependencies variables
2019-10-08 17:41:34 +02:00
Gaëtan Harter
7416337d4d
makefiles/arch/cortexm.inc.mk: remove clang 3.6.2 workaround
Remove the workaround for clang 3.6.2 that did not support
'cortex-m0plus'.

clang 3.8 was already supporting it according to the PR introducing the check.
clang >=3.8 is avaible since ubuntu-xenial and debian-stretch.
The current ubuntu-bionic has clang 6 and debian-buster clang 7.

This removes overwriting 'CPU_ARCH'.
2019-10-08 16:19:51 +02:00
Gaëtan Harter
58cf46c706
make: add targets to debug dependencies variables
Add a 'dependency-debug' and a 'DEPENDENCY_DEBUG=1' option for
'info-boards-supported' to save some variables used when resolving
dependencies.

Print some some 'sorted' variables to simplify comparing the actual value
when the parsing order changed.

This should help tracking changes introduced when refactoring the
dependency parsing.
2019-10-07 14:45:40 +02:00
Kevin "Tristate Tom" Weiss
4b7c5915ec
Merge pull request #10953 from gschorcht/sys/shell/heap_cmd/pr
sys/shell: add heap command
2019-10-04 13:49:57 +02:00
28c3717911
make/targets: fix typo in message 2019-10-03 15:23:19 +02:00
9148562476
makefiles/vars: document DEBUGDEPS variable 2019-10-03 12:43:49 +02:00
4b53f6b92b
makefiles/targets: add target for setsid 2019-10-03 12:43:49 +02:00
Hauke Petersen
8a69e4ac69 drivers/lis2dh12: added I2C mode 2019-10-02 11:16:39 +02:00
benpicco
5f6065f567
Merge pull request #12338 from cladmi/pr/make/cortexm/do_not_set_cpu_model
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
2019-10-01 15:25:16 +02:00
Gaëtan Harter
3a938d43e7
makefiles/arch/cortexm.inc.mk: removing setting CPU_MODEL
All cortexm boards should now define it on there own.
2019-10-01 11:38:35 +02:00
benpicco
3f0dfc14ac
Merge pull request #11085 from bergzand/pr/usb/cdcacm
usbus: Add CDC-ACM (Serial console) function
2019-10-01 11:22:54 +02:00
49aa83e27e
Merge pull request #12301 from kaspar030/edbg_verify_before_flash
edbg: verify before flash
2019-10-01 10:39:24 +02:00
benpicco
5105a2e54d
Merge pull request #12340 from cladmi/pr/makefiles/board_cpu_macros
makefiles: CFLAGS convert to the uppercase function instead of using the shell
2019-09-30 19:53:28 +02:00
59743aed13
USBUS cdc acm: Add STDIO wrapper for CDC ACM 2019-09-30 18:40:59 +02:00
Gaëtan Harter
0303b96441
makefiles/arch/mips.inc.mk: use makefiles/utils lowercase function
Use the new common 'lowercase' function from makefiles/utils.
2019-09-30 17:35:06 +02:00
Gaëtan Harter
ba55d1d7f5
makefiles/arch/cortexm.inc.mk: use makefiles/utils uppercase
Convert the variables to uppercase using the 'makefiles/utils' function.
2019-09-30 17:25:24 +02:00
Gaëtan Harter
e5278a2364
makefiles/modules.inc.mk: convert uppercase with utils function
Convert the module to uppercase using the 'makefiles/utils' function.
2019-09-30 17:02:12 +02:00
fe6d892969
Merge pull request #12302 from fjmolinas/pr_build_files
Makefile.include: add BUILD_FILES variable that holds all files to be built
2019-09-30 14:26:24 +02:00
Francisco Molina
5790e061c7 makefiles/boot/riotboot.mk: use BUILD_FILES
- Fixes compiling in docker by using BUILD_FILES to define
  extra files to be built
2019-09-30 13:09:58 +02:00
Francisco Molina
ded2ebc8e7 Makefile.include: add BUILD_FILES
- Add BULD_FILES that holds all files that need to be built
  and linked.
2019-09-30 13:00:25 +02:00
Marian Buschsieweke
6cbb7ad1a0
Merge pull request #12327 from benpicco/mrf24j40-pseudomodules
drivers/mrf24j40: add pseudomodules for MRF24J40MA/B/C/D/E
2019-09-29 21:13:23 +02:00
Benjamin Valentin
0bb04cfd27 drivers/mrf24j40: add pseudomodules for MRF24J40MA/C/D/E
Microchip offers ready-to-use modules with the mrf24j40 chip.
All but the MRF24J40MA integrate an external PA/LNA, they also come
with an RF shield.

If the PA/LNA is not enabled, the signal off these modules is really
poor.

This adds pseudomodules so that the PA/LNA is automatically enabled
when the appropriate module is used.
2019-09-28 19:30:52 +02:00
68aae9c848
Merge pull request #12262 from cladmi/pr/cflags/fix_spaces_and_rebuild
makefiles: do not remove defines from CFLAGS
2019-09-28 09:42:56 +02:00
Gaëtan Harter
41d10cf005
makefiles: do not remove defines from CFLAGS
Do not remove the '-D' and '-U' values from CFLAGS.
This prevents issues where a '-D' could contain a space.

Some values way be duplicated from the 'riotbuild.h' header and the
command line but with the same value so without conflict.

To not put too many things in the command line, the -DMODULE_NAME are
only put in CFLAGS_WITH_MACROS.

Also, as now, the deferred value of CFLAGS is used for 'riotbuild.h',
macros set after the inclusion of `Makefile.include` will be taken into
account.
2019-09-27 19:29:06 +02:00
a45d99f741 make/tools/edbg: verify before flash
This commit overrides the default flash recipe with an edbg specific
one.
The new recipe first verifies the flashfile agains the device flash. If
it is already on there, it won't get overridden.
edbg takes care of resetting the device in any case.
2019-09-25 10:14:20 +02:00
1cba611dd9 make/tools/edbg: use long option names 2019-09-25 10:09:19 +02:00
benpicco
50ba48eea6
Merge pull request #9259 from cladmi/pr/pic32/flasher
pic32-wifire: add support for flashing with pic32prog
2019-09-24 18:52:44 +02:00
Gaëtan Harter
be4569e271
pic32prog.inc.mk: add udev rule for pic32 programmer
Copy the udev rule from dist/tools/pic32prog/doc.md
2019-09-24 17:43:12 +02:00
Gaëtan Harter
afdddfda14
pic32prog.inc.mk: add support for pic32prog flasher
Define a RIOT_PIC32PROG to allow setting 'PIC32PROG' globally from environment.

https://github.com/sergev/pic32prog

For PICkit3 it requires having it with scripting mode firware.

Source
------

https://github.com/RIOT-OS/RIOT/pull/6092#issuecomment-261987955
2019-09-24 17:43:12 +02:00
Gaëtan Harter
d852ca2b21
pic32prog: add pic32prog programming tool
pic32prog is a program for flashing pic32 boards from command line on Linux.

It works with:
* Microchip PICkit2
* Microchip PICkit3 with script firmware.
* Other ones: https://github.com/sergev/pic32prog/wiki
2019-09-24 17:43:12 +02:00
Benjamin Valentin
c31e373214 shell_commands: gnrc_netif: only include LoRA options when LoRA PHY is present
If no LoRA module is used, there is no use in compiling in all the config options
for LoRA PHYs.

This saves about 1k of .text
2019-09-24 17:14:03 +02:00
Lars Eggert
cae814c1cb make: docker: Delegate bind mounts to the containers
At least on Docker for Mac, this brings a huge boost in build performance, see
https://docs.docker.com/docker-for-mac/osxfs-caching/:

Before: `real	6m23.003s`
After:  `real	1m57.923s`
2019-09-24 12:04:43 +02:00
Gaëtan Harter
49a78bad0d
makefiles/docker.inc.mk: use 'docker_volume' function
Use 'docker_volume' function for mounting.

When mounting 'localtime' this will only use the 'ro' option and
ignore 'DOCKER_VOLUME_OPTIONS'.
2019-09-16 11:16:14 +02:00
Gaëtan Harter
e5032a611b
makefiles/docker.inc.mk: add a 'docker_volume' function
Refactor the '--volume' mounting handling.
This prepares for using a global 'DOCKER_VOLUME_OPTIONS'.
2019-09-16 11:16:14 +02:00
Gaëtan Harter
d832d78756
makefiles/docker.inc.mk: always use quotes around -e and -v options
Harmonize the '--volumes' and '--env' commands before factorizing them.
Remove extra 'space'.
2019-09-16 11:15:20 +02:00
benpicco
65b7102608
Merge pull request #10195 from jcarrano/thin-archives
Makefile.base: use thin static archives.
2019-09-15 13:04:25 +02:00
Francisco Molina
1caf6610cb sys: add schedstatistics module 2019-09-13 11:37:44 +02:00
Juan I Carrano
7364c913ef
Merge pull request #12207 from cladmi/pr/docker/programmer
makefiles/docker.inc.mk: add PROGRAMMER to the exported variables
2019-09-12 16:45:36 +02:00
Francisco
2d890db6af
Merge pull request #10440 from jcarrano/no-export-ports
makefiles: remove exports so that PORT is not evaluated if it's not needed.
2019-09-12 13:50:24 +02:00
Gaëtan Harter
971b1acdb2
makefiles/docker.inc.mk: add PROGRAMMER to the exported variables
Depending on the PROGRAMMER used, the file used for flashing may be
different, like openocd/jlink, so the file being generated when
compiling should be different.

Because of this, when building in docker, the build system needs to know
for which programmer you are building for.

This manifested for 'nordic_softdevice' applications when using 'openocd'
but is not limited to this case.
2019-09-12 12:38:31 +02:00
Francisco Molina
e325985321
makefiles/tools: pass DEBUG_ADAPTER_ID to pyocd 2019-09-12 08:13:28 +02:00
benpicco
ca6009592f
Merge pull request #11781 from fjmolinas/pr_schedstatistics_refactor
core/schedstatistics: fix call to uninitialized xtimer
2019-09-11 20:11:55 +02:00
benpicco
b14e08cce1
Merge pull request #11877 from OTAkeys/feat/gpio-flashing
makefiles: add support for sysfs gpio debug adapter
2019-09-11 18:00:31 +02:00
Kevin "Tristate Tom" Weiss
d6af98b5b7
Merge pull request #11835 from miri64/gnrc_sixlowpan_frag/new/stats
gnrc_sixlowpan_frag_stats: initial import of frag statistics
2019-09-11 12:01:22 +02:00
Martine Lenders
dca3408167 gnrc_sixlowpan_frag_stats: initial import of frag statistics 2019-09-11 10:30:29 +02:00
Francisco Molina
fc58ebbd97 core/sched: separate sched_cb from schedstatistics 2019-09-10 17:08:21 +02:00
Juan Carrano
d9132eec90 Makefile.include: add rule to verify thin archives.
This adds a new target "archive-check".

Thin archives should be created with relative paths so that archives created
in a build container are useful in the host. This check ensures there are no
absolute paths inside thin archives.
2019-09-10 11:21:42 +02:00
Juan Carrano
24ddf285d2 Makefile.base: use thin static archives.
Normal, or thick archives contain a copy of the object code. Thin
archives, on the contrary, are just an index to the .o files.

This patch does two things:

1. Change ARFLAGS to enable the "T" options.
2. Call AR with all relative paths.

The second step is necessary because the build system handles all
absolute paths. If the index in the thin archive contains absolute
paths, archives created in docker are no usable outside, and moving
the objects breaks the archive.

If all arguments to AR are relative, the resulting archive contains
filenames *relative to the .a file* and nothing should break as long
as the relative location of the .a and .o remains unchanged.

Compilation time is unchanged, but disc usage is reduced by approximately
50%. These are the result of a full RIOT build:

| Thin Archive   |  no     |  yes  | Savings (%) |
| -------------- | ------: | ----: | ----------- |
| pkg (10e6 KiB) | 1 790   | 905   | 49%         |
| Non pkg        |    71   |  71   | 1%          |
| Total          | 1 812   | 976   | 46 %        |
2019-09-10 11:21:42 +02:00
benpicco
741d5437a7
Merge pull request #12053 from maribu/cc110x_default_channel
drivers/cc110x: Default channel configuration
2019-09-10 10:31:53 +02:00
benpicco
3aa8bc0d70
Merge pull request #12150 from jcarrano/compress-debuginfo
toolchain/cflags: enable dwarf compression (save 50% HDD)
2019-09-10 10:31:45 +02:00
Marian Buschsieweke
00965e3a40
makefiles: Refactored channel configuration
The default channel configuration is managed within the Makefiles of many
examples and tests. This commit moves the default channel logic to
`makefiles/default-channel.ink.mk` to ease maintenance. All Makefiles that
previously managed the default channel configuration themself have been
updated to include that file.

The default channel configuration of the cc110x has been added
2019-09-10 10:04:52 +02:00
2c3a50e280
Merge pull request #11907 from fjmolinas/pr_bootloader_id
makefiles/riotboot: pass DEBUG_ADAPTER_ID to bootloader recipes
2019-09-10 09:05:25 +02:00
04d33973f4
sys/log: add colored logging module 2019-09-09 20:27:16 +02:00
Francisco
e2c91639ea
Merge pull request #12127 from jcarrano/color-detect-terminal
makefiles/color: detect if writing to terminal.
2019-09-06 15:40:56 +03:00
Gunar Schorcht
80264c08de sys/shell: pseudomodule heap_cmd added 2019-09-05 09:18:46 +02:00
Juan Carrano
63c475cd4d toolchain/cflags: enable dwarf compression.
Use the -gz option to compress ELF sections containing DWARF information.
This saves around 50% of disk space, without any side effects.

See https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Debugging-Options.html#Debugging-Options
for more infomation on this option.

Some platforms have an outdated toolchain that does not support -gz so
the flag is blacklisted there. Even then, the results are quite impressive.

I used @cladmi's `buildtest` branch (https://github.com/cladmi/RIOT/tree/wip/du/buildtest)
with this change and compiled the `examples/default` application:

```
$ BUILD_IN_DOCKER=1 DOCKER="sudo docker" make -C examples/default buildtest-indocker
```

The size was obtained with:

```
$ find output -name "*.bin.bindirsize" -type f -exec tail  -n1 '{}' \; | cut -f 1 | awk '{s+=$1} END {printf "%.0f", s}'
```

Results:

- Vanilla: 10328112 KB (~10GB).
- with -gz: 4982788 KB (~5GB).

This was inspired by #8496.
2019-09-02 14:43:26 +02:00
Juan Carrano
0d6a8879bc makefiles/color: detect if writing to terminal.
The current code for detecting whether colors should be used by default
was not working. Normally what programs such as git or grep do is check
if they are writing to a pipe.

To see the issue by yourself:

$ BOARD=samr21-xpro make -C tests/periph_qdec > I_SHOULD_NOT_HAVE_COLORS 2>&1

This commit uses MAKE_TERMOUT, MAKE_TERMERR and if ANY of them is NOT
a terminal, colors are disabled.
2019-08-30 16:35:25 +02:00
Gaëtan Harter
909552e3c0
makefiles/cflags.inc.mk: change optional CFLAGS to 'OPTIONAL_CFLAGS'
Update the optional flags to use 'OPTIONAL_CFLAGS' instead of evaluating
everytime.

They are now blacklisted by architecture/toolchain according to the
current docker reference image.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
043534daf9
llvm: blacklist incompatible CFLAGS
Blacklist incompatible CFLAGS that are currently "optionally" included
in 'cflags.inc.mk'.

This prepares for the migration to 'OPTIONAL_CFLAGS'.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
e4331e8391
cpu/arch: blacklist incompatible CFLAGS
Blacklist incompatible CFLAGS that are currently "optionally" included
in 'cflags.inc.mk'.

This prepares for the migration to 'OPTIONAL_CFLAGS'.
2019-08-29 17:43:54 +02:00
Gaëtan Harter
785f868ee0
makefiles/cflags.inc.mk: handle optional cflags
Handle declaring OPTIONAL_CFLAGS and blacklisting them with
OPTIONAL_CFLAGS_BLACKLIST.

This should replace checking everytime if options are supported.
2019-08-29 17:43:54 +02:00
Juan I Carrano
866b126f36
Merge pull request #12119 from cladmi/pr/makefiles/utils/uppercase_function
makefiles/utils: functions for lowercase and uppercase
2019-08-29 16:04:58 +02:00
Kevin "Tristate Tom" Weiss
969e3b3e95
Merge pull request #12098 from cladmi/pr/export/remove_local_export_compilation_variables
make: do not locally export compilation variables
2019-08-29 14:32:22 +02:00
Gaëtan Harter
765f3e9327
makefiles/utils: functions for lowercase and uppercase
Add make only function to convert strings to lowercase and uppercase.
This can replace the `$(shell echo $(var) | tr 'a-z-' 'A-Z_')` pattern.
Using the 'make' implementation results in being around 100 times faster.
2019-08-29 13:59:31 +02:00
Gaëtan Harter
34f69245c3
makefiles: do not locally export compilation variables
These are already exported by `makefiles/vars.inc.mk`.
It is a prerequisite to allow handling compilation without global exports.
2019-08-29 10:35:36 +02:00
Gaëtan Harter
a68bf99086
makefiles/vars.inc.mk: export CFLAGS_CPU
CFLAGS_CPU is required for 'pkg/openthread'. So declare it as a global
compilation variable.

The goal is to move the export to `makefiles/vars.inc.mk` and remove the
local exports that could be in boards/cpu/arch.
2019-08-29 10:35:36 +02:00
Marian Buschsieweke
50194802d3
Merge pull request #12095 from cladmi/pr/pyterm/pytermflags
boards/msba2/lobaro-lorabox: change TERMFLAGS to PYTERMFLAGS
2019-08-28 15:46:14 +02:00
Aiman Ismail
fed72571ec sys/net/sock: add sock_dtls API 2019-08-27 16:41:39 +02:00
Gaëtan Harter
62fe786cd8
makefiles/serial.inc.mk: add PYTERMFLAGS variable
Add a variable for `pyterm` specific flags that are not handled by other
terminals.
This will prevent issues with boards that have options only supported by
`pyterm` and setting `pyterm` options from the environment.
2019-08-27 12:07:00 +02:00
Kevin "Tristate Tom" Weiss
1b1c902dd3
Merge pull request #12022 from JannesVolkens/tmp00x
driver/tmp00x: make tmp006 more generic
2019-08-23 13:26:09 +02:00
Jannes
90c4ef04ef driver/tmp00x: Change tmp006 to tmp00x and add tmp007
Rename TMP006 to TMP00x
Add TMP007 sensor support to TMP00X
Change uint8_t reg to uint16_t
Add to doxygen documentation group
Expose compile time configurations
Move defines from .c to .h
Change double to float, because double is not needed
Add TMP007 register information
2019-08-23 12:11:16 +02:00
Gaëtan Harter
e1357c1499
makefiles/docker.inc.mk: allow disabling color in docker
When compiling with CC_NOCOLOR=1, color were still used when
printing during compilation with `BUILD_IN_DOCKER=1`.
2019-08-22 11:20:58 +02:00
Gaëtan Harter
4516905c0f
makefiles/info-global.inc.mk: bug: honor DEFAULT_MODULE$
The parsing for info-boards-supported was completely ignoring default
modules.
2019-08-21 17:57:30 +02:00
Gaëtan Harter
8c0120acd5
makefiles/info-global.inc.mk: bug: handle FEATURES_CONFLICT value
The value must be saved from the original value to allow restoring it.

This has currently no impact on 'info-boards-supported' as it is
currently ignored.
2019-08-21 17:16:32 +02:00
Juan I Carrano
507444ee44
Merge pull request #12010 from cladmi/pr/makefiles/info_global/disable_module
makefiles/info-global.inc.mk: bug: fix DISABLE_MODULE_GLOBAL value
2019-08-21 17:15:02 +02:00
Gaëtan Harter
1292d96feb
makefiles/murdock.inc.mk: change policy to run tests by default
By default if a test is available and not blacklisted it will be run by
murdock.

This will move from a whitelisting everything that works, to
blacklisting what fails. This way, failing tests will be easier to
track instead of being silently just not run.

It could even allow introducing failing tests before a fix is available.
2019-08-21 12:49:26 +02:00
Gaëtan Harter
1e6ac08423
murdock: only set test is enabled if there are tests
Only set `TEST_ON_CI_ENABLED` if the application has tests.
Currently `TEST_ON_CI_WHITELIST` was only set if there were tests.

This is a pre-step to have `TEST_ON_CI_WHITELIST` being `all` by
default.
2019-08-21 12:49:26 +02:00
d6356bdc08
Merge pull request #11692 from maribu/fmt_table
sys/fmt: Added submodule fmt_table for printing tables
2019-08-20 22:18:54 +02:00
Peter Kietzmann
11b4bab101
Merge pull request #10340 from maribu/cc110x_rewrite
drivers/cc110x: Complete rewrite from scratch
2019-08-20 17:58:21 +02:00
Juan I Carrano
a4a1dc4dfe
Merge pull request #11771 from cladmi/pr/make/remove_riot_version_override
Makefile.include: remove RIOT_VERSION_OVERRIDE
2019-08-20 16:54:24 +02:00
Juan I Carrano
f08e0d315e
Merge pull request #12030 from cladmi/pr/docker/allow_defining_from_env
makefiles/docker.inc.mk: allow setting more things from environment
2019-08-20 16:50:45 +02:00
Marian Buschsieweke
972367432a
drivers/cc110x: Rewrite of the cc110x driver
The cc110x driver has been re-written from scratch to overcome the limitations
of the old driver. The main motivation of the rewrite was to achieve better
maintainability by a detailed documentation, reduce the complexity and the
overhead of the SPI communication with the device, and to allow to
simultaneously use transceivers with different configuration regarding the used
base band, the channel bandwidth, the modulation rate, and the channel map.

Features of this driver include:

- Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers.
- Detailed documentation of every aspect of this driver.
- An easy to use configuration API that allows setting the transceiver
  configuration (modulation rate, channel bandwidth, base frequency) and the
  channel map.
- Fast channel hopping by pre-calibration of the channels during device
  configuration (so that no calibration is needed during hopping).
- Simplified SPI communication: Only during start-up the MCU has to wait
  for the transceiver to be ready (for the power regulators and the crystal
  to stabilize). The old driver did this for every SPI transfer, which
  resulted in complex communication code. This driver will wait on start up
  for the transceiver to power up and then use RIOT's SPI API like every other
  driver. (Not only the data sheet states that this is fine, it also proved to
  be reliable in practise.)
- Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was
  about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms
  (depending on SPI clock and on CPU performance) (measured with ping6).
- Increased reliability: The preamble size and the sync word size have been
  doubled compared to the old driver (preamble: 8 bytes instead of 4,
  sync word: 4 byte instead of 2). The new values are the once recommended by
  the data sheet for reliable communication.
- Basic diagnostic during driver initialization to detect common issues as
  SPI communication issues and GDO pin configuration/wiring issues.
- TX power configuration with netdev_driver_t::set() API-integration
- Calls to netdev_driver_t::send() block until the transmission has completed
  to ease the use of the API (implemented without busy waiting, so that the
  MCU can enter lower power states or other threads can be executed).
2019-08-20 16:32:11 +02:00
Marian Buschsieweke
26d73116f6
sys/fmt: Added submodule fmt_table
print_col_u32_dec() / print_col_s32_dec() can be used to print an
uint32_t / int32_t as a column of the given width
2019-08-20 14:32:49 +02:00
Gaëtan Harter
89a92c551f
makefiles/docker.inc.mk: allow adding docker make arguments
Allow defining make arguments when called in docker.

It would be the same as adding to `DOCKER_OVERRIDE_CMDLINE` but have a
consistent naming.
2019-08-19 17:00:08 +02:00
Gaëtan Harter
8b90a51524
makefiles/docker.inc.mk: allow adding to docker ENV and OVERRIDE args
This allows passing other arguments as environment variables in
DOCKER_ENVIRONMENT_CMDLINE and as command line override in
DOCKER_OVERRIDE_CMDLINE without using the automatic detection.

This will allow passing USEMODULE to docker as its value is usually set
in an application Makefile so has its origin changed.
2019-08-19 16:59:46 +02:00
Gaëtan Harter
e83966c80f
makefiles/docker.inc.mk: allow setting DOCKER_ENV_VARS from environment
This allows setting other variables that should be exported to the
docker build.

As for other variables, they must still be unmodified before parsing
`docker.inc.mk` to be exported.
2019-08-19 16:46:22 +02:00
Gaëtan Harter
ce8d10c945
makefiles: end of 'FLASHFILE' transition phase
* Remove the transition documentation.
* assert that FLASHFILE is now defined
2019-08-19 16:30:10 +02:00
Gaëtan Harter
2689bb0366
makefiles/info-global.inc.mk: bug: fix DISABLE_MODULE_GLOBAL value
The value must be saved from the original value to allow restoring it.

This has currently no impact as 'makefiles/defaultmodules.inc.mk'
and 'DISABLE_MODULE' are ignored in this parsing.
2019-08-14 17:35:08 +02:00
Gaëtan Harter
7d10da832a
makefiles/buildtest: always execute 'buildtest' loop on host machine
This remove executing buildtest `for` loop in docker.

When building completely in docker, 'buildtest' would hide issues when
the host toolchain would be used when doing `make all` directly.
It has the consequence that it now starts a container for each
compilation which is slower.

The previous behavior can be reproduced by using

    BUILD_IN_DOCKER=1 make buildtest-indocker

A side effect is also that now `BUILDTEST_MAKE_REDIRECT` would work when
doing `buildtest` with docker.
2019-08-14 17:02:34 +02:00
Gaëtan Harter
a048001e96
makefiles/buildtest: add a buildtest-indocker
Add a 'buildtest-indocker' that forces executing 'buildtest' for loop
completely inside the container.
It prevents starting one container per compilation wich is slower but
it could hide errors where the host toolchain would be used

It is currently equivalent to `buildtest` but will change when the
`buidtest` handling will be move outside of `BUILD_IN_DOCKER`.

Display an error when executed without BUILD_IN_DOCKER=1.
2019-08-14 17:02:35 +02:00
Gunar Schorcht
d84f75b4d0 cpu/atmega_common: activate wrapper functions when linking 2019-08-12 23:22:23 +02:00
Gaëtan Harter
e04850b27b
Makefile.include: remove RIOT_VERSION_OVERRIDE
RIOT_VERSION is not used for building a specific RIOT version anymore
since #10543. The variable can now be used directly.
Add deprecation warning.
2019-08-12 16:28:19 +02:00
Jona Raemdonck
5fd90d08b8 makefiles/openocd: add sysfs gpio debug adapter
Add support for sysfs gpio adapter.
2019-08-05 14:59:34 +02:00