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

2592 Commits

Author SHA1 Message Date
chrysn
41816ed647 doc: Link to thread primer 2024-02-14 17:44:13 +01:00
benpicco
ee624b5185
Merge pull request #20326 from leandrolanzieri/pr/pkg/wakaama_notify_resource_update
pkg/wakaama: Notify resource updates when writing to resources
2024-02-13 22:02:42 +00:00
benpicco
270aa7012f
Merge pull request #20221 from fabian18/pr/flashdb_cfg_enhancement
pkg/flashdb: enhance FAL config
2024-02-10 22:33:03 +00:00
benpicco
55b6728224
Merge pull request #19738 from benpicco/stdio_dispatch
stdio_dispatch: allow to select multiple stdio methods at the same time
2024-02-09 16:13:27 +00:00
Benjamin Valentin
018b7321ed pkg/tinyusb/cdc_acm_stdio: only enable RX callback if stdin is active 2024-02-09 15:31:21 +01:00
Benjamin Valentin
5548c3d742 pkg/tinyusb/cdc_acm_stdio: port to new interface 2024-02-09 15:24:22 +01:00
Fabian Hüßler
3167d58e0d pkg/flashdb: add configurable sector size 2024-02-08 20:48:14 +01:00
Mikolai Gütschow
d978a57020
sys/psa_crypto: return proper error code for psa_verify_msg 2024-02-06 17:55:40 +01:00
Frederik Haxel
0c2cfe99e6 native64: Add Linux/x86_64 board
Adds a separate board for native64 instead of the `NATIVE_64BIT` workaround.
The files in `boards/native64` are more or less dummy files and just include
the `boards/native` logic (similar to `openlabs-kw41z-mini-256kib`).
The main logic for native is in `makefiles/arch/native.inc.mk`, `cpu/native`
and `boards/native`.

The remaining changes concern the build system, and change native board checks
to native CPU checks to cover both boards.
2024-02-05 22:01:40 +01:00
Marian Buschsieweke
3b3da09ec6
Merge pull request #20313 from maribu/sys/byteorder/cleanup-implementation
sys/byteorder: clean up implementation
2024-02-02 05:38:33 +00:00
Marian Buschsieweke
ebfaa362f5
pkg/tinydtls: fix conflict with endian.h 2024-02-01 18:24:40 +01:00
Marian Buschsieweke
48b2552ed2
pkg/esp8266_sdk: make use of <endian.h> 2024-02-01 18:24:40 +01:00
benpicco
5bd879b406
Merge pull request #20315 from fzi-haxel/native-x86-64-support
native: Linux/x86_64 support
2024-02-01 17:11:56 +00:00
Leandro Lanzieri
d523d5dab4
pkg/wakaama/common: mark resource as updated when written to 2024-02-01 10:29:20 +01:00
Leandro Lanzieri
2f7e540c3b
pkg/wakaama: patch const URI on value changed function 2024-02-01 10:28:00 +01:00
Leandro Lanzieri
ba63450e9d
pkg/wakaama: fix patch file name 2024-02-01 10:27:25 +01:00
f9afdf86d0 pkg: ensure "dynamic sparse paths" are up-to-date 2024-01-30 21:08:20 +01:00
2bb2016e23 pkg/cmsis: add PKG_SPARSE_PATHS for NN and DSP sub-pkgs 2024-01-30 21:08:20 +01:00
Frederik Haxel
16eff9b6ed native: Linux/x86_64 support
Initial version to test 64 bit compatibility.

Instead of a separate board, the inital version for Linux/x86_64 is enabled
by setting the environment variable `NATIVE_64BIT=y` and compiling as usual.

Not currently implemented:
* Architectures other than x86_64 or operating systems other than Linux
    * No FreeBSD support
    * No Aarch support
