2781 Commits

Author SHA1 Message Date
Hauke Petersen
020642476e driver/at86rf2xx: fix asserts in _set func 2020-09-15 13:57:15 +02:00
Benjamin Valentin
696ddf3dbb drivers/periph/timer: amend documentation for timer_set_periodic()
The function needs the `periph_timer_periodic` feature.
Add a `@note` about that to the documentation.
2020-09-13 19:06:28 +02:00
benpicco
842933855f
Merge pull request #14995 from benpicco/cpu/cc2538-register
cc2538_rf: register with netdev
2020-09-11 16:03:08 +02:00
Benjamin Valentin
1811686540 cc2538_rf: register with netdev 2020-09-11 13:33:37 +02:00
Francisco
858533e68e
Merge pull request #14994 from benpicco/nrf802154-register
nrf802154: register with netdev
2020-09-11 12:48:40 +02:00
Koen Zandberg
3e9081ed01
usbdev_mock: fix possible null pointer dereference 2020-09-11 11:07:15 +02:00
Cenk Gündoğan
0d0bc91553
Merge pull request #14754 from leandrolanzieri/pr/no_archives
build system: link object files
2020-09-10 09:36:29 +02:00
Benjamin Valentin
58dc106309 nrf802154: register with netdev 2020-09-10 00:05:25 +02:00
Benjamin Valentin
90751bcec1 mtd: fix return in mtd_erase()
If `.erase` is implemented we must return, not execute the
fallback code path

fixes #14988
2020-09-09 19:38:40 +02:00
Alexandre Abadie
9b9ed236ba
Merge pull request #14916 from MrKevinWeiss/pr/slwstk6220a
drivers/periph: Remove UART from device_enums.h
2020-09-09 10:53:27 +02:00
Alexandre Abadie
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
MrKevinWeiss
bdeb39576e drivers/periph: Remove UART from dev_enums.h 2020-09-09 10:25:38 +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
634714ff78 drivers/at86rf215: implement Reduced Power Consumption
Reduced Power Consumption is available for MR-O-QPSK and
MR-FSK.
In this mode the receiver will be turned off periodically,
defaulting to a 50% duty cycle.

This reduces power consumption when in IDLE RX by almost 50%
and is therefore enabled by default.
2020-09-07 13:48:47 +02:00
Marian Buschsieweke
90177889b7
treewide: Cleanup access to internal variables
Replace direct accesses to sched_active_thread and sched_active_pid with
the helper functions thread_getpid() and thread_get_active(). This serves
two purposes:

1. It makes accidental writes to those variable from outside core less likely.
2. Casting off the volatile qualifier is now well contained to those two
   functions
2020-09-07 12:59:55 +02:00
benpicco
c6c0f6a180
Merge pull request #14933 from benpicco/drivers/mtd_shortcut
mtd: allow to use non-pagewise functions
2020-09-04 16:25:55 +02:00
Leandro Lanzieri
16b5fd303b
drivers: add usbdev_mock 2020-09-04 15:01:16 +02:00
Benjamin Valentin
08db12be3b drivers/dose: don't default to UART0
The first UART is usually used for the shell, so don't default
DOSE on it.
2020-09-03 20:20:16 +02:00
Benjamin Valentin
f4f1114ead drivers/dose: use EUI provider 2020-09-03 20:16:32 +02:00
Benjamin Valentin
9a4141880c mtd: allow to use non-pagewise functions
If the underlying driver implements 'plain' read/write/erase
fucntions, don't convert them to pagewise functions and back.

Just use the old direct functions.
2020-09-02 22:50:24 +02:00
Francisco Molina
4648329c66
drivers/periph_common: remove redundant entry
- Use same file for MODULE inclusion and configuration
- Fix guard
- Add Kconfig.wdt
2020-09-02 15:31:28 +02:00
Francisco Molina
86ea4b42e4
drivers/Kconfig: add peripheral drivers config menu 2020-09-01 19:04:53 +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
Cenk Gündoğan
538155c344
Merge pull request #14904 from leandrolanzieri/pr/kconfig/change_prefix_convention
treewide: modify Kconfig symbol prefixes
2020-09-01 15:57:06 +02:00
benpicco
6f271b7d3e
Merge pull request #14903 from benpicco/drivers/include/periph/rtc-fix
drivers/periph_common: RTC: fix doxygen
2020-09-01 15:15:55 +02:00
Vincent Dupont
8526e68b70 drivers/adcxx1c: add clear alert function 2020-08-31 15:53:53 +02:00
Benjamin Valentin
bd57640d5b drivers/periph_common: RTC: fix doxygen 2020-08-31 14:16:42 +02:00
Gunar Schorcht
6d61381d2a drivers: use inline functions for GPIO comparisons
The expandable GPIO API requires the comparison of structured GPIO types. This means that inline functions must be used instead of direct comparisons. For the migration process, drivers must first be changed so that they use the inline comparison functions.
2020-08-31 13:10:28 +02:00
Gunar Schorcht
147b79169c drivers/periph/gpio: add comparison functions
The expandable GPIO API requires the comparison of structured GPIO types. This means that inline functions must be used instead of direct comparisons. For the migration process, drivers and other modules must first be changed so that they use the inline comparison functions.
2020-08-31 13:10:28 +02:00
Leandro Lanzieri
2e79e00ca7
treewide: change Kconfig prefix for module symbols
This changes the prefix used for the symbols that reprensent modules
(not the ones generated from USEMODULE).

