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

1619 Commits

Author SHA1 Message Date
fabian18
f7a77ebb04 drivers/nrf24l01p_ng: netdev driver for nrf24l01+
The driver uses the netdev interface. Due to the limited
capabilities of the transceiver (32 byte FIFO and no source address in the layer2 frame),
it relies on 6LowPAN compression and adds the source address to the frame for that.
2021-01-24 20:49:39 +01:00
Jean Pierre Dudey
273721efc0 drivers: add bq2429x power management IC driver
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-01-22 19:30:12 +01:00
0eba27161e
cst816s: Initial include of cst816s touch screen driver 2021-01-14 18:17:51 +01:00
Francisco Molina
960e0c5f43
sys/ieee802154/submac: add handling of invalid CRC frames 2021-01-13 23:42:45 +01:00
ac9d8e603e
drivers/pca9685: fix typo (oscilator => oscillator) 2021-01-08 10:15:33 +01:00
Martine Lenders
640ff4f5d8
Merge pull request #15609 from maribu/ethernet-rx-timestamp
sys/net/gnrc/netif/ethernet: Support RX timestamp
2021-01-07 19:53:52 +01:00
Marian Buschsieweke
f6bca70d11
sys/net/gnrc/netif/ethernet: Support RX timestamp 2021-01-06 20:30:14 +01:00
quangphhr
afa723b2f7 drivers/hsc: add driver for honeywell pressure and temperature sensor 2021-01-06 10:22:17 +01:00
Marian Buschsieweke
e5a0154255
Merge pull request #14660 from maribu/netdev_confirm_send
drivers/net: Add netdev_driver_t::confirm_send
2021-01-05 16:11:20 +01:00
Marian Buschsieweke
53fcb97b2f
drivers/net: Add netdev_driver_t::confirm_send
Changed the API of `netdev_driver_t`:

- The `send()` function should no longer return the number of bytes and should
  not block
- The upper layer now must call the new `confirm_send()` function after
  calling `send()`; either busy waiting until something different to `-EBUSY`
  is returned, or after `NETDEV_EVENT_TX_COMPLETE` was signaled

During transition to the new API, the upper layer must remain backward
compatible and must assume the legacy API if `netdev_driver_t::confirm_send()`
is `NULL`.
2021-01-05 15:34:11 +01:00
Leandro Lanzieri
675ddb6ccc
drivers/pn532: use pseudomodules to select i2c or spi 2021-01-04 16:55:16 +01:00
Jens Wetterich
e36a0d883a esp_common/esp_now: use netdev_register() 2020-12-23 19:44:57 +01:00
benpicco
770bda165a
Merge pull request #15571 from iosabi/drv_si1133
drivers/si1133: New SI1133 UV/IR/Ambient light driver
2020-12-14 08:41:00 +01:00
iosabi
ce76125a22 drivers/si1133: New SI1133 UV/IR/Ambient light driver
The SI1133 from Silicon Labs is a UV Index Sensor and Ambient Light
Sensor in a small 2x2 mm DFN package. The sensor can measure
independently ultra violet (UV) light, infra red (IR) light and
ambient light, however the ambient light is also influenced by the
IR light requiring compensation from the IR readings.

The SI1133 is quite different from other Silicon Labs chips in RIOT OS
and therefore needs its own driver. In particular, the SI1133 has 7
different photodiode configurations to read but only 6 channels to
read them in parallel so only some channels can be read each time.

This patch implements a new driver allowing to read the data directly
and a saul interface for the three kinds of light source. There are
many configuration options including interrupts and continous modes
that are left out of this initial driver.
2020-12-14 03:13:23 +00:00
dylad
7cbaa3f890 net/netdev: create SAM0 Ethernet entry in netdev_type_t 2020-12-13 21:41:20 +01:00
chrysn
272c8d29cc
Merge pull request #13908 from benpicco/periph/dac_play
drivers/periph_common: dac: add dac_play()
2020-12-11 07:31:44 +01:00
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
Akshai M
bfd3a903fb drivers/rn2xx3 : r/LORAMAC_DEFAULT_AR/CONFIG_RN2XX3_DEFAULT_AR
Move 'LORAMAC_DEFAULT_AR' to drivers/rn2xx3 i.e
'RN2XX3_DEFAULT_AR'
Move 'RN2XX3_DEFAULT_AR' to 'CONFIG_' namespace

Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2020-12-08 11:33:44 +01:00
Benjamin Valentin
ceb3f8443a drivers/dac_dds: add module to play sample buffer over a DAC
This adds an API function to play a buffer of Audio samples using a DAC.