* Rust support for x86_64
2024-01-30 16:33:19 +01:00
cba6f12b8b make: pkg/: add git-cache-rs support 2024-01-30 10:51:20 +01:00
Mikolai Gütschow
a9e0a0daa1
pkg/uzlib: warn about memory leak during compression 2024-01-24 11:15:45 +01:00
Frederik Haxel
db575ac82f pkg/tinydtls: fix debug message
Cast length to `size_t` in macro, before printing.
2024-01-18 00:40:18 +01:00
Frederik Haxel
3291f94e07 pkg: 64 bit compatibility
* Added arch_64bit feature and added it to all packages that require 32 bit.
* hacl, wolfssl: Fixed different types between function declaration and implementation.
* lwip: Add required flag for 64 bit and bug fix in `lwip_sock`.
* micro-ecc: Workaround for GCC warning when using `__int128`.
2024-01-18 00:40:08 +01:00
Frederik Haxel
53c4a16b58 pkg/ccn-lite: Bump version 2024-01-11 16:09:45 +01:00
Gunar Schorcht
92657f5fd2 cpu/esp32: add SDMMC support 2024-01-05 07:22:27 +01:00
Fabian Hüßler
bd75060bec pkg/flashdb: fix FAL partition offsets 2024-01-02 23:48:45 +01:00
Fabian Hüßler
6e1e78d126 pkg/flashdb: have FAL MTD and defaults for partition 0 defined 2023-12-31 01:27:43 +01:00
benpicco
26682d882a
Merge pull request #20206 from zengwei2000/patch-4
fatfs_vfs: fix the Memory leak: work
2023-12-26 10:05:02 +00:00
zengwei2000
1fd2eef1a0 fatfs_vfs: fix the Memory leak: work
Signed-off-by: zengwei zengwei1@uniontech.com
2023-12-26 08:57:55 +00:00
Oleg Hahm
1391f9a1b5 pkg: micropython: bump version 2023-12-21 17:23:51 +01:00
Frederik Haxel
1182de16fd pkg: Use size_t print format specifier 2023-12-21 12:02:32 +01:00
Kevin "Tristate Tom" Weiss
5ba18df6fb
Merge pull request #20129 from bergzand/pr/mjson/initial
mjson: Initial include of package
2023-12-18 13:07:41 +00:00
Benjamin Valentin
2f9c68dabc sys/net/netif: constify netif access 2023-12-15 16:50:21 +01:00
benpicco
d13e6c4e83
Merge pull request #20180 from benpicco/mtd_sdmmc-erase
drivers/mtd_sdmmc: always enable the erase function
2023-12-14 13:42:33 +00:00
Benjamin Valentin
5e30c0ec85 pkg/lwext4: make use of mtd_write_sector() 2023-12-14 14:28:01 +01:00
Benjamin Valentin
31e4592827 pkg/fatfs: make use of mtd_write_sector() 2023-12-14 14:27:53 +01:00
Fabian Hüßler
f9c5420717 pkg/libcose: fix auto_init compilation 2023-12-13 12:08:33 +01:00
313e4e052f
mjson: Initial include of package 2023-12-11 13:30:58 +01:00
Oleg Hahm
0e8b1c0dce pkg/flashdb: bump to 2.1.0 + patches
There are two more commits upstream after the 2.1.0 release which are
required to compile this package without warnings.
2023-12-08 21:36:07 +01:00
Benjamin Valentin
dac5aec0c4 pkg/tinydtls: bump version 2023-12-06 19:07:59 +01:00
kasper
8c0c447779 Bumb nanopb to 0.4.8 2023-12-01 15:06:17 +00:00
Lena Boeckmann
de09b2a0b4
sys/psa_crypto: Build PSA Crypto functions based on module selection 2023-11-30 21:02:42 +01:00
Mikolai Gütschow
6935ea21e7
sys/hashes: add SHA-512 support 2023-11-29 19:18:51 +01:00
Gunar Schorcht
ab8649bd2f pkg/esp32_sdk: patch for LCD driver on ESP32-S3 2023-11-13 13:01:57 +01:00
Benjamin Valentin
e2cee4255d pkg/lwext4: don't consider fs mounted if recover fails 2023-11-09 20:15:53 +01:00
Benjamin Valentin
616932f24b pkg/lwext4: don't include debug strings by default 2023-11-09 20:15:53 +01:00
1b0098cd95
pkg/littlefs2: bump to v2.8.1 2023-11-02 10:17:17 +01:00
Benjamin Valentin
32d17f5313 pkg/lwip: add support for slipdev 2023-10-26 16:41:18 +02:00
ca81c7512c
pkg/nanocbor: Update for fixed nanocbor_skip_simple()
Important changes:
- Fixed a bug in nanocbor_skip_simple with (b|t)str types
2023-10-18 13:40:03 +02:00
bors[bot]
910e0e28ed
Merge #19963 #19971 #19974 #19975 #19976
19963: sys/event/timeout: add event_timeout_is_pending() r=benpicco a=benpicco



19971: sys/shell/gnrc_netif: Fix a few blockers for sharing ifconfig shell r=benpicco a=yarrick



19974: gnrc_ipv6_ext_frag: _completed: Add comment why list head is not checked for NULL pointer dereference r=benpicco a=miri64

 


19975: pkg/nanocbor: Bump to latest commit r=benpicco a=bergzand

### Contribution description

Not much to see here

Important changes:
- Add stream-like interface for encoder
- Separate functions for number of items left in arrays and maps

### Testing procedure

The usual test should still work

### Issues/PRs references

None

