1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

9127 Commits

Author SHA1 Message Date
Gunar Schorcht
818c127513 sys/shell: update sc_i2c_scan to new I2C API 2021-11-29 06:35:25 +01:00
Gunar Schorcht
d00141b1d4 sys/arduino: update TwoWire class to new I2C API 2021-11-29 06:35:25 +01:00
Leandro Lanzieri
398df91a99
sys/usb/usbus: model cdc acm stdio in Kconfig 2021-11-26 11:06:47 +01:00
bab0514af7
Merge pull request #17272 from fjmolinas/pr_ztimer_auto_init
sys/ztimer: remove double ztimer indirection
2021-11-26 08:51:32 +01:00
Francisco
16b881dcff
Merge pull request #17266 from fjmolinas/pr_tsrb_peek
sys/tsrb: add peek functions
2021-11-26 08:20:34 +01:00
Francisco Molina
d0758b5a7e sys/ztimer: remove double ztimer indirection
To avoid confusions between `auto_init_ztimer` and `ztimer_auto_init`
rename `ztimer_auto_init` to `ztimer_init`.

This allows for similar handling as `saul_init_devs` and
`auto_init_devs`. Dependencies are therefore done against the USEMODULE
and not DEFAULT_MODULE or checking DISABLE_MODULE. For this, both
`ztimer_init` and `auto_init_ztimer` are added to DEFAULT_MODULE and
both need disabling if the user does not want that module in.

With this, the comment in Kconfig no longer applies.
2021-11-25 11:26:34 +01:00
Francisco Molina
dd47953178 sys/test_utils/result_output: add sort to multiple output check 2021-11-25 10:44:55 +01:00
Francisco Molina
857f3c3c51 sys/tsrb: add peek functions 2021-11-24 17:54:44 +01:00
Benjamin Valentin
be8a364bb4 shell/gnrc_icmpv6_echo: fix duplicate datalen check 2021-11-24 12:07:14 +01:00
Benjamin Valentin
7d1dd27756 shell/gnrc_icmpv6_echo: Fix hang with no msg queue
`msg_avail()` will return -1 if the thread has no message queue.
Casting this to unsigned will result in the `ping` command to try
receiving 4294967295 messages, which hangs the shell.

Drop the cast to `unsigned` and the loop behaves as intended.
But then it's still wrong: If new messages become available, they
would be ignored.