Double buffered operation is supported by specifying a callback that will
be called when the next buffer can be queued with dac_dds_play().
2020-12-04 23:12:32 +01:00
Fabian Hüßler
1b5bcec554 drivers/netdev: Add IEEE 802.15.4 security 2020-12-04 09:40:55 +01:00
Akshai M
d65a4b3f97 drivers/ili9341 : Update documentation 2020-12-03 14:20:34 +01:00
Akshai M
9f81956e41 drivers/ili9341 : Model 'CONFIG_ILI9341_LE_MODE' as BOOL 2020-12-03 14:20:34 +01:00
Akshai M
a322c6d4c0 drivers/ili9341 : Move 'ILI9341_VCOML' to 'CONFIG_' 2020-12-03 14:20:34 +01:00
Akshai M
d6935cd7bb drivers/ili9341 : Move 'ILI9341_VCOMH' to 'CONFIG_' 2020-12-03 14:20:34 +01:00
Akshai M
7bb83f9e01 drivers/ili9341 : Move 'ILI9341_GVDD' to 'CONFIG_' 2020-12-03 14:20:34 +01:00
benpicco
a80631a297
Merge pull request #15074 from maribu/ptp-clock
drivers/periph/ptp_clock
2020-12-03 09:59:07 +01:00
Marian Buschsieweke
7d1edd51f4
drivers/periph: Added PTP clock API 2020-12-02 17:53:00 +01:00
benpicco
665c07eb53
Merge pull request #15120 from benpicco/driver/at86rf215-trim
driver/at86rf215: add functions to configure trim & clock output at run-time
2020-12-02 16:53:02 +01:00
Benjamin Valentin
95d082a2be driver/at86rf215: add functions to set trim & clock output at run-time
To calibrate the at86rf215 radio, trim value has to be set at run-time
during board production.
Add two helper functions to control the trim value and clock output register.
2020-12-02 14:59:17 +01:00
Fabian Hüßler
c526a34770 sx127x: make use of netdev_register()
Call netdev_register() in sx127x_setup()
and pass the index in auto_init_sx127x()
and semtech_loramac_init()
2020-12-01 16:34:11 +01:00
Fabian Hüßler
8ca2e09d95 drivers/include: add NETDEV_SX127X 2020-12-01 16:34:06 +01:00
Marian Buschsieweke
56cf30172f
Merge pull request #15532 from fabian18/cc110x_netdev_register
drivers/cc110x: use netdev_register
2020-12-01 16:17:37 +01:00
Fabian Hüßler
39adf908ce cc110x: make use of netdev_register()
Call netdev_register() in cc110x_setup()
and pass the index in auto_init_cc110x()
2020-12-01 12:11:20 +01:00
Fabian Hüßler
320b1c4206 drivers/include: add NETDEV_CC110X 2020-12-01 12:06:12 +01:00
Benjamin Valentin
eb199d4c78 netdev: move definition of NETDEV_INDEX_ANY to netdev 2020-12-01 11:55:06 +01:00
benpicco
333fce44b4
Merge pull request #14973 from benpicco/driver/at86rf215-batmon
drivers/at86rf215: implement battery monitor, add power bus
2020-12-01 11:52:46 +01:00
Benjamin Valentin
a28a60f16c cpu/stm32: periph_eth: register with netdev 2020-11-29 23:10:37 +01:00
Francisco
14877443f7
Merge pull request #15494 from gdiribarne/bugfix/sfr04-avr-overflow
drivers/srf04: fix overflow on AVR
2020-11-26 11:14:15 +01:00
1d5e2e9cd9 all: remove traces of kernel_types.h
Automatically removed using:

    $ git grep -l kernel_types | xargs sed -i '/^#include .kernel_types/d'
