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
benpicco
6f97012237
Merge pull request #13356 from benemorius/pr/at86reset
...
drivers/at86rf2xx: reset hardware before reading any register
2020-02-16 20:42:41 +01:00
Thomas Stilwell
751b0332da
drivers/at86rf2xx: reset hardware before reading version register
2020-02-13 21:33:22 -06:00
Benjamin Valentin
63f6d6aa13
drivers/at86rf2xx: use luid_get_eui64() / luid_get_short()
...
Use dedicated helper functions to generate long and short address.
Maybe fixes #13358
2020-02-13 11:17:11 +01:00
benpicco
16ab89bf28
Merge pull request #12728 from bergzand/pr/at86rf2xx/fix_recv_before_send
...
at86rf2xx: fix receive before send detection
2020-02-07 13:54:52 +01:00
42d54600f7
at86rf2xx: fix receive before send detection
...
The at86rf2xx radio handled a transfer complete condition with the radio
in the BUSY_TX_ARET state as a finished transmission. This condition and
state also occurs when a reception occurs just before switching to
transmitting. This would cause a condition where first a TX_COMPLETE was
signalled and second a RX_COMPLETE was signalled. The network stack
would then read the transmitted frame as a received frame.
The patch fixes the errornous RX callback by only submitting the
TX_COMPLETE condition when there are at least 2 frames pending
(at86rf2xx::pending_tx).
2020-02-07 13:08:33 +01:00
Marian Buschsieweke
3264106a2f
Merge pull request #12704 from benpicco/AT86RFR2_smart_idle
...
drivers/at86rf2xx: enable Smart Reduced Power Consumption for AT86RFR2
2019-11-25 11:57:44 +01:00
benpicco
ce1f383f90
Merge pull request #12606 from maribu/at86rf2xx-addr-endianess
...
drivers/at86rf2xx: Updated address API
2019-11-24 16:33:16 +01:00
Marian Buschsieweke
f0317c50f2
drivers/at86rf2xx: Updated address API
...
Changed the address getter and setter functions to avoid byte order
confusion.
2019-11-23 19:40:09 +01:00
Marian Buschsieweke
4347f720f5
drivers/at86rf2xx: Update to new ATmega API
...
Replace __enter_isr() with atmega_enter_isr() and __exit_isr() with
atmega_exit_isr()
2019-11-23 12:27:13 +01:00
5eb5c3c42c
at86rf2xx: split out isr transmit complete handling
2019-11-16 22:26:58 +01:00
Benjamin Valentin
528cb27395
drivers/at86rf2xx: enable Smart Reduced Power Consumption for AT86RFR2
...
"Smart Reduced Power Consumption Techniques" [0] are supported by AT86RF233,
ATmega2564/1284/644RFR2 and ATmega256/128/64RFR2 devices.
Functionality is the same as on AT86RF233, so we can just enable it.
[0] http://ww1.microchip.com/downloads/en/Appnotes/Atmel-42356-Smart-Reduced-Power-Consumption-Techniques_ApplicationNote_AT02594.pdf
2019-11-13 23:35:40 +01:00
Benjamin Valentin
8f1eaae353
drivers/at86rf2xx: add support for ATmegaRF MCUs
...
The ATmega128RFA1 and ATmega256RFR2 contain a version of this IP
on the MCU.
The radio core behaves mostly like a at86rf231, but all registers
are mapped to memory and radio states can directly generate interrupts
on the CPU.
The ATmega256RFR2 adds support for automatic retransmissions.
This has not been implemented yet.
Co-authored-by: Josua Arndt <jarndt@ias.rwth-aachen.de>
2019-10-26 23:10:18 +02:00
fabian18
2edf153cf8
drivers/at86rf2xx: do not hang on no dev
2019-09-02 10:27:24 +02:00
Benjamin Valentin
9d6d93ef2f
drivers: make use of ARRAY_SIZE macro
2019-08-06 19:43:54 +02:00
Martine Lenders
6611be5140
at86rf2xx: don't call tx_load when iol->iol_len == 0
2019-03-15 15:34:38 +01:00
smlng
6183d5f5c5
netdev: remove layer2 netstats from netdev drivers
...
Removing usage of netdev->stats in all net drivers, as it is
handled by gnrc_netif.
2019-02-01 11:25:27 +02:00
Kees Bakker
c82f9759a8
drivers/at86rf2xx: do normal assignment instead of memcpy
2019-01-10 19:43:43 +01:00