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
cfd10c394a
adapt to changed byteorder.h
2017-04-13 11:35:35 +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
Hauke Petersen
79a113d1ba
sys/drivers: renamed uuid module to luid
2017-02-27 11:01:20 +01:00
Hauke Petersen
236f1edddd
drivers/at86rf2xx: adapted to SPI API changes
2017-01-25 16:46:45 +01:00
Hauke Petersen
81e8afd19e
drivers/at86rf2xx: use uuid module for addr gen
2017-01-19 11:09:29 +01:00
Oleg Hahm
80d3176499
Merge pull request #6355 from OlegHahm/at86rf2xx_ext_nocca
...
at86rf2xx: remove CCA check
2017-01-18 23:13:57 +01:00
Joakim Nohlgård
a08a70a3fa
drivers/at86rf2xx: Fix -Wsign-compare warning, add missing parentheses
2017-01-16 08:55:08 +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
9f29e56020
netdev2_ieee802154: remove NETDEV2_IEEE802154_PAN_COMP flag
2016-09-30 13:09:26 +02:00
d7b17684e4
drivers: net: adapt to removed event_callback argument
2016-06-02 11:11:40 +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
René Kijewski
f7428393b2
Merge pull request #5245 from OlegHahm/at86rf2xx_netstats_ifdef
...
at86rf2xx: fix netstats_l2 ifdef
2016-04-05 12:09:06 +02:00
Oleg Hahm
e0b475b25a
at86rf2xx: fix netstats_l2 ifdef
2016-04-04 18:34:01 +02:00
Oleg Hahm
32606382a1
drivers 802154: always memset cpuid before setting
2016-04-04 18:20:19 +02:00
Oleg Hahm
416b9759e2
drivers 802154: use memset for eui64 padding
2016-04-04 16:53:21 +02:00
Martine Lenders
4d46a5f91e
Merge pull request #5242 from OlegHahm/eliminate_ieee802154_literals
...
ieee802154: replace literals for lengths by macros
2016-04-04 16:37:08 +02:00
Oleg Hahm
a59e100d41
ieee802154: replace literals for lengths by macros
2016-04-04 15:24:47 +02:00
Oleg Hahm
6f58862fec
driver: assure required buffer size
...
The cpuid buffer is also used as a temporary buffer to store the EUI-64 of the transceiver, so we need to make sure that it is always big enough.
May be padded with zeroes for smaller CPUIDs.
2016-04-03 22:38:13 +02:00
Oleg Hahm
1f4d73dde1
Merge pull request #4801 from OlegHahm/netstats
...
netstats: introduce L2 netstats
2016-03-30 14:42:49 +02:00
Oleg Hahm
021e94ee6a
netdev2: introduce linklayer netstats
2016-03-29 22:34:09 +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
Hauke Petersen
e51d634aeb
drivers: adapted gpio_init(_x)() calls
2016-03-17 14:55:30 +01:00