2020-11-25 17:52:34 +01:00
0b801c4de0 all: adapt to moved sched defines 2020-11-23 16:56:34 +01:00
Gilles Diribarne
5a5c8507d4 drivers/sfr04: Use uncrustify 2020-11-22 23:12:40 +01:00
Gilles Diribarne
caa1ad822d drivers/sfr04: Fixed int overflow for AVR (arduino board) 2020-11-22 23:03:21 +01:00
benpicco
6cf6b47c27
Merge pull request #15445 from btcven/2020_11_05-gp2y10xx
drivers: add gp2y10xx dust sensor
2020-11-18 09:56:03 +01:00
Jean Pierre Dudey
e920a2e645 drivers: add gp2y10xx dust sensor
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2020-11-18 09:13:56 +01:00
Hauke Petersen
c4a8c45a3e periph/rtt: fix tick conversion macros 2020-11-16 10:00:24 +01:00
Benjamin Valentin
f9650bdbc3 drivers/at86rf215: implement Battery Monitor 2020-11-13 22:59:09 +01:00
benpicco
be9eb22bb8
Merge pull request #15106 from chrysn-pull-requests/saul-rgbleds
saul_pwm: auto-init'able RGB LEDs and dimmers
2020-11-13 18:22:30 +01:00
benpicco
d9598a0f54
Merge pull request #15412 from bergzand/pr/flashpage/merge_raw
periph_flashpage: Make pagewise API optional
2020-11-12 22:32:21 +01:00
41bbaa7442
flashpage: Make pagewise API optional
flashpage currently requires pagewise implementation with an optional
extension for per block writes (flashpage_raw). Most implementations
with flashpage_raw implement the pagewise access via the flashpage_raw
functions. This commit makes the flashpage raw the main access method
and adds an extension feature for the pagewise access.

The functions and defines are renamed to reflect this. The API is also
extended with a dedicated function for erasing a sector.
2020-11-11 22:26:33 +01:00
Hauke Petersen
8a31519558 drivers: add support for ds3231 RTC 2020-11-09 15:18:54 +01:00
Francisco
3e3da1217d
Merge pull request #15249 from aabadie/pr/tools/typo
tools/codespell: fix new typos and make it fail when typos are found
2020-11-03 15:01:20 +01:00
benpicco
9681c204d6
Merge pull request #14959 from benpicco/at86rf215-mr-fsk
drivers/at86rf215: implement MR-FSK
2020-11-03 11:26:24 +01:00
Benjamin Valentin
6f23263503 drivers/at86rf215: implement MR-FSK 2020-11-03 10:51:21 +01:00
Benjamin Valentin
53ca0dd1d0 drivers/mtd_spi_nor: define WP and HOLD pin
Hold and WP are not used by the driver, but if they are connected
to the flash they must be driven HIGH to enable writes and not stop
any flash operation.
2020-11-02 21:17:36 +01:00
benpicco
e77d12da26
Merge pull request #15188 from benpicco/drivers/kw41zrf-register
drivers/kw41zrf: register with netdev
2020-10-31 14:30:00 +01:00
Marian Buschsieweke
125c892c03
drivers/periph/timer: Use uint32_t for frequency
For all currently supported platforms `unsigned long` is 32 bit in width. But
better use `uint32_t` to be safe.
2020-10-30 22:02:12 +01:00
cd3ee9e825
drivers/mii: fix typo 'auto-negotation' => 'auto-negotiation' 2020-10-27 10:33:48 +01:00
Benjamin Valentin
fde3026312 drivers/mtd_spi_nor: prevent data corruption on 'sector erase'
There is no difference between 4k erase and sector erase.
But sector erase would previously do `.block_erase` which would not
erase a sector (4k) but a whole block (64k).

Fortunately all boards declare `SPI_NOR_F_SECT_4K` and all file systems
don't try to erase anything smaller, so this was never triggered.

Add an `assert(0)` to crash instead of corrupting data.
2020-10-26 13:48:26 +01:00
Benjamin Valentin
0425325260 drivers/mtd_spi_nor: use single transfer to read JEDEC ID
Just read the JEDEC ID with a single SPI transfer, there can only
be 10 banks.