MOD_ => MODULE_
2020-08-31 09:57:28 +02:00
Leandro Lanzieri
d25fc243c4
treewide: change prefix for generated Kconfig symbols.
This changes the prefixes of the symbols generated from USEMODULE and
USEPKG variables. The changes are as follow:

   KCONFIG_MODULE_ => KCONFIG_USEMODULE_
   KCONFIG_PKG_ => KCONFIG_USEPKG_
   MODULE_ => USEMODULE_
   PKG_ => USEPKG_
2020-08-31 09:37:09 +02:00
Benjamin Valentin
f714fac3f4 drivers/at86rf2xx: make use of EUI provider 2020-08-30 23:43:57 +02:00
Benjamin Valentin
0b523835b5 drivers/at86rf215: use eui_provider 2020-08-30 23:43:57 +02:00
Benjamin Valentin
3e8d6388f8 netdev_ieee802154: use eui_provider in netdev_ieee802154_setup() 2020-08-30 23:43:57 +02:00
benpicco
a0bae383d7
Merge pull request #14818 from Nishchay-sopho/drivers/sps30/add_sleep_mode
drivers/sps30: Add sleep mode
2020-08-25 23:49:32 +02:00
Nishchay-sopho
a368b0bc36 drivers/sps30: Add sleep mode 2020-08-25 16:20:18 +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
Alexandre Abadie
9b2aa40e03
Merge pull request #14038 from benpicco/mtd_pagewise
mtd: add page addressed operations to allow access > 4GiB on SD cards
2020-08-25 13:10:20 +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
Marian Buschsieweke
92ae260617
Merge pull request #14778 from benpicco/sys/luid_netdev
sys/luid: add luid_netdev_get_eui48() & luid_netdev_get_eui64()
2020-08-21 21:30:14 +02:00
Benjamin Valentin
9823801cf6 drivers/at86rf215: use netdev_ieee802154_setup() 2020-08-21 15:33:19 +02:00
Benjamin Valentin
d29397cfd8 netdev_ieee802154: add netdev_ieee802154_setup() 2020-08-21 15:33:19 +02:00
Alexandre Abadie
6199ada6b5
drivers/sx127x: migrate to ztimer 2020-08-20 13:41:32 +02:00
Benjamin Valentin
02f37b998a drivers/at24cxxx: export page-wise write function
Export the _write_page() function so it can be used by the MTD subsystem.
2020-08-18 17:25:40 +02:00
Benjamin Valentin
7c8fe862ce drivers/at25xxx: export page-wise write function
Export the _write_page() function so it can be used by the MTD subsystem.
2020-08-18 17:25:40 +02:00
Benjamin Valentin
68a47b63e3 drivers/mtd_spi_nor: implement mtd_spi_nor_write_page() 2020-08-18 17:25:39 +02:00
Benjamin Valentin
7d291b5707 drivers/mtd_sdard: implement page-wise read() and write()
SD cards are usually larger than 4 GiB, so using 32 bit addressing will
break once they are filled to a certain extend.

Implement read_page() and write_page() which at a page size of 512
should work for SD cards of up to 2 TiB.

The read() and write() functions will ignore any offset that is not aligned
with the page boundary, so do the same for the new functions, but at least
report an error.
2020-08-18 17:25:39 +02:00
Benjamin Valentin
4034f96169 mtd: add page addressed operations
Currently read(), write() and erase() all use 32 bit addressing.
This is a problem when writing to media > 4 GiB, e.g. SD cards.

The current implementation would wrap around after 4 GiB and corrupt data.

To avoid this, add functions to the MTD subsystem that allow for page-wise
addressing. This is how most of the underling storage drivers and the
file-systems above work anyway.

In the future we should then deprecate the 32-bit functions if all drivers
are converted.
2020-08-18 17:25:39 +02:00
Benjamin Valentin
1582b105d3 drivers/at86rf2xx: fix typo 2020-08-17 22:53:51 +02:00