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

100 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
benpicco
8348437713
Merge pull request #16039 from chudov/drivers/at86rf2xx_aes_spi/module_name_fix
drivers/at86rfr2xx: usage of module at86rf2xx_aes_spi fixed
2021-02-18 18:10:10 +01:00
chudov
762716049d drivers/at86rfr2xx: usage of module at86rf2xx_aes_spi fixed 2021-02-17 20:47:18 +01:00
chudov
d5c8703c48 drivers/at86rf2xx: add missing handler for TRX24_RX_START interrupt for ATmegaRF MCUs 2021-02-17 01:03:01 +01:00
Marian Buschsieweke
bc2a225e53
drivers/at86rf2xx: fix null pointer check
check if argument is NULL *before* using it :-)
2021-01-21 10:23:40 +01:00
Gerson Fernando Budke
1426e15679 cpu/avr8_common: Normalize method prefix name
Refactor atmega_ prefix to avr8_ prefix and update copyrights.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-01-07 16:29:42 -03:00
Fabian Hüßler
f074e8a635 drivers/at86rf2xx: Use hardware security for IEEE 802.15.4 security 2020-12-04 09:40:55 +01:00
Bas Stottelaar
92b1dfc703 drivers/*: realign ENABLE_DEBUG 2020-10-23 01:26:09 +02:00
cb5e69c478
drivers/at86rf2xx: fix typo 'neccessary' -> 'necessary' 2020-10-02 08:01:49 +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
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
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
Thomas Stilwell
751b0332da drivers/at86rf2xx: reset hardware before reading version register 2020-02-13 21:33:22 -06: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
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
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