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

1329 Commits

Author SHA1 Message Date
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
f2a719ba3c
docker: pass number of jobs from MAKEFLAGS to the container 2021-01-18 13:41:35 +01:00
Francisco
4736a881fc
Merge pull request #15512 from aabadie/pr/tools/emulator_term
tools/emulator: allow use with *term targets + introduce EMULATE=1 instead of emulate target
2021-01-13 17:12:00 +01:00
Marian Buschsieweke
f0ba796e5d
sys/net/sock: add sock_aux_rssi
Allow accessing the RSSI value of received UDP datagrams / IP packets with the
sock API.
2021-01-13 13:29:13 +01:00
dylad
7fc5bb483b makefiles/dfu-util: automatically generate DFU_USB_ID 2021-01-12 11:34:22 +01:00
a6d856a5be
makefiles/tools/qemu: cleanup makefile 2021-01-11 21:31:49 +01:00
08108f85b4
make: replace emulate% targets with EMULATE variable 2021-01-11 21:31:48 +01:00
753e13fba3
tools/renode: disable gui and hide log by default
Use RENODE_SHOW_LOG and RENODE_SHOW_GUI from the command line to enable them
2021-01-11 21:31:48 +01:00
c8ce41c9de
dist/tools/emulator: allow use of term with emulators 2021-01-11 21:31:48 +01:00
Martine Lenders
4bcf908176
Merge pull request #15667 from miri64/make/cleanup/static-tests
make: run static_tests.sh directly with `static-tests` target
2021-01-05 16:41:45 +01:00
Leandro Lanzieri
675ddb6ccc
drivers/pn532: use pseudomodules to select i2c or spi 2021-01-04 16:55:16 +01:00
Marian Buschsieweke
720ea90372
Merge pull request #15668 from leandrolanzieri/pr/makefiles/arch/riscv_redirect_which_error
makefiles/arch/riscv: redirect 'which' error message to /dev/null
2020-12-19 21:43:16 +01:00
Marian Buschsieweke
c8d16d21f7
Merge pull request #15606 from maribu/malloc-newlib-picolibc
sys/malloc_thread_safe: new module
2020-12-17 19:55:32 +01:00
Marian Buschsieweke
902aa29b62
sys/malloc_thread_safe: split out of cpu/atmega_common
Split out Gunar Schorcht's clever approach to provide thread safe malloc for
AVR into a system module and make AVR depend on this. This allows other
platforms to also use this.
2020-12-17 15:39:05 +01:00
Leandro Lanzieri
aaf4a738f9
makefiles/arch/riscv: redirect error message to /dev/null 2020-12-17 15:23:21 +01:00
Martine Lenders
9066ab28e1
make: run static_tests.sh directly with static-tests target 2020-12-17 15:16:36 +01:00
José Alamos
4661948bd1
Merge pull request #15630 from benpicco/makefiles/pseudomodules.inc.mk-netdev_ieee802154_legacy
makefiles/pseudomodules.inc.mk: netdev_ieee802154_legacy is a pseudomodule
2020-12-15 10:27:31 +01:00
Benjamin Valentin
44acfc54cb makefiles/pseudomodules.inc.mk: netdev_ieee802154_legacy is a pseudomodule
`netdev_ieee802154_legacy` is not a real module, don't add it to `NO_PSEUDOMODULES`.
2020-12-14 18:01:23 +01:00
Martine S. Lenders
e980405cbc
gnrc_sixlowpan_frag_sfr: provide statistics sub-module 2020-12-14 13:00:37 +01:00
Martine Lenders
08d86295d2
Merge pull request #15560 from maribu/gnrc-aux-rx-timestamps
net/gnrc/sock: Implement sock_aux_timestamp for RX
2020-12-10 19:20:16 +01:00
Marian Buschsieweke
d95192e97b
sys/net/gnrc/sock: Add support for RX timestamp 2020-12-10 17:43:11 +01:00
benpicco
1477a340fe
Merge pull request #15150 from fabian18/ieee802154_security
Initial implementation of IEEE 802.15.4 security
2020-12-09 14:14:27 +01:00
b801d57f0c
Merge pull request #15555 from dylad/pr/makefiles/dfu_optionnal_dfuse
boards: move DfuSe specific argument at board level
2020-12-09 14:08:50 +01:00