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

390 Commits

Author SHA1 Message Date
Martine Lenders
c005566f35
gnrc: make all pseudomodules explicit 2022-10-12 11:26:19 +02:00
Martine Lenders
30e7891a6b
Merge pull request #18706 from miri64/pseudomodules/depr/gnrc_netif_cmd_lora
pseudomodules: document gnrc_netif_cmd_lora as deprecated
2022-10-07 19:16:06 +02:00
benpicco
24f7d2011a
Merge pull request #18701 from benpicco/sys/checksum-crc16_fast
sys/checksum: add CRC-16 implementation without lookup table
2022-10-07 12:31:23 +02:00
Marian Buschsieweke
213c35bb71
Merge pull request #18649 from maribu/sys/shell/cmds
sys/shell/cmds: fix shell_cmd_netif LoRaWAN integration
2022-10-07 12:19:57 +02:00
Martine Lenders
485c94c0a8
pseudomodules: document gnrc_netif_cmd_lora as deprecated 2022-10-07 12:17:38 +02:00
Benjamin Valentin
e313c56e94 sys/checksum: add CRC-16 implementation without lookup table 2022-10-06 17:43:20 +02:00
Martine Lenders
bb92b2b281
doc: add deprecation notice on deprecated pseudo-modules 2022-10-06 10:53:10 +02:00
Marian Buschsieweke
f02bc5791a
Merge pull request #18571 from maribu/sys/tiny_strerror
sys/tiny_strerror: add tiny `strerror()` implementation
2022-10-05 09:24:40 +02:00
Marian Buschsieweke
fd80c53a35
sys/shell/cmds: fix shell_cmd_netif LoRaWAN integration
Model the LoRaWAN integration to GNRC's netif command (ifconfig) as
submodule of it, namely `shell_cmd_gnrc_netif_lorawan`.

This should fix a regression introduced by
https://github.com/RIOT-OS/RIOT/pull/18355
2022-10-04 23:06:03 +02:00
Benjamin Valentin
49a85f4633 sys/checksum: add CRC-32 checksum
based on https://github.com/aeldidi/crc32
2022-10-04 15:40:53 +02:00
Ollrogge
12a4e1c1ec gnrc/lorawan: add support for GNRC LoRaWAN 1.1 2022-09-29 11:25:56 +02:00
Marian Buschsieweke
1bdc1a5967
sys/tiny_strerror: add tiny strerror() implementation
`tiny_strerror()` is a drop-in replacement for `strerror()`, but
instead of a long help message it returns the much shorter macro name
matching the given number.

The (pseudo-)module `tiny_strerror_as_strerror` can be used to
replace all calls to `strerror()` with calls to `tiny_strerror()`.
2022-09-20 15:51:11 +02:00
benpicco
f03f5384c1
Merge pull request #18355 from maribu/sys/shell/cmds
sys/shell: make cmds submodules and add KConfig modeling
2022-09-19 21:07:23 +02:00
Marian Buschsieweke
c06335b71b
sys/shell: make cmds submodules
Previously `shell_commands` was a "catch-all" module that included
shell commands for each and every used module that has a shell
companion. Instead, the new `shell_cmds` module is now used to provide
shell commands as individually selectable submodules, e.g.
`cmd_gnrc_icmpv6_echo` now provides the ICMPv6 echo command (a.k.a.
ping).

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

For a handful of shell commands individual selection was already
possible. Those modules now depend on the corresponding `cmd_%` module
and they have been deprecated.
2022-09-16 13:15:45 +02:00
Marian Buschsieweke
44b62e879d
cpu/stm32/periph_eth: add stm32_eth_tracing
Add tracing support via GPIOs to trace the basic state of the Ethernet
peripheral. The following signals are provided:

- One GPIO pin is toggled on entry of the Ethernet ISR
- On TX start an GPIO is set, on TX completion it is cleared
- On RX complete an GPIO is set, once this is passed to the upper layer
  the GPIO is cleared again

In order to reduce the overhead, GPIO LL is used. By default the
on-board LEDs are used as tracing GPIOs. This makes it easy to debug
when the state machine gets stuck without the need to attach a scope or
logic analyzer.
2022-09-14 14:00:27 +02:00
Marian Buschsieweke
276ad5716a
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
A if `netdev_driver_t::confirm_send()` is provided, it provides the
new netdev API. However, detecting the API at runtime and handling
both API styles comes at a cost. This can be optimized in case only
new or only old style netdevs are in use.

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

