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

40724 Commits

Author SHA1 Message Date
Marian Buschsieweke
276ad5716a
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
A if `netdev_driver_t::confirm_send()` is provided, it provides the
new netdev API. However, detecting the API at runtime and handling
both API styles comes at a cost. This can be optimized in case only
new or only old style netdevs are in use.

To do so, this adds the pseudo modules `netdev_legacy_api` and
`netdev_new_api`. As right now no netdev actually implements the new
API, all netdevs pull in `netdev_legacy_api`. If `netdev_legacy_api` is
in used but `netdev_new_api` is not, we can safely assume at compile
time that only legacy netdevs are in use. Similar, if only
`netdev_new_api` is used, only support for the new API is needed. Only
when both are in use, run time checks are needed.

This provides two helper function to check for a netif if the
corresponding netdev implements the old or the new API. (With one
being the inverse of the other.) They are suitable for constant folding
when only new or only legacy devices are in use. Consequently, dead
branches should be eliminated by the optimizer.
2022-08-17 12:56:07 +02:00
benpicco
f2720940d7
Merge pull request #18283 from jia200x/pr/opendsme_nrf52840
drivers/nrf802154: do not filter broadcast PAN ID
2022-08-16 11:43:07 +02:00
benpicco
0aff42c682
Merge pull request #18383 from jia200x/pr/kw2xrf_radio_hal
drivers/kw2xrf: add support for IEEE 802.15.4 Radio HAL
2022-08-16 11:42:03 +02:00
Jose Alamos
8eb17c8769
doccheck/exclude_patterns: add KW2XRF_PARAM_RESET to exclude list 2022-08-15 12:11:05 +02:00
Jose Alamos
76ec74f377
tests/driver_kw2xrf: adapt to radio HAL port 2022-08-15 12:11:05 +02:00
Jose Alamos
f8646f8e11
tests/ieee802154_submac: add support for kw2xrf radios
Co-authored-by: Michel Rottleuthner <michel.rottleuthner@haw-hamburg.de>
2022-08-15 12:11:05 +02:00
Jose Alamos
f1ca73e934
tests/ieee802154_hal: add support for kw2xrf radios
Co-authored-by: Michel Rottleuthner <michel.rottleuthner@haw-hamburg.de>
2022-08-15 12:11:04 +02:00
Jose Alamos
4ebcd7c055
drivers/kw2xrf: add IEEE 802.15.4 Radio HAL support
Co-authored-by: Michel Rottleuthner <michel.rottleuthner@haw-hamburg.de>
2022-08-15 12:11:03 +02:00
Martine Lenders
25a5269150
Merge pull request #18433 from nmeum/pr/asymcute-length-check
asymcute: fix one byte out-of-bounds access in _len_get
2022-08-13 21:12:26 +02:00
Marian Buschsieweke
5247158e34
Merge pull request #18449 from gschorcht/pkg/nimble/ble_adv_ext_and_cleanup
pkg/nimble: add feature ble_adv_ext and cleanup ble_* features
2022-08-13 16:31:34 +02:00
Marian Buschsieweke
8d1b857fd0
Merge pull request #18450 from maribu/boards/common/blxxxpill
boards/common/blxxxpill: use UART_DEV(0) for stdio
2022-08-13 15:05:30 +02:00
Marian Buschsieweke
a1ed6f3b78
boards/common/blxxxpill: use UART_DEV(0) for stdio
Using `UART_DEV(0)` (UASRT1) for stdio allows to use the same TTL
adapter that is used for programming via `stm32flash` to be used for
serial, without re-wiring after flashing.
2022-08-12 19:13:29 +02:00
Gunar Schorcht
491d4f30e2 cpu/nrf52: nRF52x MCUs support Bluetooth 5 Advertising 2022-08-12 16:15:20 +02:00
Gunar Schorcht
20f3e8b4fc pkg/nimble: add feature ble_adv_ext
To control the compilation of NimBLE modules `nimble_*_ext` that require the Bluetooth 5 Advertising Extension, the `ble_adv_ext` is introduced to indicate that a platform supports this feature.
2022-08-12 16:15:14 +02:00
Gunar Schorcht
73eb3cba72 kconfig: move BLE_* features to common features file
These BLE_* features are not necessarily nRF5x specific and should be defined as common features. The commit also fixes the alphabetical order for HAS_RUST_TARGET.
2022-08-12 16:14:58 +02:00
benpicco
4ab7ba6758
Merge pull request #18405 from gschorcht/cpu/esp32/periph_gpio_wakeup_extemsion
cpu/esp32: extend GPIO wake-up from deep sleep
2022-08-12 15:41:46 +02:00
Jose Alamos
4ace2ed778
net/gnrc: add support for event based Bottom Half Processor 2022-08-12 11:12:13 +02:00
Jose Alamos
62bdcaf3f3
boards/pba-d-01-kw2x: define RST pin 2022-08-12 11:12:13 +02:00
Jose Alamos
66edd59b0b
drivers/at86rf215: use global ACK Timeout value 2022-08-12 11:12:12 +02:00
Jose Alamos
ef80302cca
ieee802154: add ACK timeout in symbols to header 2022-08-12 10:17:33 +02:00
José Alamos
50e4498c84
Merge pull request #18435 from jia200x/pr/bhp
sys/bhp_*: add initial support for generic Bottom Half Processor
2022-08-12 09:58:18 +02:00
benpicco
a93ba1ef80
Merge pull request #18434 from nmeum/pr/asymcute-ack-typecheck
asymcute: Compare request message type when matching acknowledgement
2022-08-11 12:10:04 +02:00
Jose Alamos
c9ea772bbb
Kconfig/bhp_*: add initial Kconfig modelling 2022-08-11 10:57:55 +02:00
Jose Alamos
c80e0e1559
unittests/bhp_event: add initial unittests 2022-08-11 10:57:54 +02:00
Jose Alamos
0a3f58158b
sys/bhp_event: add Event based implementation for Bottom Half Processor 2022-08-11 10:57:54 +02:00
Jose Alamos
4c09846426
sys/bhp: add initial support for generic Bottom Half Processor 2022-08-11 10:57:53 +02:00
Kevin "Tristate Tom" Weiss
98ec922c67
Merge pull request #18430 from jia200x/pr/kconfig/fix_have_ieee802154_radio_hal_interface
Kconfig/ieee802154: fix typo in HAL selector and add missing radios
2022-08-11 09:05:38 +02:00
Martine Lenders
60bd3ca07a
Merge pull request #18429 from miri64/gcoap/fix/empty-ack
gcoap: fixes around empty ACKs
2022-08-10 23:05:53 +02:00
Martine S. Lenders
f11c9e837d
gcoap: expire memo and stop retransmissions on RESET reception 2022-08-10 16:09:43 +02:00
Martine S. Lenders
b616c17e46
gcoap: expire memo if there is nothing to wait for 2022-08-10 16:09:43 +02:00
benpicco
dff1f689b0
Merge pull request #18410 from gschorcht/cpu/esp32/add_esp32s3_makefiles
cpu/esp32: add ESP32-S3 support to makefiles
2022-08-10 15:19:42 +02:00
chrysn
9ca149f30c
Merge pull request #17978 from chrysn-pull-requests/gcoap-match-response-from-multicast
gcoap: Forego IP address comparison in memo finding of multicasts
2022-08-10 15:19:11 +02:00
Jose Alamos
3c849381e2
drivers/nrf52840: select HAVE_IEEE802154_RADIO_HAL_INTERFACE 2022-08-10 13:50:26 +02:00
Jose Alamos
c0dcbc247e
Kconfig/ieee802154: fix typo in hal selector 2022-08-10 13:43:04 +02:00
Gunar Schorcht
adc12a499e
Merge pull request #18409 from gschorcht/cpu/esp32/add_esp32s3_linker_scripts
cpu/esp32: add linker scripts for ESP32-S3
2022-08-10 06:50:48 +02:00
Sören Tempel
06d572c2fc asymcute: fix one byte out-of-bounds access in _len_get
As per Section 5.2.1 of the MQTT-SN specification, the MQTT-SN length
header is either 1- or 3-octet long. If it is 3-octet long then the
first octet is 0x01. The asymcute implementation currently only checks
that the incoming packet is at least 2-octet long before attempting to
parse it (MIN_PKT_LEN). However, if the first octet is 0x01 the packet
must be more than 3 octet long in order to be valid. Since asymcute
does not check this it reads one octet beyond the packet data for a
2-octet packet where the first octet has the value 0x01. This commit
fixes this issue by adding an additional sanity check to _len_get.
2022-08-10 05:41:10 +02:00
Marian Buschsieweke
2601eb3f06
Merge pull request #18419 from krzysztof-cabaj/doc-nucleo64
boards/nucleo64: doc update - usage of cpy2remed programmer and short board overview
2022-08-10 01:36:58 +02:00
Sören Tempel
fb660dbec6 asymcute: Compare request message type when matching acknowledgement
Currently, asymcute only matches an MQTT-SN request to its
acknowledgement using the MsgId header. However, I strongly believe
this to be insufficient as asymcute would thus also match a SUBACK
to a prior PUBLISH message (for example) as long as the message ID
matches. To address this issue, this commit modifies _req_preprocess
to also compare the request message type in addition to the message id.
2022-08-10 00:49:37 +02:00
benpicco
3fef5c171d
Merge pull request #18411 from gschorcht/cpu/esp32/add_esp32s3_kconfig
cpu/esp32: add ESP32-S3 support in Kconfig
2022-08-09 22:11:58 +02:00
benpicco
1310128435
Merge pull request #18408 from gschorcht/pkg/esp32_sdk/patches_for_esp32s3
pkg/esp32_sdk: additional patches required for ESP32-S3
2022-08-09 21:53:39 +02:00
Marian Buschsieweke
4414ed1cbe
Merge pull request #18417 from maribu/cpu/stm32/periph/stm32_eth/optimization
cpu/stm32/periph_eth: optimize IRQ handler
2022-08-09 19:28:00 +02:00
chrysn
ab6bec6f0e gcoap: Forego IP address comparison in memo finding of multicasts
Co-Authored-By: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2022-08-09 19:09:39 +02:00
Martine S. Lenders
2cd785791d
gcoap: send empty RST on unknown CON response 2022-08-09 17:09:50 +02:00
Gunar Schorcht
2902a9a803 cpu/esp32: add ESP32-S3 support to ESP-IDF interface API compilation 2022-08-09 15:57:18 +02:00
Gunar Schorcht
f0b619bed2 cpu/esp32: add ESP32-S3 support in makefiles 2022-08-09 15:57:18 +02:00
Marian Buschsieweke
bf67a9cdc5
cpu/stm32/periph_eth: optimize IRQ handler
We can just clear both TX and RX IRQ flags in any case, as clearing a
non-set flag is just a nop.
2022-08-09 07:33:34 +02:00
benpicco
26faa881b6
Merge pull request #18416 from maribu/cpu/stm32/periph/stm32_eth/bugfix
cpu/stm32/periph_eth: fix horrible memory corruption bug
2022-08-09 03:01:33 +02:00
Marian Buschsieweke
9efd6a3e52
Merge pull request #18298 from maribu/makefiles/info.inc.mk
build system: add info-kconfig-variables
2022-08-08 19:13:23 +02:00
krzysztof-cabaj
fb17eb2c30 boards/nucleo-l476rg: add short board info and flashing commands 2022-08-08 12:07:54 -04:00
krzysztof-cabaj
6a0484fd52 boards/nucleo-l452re: add cpy2remed flashing commands 2022-08-08 11:51:46 -04:00