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

18 Commits

Author SHA1 Message Date
Benjamin Valentin
c1e79c84d0 drivers/at86rf215: port to new netdev API 2024-05-15 17:24:42 +02:00
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
cb5e19beb5
Merge pull request #17979 from maribu/drivers/netdev_ieee802154
drivers/netdev_ieee802154: drop duplicate struct member
2022-06-02 00:47:56 +02:00
Marian Buschsieweke
1fd4d41d76
driver/netdev_ieee802154: Make timestamp optional
Also remove duplicate struct member.
2022-04-22 14:33:56 +02:00
Benjamin Valentin
72bb9c749f drivers/at86rf215: make at86rf215_blocking_send a DEFAULT_MODULE
So it can be disabled.
2022-04-11 16:28:52 +02:00
Jnae
b287d120ff at86rf215: timestamp counter for rx frames 2021-05-12 15:27:36 +02:00
benpicco
ef0eb9044b
Merge pull request #14954 from benpicco/drivers/at86rf215-netif_pktq
drivers/at86rf215: make use of packet queue if available
2020-12-01 17:59:06 +01:00
Benjamin Valentin
7fc042e2a9 drivers/at86rf215: use non-blocking send if gnrc_netif_pktq is active 2020-12-01 16:04:09 +01:00
benpicco
333fce44b4
Merge pull request #14973 from benpicco/driver/at86rf215-batmon
drivers/at86rf215: implement battery monitor, add power bus
2020-12-01 11:52:46 +01:00
Francisco
fe510cd823
Merge pull request #15439 from leandrolanzieri/pr/drivers/network_devices_remove_netif_dep
drivers/network devices: remove unused netif dependency
2020-11-17 12:06:18 +01:00
Benjamin Valentin
72d0d4c6d7 drivers/at86rf215: fix dependency resolution for 2.4 GHz
With the last cleanup an error sneaked in:
Now the 2.4 GHz interface is disabled, when the `at86rf215m` module
(chip with sub-GHz radio only) is *not* used.

This is the reverse of what should happen.
2020-11-15 16:34:57 +01:00
Benjamin Valentin
f9650bdbc3 drivers/at86rf215: implement Battery Monitor 2020-11-13 22:59:09 +01:00
Leandro Lanzieri
0e52e2747e
drivers: remove netif as dependency for network device drivers 2020-11-13 09:25:59 +01:00
benpicco
9681c204d6
Merge pull request #14959 from benpicco/at86rf215-mr-fsk
drivers/at86rf215: implement MR-FSK
2020-11-03 11:26:24 +01:00
Benjamin Valentin
6f23263503 drivers/at86rf215: implement MR-FSK 2020-11-03 10:51:21 +01:00
Benjamin Valentin
9fb90b11f5 drivers/at86rf215: fix dependency resolution for single radio
Let the user chose `at86rf215_subghz`/`at86rf215_24ghz` if they
only want a single radio.
2020-10-21 19:38:24 +02:00
Benjamin Valentin
0b523835b5 drivers/at86rf215: use eui_provider 2020-08-30 23:43:57 +02:00
304bce3724
drivers: configure per driver dependency resolution 2020-07-20 14:32:16 +02:00