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

196 Commits

Author SHA1 Message Date
Jose Alamos
58ce0743c6
drivers/at86rf2xx: add TX_START macro 2022-11-25 14:01:43 +01:00
Jose Alamos
b6b8dc1958
drivers/at86rf2xx: add AT86RF2XX_IS_PERIPH macro 2022-11-25 14:01:39 +01:00
Jue
634d3df844 drivers/at86rf2xx: migrate to ztimer 2022-10-29 20:15:16 +02:00
Benjamin Valentin
838a5e4bd3 netdev_drivers: make sure to signal LINK_UP at least once 2022-09-16 22:57:28 +02:00
Karl Fessel
05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +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
Leandro Lanzieri
7d95e9b5a9
drivers/at86rf2xx: model Kconfig 2022-07-28 09:32:24 +02:00
Marian Buschsieweke
997f3fc1f4
Merge pull request #18305 from maribu/drivers/at86rf2xx
drivers/at86rf2xx: fix NETOPT_RANDOM
2022-07-11 17:30:06 +02:00
MrKevinWeiss
659618aeeb
drivers/at86rf2xx: Fix missing .h file in params 2022-07-11 09:24:58 +02:00
Marian Buschsieweke
240cf75a61
drivers/at86rf2xx: fix NETOPT_RANDOM
- fix wrong return value
- fix wrong size parameter
    - note, the behavior is a bit relaxed in that it allows
      NETOPT_RANDOM with different size than `sizeof(uint32_t)`
