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

42894 Commits

Author SHA1 Message Date
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
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]
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
Benjamin Valentin
1be2cbd6ef shell/cmds: GNRC: replace puts() with printf() 2023-02-27 15:43:00 +01:00
bors[bot]
231393c894
Merge #19326
19326: sys/doc.txt: add sys_compression doxygen group r=aabadie a=benpicco



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
2023-02-27 14:17:36 +00:00
Benjamin Valentin
31534fcb84 sys/doc.txt: add sys_compression doxygen group 2023-02-27 15:09:08 +01:00
68bc404f94
doc: Add out of tree RIOT app documentation 2023-02-27 14:48:47 +01:00
bors[bot]
e50d4f9d98
Merge #19323
19323: SUBSYSTEMS.md: Adding myself to the relevant parts r=benpicco a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-02-27 13:43:42 +00:00
ea1ab1a092
esptools/install.sh: Fix shellcheck issues
Quote all the things!
2023-02-27 13:58:34 +01:00
Martine Lenders
662ce5ed2c
SUBSYSTEMS.md: Adding myself to the relevant parts 2023-02-27 13:13:57 +01:00
bors[bot]
f0b60d5a0d
Merge #17091 #18148
17091: USBUS: Add URB support r=benpicco a=bergzand

### Contribution description

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.

### Testing procedure

- `tests/usbus_cdc_ecm` should still work. Testing one of the usbdev-supported platform should be sufficient here.

### Issues/PRs references

Needs #17064 


18148: sys/flash_utils: helpers to store data in flash r=benpicco a=maribu

### Contribution description

This helpers that allow storing, accessing, and working with data in flash that works for both classical Harvard architectures (which do not map flash also into the address space) as well as modern Harvard architectures and von-Neumann architectures.

With this, `examples/default` again runs on the Arduino Uno / Nano. Since this board is still the "entry kit" for many people to embedded hardware, it would be nice to support it with our default example.

### Testing procedure

`examples/default` should run and work on ATmega boards (especially ATmega328P and ATmega32U4 based boards) as well on all other boards now.

### Issues/PRs references

None

Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-02-27 11:57:20 +00:00
Marian Buschsieweke
7e58bea1bd
examples,tests: Update Makefile.cis 2023-02-27 12:31:04 +01:00
Marian Buschsieweke
cdcec5b3f9
drivers/saul: use flash_utils 2023-02-27 12:31:04 +01:00
Marian Buschsieweke
29cfeb752e
sys/phydat: use flash_utils 2023-02-27 12:31:03 +01:00
Marian Buschsieweke
2825f5f2ae
sys/shell: use flash_utils 2023-02-27 12:31:03 +01:00
Marian Buschsieweke
c406f7ef42
cpu/avr8_common: Wrap stdio.h
This allows automatically moving format strings to flash, provided that
code previously compiled fine with `-Wformat-nonliteral` (which in RIOT
is the case due to `-Wformat=2`).
2023-02-27 12:31:03 +01:00
Marian Buschsieweke
75f17b4930
pkg/cryptoauthlib: Fix compilation with -Wformat-nonliteral 2023-02-27 12:31:03 +01:00
Marian Buschsieweke
4e3c0777fc
sys/flash_utils: add helpers for placing variables in flash
This adds a layer of convenience abstraction over classical Harvard
architectures (like most AVRs) that do not map the flash memory into
the data address space and modern Harvard architectures or von-Neumann
architectures that do so. The motivation is to safe a lot of RAM for
AVR by storing constant strings into flash.
2023-02-27 12:31:03 +01:00
Marian Buschsieweke
e5d0f83696
cpu/atmega_common: store periph_timer prescalers in flash 2023-02-27 12:06:30 +01:00
Marian Buschsieweke
7e8a0ae2d4
build system: use -std=gnu11 for avr8
This allows using the __flash qualifier to store data into flash.
2023-02-27 12:06:29 +01:00
bors[bot]
e9333feac2
Merge #19322
19322: subsystems: Assign chrysn to Rust r=bergzand a=chrysn

This sets me as the (so far, sole) subsystem assignee for Rust.

Co-authored-by: chrysn <chrysn@fsfe.org>
2023-02-27 10:02:17 +00:00
ba88608749
usbus/cdc_ecm: Make use of URBs for inbound frames 2023-02-27 10:09:55 +01: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
chrysn
04320bcbf5 subsystems: Assign chrysn to Rust 2023-02-27 09:56:00 +01:00
Benjamin Valentin
2d76fec30d examples/gnrc_border_router: add BLE as downlink option 2023-02-27 00:00:16 +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
ff0b97961b pkg/tinydtls: drop libc_gettimeofday 2023-02-25 14:57:40 +01:00
Benjamin Valentin
91998edf80 pkg/tinydtls: bump version 2023-02-25 14:57:39 +01:00
bors[bot]
ae32ce7fda
Merge #19318
19318: efm32/dac: Shift instead of masking r=chrysn a=chrysn

The documented behavior is:

> The value is always given as 16-bit value and is internally scaled to the actual resolution that the DAC unit provides (e.g. 12-bit). So to get the maximum output voltage, this function has to be called with value set to 65535 (UINT16_MAX).

The previous behavior was masking, now it's shifting.

### Testing procedure

* Run tests/periph_dac interactively and look at the voltage with an oscilloscope.

  Before, the period was 100ms/16, now it's 100ms as advertised.

*Note: I couldn't do that yet, the above is just what I expect.*

### Issues/PRs references

Closes: https://github.com/RIOT-OS/RIOT/issues/19317

Co-authored-by: chrysn <chrysn@fsfe.org>
2023-02-25 13:08:32 +00:00