19976: core: Express -1 as ~0 in thread_status_t cast r=benpicco a=SimonIT



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Erik Ekman <eekman@google.com>
Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
Co-authored-by: Koen Zandberg <koen@bergzand.net>
Co-authored-by: SimonIT <simonit.orig@gmail.com>
2023-10-16 15:31:25 +00:00
Marian Buschsieweke
edc43201db
tree-wide: fix typos in doc and comments
This should not change any generated binary
2023-10-16 12:17:48 +02:00
a250dfeef0
pkg/nanocbor: Bump to latest commit
Important changes:
- Add stream-like interface for encoder
- Separate functions for number of items left in arrays and maps
2023-10-13 15:25:23 +02:00
Erik Ekman
c49cd446a8 pkg/lwip: Allow setting netif active state 2023-10-11 21:46:55 +02:00
Erik Ekman
8e996c0a75 pkg/lwip: Allow reading netif active state 2023-10-11 21:46:55 +02:00
Mikolai Gütschow
da41dd1dbe
psa-crypto: remove redundant memcpy 2023-10-09 13:52:52 +02:00
Mikolai Gütschow
d8d5478f0a
pkg/driver_cryptocell_310: fix typo in Makefile 2023-10-09 10:23:42 +02:00
Mikolai Gütschow
7b9c113c99
sys/psa_crypto: wipe temporary private key copies from stack 2023-10-09 10:21:45 +02:00
Mikolai Gütschow
963775bdd9
sys/psa_crypto: add support for Ed25519 (EdDSA) 2023-10-09 10:21:44 +02:00
Mikolai Gütschow
8404ad50b5
pkg/c25519: unify Makefile variables 2023-09-29 15:08:26 +02:00
Mikolai Gütschow
7f137af925
pkg/driver_cryptocell_310: fix Makefile
make sure to download/extract during prepare, instead of build

this fixes the issue of missing include dependencies for other pkgs at build time
2023-09-29 15:08:11 +02:00
Martine Lenders
2cbdd66d6f
lwip: bump to v2.2.0 2023-09-26 10:21:12 +02:00
Benjamin Valentin
f93072dc65 pkg/littlefs2: bump to v2.8
https://github.com/littlefs-project/littlefs/releases/tag/v2.8.0
2023-09-22 22:11:28 +02:00
Lena Boeckmann
40902cd947 pkg/cryptoauthlib: Add PSA Wrappers 2023-08-31 14:38:50 +02:00
Lena Boeckmann
a6f3b59e7a pkg/micro-ecc: Add PSA Crypto Wrappers 2023-08-31 14:38:49 +02:00
Lena Boeckmann
c01d689769 pkg: Add cryptocell driver and nrf52 HW features 2023-08-31 14:38:49 +02:00
00fad33244
pkg/lvgl: bump to v8.3.9 2023-08-24 10:37:29 +02:00
bors[bot]
d1edbd94d6
Merge #19881 #19892
19881: drivers/stmpe811: fix initialization if callback function parameter is NULL r=benpicco a=gschorcht

### Contribution description

