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

42922 Commits

Author SHA1 Message Date
Keith Packard
698abbaa04 sys/picolibc_syscalls_default: Fix read/write return for picolibc >= 1.8
Picolibc switched to standard posix types for read/write return in
version 1.8.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-03-03 12:04:48 -08:00
Keith Packard
fb01e6a3fb cpu: Add TLS symbols for newer picolibc to linker scripts
Newer picolibc versions require some additional symbols defined in the
linker script to correctly manage alignment constraints on thread
local storage.

Signed-off-by: Keith Packard <keithp@keithp.com>
2023-03-02 22:55:22 -08:00
bors[bot]
743ae3f095
Merge #19242
19242: usbus/msc: add initial Mass Storage Class support r=benpicco a=dylad

### Contribution description

This PR adds the initial support for Mass Storage Class in USBUS. This PR relies on the RIOT MTD implementation to implement the Mass Storage Class support. With the provided test application, a MTD device will be accessible as a normal storage device on your host computer.
Read and Write operations are allowed.
Multiple LUNs are supported so several MTD devices can be exported through USB.
The MSC relies on SCSI protocol to operate.

Currently there are some limitations:
    Supported host : Linux & Windows (macOS is untested)
    MSC cannot be used if MTD page size > 4096
    MTD device must have at least 512 bytes of memory to be exported.

Please be aware that performance are not so great.

### Testing procedure
Flash `tests/usbus_msc` application on a board with at least one MTD device.
Once the shell has started, prepare one or several MTD devices to be exported using `add_lun` command.
Once ready, start the USB connection with `usb_attach`

All MTD exported should appear as` /dev/sdX` on Linux.

### Issues/PRs references
Supersede #15941 


Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-03-02 22:19:41 +00:00
Dylan Laduranty
3671b009d8 tests: add test application for usbus msc
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-03-02 22:17:41 +01:00
Dylan Laduranty
854d3b7e94 dist/tools/doccheck: remove false positives
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-03-02 22:04:08 +01:00
Dylan Laduranty
a7e16536ab Kconfig: add Kconfig for USB MSC
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-03-02 22:04:08 +01:00
bors[bot]
b0626401d8
Merge #19331
19331: pkg/tinydtls: Adjust defaults r=miri64 a=chrysn

### Contribution description

This adjusts two defaults in tinydtls:

* Default verbosity is set to warning. At the info level, this module produces way more output (several lines per new connection, and even per message) than is common in RIOT.
* If gcoap is used, the buffer size is adjusted to the gcoap buffer size plus overhead. Otherwise, CoAP-over-DTLS works fine until one happens to request larger resources.

### Testing procedure

* Run examples/gcoap_dtls
* Send a CoAP request from outside, eg. with `aiocoap-client 'coaps://[fe80::3c63:beff:fe85:ca96%tapbr0]/.well-known/core' --credentials testserver.json` (where testserver.json is `{"coaps://[fe80::3c63:beff:fe85:ca96%tapbr0]/*": {"dtls": {"psk": {"ascii": "secretPSK"}, "client-identity": {"ascii": "Client_identity"}}}}`).

Before, there are messages shown for every request; now there are none.

Modify `examples/gcoap/server.c` as follows:

```patch
diff --git a/examples/gcoap/server.c b/examples/gcoap/server.c
index bf2315cd01..28e1faac27 100644
--- a/examples/gcoap/server.c
+++ b/examples/gcoap/server.c
`@@` -68,7 +68,7 `@@` static const coap_resource_t _resources[] = {
 };
 
 static const char *_link_params[] = {
-    ";ct=0;rt=\"count\";obs",
+    ";ct=0;rt=\"count\";obs;looooooooooooooooooooooong-attribute=\"loooooooooooooooooooooooooooooong\"",
     NULL
 };
```

The request passes; without this patch, it is stuck in retransmissions until "Network error: Retransmissions exceeded".

### Issues/PRs references

This contributes to making #19289 usable with a minimum level of security. (That module fills up the gcoap buffer to the brim). While the module handles the verbosity as well as it can (occasionally admitting that it lost bytes of output), the previous verbosity produces an infinite stream of stdout data. (But the default should be quiet immaterial of that particular PR).

