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

50 Commits

Author SHA1 Message Date
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