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

128 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
23b414b732 drivers: net: adapt to iolist-using netdev 2018-03-06 14:00:31 +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
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
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
Joakim Nohlgård
065bc62e0a netdev: Make set() value parameter const void * 2017-08-25 13:41:19 +02:00
Hyungsin
6889cd934a drivers/at86rf2xx: reliable radio state change 2017-07-07 11:48:44 -07:00
Hyungsin
112a446b9d drivers/at86rf2xx: remove redundant radio wakeup 2017-06-30 15:06:30 +02:00
José Ignacio Alamos
017280db13 pkg/openthread: add OpenThread core 2017-06-01 13:44:05 -04: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
236f1edddd drivers/at86rf2xx: adapted to SPI API changes 2017-01-25 16:46:45 +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
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
Hauke Petersen
47f245a13d drivers/at86rf2xx: fix buffer-less SPI transfer 2017-01-09 17:47:37 +01:00
smlng
68c30b30e5 at86rf2xx: move netstat increment after possible error return 2016-10-21 21:57:32 +02:00
Martine Lenders
bd2429f299 cpu: drivers: adapt devices for netdev2 parameter type change 2016-08-03 12:30:51 +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
Oleg Hahm
e110d412a3 at86rf2xx_netdev: debug output is wrong 2016-04-28 11:35:13 +02:00
Martine Lenders
cedf7d8455 Merge pull request #5227 from authmillenon/at86rf2xx/fix/set
at86rf2xx: fix option setting
2016-04-20 17:33:44 +02:00
Martine Lenders
7b78775185 at86rf2xx: fix option setting 2016-04-20 16:35:29 +02:00
Cenk Gündoğan
9b01c6dbce at86rf2xx_netdev: use DEBUG instead of printf 2016-04-11 13:15:39 +02:00
Cenk Gündoğan
f570576976 at86rf2xx_netdev: fix broken pending_tx handling 2016-04-11 13:15:39 +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
Thomas Eichinger
e5e67b3870 drivers/at86rf2xx: mask frame length according to data sheet
After some discussion on the devel mailing list about smuggeling in corrupted frames by e.g. SDRs I'd propose we mask the length field according to the datasheet again. It was done before in at86rf2xx_get_length but this funtion did get used anymore along the way.
2016-04-02 12:29:22 -03: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
Daniel Krebs
bb4fe8d256 Merge pull request #3954 from daniel-k/pr/at86rf2xx_fix_lqi
at86rf2xx: fix lqi reading
2015-12-08 16:10:52 +01:00
daniel-k
a643789ab5 at86rf2xx: fix LQI reading 2015-12-08 14:46:56 +01:00
Thomas Eichinger
10323329ce Merge pull request #4412 from DipSwitch/pr/at86rf2xx-phy-mode
at86rf2xx: Add support for channel page
2015-12-08 11:40:47 +01:00
Oleg Hahm
0250d62509 Merge pull request #4358 from OlegHahm/eliminate_pedantic_errors
Eliminate pedantic errors
2015-12-08 02:05:30 +01:00
Oleg Hahm
426816b9ae drivers: fix pedantic compiler warnings 2015-12-07 20:28:52 +01:00
Oleg Hahm
9a11aec32e at86rf2xx: dereference NETOPT_PROTO option
netopt_t options are passed as pointers to the driver.
2015-12-07 18:48:56 +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
6bf7c8ef5f at86rf2xx: added protocol setter 2015-10-31 19:52:48 +09:00
Joakim Nohlgård
7b5ed7c055 Merge pull request #3867 from daniel-k/pr/at86rf2xx_sleep_mode
at86rf2xx: implement sleep mode
2015-10-13 18:27:27 +02:00
daniel-k
502786b9f7 at86rf2xx: implement sleep mode 2015-10-13 15:06:52 +02:00
Thomas Eichinger
0db6246582 Merge pull request #4078 from daniel-k/pr/at86rf2xx_detect_broadcast
at86rf2xx: detect broadcast and set NETIF flag when receiving
2015-10-13 12:54:58 +02:00
daniel-k
78192ebb7e at86rf2xx: detect broadcast and set NETIF flag when receiving 2015-10-12 18:28:05 +02:00
Thomas Eichinger
7bf121903a Merge pull request #3729 from daniel-k/net_at86rf2xx_tx_feedback
netdev: add TX feedback events
2015-10-12 16:43:26 +02:00
daniel-k
9c36546026 netdev: add TX feedback events 2015-10-12 15:50:39 +02:00
daniel-k
6f705a5189 at86rf2xx: implement CSMA settings 2015-09-01 18:45:47 +02:00
Martine Lenders
58ff31bfe9 gnrc: make all gnrc modules sub-modules of gnrc 2015-08-18 23:00:07 +02:00
Martine Lenders
b969eeb217 gnrc: rename ng_netbase to gnrc 2015-08-18 16:11:55 +02:00
Martine Lenders
8f9e1656e1 at86rf2xx: remove ng_ prefix 2015-08-10 00:08:21 +02:00