benpicco
1477a340fe
Merge pull request #15150 from fabian18/ieee802154_security
...
Initial implementation of IEEE 802.15.4 security
2020-12-09 14:14:27 +01:00
Benjamin Valentin
26bcaf94b5
drivers/at86rf2xx: use byteorder_htols()
...
same as 374d032b82
2020-12-08 13:40:24 +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
Leandro Lanzieri
0e52e2747e
drivers: remove netif as dependency for network device drivers
2020-11-13 09:25:59 +01:00
Bas Stottelaar
92b1dfc703
drivers/*: realign ENABLE_DEBUG
2020-10-23 01:26:09 +02:00
Bas Stottelaar
4bdfe9a254
drivers/*: add missing include of assert.h
2020-10-22 11:13:08 +02:00
cb5e69c478
drivers/at86rf2xx: fix typo 'neccessary' -> 'necessary'
2020-10-02 08:01:49 +02:00
José Alamos
9c130cd2fd
Merge pull request #15032 from jia200x/pr/at86rf2xx/fix_overflow
...
drivers/at86rf2xx: fix at86rf2xx_set_rxsensitivity
2020-09-17 10:32:06 +02:00
Jose Alamos
074dc8d328
drivers/at86rf2xx: fix at86rf2xx_set_rxsensitivity
2020-09-16 14:47:51 +02:00
Hauke Petersen
020642476e
driver/at86rf2xx: fix asserts in _set func
2020-09-15 13:57:15 +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
Francisco
6f84870c26
Merge pull request #14634 from benpicco/eui_provider
...
net/link_layer: implement EUI provider
2020-09-01 16:26:08 +02:00
Benjamin Valentin
f714fac3f4
drivers/at86rf2xx: make use of EUI provider
2020-08-30 23:43:57 +02:00
Benjamin Valentin
2aa2bf86a3
drivers/at86rf2xx: AES: don't use binary constant
...
This is a GCC extension. Use hex constant instead.
2020-08-25 14:06:40 +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
0f4c5f5b10
drivers/at86rf2xx: fix assert
...
The assert is reversed. It must check if the config value does not
exceed the maximum address length, not the other way round.
previously this would lead to a crash when setting a short address:
2020-08-23 13:59:56,080 # ifconfig 7 set addr_short 2
2020-08-23 13:59:56,081 # 0xdcad
2020-08-23 13:59:56,083 # *** RIOT kernel panic:
2020-08-23 13:59:56,085 # FAILED ASSERTION.
With this it works as expected
2020-08-23 14:05:07,988 # ifconfig 7 set addr_short 2
2020-08-23 14:05:07,992 # success: set (short) address on interface 7 to 2
2020-08-23 14:05:52 +02:00
Benjamin Valentin
53eedc283b
drivers/at86rf2xx: register driver with netdev
2020-08-17 22:53:51 +02:00
fabian18
1fca10c486
drivers/at86rf2xx: SPI AES security module
2020-08-12 17:18:00 +02:00
304bce3724
drivers: configure per driver dependency resolution
2020-07-20 14:32:16 +02:00
490126cfa0
drivers: move USEMODULE_INCLUDES in each driver directories
2020-07-15 20:36:27 +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
ab5418ebab
at86rf2xx: report CRC error in basic mode
2020-04-08 19:14:45 +02:00
Jose Alamos
d4b0aff8cf
at86rf2xx: implement basic mode
2020-04-08 19:14:45 +02:00
Jose Alamos
3ad574a822
drivers/netdev: use netdev_trigger_event_isr function
2020-03-06 14:03:43 +01: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
benpicco
16ab89bf28
Merge pull request #12728 from bergzand/pr/at86rf2xx/fix_recv_before_send
...
at86rf2xx: fix receive before send detection
2020-02-07 13:54:52 +01:00
42d54600f7
at86rf2xx: fix receive before send detection
...
The at86rf2xx radio handled a transfer complete condition with the radio
in the BUSY_TX_ARET state as a finished transmission. This condition and
state also occurs when a reception occurs just before switching to
transmitting. This would cause a condition where first a TX_COMPLETE was
signalled and second a RX_COMPLETE was signalled. The network stack
would then read the transmitted frame as a received frame.
The patch fixes the errornous RX callback by only submitting the
TX_COMPLETE condition when there are at least 2 frames pending
(at86rf2xx::pending_tx).
2020-02-07 13:08:33 +01: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
benpicco
ce1f383f90
Merge pull request #12606 from maribu/at86rf2xx-addr-endianess
...
drivers/at86rf2xx: Updated address API
2019-11-24 16:33:16 +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
Marian Buschsieweke
4347f720f5
drivers/at86rf2xx: Update to new ATmega API
...
Replace __enter_isr() with atmega_enter_isr() and __exit_isr() with
atmega_exit_isr()
2019-11-23 12:27:13 +01:00
5eb5c3c42c
at86rf2xx: split out isr transmit complete handling
2019-11-16 22:26:58 +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
fabian18
2edf153cf8
drivers/at86rf2xx: do not hang on no dev
2019-09-02 10:27:24 +02:00
Benjamin Valentin
9d6d93ef2f
drivers: make use of ARRAY_SIZE macro
2019-08-06 19:43:54 +02:00
Martine Lenders
6611be5140
at86rf2xx: don't call tx_load when iol->iol_len == 0
2019-03-15 15:34:38 +01:00
smlng
6183d5f5c5
netdev: remove layer2 netstats from netdev drivers
...
Removing usage of netdev->stats in all net drivers, as it is
handled by gnrc_netif.
2019-02-01 11:25:27 +02:00
Kees Bakker
c82f9759a8
drivers/at86rf2xx: do normal assignment instead of memcpy
2019-01-10 19:43:43 +01:00
Sebastian Meiling
4eaf1d8135
Merge pull request #10384 from bergzand/pr/netdev/ref_nid
...
netdev_ieee802154/radios: refactor PAN ID reset to generic ieee802154 reset
2018-11-28 12:15:45 +01: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
6306308ef5
at86rf2xx: Remove PAN ID initialization from reset
2018-11-28 11:31:02 +01:00
Martine Lenders
eaabd47dd8
Merge pull request #10275 from gebart/at86rf2xx/ed-overhaul
...
at86rf2xx: refactor received frame ED processing
2018-11-22 14:20:05 +01:00
josar
8e7c6cc26a
at86rf2xx/at86rf2xx_netdev: improve documentation.
...
It was not obvious where `dev->idle_state` was saved.
2018-11-16 18:53:36 +01:00
Joakim Nohlgård
23738008a7
at86rf2xx: refactor received frame ED processing
...
The value at the end of the frame buffer is the ED value, same as
PHY_ED_LEVEL, which is given in dB offset from RSSI_BASE.
2018-10-27 01:45:01 +02: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
Semjon Kerner
5b0152f4f7
drivers/netdev_ieee802154: drop NETOPT_MAX_PKT_SIZE
2018-10-16 13:28:03 +02:00
Francisco Acosta
861fbe9a11
Merge pull request #9510 from Josar/pr/at86rf2xx_rssi
...
at86rf2xx: correct rssi
2018-08-20 14:52:06 +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
Peter Kietzmann
e897826cc7
Merge pull request #9616 from bergzand/pr/at86rf2xx/always_set_channel
...
at86rf2xx: Always set channel on device
2018-07-31 18:33:44 +02:00
Josarn
4482c9851a
at86rf2xx: correct rssi
...
AT86RF231 MAN. p.89 8.3.2 Reading RSSI
AT86RF232 MAN. p.88 8.3.2 Reading RSSI
AT86RF233 MAN. p.99 8.4.2 Reading RSSI
"It is not recommended reading the RSSI value when using the Extended Operating Modes, use ED instead"
2018-07-26 13:37:23 +02: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
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
86b4dd43b0
at86rfr2xx: NETOPT_CSMA_RETRIES parenthesis
...
Reorder parenthesis to improve readability.
2018-07-06 16:50:50 +02:00
Josarn
5d69406d47
at86rfr2xx: uncrustified
2018-07-06 13:20:03 +02:00
Martine Lenders
658442982f
Merge pull request #8700 from aabadie/pr/drivers/params/at86rf2xx
...
drivers/at86rf2xx: apply unified driver params scheme
2018-03-15 15:31:46 +01:00
Martine Lenders
f5334e49d7
Merge pull request #7674 from gebart/pr/at86rf212b-default-page-2
...
at86rf2xx: Set page 2 by default on AT86RF212B
2018-03-15 13:24:21 +01:00
23b414b732
drivers: net: adapt to iolist-using netdev
2018-03-06 14:00:31 +01:00
4e64ba6f24
drivers/at86rf2xx: use new driver params scheme
2018-03-01 14:29:16 +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
Robert Hartung
a5ceb3c483
drivers/at86rf2xx: fixes get/set for NETOPT_AUTOACK
2017-12-11 15:57:23 +01: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
Martine Lenders
a63bb6d47b
Merge pull request #6895 from bergzand/drivers/radio-rssi-conv
...
drivers/radios Apply register to rssi dBm conversion to all radios
2017-11-27 23:52:15 +01:00
11e147736d
at86rf2xx: Add RSSI dBm conversion
2017-11-27 21:49:15 +01:00
Martine Lenders
bae9c2e237
at86rf2xx: fix channel asserts
2017-11-15 18:44:59 +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
cf6ea05220
Merge pull request #7581 from gebart/pr/at86rf2xx-preloading-retransmission
...
at86rf2xx: Avoid deadlock on manual retransmissions with NETOPT_PRELOADING
2017-10-31 14:15:35 +01:00
15c22e9ab7
at86rf2xx: add NETOPT_TX_RETRIES_NEEDED support
2017-10-04 12:20:15 +02:00
67244f2497
Merge pull request #7567 from gebart/pr/at86rf2xx-standby
...
at86rf2xx: Add NETOPT_STATE_STANDBY support
2017-10-01 11:59:12 +02:00
Joakim Nohlgård
52ac9cbb79
at86rf2xx: Avoid deadlock on manual retransmissions with NETOPT_PRELOADING
2017-09-07 21:03:37 +02:00
Joakim Nohlgård
297bc2b5e6
at86rf2xx: Add get NETOPT_LAST_ED_LEVEL
2017-09-06 21:17:14 +02:00
Joakim Nohlgård
fa5ac0c311
at86rf2xx: Add NETOPT_STATE_STANDBY support
2017-09-05 16:51:28 +02:00
Joakim Nohlgård
988759d4da
at86rf2xx: Add manual CCA
2017-09-05 16:48:55 +02:00
162478cd6d
spelling: s/initialise/initialize/
2017-09-05 11:04:25 +02:00
94c753c07a
drivers: doxygen cleanup
2017-09-01 15:12:20 +02:00
Joakim Nohlgård
065bc62e0a
netdev: Make set() value parameter const void *
2017-08-25 13:41:19 +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
Hyungsin
59abdc1f07
drivers/at86rf2xx: fix timing for radio state change
2017-07-07 11:48:01 -07:00
Hyungsin
112a446b9d
drivers/at86rf2xx: remove redundant radio wakeup
2017-06-30 15:06:30 +02: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
smlng
a7b049f98a
drivers: coding style, use {} for empty while loops
2017-06-11 20:08:10 +02:00
José Ignacio Alamos
017280db13
pkg/openthread: add OpenThread core
2017-06-01 13:44:05 -04:00
cfd10c394a
adapt to changed byteorder.h
2017-04-13 11:35:35 +02:00
Joakim Nohlgård
3d1e2aaf5b
drivers/at86rf2xx: Fix dead assignment
2017-04-02 18:13:11 +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