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

88 Commits

Author SHA1 Message Date
Jose Alamos
268487097b
drivers/at86rf2xx: fix default page 2023-04-13 11:10:54 +02: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
fc43cec430
drivers/at86rf2xx: remove unused send function 2022-12-06 15:40:20 +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
82d3324e63
drivers/at86rf2xx: add HAVE_SUBGHZ macro 2022-11-25 14:01:44 +01:00
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
eduazocar
e6a7039de4 drivers/at86rf2xx: Adding Switch SRT to Random Number Generator 2022-07-03 17:44:47 -04: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
chudov
762716049d drivers/at86rfr2xx: usage of module at86rf2xx_aes_spi fixed 2021-02-17 20:47:18 +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
Bas Stottelaar
92b1dfc703 drivers/*: realign ENABLE_DEBUG 2020-10-23 01:26:09 +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
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
53eedc283b drivers/at86rf2xx: register driver with netdev 2020-08-17 22:53:51 +02:00
Jose Alamos
d4b0aff8cf at86rf2xx: implement basic mode 2020-04-08 19:14:45 +02: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
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
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
Kees Bakker
c82f9759a8 drivers/at86rf2xx: do normal assignment instead of memcpy 2019-01-10 19:43:43 +01:00
6306308ef5
at86rf2xx: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +01:00
Josarn
d1261a7ef0 at86rf2xx: correct framebuffer release
This PR sets the tranceiver in PLL_ON state to avoid corruption of the
data in the frame buffer and sets it back to the last state which the
 transceiver had before changing into transmit mode after the data is
read out. This is done to avoid data corruption when `_recv(...)` is
called to retrieve the buffer size and frame buffer protection is released.
2018-10-26 19:16:34 +02:00
c3da55b015
at86rf2xx: Re-enable ack requests by default
Properly splitting the flags between netdev_ieee802154 and the at86rf2xx
driver had as side effect that the ACK REQ flag was no longer set by
default. This commit reverts the default settings by enabling it again
on startup. The current code calls the generic netdev setter to set the
flag.
2018-10-25 12:17:02 +02:00
Peter Kietzmann
f5379c05a3
Merge pull request #8971 from Hyungsin/forupstream_smart_idle_listening
drivers/at86rf2xx: add smart idle listening feature
2018-10-23 19:34:21 +02:00
7425ac92aa
Merge pull request #9581 from bergzand/pr/at86rf2xx/flag_refactor
at86rf2xx: Move flags from netdev to radio
2018-08-17 10:51:23 +02:00
Hyungsin
e0d3f5b552 drivers/at86rf2xx: add smart idle listening feature 2018-08-06 13:56:42 -07:00
d9d99f9e24
at86rf2xx: Move flags from netdev to radio
The flags from the ieee802154 struct are only used in the radio code.
there is no advantage of having them in the netdev_ieee802154_t struct
if the flags are defined differently per radio driver.
2018-07-17 11:15:12 +02:00
173136a270
at86rf2xx: Remove default event report settings 2018-07-16 14:40:51 +02:00
Peter Kietzmann
fd8ef789b7
Merge pull request #9531 from bergzand/pr/netdev/reset_refactor
netdev_ieee802154: Add and use common reset function
2018-07-13 12:01:14 +02:00
c04cb23cbc
at86rf2xx: Use netdev reset function 2018-07-11 09:39:12 +02:00
Josarn
5d69406d47 at86rfr2xx: uncrustified 2018-07-06 13:20:03 +02:00
Joakim Nohlgård
6b2bfe18e9 at86rf2xx: Set page 2 by default on AT86RF212B
Page 2 is O-QPSK 100 kbit/s or 250 kbit/s, which matches the bandwidth
provided in the 2.4 GHz band, at the cost of receiver sensitivity. The
previous default, page 0, provides only 20 kbit/s in channel 0, and
40 kbit/s in channels 1-10, and should be used in specific applications
where the radio environment requires the maximum receiver sensitivity
and noise resilience.
2018-02-14 08:20:02 +01:00
smlng
13639c1bb3 drivers, at86rf2xx: cleanup
- update documentation
    - adapt constness
    - fix code alignment and stlye
2017-11-07 21:37:41 +01:00
smlng
961c49e2cc drivers, at86rf2xx: simplify internal functions
- at86rf2xx_tx_prepare
    - at86rf2xx_set_state
    - at86rf2xx_set_option
2017-11-07 19:53:47 +01:00
Joakim Nohlgård
988759d4da at86rf2xx: Add manual CCA 2017-09-05 16:48:55 +02:00
Thomas Eichinger
093eb7a985 drivers/at86rf2xx: remove at86rf2xx_reset_state_machine
This function was only used once in the initialization procedure.
Inlining the actual state change reduces overhead and lines to
maintain.

If ever needed, undo this commit.
2017-08-14 10:07:42 -07:00
Hyungsin
6889cd934a drivers/at86rf2xx: reliable radio state change 2017-07-07 11:48:44 -07:00
9834b1d9f9 drivers/at86rf2xx: fix tx prepare leading to inconsistent idle state 2017-06-29 13:39:14 +02:00
DipSwitch
cbbc44efad driver/at86rf2xx: fix possible race condition in state machine 2017-06-24 21:43:05 +02:00