So change the `for` loop to a `while` loop. The index variable is
not used at all.
2021-11-24 12:00:14 +01:00
Marian Buschsieweke
78ded2dd08
sys/atomic_utils: add atomic_{load,store}_ptr() 2021-11-23 14:23:50 +01:00
Kevin "Tristate Tom" Weiss
e0b8238e79
Merge pull request #17106 from kaspar030/fmt_s32_dfp_tenmap_independance
sys/fmt: make fmt_s32_dfp() string based
2021-11-23 12:51:17 +01:00
62772ab3f9 sys/fmt: add some documentation about out 2021-11-22 14:11:02 +01:00
61c62c2ed6 sys/fmt: make fmt_s32_dfp() string based 2021-11-22 14:11:01 +01:00
Leandro Lanzieri
43c567ab53
sys/shell/commands/sc_dfplayer: make cppcheck happy 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
27a62efb63
sys/arduino/kconfig: do not imply arduino_pwm 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
6769101c34
sys/arduino: add pseudomodule for the arduino_pwm feature 2021-11-22 12:25:58 +01:00
Leandro Lanzieri
e525e23143
drivers/dfplayer: add no_strerror option to Kconfig 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
3854db364a
sys/stdio/kconfig: associate symbol to implementation 2021-11-22 12:25:30 +01:00
Leandro Lanzieri
45b6116c4c
sys/cxx_ctor_guards: model Kconfig 2021-11-22 12:25:30 +01:00
638b86e749
Merge pull request #17243 from benpicco/random_cmd
sys/shell: hide random commands behind random_cmd pseudo-module
2021-11-22 10:24:25 +01:00
benpicco
2d882c3521
Merge pull request #16737 from JKRhb/uncrustify
treewide: Address uncrustify suggestions
2021-11-21 15:42:05 +01:00
Ollrogge
6f9a21503b usbus/hid: fix ep_out readyness 2021-11-19 22:20:12 +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
4c03d10f7b
Merge pull request #17234 from fjmolinas/pr_cocci_ztimer_fixes
sys/ztimer/xtimer2ztimer.cocci: extend and fix api replacements
2021-11-19 15:18:07 +01:00
Jan Romann
9f4e839ceb
sys/riotboot: uncrustify 2021-11-19 09:54:17 +01:00
Francisco Molina
e6a79c8729 sys/ztimer/xtimer2ztimer.cocci: extend and fix api replacements 2021-11-18 18:27:23 +01:00
Karl Fessel
eb11e463df sys/ztimer: make internal head update static 2021-11-18 13:45:49 +01:00
dylad
f0a8bf9239 usbus/hid: fix ep_out readyness 2021-11-17 20:46:41 +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
Dylan Laduranty
aa8608eff5
Merge pull request #17064 from bergzand/pr/usbdev/xmit
USB: refactor to xmit-based API
2021-11-17 09:07:00 +01:00
Francisco
74cdb11bd1
Merge pull request #17203 from bergzand/pr/usbus/check_setup_length
usbus: check received setup request data amount
2021-11-17 08:59:07 +01:00
587d25a38e
USBUS/hid: Adapt to xmit API 2021-11-16 20:17:05 +01:00
5455c40c7a
USBUS/cdc_ecm: Adapt to xmit API 2021-11-16 20:17:04 +01:00
1a0bc3d8bc
USBUS/cdc_acm: Adapt to xmit API 2021-11-16 20:17:04 +01:00
7d9a177f25
USBUS: Adapt to xmit API
Converts the control endpoint to xmit API
2021-11-16 20:17:04 +01:00
Leandro Lanzieri
b0c380a9a9
Merge pull request #17039 from MrKevinWeiss/pr/turodefault
sys/turo: Allow default selection of json
2021-11-16 18:22:55 +01:00
chrysn
69dadf61e9
Merge pull request #17152 from maribu/sys/posix/sockets
sys/posix/socket: align struct sockaddr{,_storage}
2021-11-16 13:55:27 +01:00
59e85cf921
usbdev: Refactor to xmit API
This API change refactors the usbdev API to supply buffers via the
usbdev_ep_xmit function. This changes from the usbdev_ep_ready call to allow
separate buffers per call. An usbdev_ep_buf_t pseudotype is available and must
be used when defining buffers used for endpoints to adhere to the DMA alignment
restrictions often required with usb peripherals.

Main advantage is that the usbdev peripherals no longer have to allocate
oversized buffers for the endpoint data, potentially saving multiple KiB
of unused buffer space. These allocations are now the responsibility of
the individual USB interfaces in the firmware
2021-11-16 11:21:00 +01:00
MrKevinWeiss
5a66307314
sys/turo: Allow default selection of json 2021-11-16 08:37:45 +01:00
Francisco
5f119e3b6c
Merge pull request #17200 from bergzand/pr/usbus_cdc_ecm/check_max_frame_len
cdc_ecm: Truncate frames at max ethernet size
2021-11-16 07:54:01 +01:00
4573d5f9dc
usbus_control: check received setup request data amount
This adds a check to the usbus control stack to ensure that the amount
of data received with a setup request does not exceed the amount
indicated within the setup request
2021-11-15 19:38:16 +01:00
2ba022221b
cdc_acm: Abort line coding request on incorrect size
This adds a sanity check to the line coding request of the CDC ACM code
to chcek the length parameter in the setup request with the size of the
expected payload struct
2021-11-15 19:36:03 +01:00
3871948015
Merge pull request #17126 from bergzand/pr/benchmark/ztimer
sys/benchmark: Convert to ztimer
2021-11-15 18:56:18 +01:00
cd489cebd1
cdc_ecm: Truncate frames at max ethernet size
This truncates the incomming frames to ETHERNET_FRAME_LEN and silently
discards the rest of the frame until the end of the frame. This should
be modified to an endpoint halt condition after #17090 is merged, but
for now this should be good enough.