This PR fixes the `stmpe811` driver initialization if the callback function parameter `cb` is `NULL. This might be the case for example if the application uses the touch device in polling mode.

If the interrupt pin is initialized if the callback function parameter `cb` is `NULL`, the driver crashes the first time an interrupt is triggered. Therefore, the INT pin must be initialized only if also the callback function parameter `cb` is not `NULL`.

To be able to test the polling mode, this PR also includes a change of the `tests/drivers/stmpe811` application which introduces the environment variables `STMPE811_POLLING_MODE` `STMPE811_POLLING_PERIOD` and in the makefile.

### Testing procedure

1. Use a `stm32f429i-disc1` board and test it in polling mode:
   ```
   STMPE811_POLLING_MODE=1 BOARD=stm32f429i-disc1 make -C tests/drivers/stmpe811 flash term
   ```
   It should work as expected.
   ```
   main(): This is RIOT! (Version: 2023.10-devel-119-g26e7a-drivers/stmpe811_fix_cb_null)
   STMPE811 test application
   +------------Initializing------------+
   Initialization successful
   Pressed!
   X: 113, Y:135
   X: 113, Y:135
   X: 113, Y:136
   Released!
   ```

2. Checkout master branch and cerry-pick commit 691a5e6308426ddc685e5a2c297238529211c258. The test application `tests/drivers/stmpe811` will crash once a touch event occur:
   ```
   main(): This is RIOT! (Version: 2023.10-devel-117-g91441)
   STMPE811 test application
   +------------Initializing------------+
   Initialization successful
   Stack pointer corrupted, reset to top of stack
   FSR/FAR:
    CFSR: 0x00020000
    HFSR: 0x40000000
    DFSR: 0x00000008
    AFSR: 0x00000000
   Misc
   EXC_RET: 0xfffffff1
   *** RIOT kernel panic:
   HARD FAULT HANDLER
   ```

### Issues/PRs references

19892: pkg/tinydtls: allow to set buffer size from application again r=benpicco a=leandrolanzieri

### Contribution description

Currently the buffer size on tinydtls is set in its Makefile whenever `gcoap` module is present. This limits the ability of the user to override the value. This adds a pre-check of the `CFLAGS` to see if it was set before.

### Testing procedure

Try setting `CFLAGS += -DDTLS_MAX_BUF=<some_value>` on `examples/gcoap_dtls`, you should be able to override the default value without errors.


### Issues/PRs references
Reported in #19838


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2023-08-23 22:43:56 +00:00
Joshua DeWeese
e92f9fc658 pkg/tinyusb: add missing include
The macro `AUTO_INIT_PRIO_MOD_TINYUSB` was being used, but not defined.
This patch includes the header where `AUTO_INIT_PRIO_MOD_TINYUSB` is
defined to fix the compiler error.
2023-08-21 10:12:21 -04:00
Leandro Lanzieri
252ec91782
pkg/tinydtls: allow to set buffer size from application again 2023-08-21 13:45:22 +02:00
a17afa7b7a
mcufont: Initial addition of mcufont package 2023-08-14 15:50:13 +02:00
Benjamin Valentin
67ba4fced3 pkg/flashdb: bump to 2.0.0 2023-08-09 15:47:49 +02:00
Marian Buschsieweke
acc1203606
pkg/arduino_adafruit_sensor: fix dependencies
This fixes the dependencies of the `arduino_adafruit_sensor` package,
which previously relied on the `arduino` feature. This feature no longer
exists, as it was split into more fine granular features. However, the
module should never have used that feature directly in the first place,
but rather just use the arduino module. This in turn depends on the
correct features.
2023-07-20 10:05:22 +02:00
bors[bot]
ceaf6bd7aa
Merge #19634
19634: tree-wide: mixed box of compilation fixes with clang r=benpicco a=maribu

### Contribution description

As the title says: This should increase the number of apps being able to build with clang quite a bit.


Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@posteo.net>
2023-07-18 10:47:46 +00:00
Marian Buschsieweke
2b6c6e65b5
pkg/utensor: fix compilation with clang++ 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
3a3c09b84d
pkg/u8g2: fix compilation with clang 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
78624a6a7f
pkg/tinyvcdiff: fix compilation with clang 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
500b4ebc28
pkg/tinyusb: fix compilation with clang 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
53b08d9f38
pkg/relifx: fix compilation with clang 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
639690eeb6
pkg/wamr: blacklist LLVM 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
77529737b5
pkg/openwsn: fix compilation with clang 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
855380ee3a
pkg/openthread: fix compilation with LLVM 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
a95be634d1
pkg/opendsme: fix compilation with LLVM 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
d2e04ed14c
pkg/uwb-dw1000: fix compilation with clang 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
a6571c1bff
pkg/uwb-core: fix compilation with clang 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
88648f5e7d
pkg/nimble: fix compilation with LLVM 2023-07-18 12:24:10 +02:00
Marian Buschsieweke
058150f221
pkg/micropython: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
358636045e
pkg/micro-ecc: blacklist LLVM
LLVM was already blacklisted for some specific Cortex-M targets due
to register allocation failing. The issue now has spread. Rather than
starting a whack-a-mole game, let's disable LLVM altogether for that
package.
2023-07-18 12:24:09 +02:00
Marian Buschsieweke
777351e068
pkg/lvgl: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
180adc8c94
pkg/lua: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
4c943163e2
pkg/libsocketcan: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
b8aec4369d
pkg/libschc: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
2c75acf3b6
pkg/flatbuffers: disable building with LLVM toolchain 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
485a856691
pkg/flashdb: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
927d2cd67f
pkg/fff: disable LLVM in CI, error message on old clang
pkg/fff compiles fine with clang 16.0.0 and higher, but the CI currently
uses version 14.x.y which is incompatible. This disables LLVM in the CI
builds and prints a friendly error message when `TOOLCHAIN=llvm` is
used and clang is older than 16.0.0.
2023-07-18 12:24:09 +02:00
Marian Buschsieweke
dc00024f98
pkg/arduino_adafruit_sensor: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
2428bbef81
pkg/arduino_sdi_12: fix compilation with clang 2023-07-18 12:24:09 +02:00
Marian Buschsieweke
daa138bc88
pkg/arduino_sdi_12: upgrade package 2023-07-18 12:24:09 +02:00
Benjamin Valentin
0db2ba6dc6 pkg/heatshrink: allow to overwrite config defines 2023-07-17 14:14:53 +02:00
bors[bot]
0f50a8fa00
Merge #19798
19798: cpu/nrf53: add I2C and SPI support r=benpicco a=dylad

### Contribution description

This PR provides support for nRF53 SPI and I2C.
It also moves common structs from each nRF CPU folder to `cpu/nrf5x_common` to avoid duplication.
Moreover, since nRF9160 and nRF5340 have shared IRQ for UART/SPI/I2C. Both this families now use a common file to register and manage these interrupts. Note that nRF9160 have different name for its interrupts than nRF5340 but they have the same purpose.

### Testing procedure

Since some structs were moved around, I think this PR should be carefully tested against nRF52, nRF53 and nRF9160 to avoid any issues.
On nRF5340DK-APP, SPI can be tested with its onboard SPI flash.

### Issues/PRs references



Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-13 12:08:04 +00:00
Dylan Laduranty
883d138e1c pkg: don't align nrf53 features on nrf51/nrf52
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2023-07-13 13:22:28 +02:00
bors[bot]
82f4154c71
Merge #19754
19754: boards/atmega8: new board r=benpicco a=hugueslarrive

### Contribution description
Splitted from:
- #19740

### Testing procedure
Tested on atmega8 with:
- #19755

### Issues/PRs references

Dependencies:
- #19753
- #19752
- #19751



Co-authored-by: Hugues Larrive <hlarrive@pm.me>
2023-07-11 21:41:07 +00:00
Hugues Larrive
064c799e57 cpu/atmega_common: some additional periph drivers fixed for atmega8 cpu
- periph/eeprom.c
- periph/wdt.c
- periph/gpio_ll_irq.c

removed unsupported cpuid and dpgpin feature for atmega8 cpu familly

pkg/qdsa: bump the commit hash bump the commit hash after RIOT-OS/qDSA#4
was merged
2023-07-11 21:22:02 +02:00
bors[bot]
9a46bcdbe7
Merge #19685
19685: pkg/openthread: remove deprecated functions r=benpicco a=maribu



Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-07-11 14:59:53 +00:00
Benjamin Valentin
7b4f22ff8f pkg/littlefs2: bump version to 2.7 2023-07-07 16:07:20 +02:00
Gunar Schorcht
ec52057efc pkg/tinyusb/hw/hw_stm32_otg: set V_DDUSB for U5 2023-07-05 09:39:43 +02:00
Gunar Schorcht
1850f7a2c7 pkg/tinyusb/hw/hw_stm32_otg: fix disabling of V_BUS sensing 2023-07-05 09:34:33 +02:00
Gunar Schorcht
ff9059c661 pkg/tinyusb/hw/hw_stm32_otg: comments improved 2023-07-05 09:31:44 +02:00
3b505a2883
pkg/tinyusb: sys: fix stdio buffered inclusion in Kconfig 2023-06-17 15:12:31 +02:00
bors[bot]
c463bc9c11
Merge #18156
18156: pkg/opendsme: add initial support for IEEE 802.15.4 DSME time-slotted MAC r=jia200x a=jia200x



Co-authored-by: Jose Alamos <jose@alamos.cc>
2023-06-13 12:11:07 +00:00
MrKevinWeiss
d0a5e86129
pkg/openthread: Cleanup Kconfig 2023-06-02 11:38:34 +02:00
e1bf7143cf
pkg/openthread: model in Kconfig 2023-06-01 12:17:35 +02:00
Jose Alamos
bb91f47fc1
examples/opendsme: add initial example 2023-05-31 16:31:26 +02:00
Jose Alamos
d7b51c687b
opendsme: add initial support 2023-05-31 16:31:24 +02:00
bors[bot]
784692e64a
Merge #19086 #19672
19086: Remodel the USB in Kconfig r=aabadie a=MrKevinWeiss

### Contribution description

#### The issues with current architecture
Generally there has been some confusion on how to manage KConfig with respect to the board selection of default STDIO backends, specifically for boards that require a USB based backend as there are possible stacks to use.

The `<BOARD>.config` way of selecting cannot handle conditional selects.

The issues is more with boards such as `esp32s2-wemos-mini`, currently some USB stack will be selected regardless of overridding the preferred STDIO.

Selecting a USB stack directly with `STDIO_USB*` creates some circular dependency issues with kconfig and is hard to manage.

We also have a mutually exclusive USB stacks, TINYUSB or USBUS which should probably be a choice.


#### Desired behaviour

1. Ideally we want a board to default to the most obvious STDIO implementation, for example, if I have nucleo, it uses a UART, for some ESPs, USB is the default way to communicate.

2. These backends could always be overridden though, for example, I may just connect directly to a UART and want my STDIO there, or maybe use a ble based STDIO.

3. The next condition would be specifically for boards with a USB based STDIO.  Since we have a TINYUSB stack and a USBUS stack we would want to use the associated STDIO depending on the stack the application selects.

4. However, if nothing is selected by the application, than bring in a USB stack (board based preference) unless there is a specific non-USB based STDIO is selected. For these boards that have this requirement, we DO NOT want to bring in the USB stack if the STDIO is specifically overridden (important for kconfig).

#### Update kconfiglib package to RIOT-OS org managed one

There is a problem with the upstreamed Kconfiglib implementation and the maintainer is not responsive to the fix.  The issue is to do with `menuconfig`s in choices and has been fixed with the RIOT-OS based fork.  This PR requires this fix.


#### Changes to the USB stack

A new entry point is introduced `USB_DEVICE` which indicates wanting a USB device but not caring which stack is used.  This allows making a `choice` between the `TINYUSB` and `USBUS` stack allowing mutual exclusivity.

Making the USB stack a `choice` means that a specific stack cannot be selected from non-board/non-cpu/non-application based symbols.  Thus the `REQUIRES_` design pattern is used for a module to indicate a specific stack should be selected.  This is needed for the `MODULE_TINYUSB_NETDEV` in this case.

#### Changes to USB STDIO implementations

The `MODULE_STDIO_CDC_ACM` and `MODULE_STDIO_TINYUSB_CDC_ACM` are both depends on now, using a `REQUIRES_USB_STDIO` to select the dependencies.
This means we do not have to use `select PACKAGE_TINYUSB if TEST_KCONFIG && !MODULE_USBUS` in the board select.

##### Why not just select the USB from STDIO_USB
Issue with using select for STDIO choices is that we cannot check which stack we are using to default the STDIO to that, breaking desired behaviour 3.

#### The `FORCE_USB_STDIO`

Desired behaviour 4 means that we do not want to bring in the USB stack if we override, say, to the UART STDIO backend. Due to the limitations of Kconfig, this is my solution to prevent the USB from being brought in if there is an STDIO that doesn't need it. It is only for the `esp32s2-wemos-mini` board and would not be used in other places and would only need to be explicitly disabled for applications requiring different STDIO backend and no USB.  It is not perfect but I think the best solution and fairly understandable...

<details><summary><h4>Issues with Kconfig</h4></summary>

When using a `choice` and having conditional defaults, for example:

```kconfig
choice IMPL
    default FOO if CHOOSE_FOO
    default BAR
