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

58 Commits

Author SHA1 Message Date
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
Jose Alamos
074dc8d328 drivers/at86rf2xx: fix at86rf2xx_set_rxsensitivity 2020-09-16 14:47:51 +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
1582b105d3 drivers/at86rf2xx: fix typo 2020-08-17 22:53:51 +02:00
Benjamin Valentin
53eedc283b drivers/at86rf2xx: register driver with netdev 2020-08-17 22:53: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
Francisco
3177784039
Merge pull request #13798 from jia200x/pr/at86rf2x_basic_mode
at86rf2xx: implement basic mode (v2)
2020-04-09 09:21:15 +02:00
Jose Alamos
69eb3c7fe2 at86rf2xx: add basic mode PHY state 2020-04-08 19:14:44 +02:00
Jose Alamos
77325b4cde ieee802154: add CONFIG_ prefix to config macros 2020-04-08 19:08:25 +02: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
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
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
6306308ef5
at86rf2xx: Remove PAN ID initialization from reset 2018-11-28 11:31:02 +01:00
PeterKietzmann
1bcb521469 drivers/at86rf233: extend doc for smart idle listening feature 2018-10-23 20:02:39 +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
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
Martine Lenders
d458abfa0e ieee802154: Make 2 default channel page for sub GHz 2018-02-14 08:20:09 +01: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
Hyungsin
a841d9ee0a driver/at86rf2xx: add an option for auto-ack with the pending bit 2018-01-31 11:58:05 -08:00
smlng
13639c1bb3 drivers, at86rf2xx: cleanup
- update documentation
    - adapt constness
    - fix code alignment and stlye
2017-11-07 21:37:41 +01:00
15c22e9ab7 at86rf2xx: add NETOPT_TX_RETRIES_NEEDED support 2017-10-04 12:20:15 +02:00
Joakim Nohlgård
297bc2b5e6 at86rf2xx: Add get NETOPT_LAST_ED_LEVEL 2017-09-06 21:17:14 +02:00
Joakim Nohlgård
988759d4da at86rf2xx: Add manual CCA 2017-09-05 16:48:55 +02:00
94c753c07a drivers: doxygen cleanup 2017-09-01 15:12:20 +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
Martine Lenders
29842bb5e4 netdev2: rename to netdev and remove gnrc_netdev
With some minor hand-edits I used the following chain of commands:

```sh
git rm sys/include/net/gnrc/netdev.h
git grep --name-only -i netdev2 | \
        xargs sed -i -e 's/^\(NETDEV\)2\(.*\)\( [("]\)/\1\2 \3/g' \
                     -e 's/\(netdev\)2\(.*\)\( \/\*\*<\)/\1\2 \3/I' \
                     -e 's/\(netdev\)2/\1/gI'
git add -p
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | xargs -I'{}' dirname '{}' | uniq | \
        grep "netdev2" | while read dir; do
                new_dir="$(echo "$dir" | sed "s/netdev2/netdev/g")"
                git mv -f "$dir" "$new_dir"
        done
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | while read file; do
                new_file="$(echo "$file" | sed "s/netdev2/netdev/g")"
                git mv -f "$file" "$new_file"
        done
git commit --amend
git grep --name-only "\<drivers_netdev_netdev\>" | \
        xargs sed -i "s/\<drivers_netdev_netdev\>/drivers_netdev_api/g"
git add -p
git commit --amend
```
2017-03-15 09:31:20 +01:00
Martine Lenders
5b026c5753 netdev2: unify doc 2017-02-07 21:37:52 +01:00
Hauke Petersen
236f1edddd drivers/at86rf2xx: adapted to SPI API changes 2017-01-25 16:46:45 +01:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01: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
Martine Lenders
7599a81fd6 Merge pull request #6314 from haukepetersen/add_uuid
sys: add uuid module for central ID/addr generation
2017-01-19 14:12:09 +01:00
Peter Kietzmann
b92ce8ae2a Merge pull request #6369 from OlegHahm/at86rf2xx_rssi_base_value
at86rf2xx: different types have RSSI base values
2017-01-19 11:44:41 +01:00
Hauke Petersen
81e8afd19e drivers/at86rf2xx: use uuid module for addr gen 2017-01-19 11:09:29 +01:00
Oleg Hahm
c04c5cb9f9 at86rf2xx: different types have RSSI base values 2017-01-18 23:20:21 +01:00
Oleg Hahm
7068869b42 at86rf2xx: remove CCA check
Rationale: the datasheet states that "It is not recommended to manually
initiate an CCA measurement when using the Extended Operating Mode."
Since the driver for now only supports the extended operating mode, it
should not provide this feature.
2017-01-14 11:27:09 +01:00
Martine Lenders
9e97b0a028 Merge pull request #5977 from miri64/ieee802154/enh/centralize-default-values
ieee802154: centralize default values
2016-10-26 16:39:44 +02:00
Martine Lenders
20e1fce5b7 ieee802154: centralize default values 2016-10-26 15:32:12 +02:00
Yannic Schröder
c7d73e24c1 at86rf2xx: fix warnings when building with -Wextra -pedantic 2016-10-18 10:21:54 +02:00
87ca058417 makefiles: expose a single DEFAULT_CHANNEL variable 2016-07-14 17:44:42 +02:00
Peter Kietzmann
e08733d2d1 Merge pull request #5234 from thomaseichinger/pr/phr_length_mask
drivers/at86rf2xx: mask frame length according to data sheet
2016-05-20 15:14:55 +02:00
Thomas Eichinger
5a45c31bcb drivers/at86rf2xx: remove unused functions
These two functions are not used anymore and can be omitted.
2016-05-20 15:05:27 +02:00
Oleg Hahm
252baecef7 at86rf2xx: introduce pending TX counter
This counter is necessary for the current concept to tell the driver when to return to idle after sending.
2016-04-08 11:32:40 +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
Cenk Gündoğan
c0369f04f6 drivers: make default channel configurable at compile time 2016-02-16 13:07:17 +01:00