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

42602 Commits

Author SHA1 Message Date
Jose Alamos
c5b4620679
drivers/nrfmin: fix dependency resolution 2023-01-19 15:34:18 +01:00
Jose Alamos
f897e4586b
sys/test_utils/netdev_ieee802154_minimal: model in Kconfig 2023-01-19 15:34:18 +01:00
Jose Alamos
1f30cbc0c5
core/bitarithm: guard BIT1x definition 2023-01-19 15:34:17 +01:00
Jose Alamos
e5a80c6d44
doccheck: add mrf24j40 related exclude_patterns 2023-01-19 15:34:17 +01:00
Jose Alamos
ab7922b6f6
tests/ieee802154_submac: add support for MRF24j40 radios 2023-01-19 15:34:16 +01:00
Jose Alamos
62e470d8c9
tests/ieee802154_hal: add support for MRF24j40 radios 2023-01-19 15:34:16 +01:00
Jose Alamos
f75631026b
tests/ieee801254_*: do not use HAL array 2023-01-19 15:33:37 +01:00
Jose Alamos
4d81677afd
tests/ieee802154_hal: use blocking CCA when no IRQ is present 2023-01-19 15:31:06 +01:00
Jose Alamos
42a2f6b43c
boards/nucleo64: use ARDUINO pins for MRF24J40 configuration 2023-01-19 15:31:06 +01:00
Jose Alamos
91a299cb7d
drivers/mrf24j40: add support for IEEE 802.15.4 Radio HAL 2023-01-19 15:31:06 +01:00
bors[bot]
e248f954e6
Merge #18934
18934: shell/gnrc_icmpv6_echo: separate ICMPv6 echo sending / parsing from shell command r=benpicco a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2023-01-19 12:30:37 +00:00
J. David Ibáñez
e176f1d338 tests/periph_spi clearly say when init succeeds
The way it's now it's easy to interpret that there was an error, when
really there was not. As seen in issue #19025 quite some time can be
spent following a wrong clue.
2023-01-19 10:42:50 +01:00
bors[bot]
d4d91492cd
Merge #18100 #19121 #19164 #19169
18100: core/assert: print backtrace on failed assertion r=kaspar030 a=benpicco



19121: socket_zep: only report size of single datagram r=kaspar030 a=benpicco



19164: cpu/sam0_common: move adc_res_t to common code r=dylad a=benpicco



19169: tests/driver_ws281x: don't overwrite board definition r=benpicco a=benpicco





Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-01-18 23:59:58 +00:00
bors[bot]
e7a68ac6f7
Merge #19166 #19171
19166: boards/seeedstudio-gd32: complete and improve board definition r=kaspar030 a=gschorcht

### Contribution description

This PR completes and improves the board definition for the Seeedstudio GD32 RISC-V Dev board. It
- adds the user LED and Button definitions to `board.h` (bef4209109)
- adds the SAUL support for user LED and Button definitions (7a5b2f1fb43f5e28eec4f65c8e7367510be6eb80)
- changes the OpenOCD configuration (32c0c4b1b5b9705ffcd2bb02a1d868ad35ca3bbc)
   - to be usable with Upstream OpenOCD release version 0.12.0
   - to allow different FTDI configuration and other adapters
- adds a documentation with flashing guide, feature list, support status, pinout, schematic reference (9dcc83b8ceb8a9ce526f0a03053a242e866ebf4a)

These changes is the first PR for a number of follow-up PR I will provide in next days to extend the GD32VF103 support. I have already working
- `periph_adc` support,
- `periph_spi` support,
- `tinyusb_device` support,