```

 there is a limitation of the level of the level of knowledge that can be expected from Kconfig, a limitation on circular dependencies, and a limitation that the dependencies only get resolved once.

For example, if ` BAR` selects something that would eventually select `CHOOSE_FOO`, then the default should be `FOO` and which would no longer select `BAR` preventing the select `CHOOSE_FOO`... Messy stuff and we would want an error saying no no no.

What Kconfig cannot handle is something like:

```kconfig
choice IMPL
    bool "Implementation"
    default FOO if CHOOSE_FOO
    default BAR

config FOO
    bool "Foo"

config BAR
    bool "Bar"

endchoice

config CHOOSE_FOO
    bool

config SYMBOL
    bool
    select CHOOSE_FOO if !BAR
```

`SYMBOL` causes a circular dependency in Kconfig even though the only possible outcome for the `choice` selection would be static.  If we select `BAR` then `CHOOSE_FOO` would not be selected and we stay with `BAR`.  If we select `FOO` than `CHOOSE_FOO` will be selected which stays with `FOO`. Everything should be fine, but isn't because Kconfig does not resolve to that degree, it simply sees that there is a dependency of the `IMPL` choice outcome (ie. `if !BAR`) that is a condition for a dependency of the `IMPL` choice selection (ie. ` if CHOOSE_FOO`).

This is a limitation of the Kconfig what what makes this problem so challenging, with Make we say "select some sort of USB backend if no other stdio is specifically requested" and it will.
</details>


An attempt at remodelling the dependencies of the USB stack in Kconfig.

Currently there are some issues, especially with the integration of TinyUSB package as a backend.
This will require a kconfiglib package fix though...

### Testing procedure

`TEST_KCONFIG=1 BOARD=reel make menuconfig -C examples/hello-world`

### Issues/PRs references

Requires https://github.com/ulfalizer/Kconfiglib/pull/123 to be merged upstream or fork for RIOT
Relates maybe to #18998 and #19038


19672: pkg/micropython: model in Kconfig r=aabadie a=aabadie



Co-authored-by: MrKevinWeiss <weiss.kevin604@gmail.com>
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2023-05-31 14:04:21 +00:00
MrKevinWeiss
afd8152800
pkg/tinyusb: Rework the tinyUSB kconfig model 2023-05-31 12:55:52 +02:00
Marian Buschsieweke
70e72fca68
pkg/openthread: remove deprecated functions 2023-05-30 16:52:00 +02:00
b93bbe9e6b
pkg/micropython: model in Kconfig 2023-05-30 11:00:25 +02:00
bors[bot]
40d0f64a04
Merge #19549 #19608 #19657
19549: pkg/littlefs2: bump version to 2.6 r=benpicco a=benpicco




19608: build system: fix `make compile-commands BUILD_IN_DOCKER=1` r=benpicco a=maribu

### Contribution description

Just run `make compile-commands` outside of docker, as the compile commands generated in the docker container won't be helpful for tools outside of the container anyway.


19657: drivers/mpu9x50: clean up code r=benpicco a=maribu

### Contribution description

Avoid using floating point arithmetic and some minor cleanups.


Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-05-23 23:35:57 +00:00
Benjamin Valentin
d475c97692 pkg/littlefs2: bump version to 2.6
This release bumps the on-disk minor version of littlefs from lfs2.0 -> lfs2.1.

This change is backwards-compatible, but after the first write with the new version,
the image on disk will no longer be mountable by older versions of littlefs.
2023-05-23 22:38:56 +02:00
bors[bot]
3469fce248
Merge #19335 #19581 #19612 #19643 #19655
19335: ipv6/nib: 6LBR should not send RS on their downstream interface r=fabian18 a=fabian18



19581: cpu/samd5x: enable FDPLL1 at 200MHz r=benpicco a=dylad

### Contribution description

This PR allows to use the second FDPLL (the first one is used to generated the 120MHz frequency used by the core and some peripherals). The second FDPLL is setup to run at 200MHz which is the maximum allowed by this MCU.
In fact, I reused the existing function which setup FDPLL0 so it can be used in a generic way for both PLL (since they are the same IP).

I change the way the computation offset (left shift by 5)  is done because 200MHz << 5 wouldn't fit inside an `uint32_t` and I wanted to avoid using an `uint64_t` here

Two additional commits are present for a small cleanup and a fix.

This is currently unused in our codebase, so it shouldn't impact this platform too much as the `ONDEMAND` bit is set. the FDPLL will not be running out of the box. But `@gschorcht` might need it pretty soon.

### Testing procedure

This PR can be tested on a `same54-xpro` and an oscilloscope using the following the patch:
```
From 76490845ec72387b24116bdd364a61365c186aa1 Mon Sep 17 00:00:00 2001
From: Dylan Laduranty <dylan.laduranty@mesotic.com>
Date: Thu, 11 May 2023 17:42:16 +0200
Subject: [PATCH] removeme! for debug purpose

Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
---
 cpu/samd5x/cpu.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/cpu/samd5x/cpu.c b/cpu/samd5x/cpu.c