This provides two helper function to check for a netif if the
corresponding netdev implements the old or the new API. (With one
being the inverse of the other.) They are suitable for constant folding
when only new or only legacy devices are in use. Consequently, dead
branches should be eliminated by the optimizer.
2022-08-17 12:56:07 +02:00
Fabian Hüßler
9333970b77 gcoap/fileserver: make PUT and DELETE pseudomodules 2022-08-03 22:10:30 +02:00
Martine Lenders
8bec9c1115
sock_dns_cache: move to dns_cache
Also piggy-back some fixes to the unittests and submodule handling
2022-07-18 15:27:58 +02:00
Benjamin Valentin
077a41a719 sock_dns: implement DNS cache 2022-07-13 23:23:52 +02:00
Martine Lenders
a8254d52b8
Merge pull request #16705 from miri64/gcoap_dns/feat/initial
gcoap_dns: initial import of a DNS over CoAP (DoC) client
2022-07-13 02:27:17 +02:00
Martine Lenders
107a2a0753
gcoap_dns: initial import of a DNS over CoAP client 2022-07-01 18:44:02 +02:00
Francisco
e5c7e3b633
Merge pull request #18029 from haukepetersen/verbump_nimble_nrfx2022
pkg/nimble: version bump to NimBLE 1.5.0 RC1
2022-06-10 04:11:26 +02:00
Hendrik van Essen
ccc795133f sys/shell: add pseudomodule shell_lock_auto_locking
Module to lock the shell after a given timeout of time x. When the
shell did not receive any input within time x, then the shell is
locked automatically.
2022-06-08 12:53:48 +02:00
Hauke Petersen
068c4f1c3b pkg: add nrfx as package 2022-06-02 14:59:50 +02:00
benpicco
cb5e19beb5
Merge pull request #17979 from maribu/drivers/netdev_ieee802154
drivers/netdev_ieee802154: drop duplicate struct member
2022-06-02 00:47:56 +02:00
chrysn
185dfea07f gcoap_fileserver: New module to serve VFS via CoAP 2022-05-22 16:36:21 +02:00
Benjamin Valentin
ff27db9bce sys/shell: add sha256sum command 2022-05-17 11:32:25 +02:00
Benjamin Valentin
a250c2b5ad sys/shell: add sha1sum command 2022-05-17 11:30:52 +02:00
Benjamin Valentin
845450c663 sys/shell: add md5sum command 2022-05-17 11:30:52 +02:00
Jose Alamos
38798cb877 gnrc_netif: use events instead of msg queue for ISR offload 2022-05-10 17:48:42 +02:00
Francisco Molina
d474b8ff8a pkg/nimble/autoadv: add shell 2022-04-27 10:10:32 +02:00
Marian Buschsieweke
1fd4d41d76
driver/netdev_ieee802154: Make timestamp optional
Also remove duplicate struct member.
2022-04-22 14:33:56 +02:00
Francisco Molina
0819660303 sys/syscalls: add libc_gettimeofday
Conditionally implement gettimeofday() if module is included, this
avoids including ztimer64 even when not needed
2022-03-24 11:36:49 +01:00
Francisco Molina
0b1453667e sys/xtimer-ztimer: rework dependecies to ease backend switch
This adds a xtimer_no_ztimer_default that is currently always
selected in Makefile, but that can be switched off in Kconfig.
Removing its inclusion will allow switching the default xtimer
backend to ztimer, while allowing for an easy way back.
2022-03-17 14:37:40 +01:00
Cenk Gündoğan
fa19b62cdb
gcoap/forward_proxy: add submodule 2022-03-11 14:53:17 +01:00
e59a6786a6
Merge pull request #17652 from kaspar030/split_core_lib
core: split out library code
2022-03-10 20:17:07 +01:00
Francisco Molina
2e2daae5d0 sys/sema: use sema_ztimer64 to implement old sema api
This PR removes the old xtimer based implementation for sema. Since
this implementation used 64bit timeout, backweard compatibility is
kept by having `sema_wait_timed` be implemented by `ztimer64_usec`
which is enabled by selecting `sema_deprecated`

