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

425 Commits

Author SHA1 Message Date
Jose Alamos
a6648a2c7f
sys/shell/commands/sc_opendsme: add gts commands 2023-05-31 16:31:27 +02:00
Jose Alamos
d7b51c687b
opendsme: add initial support 2023-05-31 16:31:24 +02:00
08fdb23185
sys/evtimer: remove support for xtimer backend 2023-05-24 09:53:33 +02:00
bors[bot]
f3150120f7
Merge #17425
17425: cpu/rpx0xx: initial PIO support r=maribu a=fabian18



Co-authored-by: Fabian Hüßler <fabian.huessler@st.ovgu.de>
2023-05-23 07:02:45 +00:00
558d7dd8f2
makefiles/pseudomodules: remove deprecated event_thread_lowest module 2023-05-19 16:15:10 +02:00
Marian Buschsieweke
0747f5816c
sys/shell: Add coreclk command to shell_cmd_sys
The coreclk shell command now prints the CPU frequency in Hz, which
can be useful for boards with RC generated CPU frequency (e.g.
RP2040, FE310, or MPS430Fx1xx MCUs allow this) which may quite a bit
off the target frequency.
2023-05-16 10:58:06 +02:00
5f3a9de7fa
treewide: fix path to ztimer test applications 2023-05-13 19:08:38 +02:00
Fabian Hüßler
92c50cc5ed makefiles: add pseudomodules to automatically start PIO programs 2023-05-12 23:03:05 +02:00
1c0f882db9
makefiles/pseudomodules.inc.mk: declare shell_cmd_gnrc_netif_lora 2023-04-22 08:17:45 +02:00
Martine Lenders
13f613429d gnrc_sixlowpan_frag_sfr_congure: add congure_abe support 2023-03-01 20:23:32 +01:00
Martine Lenders
33402296d3
gnrc_sixlowpan_frag_sfr_congure: add congure_reno support 2023-03-01 16:32:31 +01:00
Martine Lenders
d0986caf03
gnrc_sixlowpan_frag_sfr_congure: add congure_quic support 2023-03-01 13:08:17 +01:00
bors[bot]
04ef37274f
Merge #16158
16158: gnrc_sixlowpan_frag_sfr_congure_sfr: initial import r=miri64 a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-03-01 08:32:45 +00:00
7bfdd73818
usbus: Add URB support
This commit adds support for URBs (USB Request/Response Blocks). These
allow for submitting multi-transfer sized buffers with USBUS handling
the individual usbdev xmits. Multiple URBs can be queued at once for a
single endpoint and USBUS will handle them in the order of submission.

OUT endpoint URBs must always consist of a whole number of full-sized
transfers (N x MaxEndpointSize). They will automatically finish after
the endpoint received a transfer less than the endpoint size.

IN endpoints can be arbitrary-sized and do not have to consist of a
whole number of full-sized transmissions. They support a flag to
indicate that the last transfer in the sequence must be less than a full
sized transfer (USBUS_URB_FLAG_AUTO_ZLP) and this adds a zero length
transfer at the end of the transmissions if the last transfer was equal
to the maximum transfer size.

URBs can be cancelled, but if the URB is already being processed it will
be cancelled after the current transmission within the URB is finished.
If it is still in the queue it will immediately be removed from the
queue.
2023-02-27 10:09:53 +01:00
bors[bot]
d4422a074a
Merge #18682
18682: pkg/lwext4: add lightweight implementation of the ext2/3/4 filesystem r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-02-25 18:59:07 +00:00
Benjamin Valentin
e798d21b3b pkg/lwext4: add lwEXT4 2023-02-25 14:01:20 +01:00
Marian Buschsieweke
6dc2a60597
drivers/servo: reimplement with high level interface
The previous servo driver didn't provide any benefit over using PWM
directly, as users controlled the servo in terms of PWM duty cycles.
This changes the interface to provide a high level interface that
abstracts the gory PWM details.

In addition, a SAUL layer and auto-initialization is provided.

Co-authored-by: benpicco <benpicco@googlemail.com>
2023-02-22 10:00:04 +01:00
bors[bot]
1c55118bd8
Merge #18257
18257: drivers/wdt: add periph_wdt_auto_start for early watchdog r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-02-13 21:09:07 +00:00
Benjamin Valentin
80fe4e5f26 sys/auto_init: add auto_init_wdt_{event, thread} modules 2023-02-13 15:06:24 +01:00
Benjamin Valentin
ea799e738d core/init: allow to run callback on main exit 2023-01-20 17:41:30 +01:00
Martine Lenders
914ca26bc7
gnrc_sixlowpan_frag_sfr_congure_sfr: initial import 2023-01-20 08:25:11 +01:00
bors[bot]
d6f44f6206
Merge #18414
18414: gcoap/fileserver: add event callbacks r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-01-16 22:23:46 +00:00
Benjamin Valentin
47295cc929 gcoap/fileserver: add event callbacks 2023-01-16 10:25:00 +01:00
Marian Buschsieweke
7ce641f110
sys/malloc_tracing: add module to trace dyn memory management
Hooking into the existing wrappers for `malloc()`, `calloc()`,
`realloc()`, and `free()`, the new (pseudo) module `malloc_tracing`
prints out the calls to the given functions, the program counter of
the caller, as well as the return result.

The intent is to aid debugging double-frees, invalid frees, or memory
leaks.
2022-11-15 12:59:46 +01:00
Martine Lenders
9ae66beedf
Merge pull request #16156 from miri64/gnrc_sixlowpan_frag_sfr/feat/congure
gnrc_sixlowpan_frag_sfr: provide CongURE support
2022-10-27 15:01:07 +02:00
Martine Lenders
30f990f789
gnrc_sixlowpan_frag_sfr: provide CongURE support 2022-10-25 18:38:36 +02:00
Benjamin Valentin
8553c8ff55 sys/tiny_strerror: add tiny_strerror_minimal 2022-10-18 23:30:15 +02:00
benpicco
5c9715ae74
Merge pull request #18731 from maribu/sys/stdio_uart/onlcr
sys/stdio_uart: add stdio_uart_onlcr (pseudo-) module
2022-10-15 23:36:48 +02:00
Martine Lenders
53ed211fc9
Merge pull request #16175 from miri64/gnrc_sixlowpan_frag_sfr/enh/mark-ecn
gnrc_sixlowpan_frag_sfr: add support for queue-based ECN
2022-10-15 14:01:44 +02:00
Martine Lenders
c94c32dce4
Merge pull request #18727 from miri64/gnrc/enh/explicit-pseudomodules
gnrc: make pseudo-modules explicit + documentation improvements
2022-10-14 17:39:39 +02:00
Jim Paris
d797c990d6
sys/stdio_uart: add stdio_uart_onlcr (pseudo-) module
Add USE_MODULE += "stdio_uart_onlcr" to enable it.
This is named after the "onlcr" stty flag, which does the same thing.

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2022-10-13 12:08:34 +02:00
Martine Lenders
653d08281b
gnrc_sixlowpan_frag_sfr: add support for queue-based ECN 2022-10-12 18:02:18 +02:00
Karl Fessel
514325b8b3 sys/log: modularize log into log_color and log_printfnoformat
- log_color: make log_write nonstatic
 - log_printfnoformat
 - apply module split to Kconfig
2022-10-12 12:21:29 +02:00
Martine Lenders
f7510cfb9d
gnrc_nettype: improve documentation on modules made explicit 2022-10-12 11:27:27 +02:00
Martine Lenders
153f42d524
gnrc_dhcpv6: improve documentation on modules made explicit 2022-10-12 11:27:15 +02:00
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