index f778991a5b..2866c8c9e5 100644
--- a/cpu/samd5x/cpu.c
+++ b/cpu/samd5x/cpu.c
`@@` -220,7 +220,7 `@@` static void fdpll_init(uint8_t idx, uint32_t f_cpu)
 }
 
 static void gclk_connect(uint8_t id, uint8_t src, uint32_t flags) {
-    GCLK->GENCTRL[id].reg = GCLK_GENCTRL_SRC(src) | GCLK_GENCTRL_GENEN | flags | GCLK_GENCTRL_IDC;
+    GCLK->GENCTRL[id].reg = GCLK_GENCTRL_SRC(src) | GCLK_GENCTRL_GENEN | flags | GCLK_GENCTRL_OE | GCLK_GENCTRL_IDC;
     while (GCLK->SYNCBUSY.reg & GCLK_SYNCBUSY_GENCTRL(id)) {}
 }
 
`@@` -384,6 +384,12 `@@` void cpu_init(void)
     dma_init();
 #endif
 
+    sam0_gclk_enable(SAM0_GCLK_200MHZ);
+    /* output both FDPLL (GCLK0 and GCLK4) to gpios */
+    gpio_init_mux(GPIO_PIN(PB, 14), GPIO_MUX_M);
+    gpio_init_mux(GPIO_PIN(PB, 10), GPIO_MUX_M);
+    /* PB14 -> EXT2    PB10 -> QSPI SCK */
+
     /* initialize stdio prior to periph_init() to allow use of DEBUG() there */
     early_init();
 
