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

125 Commits

Author SHA1 Message Date
chudov
c52f6e71c2 drivers/at86rf2xx: rx timestamp generation for ATmegaRFR2
Signed-off-by: chudov <chudov@gmail.com>
2023-05-19 15:33:15 +02:00
Jose Alamos
6ef2b17e54
drivers/at86rf2xx: set netdev channel on init 2023-01-30 18:37:58 +01:00
Jue
06de22637c at86rf2xx: respect ack request option 2022-12-14 16:29:01 +01:00
Jose Alamos
42af1f0f59
drivers/at86rf2xx: move CSMA/CA seed init to netdev init 2022-12-06 17:53:11 +01:00
Jose Alamos
c26365c9fb
drivers/at86rf2xx: merge configure_phy and set_txpower functions 2022-12-06 15:40:45 +01:00
Jose Alamos
bc1043921d
drivers/at86rf2xx: move TX power logic to netdev 2022-12-06 15:40:43 +01:00
Jose Alamos
4708478e98
drivers/at86rf2xx: move security logic to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
99d490a3c1
drivers/at86rf2xx: move at86rf2xx_setup to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
5a46bba376
drivers/at86rf2xx: move TX_STARTED logic to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
72c3f9192a
drivers/at86rf2xx: move netdev logic out of reset function 2022-12-06 15:40:20 +01:00
Jose Alamos
5207a82e03
drivers/at86rf2xx: simplify channel-page logic 2022-12-06 15:40:18 +01:00
Jose Alamos
2965419028
drivers/at86rf2xx: move addr logic to netdev 2022-11-29 11:16:16 +01:00
Jose Alamos
ba6c0d845e
drivers/at86rf2xx: remove unused getters 2022-11-29 11:16:16 +01:00
Jose Alamos
06cc410aa9
drivers/at86rf2xx_netdev: cleanup is_periph logic 2022-11-29 11:16:15 +01:00
Jose Alamos
5a865c3a6b
drivers/at86rf2xx: add HAVE_RETRIES_REG macro 2022-11-25 14:01:44 +01:00
Jose Alamos
22c6d0242a
drivers/at86rf2xx: add HAVE_ED_REGISTER macro 2022-11-25 14:01:44 +01:00
Jose Alamos
82d3324e63
drivers/at86rf2xx: add HAVE_SUBGHZ macro 2022-11-25 14:01:44 +01:00
Jose Alamos
b6b8dc1958
drivers/at86rf2xx: add AT86RF2XX_IS_PERIPH macro 2022-11-25 14:01:39 +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
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
Marian Buschsieweke
732cbd969c
drivers: update to new periph_spi API 2021-09-01 21:38:40 +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
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
Fabian Hüßler
f074e8a635 drivers/at86rf2xx: Use hardware security for IEEE 802.15.4 security 2020-12-04 09:40:55 +01:00
Bas Stottelaar
92b1dfc703 drivers/*: realign ENABLE_DEBUG 2020-10-23 01:26:09 +02:00
cb5e69c478
drivers/at86rf2xx: fix typo 'neccessary' -> 'necessary' 2020-10-02 08:01:49 +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
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
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
Thomas Stilwell
751b0332da drivers/at86rf2xx: reset hardware before reading version register 2020-02-13 21:33:22 -06: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
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
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