Co-authored-by: chrysn <chrysn@fsfe.org>
2023-03-02 15:40:31 +00:00
bors[bot]
8d800e92b4
Merge #18515
18515: libschc: initial import as package r=miri64 a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-03-02 12:39:31 +00:00
Martine Lenders
9459e29ee3
tests: provide tests for libschc 2023-03-02 11:31:07 +01:00
chrysn
f2d5928ee5 dtls, tinydtls: Raise default number of connections 2023-03-02 09:16:22 +01:00
chrysn
f7a83a7edc tinydtls: Reduce default verbosity 2023-03-02 09:16:09 +01:00
chrysn
5d741b9d41 pkg/tinydtls: Set buffer size as required for gcoap 2023-03-02 09:15:51 +01:00
bors[bot]
a290d21aba
Merge #19339
19339: gnrc_netif: set lower bound for IEEE802154_STACKSIZE_DEFAULT r=maribu a=benpicco




Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-03-02 07:02:53 +00:00
Benjamin Valentin
9faa323c83 gnrc_netif: set lower bound for IEEE802154_STACKSIZE_DEFAULT
Since it was ported to the radio HAL, at86rf2xx requires more stack:

2023-03-02 01:00:52,637 # 	pid | name                 | state    Q | pri | stack  ( used) ( free) | base addr  | current
2023-03-02 01:00:52,646 # 	  1 | idle                 | pending  Q |  15 |    192 (  130) (   62) |     0x263a |     0x269f
2023-03-02 01:00:52,655 # 	  2 | main                 | running  Q |   7 |   2560 ( 1732) (  828) |     0x26fa |     0x2cb1
2023-03-02 01:00:52,663 # 	  3 | 6lo                  | bl rx    _ |   3 |    512 (  276) (  236) |     0x5446 |     0x559b
2023-03-02 01:00:52,672 # 	  4 | ipv6                 | bl rx    _ |   4 |    512 (  372) (  140) |     0x318e |     0x32c4
2023-03-02 01:00:52,681 # 	  5 | udp                  | bl rx    _ |   5 |    256 (  214) (   42) |     0x5648 |     0x569d
2023-03-02 01:00:52,689 # 	  6 | at86rf2xx            | bl anyfl _ |   2 |    520 (  514) (    6) |     0x3582 |     0x371f
2023-03-02 01:00:52,697 # 	    | SUM                  |            |     |   4552 ( 3238) ( 1314)
2023-03-02 01:01:30 +01:00
Dylan Laduranty
d49ed218ab usbus/msc: add initial support for Mass Storage Class
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-03-01 21:50:13 +01:00
bors[bot]
2ae3383bce
Merge #16171
16171: gnrc_sixlowpan_frag_sfr_congure: add congure_abe support r=miri64 a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-03-01 19:48:02 +00:00
Martine Lenders
1cff487636 tests: add congure_abe to SFR CongURE test 2023-03-01 20:23:32 +01:00
Martine Lenders
13f613429d gnrc_sixlowpan_frag_sfr_congure: add congure_abe support 2023-03-01 20:23:32 +01:00
bors[bot]
e9da0c19ec
Merge #19338
19338: dist/tools/edbg: bump edbg version r=kaspar030 a=benpicco



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-03-01 19:23:25 +00:00
Benjamin Valentin
3ce5fd592a dist/tools/edbg: bump edbg version 2023-03-01 17:33:07 +01:00
bors[bot]
2539521907
Merge #16170
16170: gnrc_sixlowpan_frag_sfr_congure: add congure_reno support r=miri64 a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-03-01 16:32:22 +00:00
Martine Lenders
0d4ab778ed
tests: add congure_reno to SFR CongURE test 2023-03-01 16:33:07 +01:00
Martine Lenders
33402296d3
gnrc_sixlowpan_frag_sfr_congure: add congure_reno support 2023-03-01 16:32:31 +01:00
bors[bot]
4e646feb0b
Merge #16159
16159: gnrc_sixlowpan_frag_sfr_congure: add congure_quic support r=miri64 a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-03-01 13:09:32 +00:00
Martine Lenders
753e0c86c8
tests: add congure_quic to SFR CongURE test 2023-03-01 13:14:55 +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
Martine Lenders
918d48adc0
tests: add test application for CongURE implementations with SFR 2023-03-01 09:21:09 +01:00
bors[bot]
54cd3c86a0
Merge #19336
19336: SUBSYSTEMS.md: add myself to relevant parts r=benpicco a=dylad



Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-02-28 21:47:35 +00:00
Dylan Laduranty
c7bc12040f SUBSYSTEMS.md: add myself to relevant parts
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-02-28 22:08:32 +01:00
bors[bot]
4ccf0af0b1
Merge #19320
19320: sys/vfs: add force option to vfs_umount() r=miri64 a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-02-28 16:55:56 +00:00
Martine Lenders
2658eb151b
tests: test the -EBUSY case for vfs_umount() 2023-02-28 17:36:32 +01:00
Benjamin Valentin
c19c25e078 tests: adapt to vfs_umount() API change 2023-02-28 17:24:03 +01:00
Benjamin Valentin
3b587d9268 sys/vfs: add force option to vfs_umount() 2023-02-28 17:24:03 +01:00
bors[bot]
fdf77ed362
Merge #19333 #19334
19333: Makefile.features: output board on error r=maribu a=benpicco