With this 64bit `sema` api is now deprecated.
2022-03-10 14:19:44 +01:00
3db7c1150a core: split out library code
This commit splits core into it's scheduler/IPC part and into other code
that is either used or uses the scheduler, through defined APIs.
2022-03-09 21:43:05 +01:00
Benjamin Valentin
2034fa5101 sys/net/application_layer: add telnet server module 2022-03-01 23:07:22 +01:00
c6151226ad
Merge pull request #17633 from fjmolinas/pr_ztimer_auto_adjust
sys/ztimer: add auto_adjust module
2022-02-23 10:01:05 +01:00
d758cb93ef sys/ztimer: add auto_adjust module 2022-02-18 13:07:49 +01:00
Benjamin Valentin
5b246d02c0 pkg/fatfs: fatfs_vfs: wire up format() 2022-02-16 14:30:08 +01:00
Benjamin Valentin
92d9d5676a sys/vfs: add vfs_default pseudo-module 2022-02-14 13:04:37 +01:00
Silke Hofstra
9d61bdbb06 sys/senml: add SenML modules
Add a basic SenML module and submodules with support for:

- Encoding SenML values as CBOR using NanoCBOR.
- Converting from Phydat to SenML.
- Reading and encoding SAUL sensors.
2022-02-11 12:38:21 +01:00
benpicco
be45400631
Merge pull request #17341 from benpicco/vfs-mtd_cleanup
sys/vfs: add file-system auto-mount
2022-02-09 21:50:34 +01:00
Benjamin Valentin
2f6aa71946 sys/vfs: add file-system auto-mount 2022-02-09 12:21:53 +01:00
Francisco
dbae3ed706
Merge pull request #16860 from haukepetersen/add_nimble_netifextadv
nimble/netif: add support for BT5 PHY modes
2022-02-04 11:16:11 +01:00
Francisco
14f22c17aa
Merge pull request #12012 from HendrikVE/nimble_shell_module
sys/stdio_nimble: add new stdio module using nimble
2022-02-04 11:10:17 +01:00
benpicco
5a57dec71a
Merge pull request #17093 from maribu/core/change_prio
core/sched: add sched_change_priority()
2022-01-28 20:01:20 +01:00
Hendrik van Essen
72a6ca6366 sys/stdio_nimble: add new stdio module using nimble
Implement a new module stdio_nimble, which uses nimble
for stdio. The characteristic for stdin is writable and
the characteristic for stdout uses the indicate mechanism
to publish the system's output to a connected device.
Data will be sent out asynchronously via callout functions.

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

Co-authored-by: Francisco Molina <femolina@uc.cl>
2022-01-28 19:26:38 +01:00
chrysn
1e8209f80e pseudomodules: Documentation for board_software_reset 2022-01-27 13:49:25 +01:00
chrysn
15398a53cb doc: Sharpen list of pseudomodules in documentation
Not all pseudomodules should go here; this is mainly for those that
don't belon anywhere else.
2022-01-27 13:49:25 +01:00
chrysn
bb8402fc0b doc: Document the MPU pseudomodules 2022-01-27 13:49:25 +01:00
chrysn
68d0c291a9 doc: Initial documentation of pseudomodules
Co-authored-by: Francisco <femolina@uc.cl>
2022-01-27 13:49:14 +01:00
Hauke Petersen
0a4585d4c8 nimble/rpble: allow to select PHY mode 2022-01-27 10:30:30 +01:00
Hauke Petersen
2634063f5f nimble/statconn: allow to define PHY mode 2022-01-27 10:30:29 +01:00
Hauke Petersen
0ea7bf33d0 nimble/netif: support ext adv and BLE 5 PHY modes 2022-01-27 10:30:29 +01:00
Gunar Schorcht
a71dec81a2 sys/stdio_base: add optional function stdio_available
A couple of `stdio` backend implementations allow to check for the number of available bytes for reading before the blocking `stdio_read` is called. This helps to implement non-blocking functionalities while waiting for `stdin`.
2022-01-03 16:14:11 +01:00
Martine Lenders
e062ad78f3
Merge pull request #17265 from miri64/ethos/fix/threadify-state-machine
ethos: move bulk of state machine out of ISR context
2021-12-16 12:24:14 +01:00
Martine Lenders
568be105f2
stdio_ethos: move to ethos_stdio 2021-12-15 16:15:29 +01:00
benpicco
cfaa167469
Merge pull request #16598 from benpicco/sys/shell/udp
examples/gnrc_networking: move udp command to shell commands
2021-12-13 15:03:18 +01:00
439fcbf392 sys/ztimer64: initial implementation
Co-authored-by: Francisco Molina <femolina@uc.cl>
Co-authored-by: Marian Buschsieweke <maribu@users.noreply.github.com>
2021-12-07 23:57:56 +01:00
Gunar Schorcht
912bb604ee makefiles: remove PCF857x pseudomodule definition
The pseudomodules used by the PCF7857x driver are correctly defined by `Makfefile.include` of the driver. However, by mistake they were left in `makefiles/pseudomodules.mk` when the very old PR was rebased to the current master. That is, they were only leftovers that have been overseen after rebasing an squashing dozens of fixup commits.
2021-12-05 15:57:34 +01:00
benpicco
0646862421
Merge pull request #10430 from gschorcht/drivers_pcf857x
drivers: add PCF857X I2C I/O expander driver
2021-12-04 16:57:01 +01:00
Gunar Schorcht
dae1da051b makefiles: add PCF957X driver pseudomodules 2021-12-04 14:11:04 +01:00
Hauke Petersen
34b009fcc1 pkg/nimble: add config options for BLE5 PHYs 2021-12-02 23:31:32 +01:00
Benjamin Valentin
f362a19eed sys/shell: hide random commands behind random_cmd pseudo-module
These commands cost 248 bytes of memory, we don't want to always
include them when the `random` module is selected.
2021-11-19 16:53:46 +01:00
Francisco Molina
81c5d5dbcc sys/event/timeout: split xtimer, ztimer backends, don't force usec
This PR makes `event_timeout` and `event_timeout_ztimer` two distinct
pseudomodules, where the only api difference is in the init function.

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

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