Stalling the endpoint with the current stall implementation could cause
a ping of death scenario, so for now the data is truncated until the
above solution can be implemented.
2021-11-15 16:04:13 +01:00
556160b9a3
Merge pull request #17182 from ML-PA-Consulting-GmbH/fix/20211111__sys-suit__deps
sys/suit: adjust dependencies for CoAP transport
2021-11-15 15:27:47 +01:00
8c2f0dd2af
sys/benchmark: Convert to ztimer 2021-11-15 14:14:23 +01:00
Marian Buschsieweke
8a178f49e7
sys/fido2: fix CBOR parsing
The TinyCBOR library takes a `size_t *` length argument in many
functions which at function call contains the length of a buffer, and
at exit the actual size of the data. The FIDO-2 code however uses
`uint8_t` fields in `struct`s to store the data. Previously, a pointer
to that `uint8_t` filed was just casted to `size_t *`, resulting in
three neighboring bytes also being interpreted as being part of the
buffer size - which could result in undetected buffer overflows.
Similar, upon exit of the function not only the `uint8_t` sized length
`struct` member but also three neighboring bytes were written to.

I didn't care to investigate, but this really looks like crafted CBOR
payloads send to the FIDO2 implementation could result in arbitrary
code execution on the device.
2021-11-13 20:32:02 +01:00
Benjamin Valentin
39b8cdf760 sys/random: default to musl LCG
In [0] the paper concludes with

> The Knuth LCG is the most efficient general purpose generator that
> provides decent statistical quality.
> It is simple and lean enough to run on very constrained devices.

So let's select `prng_musl_lcg` to be the default PRNG instead of
`prng_tinymt32`.

This gives a good chunk of memory on e.g. `samr21-xpro`:

prng_tinymt32
-------------

   text	   data	    bss	    dec	    hex	filename
  26452	    136	   2824	  29412	   72e4	tests/rng/bin/samr21-xpro/tests_rng.elf

prng_musl_lcg
-------------

   text	   data	    bss	    dec	    hex	filename
  26208	    136	   2808	  29152	   71e0	tests/rng/bin/samr21-xpro/tests_rng.elf

[0] https://sci-hub.se/10.1145/3453159
2021-11-11 19:59:26 +01:00
Daniel Lockau
9e1e7be77e sys/suit: adjust dependencies for CoAP transport 2021-11-11 13:58:32 +01:00
Marian Buschsieweke
7b06e665ee
sys/architecture: add HAS_ALIGNMENT_OF() helper 2021-11-11 10:57:26 +01:00
Marian Buschsieweke
7703b37c6f
sys/posix/socket: align struct sockaddr{,_storage}
Align the first member of `struct sockaddr` and
`struct sockaddr_storage` as `uint32_t` to elevate the alignment of the
structure to level of `uint32_t`. This is needed as
`struct sockaddr_in` uses an `uint32_t` to store the IPv4 address,
previously resulting in `struct sockaddr_in` currently having a greater
alignment requirement that `struct sockaddr_storage`.
2021-11-11 09:55:24 +01:00
Kevin "Tristate Tom" Weiss
da60ba5fff
Merge pull request #17165 from leandrolanzieri/pr/sys/ztimer_kconfig_entry
sys/ztimer: rework Kconfig

To eliminate circular dependencies based in periph_rtc and xtimer_ztimer_compatibility the following changes are applied:
- Change entrypoint of ztimer as a specific backend is always required
- Add a non-module symbol for ztimer_usec that bring in the ztimer and ztimer_usec module which allows the xtimer ztimer compatibility layer to only select the ztimer_usec module preventing circular dependency issues
2021-11-11 09:21:33 +01:00
dba51edc69 net/uhcp[cd]: use modules to select client/server code 2021-11-09 21:42:45 +01:00
Leandro Lanzieri
703e66b4c1
sys/ztimer/kconfig: change entry point 2021-11-09 15:32:34 +01:00
Leandro Lanzieri
3837286750
sys/{x,z}timer/Kconfig: fix compatibility modules 2021-11-09 15:32:33 +01:00
Martine Lenders
4b2ca7a702
Merge pull request #16986 from benpicco/uhcp-debug
sys/net/uhcp: use LOG_DEBUG instead of LOG_INFO
2021-11-09 12:58:16 +01:00
Marian Buschsieweke
f7bed004ff
Merge pull request #17153 from maribu/sys/net/dns
sys/net/dns: mark dns_hdr_t as packed
2021-11-07 07:52:16 +01:00
Marian Buschsieweke
2e6eca1918
sys/net/dns: mark dns_hdr_t as packed
This structure is used to parse data from unaligned buffers, so make
sure the compiler issues instructions suitable for unaligned memory
access.
2021-11-06 20:16:56 +01:00
benpicco
1f11780c02
Merge pull request #17119 from spectraphilic/sdi12-remote
pkg/arduino_sdi_12: support the remote-revb board
2021-11-06 11:32:54 +01:00
J. David Ibáñez
77df3eedbd sys/arduino: millis() expected to have C linkage
This fixes building tests/pkg_arduino_sdi_12 for the hifive1b board.