and almost finished
- `periph_i2c` support (implemented and working with some errors),
- `pm_layered` support (implemented but not working correctly yet), and
- `periph_usbdev` support (implemented by extending `usbdev_synopsys_dwc2 driver but bot working yet).

I will try to implement
- `periph_gpio_irq` support,
- `periph_rtc` support, and
- `periph_rtt` support.

Since I'm using the Sispeed Longan Nano board for testing, I will add the board definition for this board. I will then move some board definitions to a common folder.

### Testing procedure

Green CI.
Documentation should be generated correctly.
Flashing the `seeedstudio-gd32` should still work.
`tests/leds` should work.

### Issues/PRs references

19171: tests/gnrc_rpl: Disable CI test for native r=benpicco a=maribu

### Contribution description

This disables the `tests/grnc_rpl` test run for `native`. This test is too flaky to be included in the CI.

### Testing procedure

Not needed

### Issues/PRs references

None

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-18 21:42:37 +00:00
Marian Buschsieweke
810653d464
tests/gnrc_rpl: Disable CI test for native 2023-01-18 19:46:27 +01:00
bors[bot]
7855aad7e4
Merge #19079
19079: cpu/esp32: add periph_flashpage support r=kaspar030 a=gschorcht

### Contribution description

This PR provides the `periph_flashpage` support for ESP32x SoCs.

For byte-aligned read access to constant data in the flash, the MMU of all ESP32x SoCs allows to map a certain number of 64 kByte pages of the flash into the data address space of the CPU. This address space is called DROM. Normally the whole DROM address space is assigned to the section `.rodata`. The default flash layout used by all ESP32x SoCs is:
| Address in Flash | Content |
|:-----------------------|:-----------|
| `0x0000` or `0x1000` | bootloader |
| `0x8000` | parition table |
| `0x9000` | `nvs` parition with WiFi data |
| `0xf000`  | `phy_init` partition with RF data |
| `0x10000` | `factory` partition with the app image |

The factory partition consists of a number of 64 kByte pages for the sections `.text`, `.rodata`, `.bss` and others. The `.text` and `rodata` sections are page-aligned and are simply mapped into the instruction address space (IROM) and the data address space (DROM), respectively. All other sections are loaded into RAM.

If the `periph_flashpage` module is used, the `periph_flashpage` driver
- decreases the size of the `.rodata` section in DROM address space by `CONFIG_ESP_FLASHPAGE_CAPACITY`,
- adds a section `.flashpage.writable` of size `CONFIG_ESP_FLASHPAGE_CAPACITY` at the end of DROM address space that is mapped into data address space of the CPU,
- reserves a region of size `CONFIG_ESP_FLASHPAGE_CAPACITY` starting from `0x10000` in front of the image partition `factory` and
- moves the image partition `factory` by  `CONFIG_ESP_FLASHPAGE_CAPACITY` to address `0x10000 + CONFIG_ESP_FLASHPAGE_CAPACITY`. 

The new flash layout is then:
| Address in Flash | Content |
|:-----------------------|:-----------|
| `0x0000` or `0x1000` | bootloader |
| `0x8000` | parition table |
| `0x9000` | `nvs` parition with WiFi data |
| `0xf000`  | `phy_init` partition with RF data |
| `0x10000` | flashpage region |
| `0x10000 + CONFIG_ESP_FLASHPAGE_CAPACITY` | `factory` partition with the app image |

This guarantees that the flash pages are not overwritten if a new app image with changed size is flashed. `CONFIG_ESP_FLASHPAGE_CAPACITY` has to be a multiple of 64 kBytes.

~The PR includes PR #19077 and PR #19078 for the moment to be compilable.~

### Testing procedure

The following tests should pass.
```
USEMODULE='esp_log_startup ps shell_cmds_default' BOARD=esp32-wroom-32 make -j8 -C tests/periph_flashpage flash term
```
```
USEMODULE='esp_log_startup ps shell_cmds_default' BOARD=esp32-wroom-32 make -j8 -C tests/mtd_flashpage flash term
```

### Issues/PRs references

Depends on PR #19077
Depends on PR #19078 


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-18 17:48:29 +00:00
Gunar Schorcht
c14e57c7b6 boards/seeedstudio-gd32: add basic board documentaion 2023-01-18 16:17:50 +01:00
Gunar Schorcht
810ebdbe0b boards/seeddstudio-gd32: improve OpenOCD configuration 2023-01-18 16:17:50 +01:00
Gunar Schorcht
77e2ca308b boards/seeedstudio-gd32: add SAUL support for LEDs and Buttons 2023-01-18 16:17:50 +01:00
Benjamin Valentin
d415c16a4f examples/paho-mqtt: re-add stm32mp157c-dk2 to Makefile.ci 2023-01-18 14:47:24 +01:00
Benjamin Valentin
b6de4d1ce7 shell/gnrc_icmpv6_echo: make use of gnrc_icmpv6_echo helper functions 2023-01-18 14:47:24 +01:00
Benjamin Valentin
f6c1ab35a3 gnrc_icmpv6_echo: implement gnrc_icmpv6_echo_{send, req_handle}() 2023-01-18 14:47:24 +01:00
Benjamin Valentin
c8651dd5ac tests/driver_ws281x: don't overwrite board definition
If a board has fixed defines for `WS281X_PARAM_PIN` and `WS281X_PARAM_NUMOF`
the test will overwrite them.
This leads to the LEDs *not* working in with the test, which is very confusing.
2023-01-18 13:52:23 +01:00
Gunar Schorcht
bef4209109 boards/seeedstudio-gd32: define user LEDs and Buttons 2023-01-18 10:11:09 +01:00
bors[bot]
c7ded0144e
Merge #19159
19159: boards/rpi-pico-w: fix too large board image r=benpicco a=krzysztof-cabaj

### Contribution description

PR #19071 adds Raspberry Pico W board to RIOT. Unfortunately, current Doxygen version used for generation boards documentation available in RIOT webpage, do not scale images. In effect current [documentation](https://doc.riot-os.org/group__boards__rpi__pico__w.html) presents to users very, very huge board image. This PR change this image to smaller one, like in other boards. 
  
### Testing procedure

```
make doc
xdg-open doc/doxygen/html/group__boards__rpi__pico__w.htm
```
and compare with current [documentation](https://doc.riot-os.org/group__boards__rpi__pico__w.html).

### Issues/PRs references

PR #19071


Co-authored-by: krzysztof-cabaj <kcabaj@gmail.com>
2023-01-18 03:48:42 +00:00
Benjamin Valentin
6b34691abe core/assert: print backtrace on failed assertion 2023-01-18 01:57:11 +01:00
Benjamin Valentin
bfe2391148 cpu/sam0_common: fix static checks in periph_cpu_common.h 2023-01-18 01:54:34 +01:00
Benjamin Valentin
d59819e641 sys/test_utils: mark expect() condition as likely true 2023-01-18 01:17:31 +01:00
Benjamin Valentin
2f1d4f5a49 core/assert: mark assert() condition as likely true 2023-01-18 01:17:31 +01:00
Benjamin Valentin
75f666f6b3 core/compiler_hints: add likely() / unlikely() hints 2023-01-18 01:17:31 +01:00
bors[bot]
7c0dd96a1c
Merge #19162
19162: matrix keypad: Fix memcpy bug in initialization r=maribu a=bergzand



Co-authored-by: Koen Zandberg <koen@bergzand.net>
2023-01-18 00:10:43 +00:00
Benjamin Valentin
9dcb3991d2 cpu/sam0_common: move adc_res_t to common code 2023-01-17 17:18:07 +01:00
bors[bot]
1c7300bb41
Merge #19157
19157: sys/shell_lock: do not call strlen, less jumpy r=benpicco a=kfessel

### Contribution description

the current `_safe_strcmp` depends on not being optimized and not being inlined (implicitly given by the -O0), this new one does less (would say not since even O3 had compile results that should not return early or show different runtimes for different secrets).

the runtime of strlen depend on the length of the string (password) therefor it is removed. `ifs` are very jumpy and depend on the contend of password, this avoids `ifs` sadly clang still compiles some boolean statements to if.  

with this PR the `__attribute__((optimize("O0")))` should be removable. 

### Testing procedure

see https://godbolt.org/z/x35b85cEx
and run the `<RIOT>/tests/shell_lock` 

### Issues/PRs references
#19155 made me aware of this function 

Co-authored-by: Karl Fessel <karl.fessel@ovgu.de>
2023-01-17 16:15:45 +00:00
bors[bot]
a94478981f
Merge #19160
19160: gh-actions: check-labels: move to upstream fix r=aabadie a=miri64



Co-authored-by: Martine Lenders <m.lenders@fu-berlin.de>
2023-01-17 12:23:55 +00:00
Martine Lenders
40fb7fef32
gh-actions: check-labels: move to upstream fix 2023-01-17 11:51:21 +01:00
Jose Alamos
dacc4ff124
ieee802154/radio: fix blocking cca function 2023-01-17 11:30:59 +01:00
21ac46c89d
matrix_keypad: use gpio_is_valid
Bit of future proofing this module and use gpio_is_valid instead of
GPIO_UNDEF everywhere
2023-01-17 11:03:01 +01:00
b5af66cdd8
matrix_keypad: Fix memcpy bug in initialization 2023-01-17 11:00:30 +01:00
krzysztof-cabaj
1ecdc10579 boards/rpi-pico-w: fix too large board image 2023-01-17 04:13:32 -05: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
Karl Fessel
8f167ba140 sys/shell_lock: do not call strlen, less jumpy 2023-01-16 21:11:58 +01:00
bors[bot]
a3bfdca886
Merge #19060 #19154
19060: SUBSYSTEMS.md: migrate subsystem list from wiki r=maribu a=jia200x



19154: tests/gcoap_dns: Remove duplicate r=miri64 a=Teufelchen1

### Contribution description

Removes a duplicated test. Originally, the test should have looked different and not be a duplicate. However, the behavior the test aimed at is no longer present anyway, hence it can be removed - rather than fixed. 

Further insights can be provided by `@miri64` 

Co-authored-by: Jose Alamos <jose@alamos.cc>
Co-authored-by: Teufelchen1 <bennet.blischke@haw-hamburg.de>
2023-01-16 16:52:29 +00:00
bors[bot]
211db05401
Merge #18477 #19101 #19155
18477: gnrc_static: add static network configuration r=miri64 a=benpicco



19101: CI: update check-labels-action r=miri64 a=kaspar030



19155: Revert "sys/pm_layered: pm_(un)block add attribute optimize(3)" r=maribu a=Teufelchen1

Revert "sys/pm_layered: pm_(un)block add attribute optimize(3) -shortens hotpath"

This reverts commit 5447203921.

### Contribution description

Compiling `examples/gnrc_networking_mac` using `TOOLCHAIN=llvm` yields the following error:
```
RIOT/sys/pm_layered/pm.c:77:16: error: unknown attribute 'optimize' ignored [-Werror,-Wunknown-attributes]
__attribute__((optimize(3)))
```
As indicated, this is because the attribute `optimize` is GCC only and not present in LLVM.
Compare the manpages of [GCC](https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html) and [LLVM](https://clang.llvm.org/docs/AttributeReference.html).


### Testing procedure

Since this should only affect performance and not behavior, no special testing is needed. I am not aware of any tests in RIOT which could verify that assumption.

### Issues/PRs references

Introduced in #18846

There is another instance of this attribute being used in[ shell_lock.c](6fb340d654/sys/shell_lock/shell_lock.c (L80)). Since the usage is security related, I omit it from this PR.


Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
Co-authored-by: Teufelchen1 <bennet.blischke@haw-hamburg.de>
2023-01-16 14:03:15 +00:00
1dabd685bd CI: temporarily remove check-labels from bors pr_status 2023-01-16 14:11:26 +01:00
d912b25bc2 CI: update check-labels-action, using missing_approvals_label 2023-01-16 13:42:19 +01:00
Teufelchen1
571026d394 Revert "sys/pm_layered: pm_(un)block add attribute optimize(3) -shortens hotpath"
This reverts commit 5447203921.
2023-01-16 11:28:30 +01:00
Teufelchen1
c17521377d tests/gcoap_dns: Remove duplicate 2023-01-16 10:40:30 +01:00
Benjamin Valentin
65a8b716e3 examples/gcoap_fileserver: make use of callbacks 2023-01-16 10:25:01 +01:00
Benjamin Valentin
47295cc929 gcoap/fileserver: add event callbacks 2023-01-16 10:25:00 +01:00
Jose Alamos
8f8266d661
SUBSYSTEMS.md: migrate subsystem list from wiki 2023-01-16 06:34:59 +01:00