19334: boards/common/blxxxpill: Update pinout r=maribu a=maribu

### Contribution description

Also document the OSC32 connection of PC14/PC15 in the pinout.

### Testing procedure

Check the generated doc; or check the SVG updated by this PR (Github does have a nice SVG viewer inline that can show old and new versions side by side).

### Issues/PRs references

None

Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-02-28 08:16:23 +00:00
Marian Buschsieweke
8a4b4fb8dd
boards/common/blxxxpill: Update pinout
Also document the OSC32 connection of PC14/PC15 in the pinout.
2023-02-28 08:35:17 +01:00
bors[bot]
2c1bd9057f
Merge #17612 #19332
17612: pkg: add FlashDB r=benpicco a=benpicco



19332: sys/tiny_strerror: make use of flash_utils.h r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-02-28 02:46:35 +00:00
bors[bot]
800ec564e7
Merge #19247
19247: pkg/tinydtls: drop libc_gettimeofday dependency r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-02-28 00:07:32 +00:00
Benjamin Valentin
674e3adb65 tests/pkg_flashdb: add test for FlashDB 2023-02-27 23:49:55 +01:00
Benjamin Valentin
b05292f5e4 sys/tiny_strerror: make use of flash_utils.h 2023-02-27 23:25:13 +01:00
Benjamin Valentin
0e6806d490 Makefile.features: output board on error 2023-02-27 22:56:34 +01:00
bors[bot]
302a809db0
Merge #19329 #19330
19329: MAINTAINING.md: add some notes on Bors r=benpicco a=benpicco



19330: native/stdio: Explicitly provide getchar r=chrysn a=chrysn

### Contribution description

This ensures that even when libc does not implement getchar through getc, any custom stdio is still in the loop when getchar is used.

Frankly, I don't know when this broke -- I'm pretty sure custom stdio worked just a few days ago -- but either way, without this patch RIOT on native currently bypasses a configured stdio for me.

### Testing procedure

* `make -C examples/saul all debug`
* `break stdio_read`
* `run`

Without this patch, observe how the shell runs w/o ever breaking. After, lots of breakpoint hits.

This is the way it behaves for me (Debian sid, libc6:i386 2.36-8). If it works for you before this patch, we might start bisecting the differences between the systems, but we may also accept that libcs may imlpement getchar in different ways, and not all of them pass by the getc which we're patching.

### Issues/PRs references

This is needed for testing #19289.

The implementation stems from the `fgetc(3)` man page, which states that "getchar() is equivalent to getc(stdin)".

Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
Co-authored-by: chrysn <chrysn@fsfe.org>
2023-02-27 21:45:59 +00:00
chrysn
494942b981 native/stdio: Explicitly provide getchar
This ensures that even when libc does not implement getchar through
getc, any custom stdio is still in the loop when getchar is used.
2023-02-27 20:43:15 +01:00
Benjamin Valentin
8cc689adf8 pkg: add FlashDB 2023-02-27 18:12:13 +01:00
bors[bot]
6b501f74c6
Merge #19321 #19325 #19327 #19328
19321: examples/gnrc_border_router: add BLE as downlink option r=benpicco a=benpicco



19325: esptools/install.sh: Fix shellcheck issues r=benpicco a=bergzand

### Contribution description

Quote all the things!


### Testing procedure

The script should still work as before


### Issues/PRs references

None

19327: shell/cmds: GNRC: replace puts() with printf() r=benpicco a=benpicco



19328: pkg/u8g2: bump version r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-02-27 16:30:53 +00:00
Benjamin Valentin
f5bd5308e4 MAINTAINING.md: add some notes on Bors 2023-02-27 17:28:16 +01:00
Benjamin Valentin
b1e327d133 examples/gnrc_networking: remove microduino-corerf from Makefile.ci 2023-02-27 17:15:21 +01:00
bors[bot]
ee7ea44d0e
Merge #19324
19324: doc: Add out of tree RIOT app documentation r=benpicco a=bergzand

### Contribution description

This PR adds documentation on how to create an out-of-tree RIOT application using a directory structure I've personally been using for a few projects.

### Testing procedure

Check the new documentation and try to determine whether it is sufficient and clear enough to get somewhat new users up to speed


### Issues/PRs references

The occasional forum post and Matrix question on how to achieve this


Co-authored-by: Koen Zandberg <koen@bergzand.net>
2023-02-27 15:04:27 +00:00
Benjamin Valentin
b054191a28 pkg/u8g2: bump version 2023-02-27 16:00:21 +01:00
Benjamin Valentin
69989d3c5f sixlowpan: replace puts() with printf() 2023-02-27 15:43:00 +01:00