The problem is, in build/pkg/arduino_api/api/Common.h millis is defined
within an extern "C" block. While in sys/arduino/include/arduino.hpp it
was not.
2021-11-05 10:21:26 +01:00
eaa007d412
Merge pull request #17135 from bergzand/pr/usbdev/fix_cppcheck_vera
usb(dev|bus): Fix static-check issues
2021-11-05 08:36:53 +01:00
9f510fb1ab
usbus/cdc_acm: resolve vera++ issues 2021-11-04 13:49:35 +01:00
df39337ebf
usbopt: resolve vera++ issues 2021-11-04 13:49:34 +01:00
86aa665cbc
usbus_hid: Fix possible null pointer dereference 2021-11-04 13:45:19 +01:00
b0d5e9a027
Merge pull request #17128 from dylad/pr/usbus/dfu/fix_underflow_condition
usbus/dfu: fix underflow condition while updating firmware
2021-11-04 09:50:18 +01:00
Dylan Laduranty
64a82c9a78 usbus/dfu: fix underflow condition while updating firmware
Reports dfuERROR if underflow is detected or if flash write failed
Implement DFU control CLRSTATUS while at it to clear dfuERROR by the host
2021-11-03 17:06:27 +01:00
1fa8bcc9d2
Merge pull request #17123 from bergzand/pr/stdio_semihosting/ztimer
stdio_semihosting: Convert to ztimer
2021-11-03 16:22:45 +01:00
benpicco
47029055a6
Merge pull request #8954 from zhuoshuguo/gnrc_gomach/adapt_duty_recode_para_name
gnrc_gomach: adapt duty recording parameters' namings.
2021-11-03 12:56:39 +01:00
4cfb155397
stdio_semihosting: Add unit clarification to poll define 2021-11-03 11:39:26 +01:00
2b696fd770
stdio_semihosting: Convert to ztimer 2021-11-03 11:39:26 +01:00
Martine Lenders
67f67bfe62
Merge pull request #17076 from jenswet/feature/add-fff-package
pkg/fff: Add fake functions framework package
2021-11-03 11:00:56 +01:00
Francisco
8e0d5efaa2
Merge pull request #17113 from fjmolinas/pr_ztimer_sec_no_rtc
sys/ztimer: don't default to rtc for ztimer_sec
2021-11-02 22:08:37 +01:00
Jens Wetterich
14f90f3c5e pkg/fff: Add fake functions framework package 2021-11-02 18:01:21 +01:00
Francisco
0bbcf4863f
Merge pull request #17006 from yarrick/ifconfig_help
sys/shell/gnrc_netif: Allow 'ifconfig help'
2021-11-02 16:32:59 +01:00
Francisco Molina
2e4dfa0aac sys/ztimer: don't default to rtc for ztimer_sec 2021-11-02 15:31:04 +01:00
Francisco
1ef44844e0
Merge pull request #17085 from bergzand/pr/cdcacm/stall_on_no_line_coding
usbus/cdc_acm: Return stall on line coding not supported
2021-11-02 13:04:26 +01:00
Leandro Lanzieri
f64b166319
Merge pull request #16845 from MrKevinWeiss/pr/kconfig/supportstms
.murdock: Add nucleo boards to kconfig test
2021-11-01 09:55:22 +01:00
Leandro Lanzieri
4011bd9edf
Merge pull request #16780 from fjmolinas/pr_kconfig_uwb
pkg/uwb*: add Kconfig dependency modelling
2021-11-01 09:35:29 +01:00
6a509308fe
usbus/cdc_acm: Return stall on line coding not supported
The SetLineCoding request is optional to support (CDC PSTN subclass). No
need to claim to support it to the host and actually discard the data if
it is not supported by the implementation.
2021-10-30 11:56:42 +02:00
Benjamin Valentin
358aa11d48 ztimer/xtimer_compat: implement trivial functions
xtimer_ticks64_t / xtimer_ticks32_t is no longer a struct, so these are
even more trivial than on xtimer.
2021-10-29 00:45:01 +02:00
J. David Ibáñez
a651315fbe sys/arduino: add interrupts/noInterrupts
This fixes the error:

