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

22 Commits

Author SHA1 Message Date
Geovane Fedrecheski
7c0accb4f1 netdev/ieee802154_submac: support setting promiscuous mode option 2023-08-25 16:20:27 +02:00
bors[bot]
2ea6a2af1e
Merge #19053
19053: net/ieee802154: make default ack request configurable r=jia200x a=jue89



Co-authored-by: Jue <me@jue.yt>
2022-12-15 10:15:31 +00:00
Jue
8f174bbef2 ieee802154_submac: migrate to ztimer 2022-12-14 16:41:27 +01:00
Jue
5c2db89c20 ieee802154_submac: respect ack request option 2022-12-14 16:29:01 +01:00
Benjamin Valentin
838a5e4bd3 netdev_drivers: make sure to signal LINK_UP at least once 2022-09-16 22:57:28 +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
Jose Alamos
c0dcbc247e
Kconfig/ieee802154: fix typo in hal selector 2022-08-10 13:43:04 +02:00
Leandro Lanzieri
eab508b4b1
drivers/netdev_ieee802154_submac: model Kconfig 2022-07-28 09:32:24 +02:00
Jose Alamos
cb6e242b65
net/netdev_ieee802154_submac: prevent calling ACK TO fired if cancelled 2021-10-07 14:37:05 +02:00
Jose Alamos
8f97f73453
ieee802154/submac: reimplement using FSM 2021-09-03 15:00:47 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
Jose Alamos
abb88b1ffe
netdev_ieee802154_submac: check error codes 2021-07-12 18:20:50 +02:00
Jose Alamos
6b1241c7bf
netdev_ieee802154_submac: fix initialization code 2021-07-12 16:48:50 +02:00
Jose Alamos
947e305e0b
netdev_ieee802154_submac: avoid explicit cast to netdev 2021-07-09 10:38:35 +02:00
Jean Pierre Dudey
68c304aabc drivers/netdev_ieee802154_submac: get NETOPT_IEEE802154_PHY
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-26 11:16:27 +01:00
Francisco Molina
960e0c5f43
sys/ieee802154/submac: add handling of invalid CRC frames 2021-01-13 23:42:45 +01:00
Jose Alamos
728b84dc69
netdev_ieee802154_submac: use RSSI in dBm 2021-01-13 14:14:45 +01:00
Jose Alamos
fa0dd8b5e2 netdev_ieee802154_submac: set addresses using netdev_register 2020-10-19 15:18:35 +02:00
benpicco
4edf5c7cbd
Merge pull request #15208 from benpicco/ieee802154_submac-etx
netdev/ieee802154_submac: add retransmission reporting
2020-10-15 14:31:54 +02:00
Benjamin Valentin
37aad4ef38 netdev/ieee802154_submac: add retransmission reporting
If we do software retransmissions, we already keep a count.
Allow to query it with `NETOPT_TX_RETRIES_NEEDED`.
2020-10-15 13:26:42 +02:00
Benjamin Valentin
bb546835a1 netdev/ieee802154_submac: enable ACK_REQ
One of the features of the sub-MAC is to allow for ACK-handling in
software.
So enable the use of ACKs by default, just like the netdev drivers do
that support this feature in hardware.
2020-10-12 15:49:34 +02:00
Jose Alamos
4bb77b0b2f netdev/ieee802154_submac: add compatibility layer 2020-09-30 17:25:31 +02:00