2022-07-11 08:05:42 +02:00
eduazocar
e6a7039de4 drivers/at86rf2xx: Adding Switch SRT to Random Number Generator 2022-07-03 17:44:47 -04:00
Benjamin Valentin
9ea5e58774 drivers: drop NETOPT_RX_END_IRQ 2022-05-11 23:44:24 +02:00
57fac91247
drivers/at86rf2xx: declare pseudomodules at driver level 2021-10-05 11:48:49 +02:00
Francisco
a1cbcc9ede
Merge pull request #15902 from maribu/spi-api-change-1
drivers/periph_spi: let spi_acquire return void
2021-09-02 08:50:56 +02:00
Marian Buschsieweke
732cbd969c
drivers: update to new periph_spi API 2021-09-01 21:38:40 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Jose Alamos
72d71f1ac4
at86rf2xx: avoid explicit cast to netdev 2021-07-09 10:08:45 +02:00
Fabian Hüßler
750435509e drivers/at86rf2xx: remove get NETOPT_ENCRYPTION_KEY
setting NETOPT_ENCRYPTION_KEY in device driver was redundant
because it is also done in the ieee802154 netdev driver
and the key is transfered to the hardware in the ieee802154
security implementation
2021-04-27 08:54:19 +02:00
Marian Buschsieweke
1d0ee42046
drivers/at86rf2xx: make TX/RX IRQs read only
This brings the implementation in sync with the API.
2021-03-22 08:15:54 +01:00
Benjamin Valentin
a2396111ee drivers: remove unused luid dependencies
Those drivers don't rely on luid anymore, we can drop the dependency.
2021-02-25 22:10:14 +01:00
benpicco
8348437713
Merge pull request #16039 from chudov/drivers/at86rf2xx_aes_spi/module_name_fix
drivers/at86rfr2xx: usage of module at86rf2xx_aes_spi fixed
2021-02-18 18:10:10 +01:00
chudov
762716049d drivers/at86rfr2xx: usage of module at86rf2xx_aes_spi fixed 2021-02-17 20:47:18 +01:00
chudov
d5c8703c48 drivers/at86rf2xx: add missing handler for TRX24_RX_START interrupt for ATmegaRF MCUs 2021-02-17 01:03:01 +01:00
Marian Buschsieweke
bc2a225e53
drivers/at86rf2xx: fix null pointer check
check if argument is NULL *before* using it :-)
2021-01-21 10:23:40 +01:00
Gerson Fernando Budke
1426e15679 cpu/avr8_common: Normalize method prefix name
Refactor atmega_ prefix to avr8_ prefix and update copyrights.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-01-07 16:29:42 -03:00
benpicco
1477a340fe
Merge pull request #15150 from fabian18/ieee802154_security
Initial implementation of IEEE 802.15.4 security
2020-12-09 14:14:27 +01:00
Benjamin Valentin
26bcaf94b5 drivers/at86rf2xx: use byteorder_htols()
same as 374d032b82
2020-12-08 13:40:24 +01:00
Fabian Hüßler
f074e8a635 drivers/at86rf2xx: Use hardware security for IEEE 802.15.4 security 2020-12-04 09:40:55 +01:00
Leandro Lanzieri
0e52e2747e
drivers: remove netif as dependency for network device drivers 2020-11-13 09:25:59 +01:00
Bas Stottelaar
92b1dfc703 drivers/*: realign ENABLE_DEBUG 2020-10-23 01:26:09 +02:00
Bas Stottelaar
4bdfe9a254 drivers/*: add missing include of assert.h 2020-10-22 11:13:08 +02:00
cb5e69c478
drivers/at86rf2xx: fix typo 'neccessary' -> 'necessary' 2020-10-02 08:01:49 +02:00
José Alamos
9c130cd2fd
Merge pull request #15032 from jia200x/pr/at86rf2xx/fix_overflow
drivers/at86rf2xx: fix at86rf2xx_set_rxsensitivity
2020-09-17 10:32:06 +02:00
Jose Alamos
074dc8d328 drivers/at86rf2xx: fix at86rf2xx_set_rxsensitivity 2020-09-16 14:47:51 +02:00
Hauke Petersen
020642476e driver/at86rf2xx: fix asserts in _set func 2020-09-15 13:57:15 +02:00
fdaf7fd822
Merge pull request #14596 from benpicco/drivers/at86rf2xx-retries
drivers/at86rf2xx: support frame retry reporting on AT86RFR2
2020-09-09 10:27:05 +02:00
Benjamin Valentin
0871b69c84 drivers/at86rf2xx: support frame retry reporting on at86rfr2
At86rfr2 doesn't report retries directly, but it can generate a TX start
interrupt for each (re)try, so we can count manually.
2020-09-08 14:48:57 +02:00
Francisco
6f84870c26
Merge pull request #14634 from benpicco/eui_provider
net/link_layer: implement EUI provider
2020-09-01 16:26:08 +02:00
Benjamin Valentin
f714fac3f4 drivers/at86rf2xx: make use of EUI provider 2020-08-30 23:43:57 +02:00
Benjamin Valentin
2aa2bf86a3 drivers/at86rf2xx: AES: don't use binary constant
This is a GCC extension. Use hex constant instead.
2020-08-25 14:06:40 +02:00
Marian Buschsieweke
7b743cda13
drivers/at86rf2xx: Fix address generation
Do not generate address during reset, but during setup. Otherwise the device
will get a new address after every reset. Also: Use common IEEE 802.15.4
setup function for this.
2020-08-23 21:09:21 +02:00
Benjamin Valentin
0f4c5f5b10 drivers/at86rf2xx: fix assert
The assert is reversed. It must check if the config value does not
exceed the maximum address length, not the other way round.

previously this would lead to a crash when setting a short address:

2020-08-23 13:59:56,080 #  ifconfig 7 set addr_short 2
2020-08-23 13:59:56,081 # 0xdcad
2020-08-23 13:59:56,083 # *** RIOT kernel panic:
2020-08-23 13:59:56,085 # FAILED ASSERTION.

With this it works as expected

2020-08-23 14:05:07,988 #  ifconfig 7 set addr_short 2
2020-08-23 14:05:07,992 # success: set (short) address on interface 7 to 2
2020-08-23 14:05:52 +02:00
Benjamin Valentin
53eedc283b drivers/at86rf2xx: register driver with netdev 2020-08-17 22:53:51 +02:00
fabian18
1fca10c486 drivers/at86rf2xx: SPI AES security module 2020-08-12 17:18:00 +02:00
304bce3724
drivers: configure per driver dependency resolution 2020-07-20 14:32:16 +02:00
490126cfa0
drivers: move USEMODULE_INCLUDES in each driver directories 2020-07-15 20:36:27 +02:00
Benjamin Valentin
ac040c6baf drivers/at86rf2xx: add support for high data rates
AT86RF2xx supports high data rates in O-QPSK mode.
This is a proprietary feature, so data rates > 0 are only supported by
other AT86RF2xx devices.

 high_rate 0:   250 kbit/s (IEEE mode)
 high_rate 1:   500 kbit/s
 high_rate 2:  1000 kbit/s (compatible with at86rf215)
 high_rate 3:  2000 kbit/s
2020-05-09 01:24:08 +02:00
Jose Alamos
ab5418ebab at86rf2xx: report CRC error in basic mode 2020-04-08 19:14:45 +02:00
Jose Alamos
d4b0aff8cf at86rf2xx: implement basic mode 2020-04-08 19:14:45 +02:00
Jose Alamos
3ad574a822 drivers/netdev: use netdev_trigger_event_isr function 2020-03-06 14:03:43 +01:00