$ BOARD=arduino-mega2560 make -C tests/pkg_arduino_sdi_12/
[...]
[...]/RIOT/build/pkg/arduino_sdi_12/src/SDI12.cpp:379:7: error: ‘interrupts’ was not declared in this scope
2021-10-28 15:59:48 +02:00
chrysn
a92cdb535e
Merge pull request #16378 from chrysn-pull-requests/gcoap-handle-truncation
sys/net/gcoap: Use socket _buf API to recognize truncated requests
2021-10-27 08:55:52 +02:00
Dylan Laduranty
aa4383104f
Merge pull request #17051 from bergzand/pr/riotboot_dfu/ztimer
riotboot_dfu: use ztimer instead of xtimer
2021-10-26 20:49:26 +02:00
5dfc4725c8
usbus_dfu: Use ztimer for reboot timeout 2021-10-26 14:14:46 +02:00
5c01e14b7a
riotboot_dfu: Add ztimer_msec dependency 2021-10-26 14:14:45 +02:00
261a615439
ztimer: Use auto_init for manual init in bootloaders 2021-10-25 22:24:07 +02:00
4bec2f0723
Merge pull request #17034 from fjmolinas/pr_turo_optional_space_after_symbol
sys/test_utils/result_output/json: optional space after symbol
2021-10-25 22:31:16 +03:00
benpicco
2aab2b83bc
Merge pull request #17046 from bergzand/pr/usb/deprecate_fail_report
usbdev/USBUS: deprecate transfer failure reporting report
2021-10-25 16:27:01 +02:00
0ce6bfc1a2
usbus: Deprecate USBUS_HANDLER_FLAG_TR_FAIL event 2021-10-24 19:33:29 +02:00
Erik Ekman
ccfe80c844 sys/shell/gnrc_netif: Allow 'ifconfig help'
Currently a valid netif name must be passed to show the usage
instructions:

```
> ifconfig help
error: invalid interface given
> ifconfig 6 help
usage: ifconfig
usage: ifconfig <if_id> [up|down]
[...]
```

`ifconfig --help` is also accepted.
2021-10-22 14:14:58 +02:00
4bee52a693 sys/test_utils/result_output: fix turo_float() precision value
`print_float()` only allows values from 0-7.
2021-10-22 12:49:16 +02:00
Francisco Molina
720338b304 sys/test_utils/result_output/json: optional space after symbol 2021-10-22 12:31:03 +02:00
Francisco
abbf798e8e
Merge pull request #17027 from kaspar030/turo_json_fixes
turo: some json fixes
2021-10-22 10:48:29 +02:00
99dbed9ce7 turo: fix json toru_float() precision value 2021-10-21 13:02:48 +02:00
1c8a8bf6c4 turo: add space after JSON comma 2021-10-21 13:02:21 +02:00
Karl Fessel
c9f4d11c52
Merge pull request #16966 from yarrick/net_v6
sys/net: Add ipv4/ipv6 pseudomodules

to ease code unification
2021-10-20 11:58:26 +02:00
0486c0dba7
Merge pull request #17001 from kaspar030/support_picolibc_stdio_globals
sys/picolibc_syscalls_default: support new picolibc stdio globals
2021-10-20 12:17:14 +03:00
Martine Lenders
44927b493f
Merge pull request #16967 from miri64/dsm/enh/peer-sync
dsm: rename DTLS_PEER_MAX and make it dependent on CONFIG_DTLS_PEER_MAX
2021-10-18 16:27:26 +02:00
27b9c6da06 sys/picolibc_syscalls_default: support new picolibc stdio globals 2021-10-18 12:02:33 +02:00