If `event_timeout` and `event_timeut_ztimer` are selected then
`event_timeout` SRC file is excluded from compilation.
2021-11-17 10:15:11 +01:00
Marian Buschsieweke
ed9bf358c5
sys/shell: Add nice shell command via module nice 2021-11-02 20:44:32 +01:00
Erik Ekman
9844953da4 sys/net: Add ipv4 pseudomodule
Enabled when lwIP uses IPv4.
2021-10-11 21:37:47 +02:00
Erik Ekman
3df56d576f sys/net: Add ipv6 pseudomodule
Enabled when GNRC, lwIP or OpenWSN uses IPv6
2021-10-08 10:27:22 +02:00
2d00852a74
makefiles/pseudomodules: remove driver specific pseudomodules 2021-10-05 11:48:53 +02:00
benpicco
a39c0e1010
Merge pull request #16750 from benpicco/gnrc_ipv6_auto_subnets
gnrc/ipv6_auto_subnets: relax topology requirements
2021-09-28 19:07:21 +02:00
Benjamin Valentin
6742fb8076 gnrc/ipv6_auto_subnets: relax topology requirements 2021-09-28 16:57:10 +02:00
Leandro Lanzieri
0129cbe954
Merge pull request #16594 from fjmolinas/pr_sys_fortuna_reseed_ms
sys/random/fortuna: change interval ressed to ms
2021-09-27 20:46:06 +02:00
Francisco Molina
1af2462404 sys/fortuna: remove need for now64
Use a timer to required a reseed, enable use of plain ztimer (no now64)
2021-09-27 17:30:05 +02:00
Vera Clemens
06359e05ad drivers/lpsxxx: add support for lps22hh 2021-09-22 17:54:02 +02:00
Leandro Lanzieri
9980aa35b3
sys/net/credman: add key loading functions
This allows to load private and public keys encoded in DER format.
2021-09-20 08:10:59 +02:00
Benjamin Valentin
67f737b5e0 drivers/cc110x: use pseudo-modules for band selection 2021-09-17 12:58:10 +02:00
4fd1ae89a7
Merge pull request #16463 from kfessel/p-sched-int
core/sched: add runq_callback hook and runq inspection functions
2021-09-15 15:43:50 +03:00
Peter Kietzmann
b98fa6d9d0
Merge pull request #16489 from Ollrogge/fido2_pr
FIDO2 support in RIOT
2021-09-08 21:14:52 +02:00
Ollrogge
e127a4d865 FIDO2 support in RIOT 2021-09-08 15:22:40 +02:00
Benjamin Valentin
f4828cc7ae gnrc_ipv6_nib: add hook for Prefix Information Option 2021-09-02 15:35:14 +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
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
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
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
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
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