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
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
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
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
26bcaf94b5
drivers/at86rf2xx: use byteorder_htols()
...
same as 374d032b82
2020-12-08 13:40:24 +01:00
Bas Stottelaar
92b1dfc703
drivers/*: realign ENABLE_DEBUG
2020-10-23 01:26:09 +02:00
Jose Alamos
074dc8d328
drivers/at86rf2xx: fix at86rf2xx_set_rxsensitivity
2020-09-16 14:47:51 +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
d4b0aff8cf
at86rf2xx: implement basic mode
2020-04-08 19:14:45 +02: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
Benjamin Valentin
9d6d93ef2f
drivers: make use of ARRAY_SIZE macro
2019-08-06 19:43:54 +02:00
357eed551d
at86rf2xx: Remove netdev access from set_pan
...
This write access is only required when a modification to the PAN ID
happened directly via this function and not via a netdev::set operation.
The only direct call was done in the reset function of the driver
2018-11-28 11:31:03 +01: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
b025362a7a
at86rf2xx: Always set channel on device
...
This removes the check if the current configured channel equals the new
channel. This check prevents the at86rf2xx channel to be configured
after a reset which causes the radio to be non-functional after a
NETOPT_STATE_RESET.
2018-07-20 12:15:29 +02: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
Josarn
5d69406d47
at86rfr2xx: uncrustified
2018-07-06 13:20:03 +02:00
Hyungsin
a841d9ee0a
driver/at86rf2xx: add an option for auto-ack with the pending bit
2018-01-31 11:58:05 -08:00
Martine Lenders
c91f0734f2
at86rf2xx: revert regression introduced in #7276
2017-11-30 17:37:34 +01:00
smlng
b283b7784c
make: fix various compile errors with Wextra
...
pkg, nordic_softdevice_ble: disable CFLAGS to omit compiler error
sys, pm_layered: fix casting nonscalar to the same type
cpu, stm32_common: fix type-limits, remove always true assert
cpu, stm32f4: fix pointer arithmetic in periph/i2c
drivers, at86rf2xx: fix type-limits where condition always true
saul, gpio: fix if no gpio configured for saul
cpu, saml21: add frequency check to periph/timer
driver, cc110x: fix unused param and type-limts errors
boards, wsn430-common: fix old-style-declaration
make: fix old style definition
drivers, sdcard_spi: fix old style typedef
driver, at30tse: remove unnecessary check
driver, nrf24: fix type-limit
driver, pn532: change buffer from char to uint8_t
tests/driver_sdcard: fix type limits
boards, feather-m0: add missing field inits
driver, tcs37727: fix type limits
pkg, emb6: disable some compiler warnings
tests/emb6: disable some compiler warings
pkg, openthread: fix sign compare and unused params
tests/trickle: fix struct init
tests/pthread_cooperation: fix type limits
board, mips-malta: remove feature periph_uart
shell: fix var size for netif command
gnrc, netif: fix sign-compare
gnrc, nib: fix sign-compare
shell: fix output in netif command
posix: fix type-limits in pthread_cond
2017-11-28 18:31:43 +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
297bc2b5e6
at86rf2xx: Add get NETOPT_LAST_ED_LEVEL
2017-09-06 21:17:14 +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
DipSwitch
cbbc44efad
driver/at86rf2xx: fix possible race condition in state machine
2017-06-24 21:43:05 +02:00
smlng
a7b049f98a
drivers: coding style, use {} for empty while loops
2017-06-11 20:08:10 +02:00
Thomas Eichinger
467b255c03
drivers/at86rf2xx: code size optimizations
...
These changes try to reduce code size of the at86rf2xx
driver by reducing code duplication and simplification.
2017-01-19 08:04:08 -08:00
Thomas Eichinger
66db33b662
drivers/at86rf2xx: prevent a possible race condition after state change
...
It was pointed out that after a state change to RX_AACK_ON reading back
the state to confirm the transition can fail due to an imidiate change
into BUSY_RX_AACK between the successful change on the transceiver and
querying the state.
For this we exclude the readback of the state for transitions to
RX_AACK_ON.
2016-11-04 09:52:35 -07:00
Thomas Eichinger
4ebbda844c
drivers/at86rf2xx: improve precondition checks on state transition
...
The rational behind this change is the following:
If the transceiver is in any *_BUSY state when `at86rf2xx_set_state()`
gets called this would bypass the `(state == old_state)` check and
unneeded state transitions could be triggered.
2016-11-01 07:16:19 -07:00
Yannic Schröder
c7d73e24c1
at86rf2xx: fix warnings when building with -Wextra -pedantic
2016-10-18 10:21:54 +02:00
Oleg Hahm
59674a679b
netdev2: use params parameter for setup
2016-03-28 20:22:20 +02:00
Martine Lenders
5bfc9e43fb
at86rf2xx: port to netdev2
2016-03-23 17:45:16 +01:00
Joakim Nohlgård
e9f385ae1d
at86rf2xx: Add support for channel page
2015-12-05 10:37:04 +01:00
Kévin Roussel
8bfd856abe
Implemented the NETOPT_CCA_THRESHOLD option for AT86RF231
2015-11-30 13:15:14 +01:00
Oleg Hahm
a5b7c5d4e8
Revert "at86rf2xx: cancel receiving when preparing for TX"
...
This reverts commit 5aeeabf4a9
.
2015-11-12 12:10:16 +01:00
Oleg Hahm
b978510188
802154 drivers: set first bit to 0 in 16 bit addr
...
The first bit is required to be 0 for short addresses when used with 6LoWPAN by https://tools.ietf.org/html/rfc4944#section-12 .
2015-11-03 11:06:54 +09:00
Oleg Hahm
b40f1742f1
at86rf2xx: remove superfluous mask
2015-11-03 11:06:21 +09:00
daniel-k
502786b9f7
at86rf2xx: implement sleep mode
2015-10-13 15:06:52 +02:00
daniel-k
5aeeabf4a9
at86rf2xx: cancel receiving when preparing for TX
2015-09-29 17:16:39 +02:00
daniel-k
6f705a5189
at86rf2xx: implement CSMA settings
2015-09-01 18:45:47 +02:00
BytesGalore
394ddb6900
drivers: renamed further remaining *NG_* macros
2015-08-12 17:21:45 +02:00
Martine Lenders
8f9e1656e1
at86rf2xx: remove ng_ prefix
2015-08-10 00:08:21 +02:00