This makes adaption to QSPI much simpler because now flash functions
don't call the SPI API directly anymore.
2020-10-26 13:02:09 +01:00
Bas Stottelaar
26835a949f drivers/*: remove unused assert.h include 2020-10-22 11:29:27 +02:00
chrysn
d196c7c4a6 drivers/saul/auto_init: Add PWM for LEDs
In analogy to the existing GPIO mappings, this provides (write-only)
SAUL entries for PWM'd LEDs in a single-LED (as SAUL_ACT_DIMMER) and an
RGB (as SAUL_ACT_RGB_LED) mode.

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2020-10-17 11:20:17 +02:00
benpicco
4edf5c7cbd
Merge pull request #15208 from benpicco/ieee802154_submac-etx
netdev/ieee802154_submac: add retransmission reporting
2020-10-15 14:31:54 +02:00
Benjamin Valentin
37aad4ef38 netdev/ieee802154_submac: add retransmission reporting
If we do software retransmissions, we already keep a count.
Allow to query it with `NETOPT_TX_RETRIES_NEEDED`.
2020-10-15 13:26:42 +02:00
Nishchay-sopho
eb1064eef4 drivers/scd30: Add reset function to Sensirion scd30 sensor 2020-10-14 15:07:01 +02:00
Marian Buschsieweke
6294382627
cpu/stm32: Use mii.h for periph_eth
Use shared MII definitions and utilities instead own definitions.
2020-10-12 08:46:20 +02:00
Marian Buschsieweke
33d916b237
drivers/mii: Media-Independent Interface utils
Add utilities for working with Ethernet Media-Independent Interface for use by
Ethernet drivers.
2020-10-12 08:46:20 +02:00
Benjamin Valentin
b32bc3dbd1 drivers/kw41zrf: register with netdev 2020-10-08 16:19:23 +02:00
Benjamin Valentin
1afe72a5e5 drivers/enc28j60: register with netdev 2020-10-08 10:36:56 +02:00
benpicco
ab37c9fba1
Merge pull request #14949 from benpicco/drivers/mrf24j40-register
drivers/mrf24j40: register with netdev
2020-10-08 10:33:37 +02:00
Francisco
3918d714ce
Merge pull request #13624 from wosym/pr/candev_mcp2515
tests/candev: add mcp2515 + driver/mcp2515: add driver
2020-10-08 09:45:40 +02:00
Benjamin Valentin
a1d8c79a98 drivers/mrf24j40: pass long address via pointer 2020-10-07 16:39:39 +02:00
Benjamin Valentin
988ee1648f drivers/mrf24j40: register with netdev 2020-10-07 16:39:39 +02:00
Marian Buschsieweke
5b9463aca1
drivers/netdev: Clarify documentation 2020-10-06 10:48:06 +02:00
Wouter Symons
757f810118 drivers/mcp2515: complete driver + adapt to 2020 RIOT API 2020-10-03 15:20:42 +02:00
Vincent Dupont
62a9929f9b mcp2515: add a driver for the mcp2515 SPI CAN controller
This driver implements the candev interface
2020-10-03 15:20:42 +02:00
feac7dc978
drivers/pir: fix typo 'whan' -> 'when' 2020-10-02 08:06:16 +02:00
dc8d32d30e
drivers/periph/gpio: fix typo 'occured' -> 'occurred' 2020-10-02 08:05:55 +02:00
9236b6ca5c
drivers/ltc4150: fix typo 'tread' -> 'treat' 2020-10-02 08:05:31 +02:00
59297c3779
drivers/lc709203f: fix typo 'Invlid' -> 'Invalid' 2020-10-02 08:05:00 +02:00
5ef55e37d7
drivers/ina3221: fix typos
- 'measurment' -> 'measurement'
- 'enble' -> 'enable'
2020-10-02 08:04:23 +02:00
2f2eeb7a7b
drivers/at: fix typo 'correspondant' -> 'correspondent' 2020-10-02 08:03:10 +02:00
benpicco
6cb8da7813
Merge pull request #14950 from jia200x/pr/ieee802154/submac
ieee802154_submac: add initial support for common MAC sub layer
2020-10-01 11:31:52 +02:00
Jose Alamos
4bb77b0b2f netdev/ieee802154_submac: add compatibility layer 2020-09-30 17:25:31 +02:00
benpicco
b2401eb73b
Merge pull request #14966 from HendrikVE/pr/driver/aip31068
driver/aip31068: add new driver
2020-09-30 15:52:52 +02:00
Hendrik van Essen
6778bf4b98 driver/aip31068: add new driver 2020-09-29 14:42:15 +02:00
Martine Lenders
cd8666735e
Merge pull request #15107 from benpicco/boards/samr21-xpro_edbg_eui
boards/samr21-xpro: fix reading EUI-64 from EDBG on cold boot
2020-09-29 11:04:04 +02:00
Benjamin Valentin
971c03eeb9 drivers/edbg_eui: add note on edbg startup time 2020-09-28 20:18:43 +02:00
7c029c7f43
Merge pull request #14907 from OTAkeys/pr/adcxx1c_get_alert
drivers/adcxx1c: add clear alert function
2020-09-28 13:28:15 +02:00
316871a4fa
Merge pull request #15068 from MrKevinWeiss/pr/dev_enum
drivers/dev_enums: Remove unused dev_enums.h
2020-09-25 17:35:21 +02:00
MrKevinWeiss
7893158b5a drivers/dev_enums: Remove unused dev_enums.h 2020-09-24 09:27:39 +02:00
Viktor Gal
7ea8f738fd
Add support for Adafruit Seesaw Soil moisture sensor (#14835)
drivers/seesaw_soil: Add support for Adafruit Seesaw Soil moisture sensor
2020-09-23 17:35:33 +02:00
chrysn
9295f69da4
Merge pull request #15062 from kaspar030/fix_efm32_16b_timer_set_absolute
cpu/efm32/periph/timer: fix timer_set_absolute() in 16bit case
2020-09-23 11:28:00 +02:00
chrysn
d8d56e5e3a periph/timer: Document that set_absolute is expected to wrap
Most timers are implemented this way already, and keeping (documenting)
it that way allows the generic timer_set implementation to stay as
simple as it is.
2020-09-23 10:59:18 +02:00
MrKevinWeiss
cc1c2ab811 drivers/periph: Remove unused timer enum from dev_enums 2020-09-22 16:26:01 +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
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
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
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
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
Leandro Lanzieri
16b5fd303b
drivers: add usbdev_mock 2020-09-04 15:01:16 +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
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
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
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
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
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
d29397cfd8 netdev_ieee802154: add netdev_ieee802154_setup() 2020-08-21 15:33:19 +02:00
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
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
Benjamin Valentin
decadc41a0 drivers/dose: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
4f19b54b7b drivers/at86rf215: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
53eedc283b drivers/at86rf2xx: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
7ceb3f0a68 netdev: add netdev_register() to keep track if netdev IDs
It is desireable to have a way to identify network devices.
This should be independent from the type of netdev, so a common identifier is needed.

Base this on the driver ID and the index in the configuration struct.
This way we achive unique IDs that stay consistent for any firmware flashed on a board.
2020-08-17 22:50:18 +02:00
Nishchay-sopho
3245dee8d8 drivers/sps30: Update units of measurement 2020-08-12 12:50:35 +02:00
Francisco
ad3568be87
Merge pull request #14712 from benpicco/gpio_init_int-clarify
periph/gpio: clarify behavior of gpio_irq_enable()
2020-08-11 11:30:05 +02:00
Benjamin Valentin
7543e714c1 drivers/periph_common: RTC: move RIOT_EPOCH to header, document it. 2020-08-07 13:22:19 +02:00
Benjamin Valentin
8c95198cbb periph/gpio: clarify behavior of gpio_irq_enable()
What happens with events that occured after `gpio_irq_disable()` is
currently not defined.
If they are not cleared, they will generate an interrupt on `gpio_irq_enable()`.

This does not seem like the intended behavior, so make the documentation more
explicit.
2020-08-05 17:41:27 +02:00
José Alamos
7967066f51
Merge pull request #14657 from maribu/netdev_doc
drivers/net: Fix netdev_driver_t doc
2020-08-04 10:49:24 +02:00
Benjamin Valentin
aa0e5e7afa drivers/cc110x: replace binary constants and use unsigned char
binary constants are a GCC extension
2020-07-31 13:38:03 +02:00
Benjamin Valentin
2e34298265 drivers/nrf24l01p: use unsigned char 2020-07-31 13:38:03 +02:00
Marian Buschsieweke
86513dc97a
drivers/net: Fix netdev_driver_t doc
- Fix indent
- Use @reval instead of @return when referring to a single return value
- Use term "frame" instead of "packet"
2020-07-30 20:22:17 +02:00
4b4e9830b0
drivers/touch_dev: clarify touch position coordinates origin 2020-07-29 14:49:17 +02:00
388bbfa008
drivers: add generic screen wrapper around display and touch devices 2020-07-29 14:30:03 +02:00
benpicco
7acdecb1df
Merge pull request #14447 from Nishchay-sopho/drivers/scd30
driver/scd30 : Add driver for scd30 sensor
2020-07-28 12:41:58 +02:00
benpicco
ecab75b529
Merge pull request #13632 from benpicco/cpu/sam0_common/uart-deinit
drivers/periph/uart: add periph_uart_reconfigure feature & implementation for sam0
2020-07-28 11:12:19 +02:00
nagrawal
900e4b61dc driver/scd30: Add driver for Sensirion SCD30
Created tests for Sensirion scd30 driver

Moved Makefile.dep and Makefile.include as per new spec
2020-07-28 10:38:01 +02:00
Benjamin Valentin
3eb54179ae drivers/periph/uart: add periph_uart_reconfigure feature 2020-07-28 10:10:15 +02:00
Benjamin Valentin
7af8a3e2d3 drivers/periph/timer: add note about TIM_FLAG_RESET_ON_MATCH 2020-07-27 17:17:08 +02:00
Francisco
d187e83221
Merge pull request #14570 from fjmolinas/pr_fix_mock_rtt_defs
drivers/rtt: override RTT_MAX_VALUE and RTT_FREQUENCY for mock
2020-07-22 16:33:29 +02:00
Francisco Molina
9dde6ec53d
drivers/rtt: overrite RTT_MAX_VALUE and RTT_FREQUENCY for mock
mock_rtt relies on setting mock values for RTT_MAX_VALUE and
RTT_FREQUENCY. Platforms with a rtt will already define these
values which leads to mock_rtt working with different values than
rtt_rtc.

This commit changes the ifdef logic so that when using mock_rtt
RTT_MAX_VALUE and RTT_FREQUENCY are redefined.
2020-07-22 08:52:54 +02:00
Akshai M
60170971bd net/l2filter : Update documentation 2020-07-22 00:26:09 +05:30
Akshai M
caab4cd8c5 net/l2filter : Move 'L2FILTER_LISTSIZE' to 'CONFIG_' 2020-07-22 00:26:09 +05:30
Hendrik van Essen
9d068d582a drivers/pca9633: make enum anonymous 2020-07-17 15:05:32 +02:00
Benjamin Valentin
b080d3da7a drivers/soft_uart: implement inverted TX & RX
In the current implementation, RX is flank based, so it's entirely level
agnostic.
I still chose to include a SOFT_UART_FLAG_INVERT_RX flag for symmetry and
to allow for a possible future, sampling based implementation.
2020-07-14 23:04:36 +02:00
Benjamin Valentin
96c67b0fa5 drivers/soft_uart: add software based UART implementation 2020-07-14 22:51:59 +02:00
Francisco
325b7a8d8e
Merge pull request #13631 from benpicco/cpu/sam0_common/spi-deinit
drivers/periph/spi: add periph_spi_reconfigure feature & implementation for sam0
2020-06-30 15:34:53 +02:00
Leandro Lanzieri
955efd85ff
drivers/at: Add at_urc_isr module to process URCs upon arrival 2020-06-30 11:41:13 +02:00
benpicco
a92dac5701
Merge pull request #14329 from Nishchay-sopho/drivers/sdp3x
driver/sdp3x : Add driver for sdp3x sensor
2020-06-29 21:16:39 +02:00
Dirk Ehmen
05980765f2 drivers/sdp3x: Driver for sensirion sdp3x sensor 2020-06-29 20:50:41 +02:00
benpicco
f372beb405
Merge pull request #12363 from maribu/dfplayer
drivers/dfplayer: New driver for the DFPlayer Mini MP3 player
2020-06-28 23:24:36 +02:00
Marian Buschsieweke
82bfb66cb8
drivers: Added driver for the DFPlayer MP3 player 2020-06-28 21:06:43 +02:00
Gunar Schorcht
660a852935 drivers: add netdev driver for ATWINC15x0 WiFi module 2020-06-26 12:33:38 +02:00
benpicco
3665e40726
Merge pull request #14242 from HendrikVE/pr/driver/pca9633
driver/pca9633: add new driver
2020-06-26 00:44:24 +02:00
Hendrik van Essen
1430ddca55 driver/pca9633: add new driver 2020-06-25 22:31:15 +02:00
benpicco
b13085defb
Merge pull request #14110 from fabian18/mtd_at24cxxx
drivers/at24cxxx: MTD wrapper for at24cxxx
2020-06-24 18:46:36 +02:00
Benjamin Valentin
896fcd43b0 drivers/periph/spi: add periph_spi_reconfigure feature 2020-06-21 21:19:17 +02:00
Marian Buschsieweke
f3af071b19
Merge pull request #11432 from maribu/pulse_counter_c11_atomics
drivers/pulse_counter: Use C11 atomics & bugfix
2020-06-17 17:03:48 +02:00
Akshai M
e672ca2010 drivers/at : Expose to Kconfig
Expose configurations to Kconfig:
Model choice for CONFIG_AT_SEND_EOL
Allow value to be configured as exponent for AT_BUF_SIZE
2020-06-17 14:52:21 +05:30
Akshai M
f9741b3ed5 drivers/at : Add CONFIG_
Add CONFIG_ prefix to AT_SEND_EOL,  AT_SEND_SKIP_ECHO,
CONFIG_AT_RECV_OK, CONFIG_AT_RECV_ERROR
2020-06-17 14:52:21 +05:30
Akshai M
921badbf38 drivers/at : Inverse Logic
Inverse logic for AT_SEND_ECHO
2020-06-17 14:52:21 +05:30
ebc147d058 drivers/mhz19: initial support 2020-06-17 08:41:41 +02:00
Francisco Molina
8d329942df
drivers/periph/rtt: introduce RTT_MIN_OFFSET 2020-06-11 09:30:25 +02:00
Benjamin Valentin
93236e0f2c drivers/at86rf215: add modulation config to KConfig 2020-06-09 11:48:59 +02:00
Benjamin Valentin
6a2d9f9762 drivers/at86rf215: make default O-QPSK rate configutable 2020-06-09 11:48:59 +02:00
Benjamin Valentin
4e9420bffc drivers/at86rf215: prefix configuration defines with CONFIG_ 2020-06-09 11:48:59 +02:00
benpicco
3a1ee4983c
Merge pull request #14010 from benpicco/at86rf215-mr-ofdm
drivers/at86rf215: implement MR-OFDM
2020-06-03 16:39:04 +02:00
Benjamin Valentin
cc5fbdf9f8 drivers/at86rf215: implement MR-OFDM 2020-06-03 15:58:50 +02:00
Leandro Lanzieri
16c6ecf28d
Merge pull request #14046 from benpicco/at86rf2xx-phy_modes
drivers/at86rf2xx: add support for high data rates
2020-06-03 08:35:30 +02:00
Leandro Lanzieri
48759eccdc
drivers/wdt: Add feature to indicate a configurable warning period
This adds the feature `periph_wdt_warning_period` that indicates that a
platform WDT driver implementation supports a configurable
CONFIG_WDT_WARNING_PERIOD.
2020-06-02 12:54:25 +02:00
Benjamin Valentin
cd107be976 drivers/periph/timer: add timer_set_periodic() 2020-05-28 17:37:41 +02:00
Benjamin Valentin
616ebf9cfb drivers/edbg_eui: add driver to get MAC address from Atmel EDBG
The EDBG debugger on the `samr21-xpro` contains a unique 64 bit address
intended to be used as a MAC address for the internal radio.

This adds a driver to read that EUI-64 from the debugger, it should match
with the MAC address printed on the label on the board.
2020-05-26 10:44:11 +02:00
Akshai M
7d679c7f0f drivers/rn2xx3.h : Add CONFIG_
Add CONFIG_ prefix to RN2XX3_DEFAULT_SLEEP
2020-05-22 15:52:03 +05:30
fabian18
9ecd836443 drivers/at24cxxx: add MTD wrapper for at24cxxx EEPROMs 2020-05-20 19:20:05 +02:00
Akshai M
74a7bb230b drivers/tmp00x : Expose to Kconfig
Expose configurations to Kconfig

Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2020-05-20 19:09:48 +05:30
Akshai M
414fae5b0c drivers/tmp00x : Model as bool
Model CONFIG_TMP00X_USE_LOW_POWER and CONFIG_TMP00X_USE_RAW_VALUES
as bool
2020-05-20 19:09:48 +05:30
Akshai M
94d6b898fc drivers/tmp00x : Add CONFIG_
Add CONFIG_ prefix to compile configurations
2020-05-20 19:09:48 +05:30
Leandro Lanzieri
391f49fade
Merge pull request #14047 from benpicco/drivers/mrf24j40-turbo
drivers/mrf24j40: add Turbo Mode
2020-05-19 18:00:05 +02:00
Marian Buschsieweke
568404134a
drivers/periph/cpuid: Fix typo in doc 2020-05-14 16:53:05 +02:00
673ba21b9e
Merge pull request #14045 from benpicco/mtd_mapper_sectors
mtd_mapper: count offset in sectors
2020-05-12 13:47:12 +02:00
Benjamin Valentin
81b07895af mtd_mapper: count offset in sectors
The offset of MTD regions must be aligned with erase sectors.
So in order not to waste address space, avoid misconfiguration and
eventually support storage media > 4 GiB, give the offset in sectors
instead of bytes.
2020-05-12 12:02:05 +02:00
Benjamin Valentin
baeb5134b7 drivers/mrf24j40: add Turbo Mode
MRF24J40 supports a proprietary turbo mode with a data rate of 625 kbit/s
instead of the standard 250 kbit/s.

It can be enabled through

    ifconfig 7 set high_rate 1
2020-05-09 16:10:46 +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
Akshai M
db96ebcbe1 drivers/isl29020 : Expose to Kconfig
Expose configurations to Kconfig.
2020-05-08 18:07:27 +05:30
Akshai M
38687e63bb drivers/isl29020 : Add CONFIG_
Add CONFIG_ prefix to ISL29020_DEFAULT_ADDRESS
2020-05-08 18:07:27 +05:30
Akshai M
b4a23b8899 drivers/tcs37727 : Expose to Kconfig
Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2020-05-07 23:55:32 +05:30
Akshai M
04bdd405d2 drivers/tcs37727 : Add CONFIG_
Add CONFIG_ prefix to TCS37727_ATIME_DEFAULT and update
documentation for doxygen.
2020-05-07 23:20:24 +05:30
fabian18
50d408b202 Revert "drivers/at25xxx: return read/written bytes to match MTD API"
This reverts commit 8a2a936726.
2020-05-06 20:24:27 +02:00
fabian18
a3a1c160ee mtd: Change API to return 0 on success
Returning the number of bytes written/read could return a negative integer
because a uint32_t is expected for the length in read()/write() operations.
2020-05-06 20:24:27 +02:00
benpicco
8e11acc9f8
Merge pull request #13877 from ML-PA-Consulting-GmbH/feat/20200409__add_mtd_spi_eeprom
drivers/mtd_spi_eeprom: add MTD wrapper for AT25XXX EEPROMs
2020-05-06 15:56:34 +02:00
Francisco
cea0d1c532
Merge pull request #13421 from benpicco/cpu/sam0_common/i2c-deinit
drivers/periph/i2c: add periph_i2c_reconfigure feature & implementation for sam0
2020-05-05 19:09:47 +02:00
Benjamin Valentin
21958ff531 drivers/periph/i2c: add periph_i2c_reconfigure feature
It is often desireable to re-configure the pins of a bus back to GPIO mode,
either to save power when an external peripheral is turned off and current
would leak, or because a device may need a non-standard in-band signal to
be generated on the bus lines.

To serve those use cases, this patch introduces four new functions to the
I2C API:

 - `i2c_init_pins()`    equivalent to spi_init_pins(), restores I2C pin configuration

 - `i2c_deinit_pins()`  to switch the configuration of the I2C pins back to GPIO
                        mode and block access to the bus.

 - `i2c_pin_sda()`      to get the data pin for a given bus

 - `i2c_pin_scl()`      to get the clock pin for a given bus

Since it's unreasonable to expect having implementations for all platforms
already, those functions are only availiable when the periph_i2c_reconfigure
feature is availiable.

Applications should use FEATURES_REQUIRED += periph_i2c_reconfigure or
FEATURES_OPTIONAL if they want to make use of those functions.
2020-05-05 16:12:19 +02:00
Johannes Koster
177a653bd1 drivers/at25xxx: add MTD wrapper for AT25XXX EEPROMs
drivers/at25xxx: add mtd_wrapper as submodule

tests: add mtd_at25xxx test module for mtd wrapper

drivers/Makefile.dep: add at25xxx dep for mtd_at25xxx module
2020-05-05 13:37:51 +01:00
Akshai M
21dd8f7555 drivers/l3g4200d : Expose to Kconfig
Expose configurations to Kconfig.
2020-05-05 13:19:49 +05:30
Akshai M
ebbfcfb56b drivers/l3g4200d : Add CONFIG_
Add CONFIG_ prefix to L3G4200D_DEFAULT_ADDRESS
2020-05-05 13:18:34 +05:30
Leandro Lanzieri
28eedd6459
Merge pull request #14000 from akshaim/Kconfig_lpsxxx
drivers/lpsxxx : Expose Configurations to Kconfig
2020-05-05 09:09:30 +02:00