-- 
2.35.3
```

It will output both FDPLLs to PB14 and PB10. Their frequency can then be measured using an oscilloscope.


### Issues/PRs references
None.

19612: pkg/ndn-riot: drop unmaintained pkg r=benpicco a=maribu

### Contribution description

Upstream [1] has seen no activity since 2018, so it safe to assume this is dead. It is reasonable to assume that any users - if there ever were any - have moved on.

Fixes https://github.com/RIOT-OS/RIOT/issues/15638

[1]: https://github.com/named-data-iot/ndn-riot


19643: examples/suit_update: some test fixes r=aabadie a=kaspar030



19655: net/ipv6: make use of clz in ipv6_addr_match_prefix() r=benpicco a=benpicco



Co-authored-by: Fabian Hüßler <fabian.huessler@st.ovgu.de>
Co-authored-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-05-23 16:23:19 +00:00
Marian Buschsieweke
bf168e4b54
pkg/ndn-riot: drop unmaintained pkg
Upstream [1] has seen no activity since 2018, so it safe to assume this
is dead. It is reasonable to assume that any users - if there ever were
any - have moved on.

Fixes https://github.com/RIOT-OS/RIOT/issues/15638

[1]: https://github.com/named-data-iot/ndn-riot
2023-05-22 11:54:06 +02:00
bors[bot]
975f150383
Merge #19621 #19622 #19623 #19626 #19627
19621: sys: add Kconfig support for clif r=MrKevinWeiss a=aabadie



19622: sys: add some missing kconfig + adapt related tests when possible r=aabadie a=aabadie



19623: pkg/libbase58: add kconfig support r=MrKevinWeiss a=aabadie



19626: sys/gnrc_lorawan: remove deprecated tx port option r=aabadie a=aabadie



19627: makefiles/pseudomodules: remove deprecated event_thread_lowest module r=aabadie a=aabadie



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2023-05-20 07:13:34 +00:00
eefa4de943
pkg/tensorflow-lite: remove deprecated package
Use tflite-micro instead
2023-05-19 15:48:44 +02:00
ca5ac76199
pkg/libbase58: add Kconfig support 2023-05-19 15:40:44 +02:00
Marian Buschsieweke
5457014c4a
build-system: Allow out of tree BUILD_DIR
- Replace all users of `$(RIOTBASE)/build` with the already present
  `$(BUILD_DIR)` variable
- Replace all users of `$(BUILD_DIR)/pkg` with the already present
  `$(PKGDIRBASE)` variable
- Create a `CACHEDIR.TAG` file in the `$(BUILD_DIR)`
2023-05-16 22:23:03 +02:00
eac9cdfd4a
pkg/gecko_sdk: disable cast-align globally 2023-05-15 12:20:06 +02:00
15220a5449
pkg/cmsis-nn: drop package 2023-05-14 21:08:29 +02:00
8f030ca711
pkg/cmsis-dsp: drop package 2023-05-14 21:08:29 +02:00
205fa0948e
pkg: add support for CMSIS via a package 2023-05-14 21:08:27 +02:00
b2fd1814c7
pkg: fix remaining broken paths to tests 2023-05-13 19:08:39 +02:00
Frankie A
76dfee30ae
pkg/lvgl: replace LittlevGL to LVGL 2023-05-08 15:00:53 +02:00
Frankie A
78d34d08a6
pkg/lv_drivers: replace LittlevGL to LVGL 2023-05-08 15:00:52 +02:00
f9d247791d
treewide: replace occurrences of tests/driver_ with new path 2023-05-06 15:38:21 +02:00
07d2e1c228
treewide: replace remaining occurrences of tests/pkg_* 2023-05-06 07:55:03 +02:00
3973f7f28a
pkg/qcbor: update doc about path to test application 2023-05-06 07:55:02 +02:00
c2e377dcf3
pkg/openthread: set event callback before netdev init
When using openthread with the ieee802154_submac module, a hard fault is
triggered otherwise because the submac's init function calls the
event_handler callback.
2023-05-04 18:26:33 +02:00
ae1c14546c
pkg/lvgl: bump to 8.3.7 2023-05-03 13:31:48 +02:00
bors[bot]
3be7c9551b
Merge #19525
19525: semtech-loramac: extend list of supported radio with sx1261, sx1262 and sx1268 r=maribu a=aabadie



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2023-05-02 10:06:06 +00:00
Marian Buschsieweke
c3500eb6e0
tree wide: fix typos in comments found by codespell
This will not change generated binaries, only the Doxygen output and
source code will have less typos.
2023-05-02 09:52:06 +02:00
9467f04008
pkg/semtech-loramac/doc: sx1261 and sx1262 are also supported 2023-04-30 21:56:52 +02:00
bors[bot]
429de92251
Merge #19346 #19512 #19513 #19514
19346: pkg/tinydtls: allow build for AVR r=benpicco a=benpicco



19512: SUBSYSTEMS.md: add jia200x to subsystems r=benpicco a=jia200x



19513: boards/nrf52840dongle/doc: Update nrfutil pointers r=benpicco a=chrysn

### Contribution description

Nordic changed its nrfutil; this change adjust to it.

I'm not fully happy with recommending that tool at all due to its bad quality (see rambling in https://github.com/RIOT-OS/RIOT/issues/19511), but short of soldering on a debug header or touch-probing it with wires it's the only way in to the device. I may later add follow-up recommendations to switch to riotboot, but this now at least fixes the immediate issue.

### Testing procedure

* Look at the updated documentation.

### Issues/PRs references

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

19514: dist/testbed-support: remove obsolete boards from iotlab archi r=benpicco a=aabadie



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Jose Alamos <jose@alamos.cc>
Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2023-04-26 15:40:08 +00:00
bd3e6a230f
pkg/qcbor: document how to disable features using CFLAGS 2023-04-22 18:25:14 +02:00
8c5bff8877
pkg/qcbor: bump to v1.2 2023-04-22 17:48:14 +02:00
Gunar Schorcht
c4881cc148 pkg/esp32_sdk: patches for compilation with gcc 12.2 2023-04-05 13:46:25 +02:00
293d955cbf
pkg/lvgl: bump to v8.3.6 2023-04-03 11:18:46 +02:00
be54114b6d
pkg/semtech-loramac: fix makefile highlighting in documentation 2023-04-03 08:15:50 +02:00
Benjamin Valentin
e35d4e8d44 pkg/nanors: bump version 2023-03-13 11:49:39 +01:00
bors[bot]
8c2391786c
Merge #19375 #19376 #19377
19375: tools/renode: add support for target reset r=benpicco a=aabadie



19376: boards/stm32f4discovery: use default port to access stdio via cdc acm r=benpicco a=aabadie



19377: pkg/tinyusb: fix default VID/PID configuration r=benpicco a=gschorcht

### Contribution description

This PR fixes the default VID/PID configuration if tinyUSB board reset feature is used.

While reviewing PR #19086 I was wondering why `esp32s2-wemos-mini` requires to set `USB_VID`/`USB_PID` explicitly to  `USB_VID_TESTING`/`USB_PID_TESTING`. The reason was that tinyUSB board reset feature wasn't declared as RIOT internal.

### Testing procedure

Flashing `esp32s2-wemos-mini` should still work.
```
BOARD=esp32s2-wemos-mini make -C tests/shell flash
```
The VID/PID should be `1209:7d00` and not `1209:7d01`.

### Issues/PRs references



Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-03-10 12:12:45 +00:00
Gunar Schorcht
f30abc4200 pkg/tinyusb/tinyusb_board_reset: define feature as RIOT internal
Defining the feature as RIOT internal avoids that the board has to set USB_VID and USB_PID explicit to USB_VID_TESTInG/USB_PID_TESTING if tinyUSB board reset feature is used.
2023-03-10 12:42:47 +01:00
bors[bot]
8dc8bf3567
Merge #19302
19302: pkg/wolfssl: Update wolfSSL to 5.5.4 and add DTLS 1.3 support r=benpicco a=Flole998



Co-authored-by: Florian Lentz <flolen@uni-bremen.de>
Co-authored-by: Flole998 <Flole998@users.noreply.github.com>
2023-03-10 02:22:17 +00:00