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

4140 Commits

Author SHA1 Message Date
bors[bot]
441b69964c
Merge #19106
19106: core/lib: Add macros/utils.h header r=aabadie a=maribu

### Contribution description

The macros CONCAT(), MIN(), and MAX() are defined over and over again in RIOT's code base. This de-duplicates the code by moving the macros to a common place.

### Testing procedure

Generated binaries don't change, as this only a de-duplication of macros that doesn't change their definition.

### Issues/PRs references

None

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2023-01-07 21:16:51 +00:00
Marian Buschsieweke
86fdbd7054
core/lib: Add macros/utils.h header
The macros CONCAT(), MIN(), and MAX() are defined over and over again in
RIOT's code base. This de-duplicates the code by moving the macros to a
common place.
2023-01-07 09:47:44 +01:00
Benjamin Valentin
7c61740346 drivers/ws281x: fix out-of-bounds read on native 2023-01-07 02:27:01 +01:00
Marian Buschsieweke
5d93a485c5
drivers/hdc1000: Add missing doc and fix doccheck
This commits add documentation to the HDC1000 params and adds generic
exclude patters to the doc check, so that when boards provide custom
HDC1000 params they do not need to document them again. The reasoning
is that the documentation in the central place is sufficient.
2023-01-05 14:25:20 +01:00
Marian Buschsieweke
efbf6efdd3
drivers/fxos8700: Add missing doc and fix doccheck
This commits add documentation to the FXOS8700 params and adds generic
exclude patters to the doc check, so that when boards provide custom
FXOS8700 params they do not need to document them again. The reasoning
is that the documentation in the central place is sufficient.

In addition, a generic exclude patter is added to match FXOS8700_REG_*,
as the register names are relatively self-explaining and an
implementation detail of the driver that doesn't need public
documentation.
2023-01-05 14:25:20 +01:00
Marian Buschsieweke
479d5a311c
drivers/at86rf2xx: Add missing doc and fix doccheck
This commits add documentation to the AT86RF2xx params and adds generic
exclude patters to the doc check, so that when boards provide custom
AT86RF2xx params they do not need to document them again. The reasoning
is that the documentation in the central place is sufficient.
2023-01-05 14:25:19 +01:00
Marian Buschsieweke
fabb47bb93
drivers/tmp00x: Add missing doc and fix doccheck
This commits add documentation to the TMP00X params and adds generic
exclude patters to the doc check, so that when boards provide custom
TMP00X params they do not need to document them again. The reasoning is
that the documentation in the central place is sufficient.
2023-01-05 14:25:19 +01:00
Marian Buschsieweke
d6858a0ca4
drivers/pulse_counter: Add missing doc and fix doccheck
This commits add documentation to the pulse counter params and adds
generic exclude patters to the doc check, so that when boards provide
custom pulse counter params they do not need to document them again. The
reasoning is that the documentation in the central place is sufficient.
2023-01-05 14:25:19 +01:00
Marian Buschsieweke
395254af41
drivers/pir: Add missing doc and fix doccheck
This commits add documentation to the PIR params and adds generic
exclude patters to the doc check, so that when boards provide custom PIR
params they do not need to document them again. The reasoning is that
the documentation in the central place is sufficient.
2023-01-05 14:25:18 +01:00
J. David Ibáñez
d741f71ebd drivers/ds3231 fix docs, alarms are supported
Remove the text stating that setting alarms is not yet supported,
because it is, since PR #16180

Also document DS3231_PARAM_INT_PIN
2022-12-27 17:21:55 +01:00
bors[bot]
f539035c86
Merge #18756
18756: drivers/usbdev_synopsys_dwc2: add EFM32 support r=chrysn a=gschorcht

### Contribution description

This PR provides the changes for the Synopsys USB OTG IP core DWC2 driver for EFM32 MCUs. It also provides the changes of the board definition for `stk3600` and `stk3700` for testing.

### Testing procedure

`tests/usbus_hid` should work on the EFM32 boards `stk3600` (EFM32LG family) and `stk3700` (EFM32GG family).

It is already tested for a `sltb009a` board (EFM32GG12 family).

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-19 12:55:57 +00:00
bors[bot]
b71df25282
Merge #19048
19048: drivers/sht2x: some small improvements r=benpicco a=gschorcht

### Contribution description

This PR provides the following improvements for the SHT2x driver:

- migration to `ztimer` 8a605517f5 and 367549940de3bd8910052334c34af028d4992741
- floating point arithmetics replaced by integer arithmetics f424caebbfec9f2be56aa2337c6cc09dba5b97d6
- fix of sleep times (typical times replaced by maximum times as recommended by the datasheet) 13615c72094b8541ee62c3e8ed5a36dc4d725fd0
- release of the I2C bus during sleep 9415c216cfab734520ef98dd00b350c22f342c60
- Kconfig configuration of sensor parameters added dadbbcb4c328350893db53ba6743d03cb34ecc1c
- no-hold mode is now the default mode instead of the hold mode

Regarding the sleep times: The typical measurement times were used as sleep times. According to the datasheet, typical measurements are only recommended for calculating energy consumption, while maximum values should be used for calculating waiting times in communication. Therefore, the typical time values were replaced by maximum time values for the sleep in no-hold mode.

Regarding the hold mode: In hold mode, the sensor uses clock stretching until the measurement results can be read by the MCU. This blocks both the I2C bus and the MCU during the entire measurement, which can take up to 85 ms if I2C is not interrupt-driven. Therefore, the no-hold mode is now used by default, where the calling thread sleeps during the measurement, but the MCU is not completely blocked. Furthermore, the hold mode requires that the MCU supports clock stretching. Even if the MCU supports clock stretching, the hold mode with clock stretching doesn't seem to work with different MCUs. I couldn't get it working for STM32 and ESP32.

Regarding the I2C bus during sleep: If the no-hold mode is used and the calling thread sleeps up to 85 ms, it makes sense to release the I2C bus until the measurement results are available.

### Testing procedure

`tests/driver_sht2x` should still work.

### Issues/PRs references


Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-12-15 12:42:30 +00:00
bors[bot]
2ea6a2af1e
Merge #19053
19053: net/ieee802154: make default ack request configurable r=jia200x a=jue89



Co-authored-by: Jue <me@jue.yt>
2022-12-15 10:15:31 +00:00
Gunar Schorcht
000d449d88 drivers/sht2x: use sys/checksum/crc8 2022-12-14 21:47:32 +01:00
Gunar Schorcht
009afd1173 drivers/sht2x: extend Kconfig by sensor parameters 2022-12-14 21:47:32 +01:00
Gunar Schorcht
ff3cbd13ea drivers/sht2x: release I2C bus during sleep 2022-12-14 21:47:32 +01:00
Gunar Schorcht
43819464f7 drivers/sht2x: fix measurement duration
According to the data sheet, typical times are recommended for calculating energy consumption, while maximum values should be used for calculating waiting times in communication. Therefore, the typical time values are replaced by maximum time values for sleep.
2022-12-14 21:47:32 +01:00
Gunar Schorcht
58f915e2e3 drivers/sht2x: replace float by int calculations 2022-12-14 21:47:32 +01:00
bors[bot]
481ab25e69
Merge #19054
19054: ieee802154_submac: migrate to ztimer r=benpicco a=jue89



Co-authored-by: Jue <me@jue.yt>
2022-12-14 19:09:53 +00:00
Jue
8f174bbef2 ieee802154_submac: migrate to ztimer 2022-12-14 16:41:27 +01:00
Jue
087931c5f2 at86rf215: respect ack request option 2022-12-14 16:29:01 +01:00
Jue
06de22637c at86rf2xx: respect ack request option 2022-12-14 16:29:01 +01:00
Jue
5c2db89c20 ieee802154_submac: respect ack request option 2022-12-14 16:29:01 +01:00
Jue
4930a81ae4 kw41zrf: respect ack request option 2022-12-14 16:29:01 +01:00
Joshua DeWeese
aba1d9aaf0 drivers/soft_spi: fix device validation bug
The code did not take into account that valid bus numbers are
0...(COUNT-1).

This patch corrects this. It also makes use of the newly introduced
SOFT_SPI_NUMOF define.
2022-12-14 08:18:45 -05:00
Joshua DeWeese
022192ecee drivers/soft_spi: fix over-allocation of locks
The intent was to allocate one lock per device, but that was not the
case in practice. This patch fixes this.
2022-12-14 08:18:29 -05:00
Gunar Schorcht
8a605517f5 drivers/sht2x: migration to ztimer 2022-12-13 00:51:51 +01:00
Joshua DeWeese
d786883859 drivers/soft_spi: fix misspelling in comment 2022-12-09 14:35:04 -05:00
Gunar Schorcht
6ab71b1dee drivers/usbdev_synopsys_dwc2: add EFM32 support 2022-12-07 16:34:34 +01:00
benpicco
2e50d5e448
Merge pull request #18988 from jia200x/pr/at86rf2xx/isolate_netdev
drivers/at86rf2xx: isolate netdev logic
2022-12-07 13:50:37 +01:00
Jose Alamos
42af1f0f59
drivers/at86rf2xx: move CSMA/CA seed init to netdev init 2022-12-06 17:53:11 +01:00
Jose Alamos
c26365c9fb
drivers/at86rf2xx: merge configure_phy and set_txpower functions 2022-12-06 15:40:45 +01:00
Jose Alamos
bc1043921d
drivers/at86rf2xx: move TX power logic to netdev 2022-12-06 15:40:43 +01:00
Jose Alamos
4708478e98
drivers/at86rf2xx: move security logic to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
99d490a3c1
drivers/at86rf2xx: move at86rf2xx_setup to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
5a46bba376
drivers/at86rf2xx: move TX_STARTED logic to netdev 2022-12-06 15:40:21 +01:00
Jose Alamos
fc43cec430
drivers/at86rf2xx: remove unused send function 2022-12-06 15:40:20 +01:00
Jose Alamos
72c3f9192a
drivers/at86rf2xx: move netdev logic out of reset function 2022-12-06 15:40:20 +01:00
Jose Alamos
5207a82e03
drivers/at86rf2xx: simplify channel-page logic 2022-12-06 15:40:18 +01:00
Jose Alamos
2965419028
drivers/at86rf2xx: move addr logic to netdev 2022-11-29 11:16:16 +01:00
Jose Alamos
ba6c0d845e
drivers/at86rf2xx: remove unused getters 2022-11-29 11:16:16 +01:00
Jose Alamos
06cc410aa9
drivers/at86rf2xx_netdev: cleanup is_periph logic 2022-11-29 11:16:15 +01:00
benpicco
388f9a2015
Merge pull request #18887 from kfessel/p-clean-header-kerneldef
sys/include: remove kernel_defines.h where not needed
2022-11-29 10:14:52 +01:00
benpicco
a3e841e4bd
Merge pull request #18967 from jia200x/pr/at86rf2xx_define_caps
drivers/at86rf2xx: define caps in macros
2022-11-26 01:47:13 +01:00
Jose Alamos
5a865c3a6b
drivers/at86rf2xx: add HAVE_RETRIES_REG macro 2022-11-25 14:01:44 +01:00
Jose Alamos
22c6d0242a
drivers/at86rf2xx: add HAVE_ED_REGISTER macro 2022-11-25 14:01:44 +01:00
Jose Alamos
82d3324e63
drivers/at86rf2xx: add HAVE_SUBGHZ macro 2022-11-25 14:01:44 +01:00
Jose Alamos
58ce0743c6
drivers/at86rf2xx: add TX_START macro 2022-11-25 14:01:43 +01:00
Jose Alamos
b6b8dc1958
drivers/at86rf2xx: add AT86RF2XX_IS_PERIPH macro 2022-11-25 14:01:39 +01:00
Karl Fessel
d46b56933d drivers/sht1x: add missing include for ARRAY_SIZE 2022-11-22 13:39:35 +01:00
MrKevinWeiss
17cce015d4
treewide/stm32: Make CLOCK_HS* configurable 2022-11-03 11:37:28 +01:00
Marian Buschsieweke
3c207a3d2c
Merge pull request #18826 from benpicco/slipdev-off_by_one
drivers/slipdev: fix off-by-one error in _recv()
2022-11-01 06:59:36 +01:00
Martine Lenders
780309d71a
Merge pull request #18823 from Diff-fusion/master
drivers/ethos: Fix off-by-one bug
2022-10-31 23:32:52 +01:00
Benjamin Valentin
269b3c97c2 drivers/slipdev: fix off-by-one error in _recv() 2022-10-31 22:54:33 +01:00
Marian Buschsieweke
d704a1a805
Merge pull request #18822 from jue89/feature/at86rf2xx_ztimer
drivers/at86rf2xx: migrate to ztimer
2022-10-31 15:44:53 +01:00
Felix
b1dff296db drivers/ethos: Fix off-by-one in ETHOS driver 2022-10-31 12:13:41 +01:00
Jue
634d3df844 drivers/at86rf2xx: migrate to ztimer 2022-10-29 20:15:16 +02:00
benpicco
2a934c9434
Merge pull request #18733 from bergzand/pr/driver/matrix_keypad
matrix_keypad: Add matrix-style keypad module
2022-10-28 20:46:13 +02:00
7f3cbfdfc7
matrix_keypad: Add driver for a matrix keypad 2022-10-28 10:03:37 +02:00
Benjamin Valentin
d0a1a76351 drivers/atwinc15x0: don't disable interrupts 2022-10-25 14:47:13 +02:00
Benjamin Valentin
f7197ba16a drivers/sdcard_spi: make use of crc16_ccitt_false_update()
Use crc16_ccitt instead of ucrc16.
This can be speed up by using a look-up table if desired and does
not use more memory in the default configuration.
2022-10-20 00:43:27 +02:00
benpicco
a98a706112
Merge pull request #18759 from gschorcht/drivers/usbdev_synopsys_dwc2_fixes
drivers/usbdev_synopsys_dwc2: small fixes
2022-10-18 02:31:23 +02:00
benpicco
e6835feaee
Merge pull request #18753 from keestux/driver-at-add-more-functions
drivers/at: add a function read a response plus the OK
2022-10-17 22:42:12 +02:00
Gunar Schorcht
1dfe79fe7c drivers/usbdev_synopsys_dwc2: use DWC2_USB_OTG_FS_TOTAL_FIFO_SIZE
Use `DWC2_USB_OTG_FS_TOTAL_FIFO_SIZE` instead of `USB_OTG_FS_TOTAL_FIFO_SIZE` since the latter is only defined in the vendor headers for STM32 MCUs. The STM32-specific problem that `USB_OTG_FS_TOTAL_FIFO_SIZE` is not defined in the vendor headers for all STM32 families has therefore been moved from the driver to the STM32-specific USB device header.
2022-10-17 20:03:57 +02:00
Gunar Schorcht
ae111ba613 drivers/usbdev_synopsys_dwc2: fix dependency on ztimer_msec
The `usbdev_synopsys_dwc2 driver` requires the `ztimer_msec` module and is therefore responsible for pulling it in.
2022-10-17 20:01:54 +02:00
0fca912e91
Merge pull request #18714 from gschorcht/drivers/usbdev_synopsys_dwc2_hs_utmi
drivers/usbdev_synopsys_dwc2: add support for internal UTMI HS PHY
2022-10-16 14:05:32 +02:00
Kees Bakker
94474236f1 drivers/at: add a function read a response plus the OK
There are many modem commands for which you get a line of response followed
by an OK. Take for example the AT+CGSN command to get the IMEI of a Ublox
G350.
  >> AT+CGSN
  << 004999010640000
  << OK
2022-10-16 14:05:31 +02:00
Gunar Schorcht
41b0a3efae drivers/usbdev_synopsys_dwc2: add internal UTMI HS PHY support 2022-10-16 11:35:42 +02:00
8cecb81517
usbdev_synopsys_dwc2: Mask RX FIFO irq with DMA
When using DMA to transfer endpoint data from the RX FIFO to the
endpoint memory, the RXFLVL irq is not needed as that is already handled
by the DMA. Furthermore, servicing this irq anyway can cause the event
handling to interpret data from the FIFO as the endpoint and status
marker during the DMA transfer.

This commit masks the RXFLVL irq while DMA is used for the endpoint
transfers.
2022-10-12 10:18:15 +02:00
Gunar Schorcht
85054e3d1a drivers/usbdev_synopsys_dwc2: don't init DM/DP GPIOs if ULPI is used 2022-10-09 14:00:41 +02:00
Gunar Schorcht
41e25c53a3 drivers/usbdev_synopsys_dwc2: fix settings for STM32
The existence of the macros USB_OTG_GUSBCFG_ULPI_UTMI_SEL, USB_OTG_GUSBCFG_PHYIF and USB_OTG_GUSBCFG_DDRSEL depends on a specific STM32 line and not on STM32 itself. Therefore, the settings are made when the macros are defined.
2022-10-09 13:14:42 +02:00
Gunar Schorcht
78e24541e6 drivers/periph_usbdev: move Kconfig to a separate file 2022-10-09 11:48:58 +02:00
benpicco
24f7d2011a
Merge pull request #18701 from benpicco/sys/checksum-crc16_fast
sys/checksum: add CRC-16 implementation without lookup table
2022-10-07 12:31:23 +02:00
Benjamin Valentin
98e18edab3 drivers/dose: make use of checksum module 2022-10-06 17:48:47 +02:00
Gunar Schorcht
95f74faf6b drivers/usbdev_synopsys_dwc2: add ULPI HS PHY support 2022-10-06 06:26:22 +02:00
Gunar Schorcht
87cc47869d drivers: add feature/module periph_usbdev_hs_ulpi to use HS PHY 2022-10-06 06:26:22 +02:00
Dylan Laduranty
11aebb6003
Merge pull request #18592 from gschorcht/pkg/tinyusb
pkg/tinyusb: add tinyUSB as package
2022-10-04 13:08:36 +02:00
chrysn
69cb6b12fc rust: Update dependencies
The change in 399e25cc was did not have the intended effect: As the
local crates still all defined 0.7 as the riot-wrappers version, that
dependency was actually down- rather than upgraded, and thus did not
effect the stabilizations.
2022-10-04 00:28:46 +02:00
Marian Buschsieweke
3227fb3b17
Merge pull request #18619 from maribu/core/mutex/cleanup
core/mutex: clean up
2022-10-03 10:58:07 +02:00
Gunar Schorcht
136827e6da pkg: add tinyUSB device/host stack as package 2022-09-30 19:05:51 +02:00
Gunar Schorcht
7db66e49b3 drivers: add USB OTG FS/HS driver for Synopsys DWC2 IP core 2022-09-27 01:00:57 +02:00
Marian Buschsieweke
d1ecc51fc1
drivers/sm_pwm_01c: add missing include 2022-09-26 18:54:40 +02:00
Marian Buschsieweke
3f882cb56d
drivers/sgp30: add missing include 2022-09-26 18:54:40 +02:00
Marian Buschsieweke
f0d0e62fbf
drivers/atwinc15x0: add missing include 2022-09-26 18:54:39 +02:00
Marian Buschsieweke
3b2df89b4c
treewide: fix conditionals on deprecated module
As a leftovers from https://github.com/RIOT-OS/RIOT/pull/18355 are still
present that check for `MODULE_SHELL_COMMANDS` rather than
`MODULE_SHELL_CMDS`. This updates the conditionals as needed.
2022-09-21 09:42:37 +02:00
Benjamin Valentin
838a5e4bd3 netdev_drivers: make sure to signal LINK_UP at least once 2022-09-16 22:57:28 +02:00
benpicco
8d824bca02
Merge pull request #18604 from benpicco/codespell2
codespell: fix remaining issues
2022-09-16 22:50:00 +02:00
benpicco
1b940d90b0
Merge pull request #18603 from benpicco/cdc_ecm-netdev-register
USBUS/cdc_ecm: register with netdev
2022-09-16 20:25:54 +02:00
Benjamin Valentin
6e7d5ae2d3 codespell: fix remaining issues 2022-09-16 14:00:35 +02:00
Marian Buschsieweke
86f9d7953d
Merge pull request #18600 from maribu/drivers/sht1x
drivers/sht1x: fix doccheck
2022-09-16 13:23:06 +02:00
Benjamin Valentin
aef967fdef USBUS/cdc_ecm: register with netdev 2022-09-16 13:22:42 +02:00
Marian Buschsieweke
702c36c533
drivers/sht1x: fix doccheck
- replace auto-generated patterns with generic ones
- fix `warning: return value '\-EBADMSG' of sht1x_read has multiple
  documentation sections`
2022-09-16 11:12:27 +02:00
Marian Buschsieweke
31b40a863b
drivers/sht1x: document parameters 2022-09-16 11:12:26 +02:00
Benjamin Valentin
66153a47cf treewide: fix typos 2022-09-15 23:31:40 +02:00
Karl Fessel
da51932737 boards: add some missing whitespaces for static tests 2022-09-14 15:11:14 +02:00
Karl Fessel
05f114d0af doc: fix unbalaced grouping
- most were trivial
    - missing group close or open
    - extra space
    - no doxygen comment
- name commad might open an implicit group
    this hould also be implicit cosed but does not happen somtimes
- crazy: internal declared groups have to be closed internal
2022-09-14 15:05:25 +02:00
Marian Buschsieweke
b15af47f34
drivers/sdcard_spi: make 8-bit safe
- replace all `int`s and `unsigned`s with integers with fixed width
- replaced all signed integers of sizes with unsigned ones (sizes
  cannot be negative)
- made bitshifts 8-bit safe (e.g. `1 << 24` is valid on 32-bit, but
  undefined behavior on 8-bit, as a 16 bit wide `int` would be shifted
  by more than the type width)
- use `void *` / `const void *` for data buffers to ease use
2022-09-11 10:27:40 +02:00
benpicco
3e2dc46d4e
Merge pull request #18476 from benpicco/drivers/atwinc15x0-hang
drivers/atwinc15x0: reset device if m2m_wifi_handle_events() fails
2022-09-01 14:45:32 +02:00
benpicco
28cedd52a0
Merge pull request #18201 from benpicco/slip_dose_rxqueue
drivers/{dose, slipdev, sam0_eth}: generate RX event for queued packets
2022-08-26 13:25:13 +02:00
Jose Alamos
744cf54900
drivers/kw2xrf: remove unused kw2xrf_setup function 2022-08-25 15:44:34 +02:00
Benjamin Valentin
566935af44 drivers/atwinc15x0: add RESET state 2022-08-23 18:23:05 +02:00
MrKevinWeiss
a4bc692148
drivers/kw2xrd/Kconfig: fix kconfig model
Nightlies are currently failing as there is a difference between make
and kconfig.
This tries to match the kconfig with the makefile dep.
The only issue is the
```
ifneq (,$(filter netdev,$(USEMODULE)))
  USEMODULE += netdev_ieee802154_submac
endif
```

which may have the same effect as select
HAVE_IEEE802154_RADIO_HAL_INTERFACE.
2022-08-23 10:04:44 +02:00
Benjamin Valentin
b27cd86d2b drivers/atwinc15x0: reset device if m2m_wifi_handle_events() fails
Currently when m2m_wifi_handle_events() fails, we end up in a busy
loop and the netdev thread becomes unusable.

Instead, reset (re-init) the WiFi module if this condition occurs.
While not ideal, it's certainly an improvement to the current situation.
2022-08-19 11:36:05 +02:00
Jose Alamos
2138af65dc
kw2xrf/Kconfig: remove netdev_ieee802154 from dependency resolution 2022-08-18 14:17:53 +02:00
Marian Buschsieweke
2873976d3d
drivers/sx1280: select netdev_legacy_api in KConfig 2022-08-18 09:35:16 +02:00
Leandro Lanzieri
2dd59236c8
Merge pull request #18423 from MrKevinWeiss/pr/disable/hashchecks
.murdock: disable hash checks of kconfig/make
2022-08-17 18:30:36 +02:00
MrKevinWeiss
3e7751ab62
drivers/at25xxx: Fix kconfig model 2022-08-17 14:37:21 +02:00
MrKevinWeiss
40f4950f85
drivers/at24cxxx: Fix kconfig model 2022-08-17 14:37:21 +02:00
Marian Buschsieweke
276ad5716a
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
A if `netdev_driver_t::confirm_send()` is provided, it provides the
new netdev API. However, detecting the API at runtime and handling
both API styles comes at a cost. This can be optimized in case only
new or only old style netdevs are in use.

To do so, this adds the pseudo modules `netdev_legacy_api` and
`netdev_new_api`. As right now no netdev actually implements the new
API, all netdevs pull in `netdev_legacy_api`. If `netdev_legacy_api` is
in used but `netdev_new_api` is not, we can safely assume at compile
time that only legacy netdevs are in use. Similar, if only
`netdev_new_api` is used, only support for the new API is needed. Only
when both are in use, run time checks are needed.

This provides two helper function to check for a netif if the
corresponding netdev implements the old or the new API. (With one
being the inverse of the other.) They are suitable for constant folding
when only new or only legacy devices are in use. Consequently, dead
branches should be eliminated by the optimizer.
2022-08-17 12:56:07 +02:00
MrKevinWeiss
606402e848
drivers: Only select periph_gpio_ll_irq_unmask if needed 2022-08-16 10:57:25 +02:00
Jose Alamos
4ebcd7c055
drivers/kw2xrf: add IEEE 802.15.4 Radio HAL support
Co-authored-by: Michel Rottleuthner <michel.rottleuthner@haw-hamburg.de>
2022-08-15 12:11:03 +02:00
Jose Alamos
66edd59b0b
drivers/at86rf215: use global ACK Timeout value 2022-08-12 11:12:12 +02:00
Kevin "Tristate Tom" Weiss
98ec922c67
Merge pull request #18430 from jia200x/pr/kconfig/fix_have_ieee802154_radio_hal_interface
Kconfig/ieee802154: fix typo in HAL selector and add missing radios
2022-08-11 09:05:38 +02:00
Jose Alamos
c0dcbc247e
Kconfig/ieee802154: fix typo in hal selector 2022-08-10 13:43:04 +02:00
Gunar Schorcht
a0d8882a55 drivers/mtd: fix module name for mtd_sdcard in Kconfig 2022-08-03 08:26:59 +02:00
benpicco
307ece1bf5
Merge pull request #18391 from gschorcht/cpu/esp/fix_netdev_register
cpu/esp: fix netdev register
2022-08-02 21:38:24 +02:00
benpicco
e1e99c3bf1
Merge pull request #18108 from benpicco/drivers/dose-rxbuf
drivers/dose: make RX buffer size configurable
2022-08-02 10:51:17 +02:00
Gunar Schorcht
14dde4a835 drivers/netdev: add NETDEV_ESP_WIFI type 2022-08-02 09:33:50 +02:00
Gunar Schorcht
184e411355 drivers/netdev: add NETDEV_ESP_ETH type 2022-08-02 09:33:50 +02:00
Leandro Lanzieri
a2681a0f88
drivers/mrf24j40: model Kconfig 2022-07-28 09:32:25 +02:00
Leandro Lanzieri
4ac0025c84
drivers/at86rf215: model Kconfig 2022-07-28 09:32:25 +02:00
Leandro Lanzieri
8390641638
drivers/kw41zrf: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
c3501e8b35
drivers/kw2xrf: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
9225c4b80e
drivers/cc2420: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
7d95e9b5a9
drivers/at86rf2xx: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
eab508b4b1
drivers/netdev_ieee802154_submac: model Kconfig 2022-07-28 09:32:24 +02:00
Leandro Lanzieri
ed22d624e4
drivers/netdev: model IEEE 802.15.4 in Kconfig 2022-07-28 09:29:03 +02:00
Leandro Lanzieri
1716638792
cpu/stm32/periph_eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
88df973783
cpu/sam0_common/sam0_eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
575e58dc5b
cpu/esp32/esp-eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
065c27555b
drivers/w5100: model in Kconfig 2022-07-25 11:08:31 +02:00
Leandro Lanzieri
96de3ce511
drivers/ethos: model in Kconfig 2022-07-22 16:06:36 +02:00
Leandro Lanzieri
35aba45c1c
drivers/dose: model in Kconfig 2022-07-22 16:06:35 +02:00
Leandro Lanzieri
bc10e6ec79
drivers/encx24j600: model in Kconfig 2022-07-22 16:06:35 +02:00
Leandro Lanzieri
fa9822e6ef
drivers/enc28j60: model in Kconfig 2022-07-22 16:06:35 +02:00
Leandro Lanzieri
9a4a4ea537
drivers/netdev: model netdev_eth in Kconfig 2022-07-22 16:06:34 +02:00
benpicco
2b56495db0
Merge pull request #18353 from jan-mo/fix/20220721__drivers_lis2dh2_release_bug
drivers/lis2dh12: release instead of acquire
2022-07-21 22:00:08 +02:00
Jan Mohr
c97d6e7f26 drivers/lis2dh12: release instead of acquire 2022-07-21 15:51:01 +02:00
benpicco
8907585990
Merge pull request #18347 from jan-mo/fix/20220720__drivers_shtcx_release_i2c_line_missing
drivers/shtcx: I2C-line is not released properly
2022-07-21 12:38:50 +02:00
Jan Mohr
5e69d22840 drivers/shtcx: releases I2C-line properly 2022-07-20 17:37:33 +02:00
Gunar Schorcht
132afe3618 drivers/wx281x: fix DEBUG format string for ESP32-C3 2022-07-20 09:17:04 +02:00
benpicco
54544c0a36
Merge pull request #18131 from firas-hamdi/feat/apply_filters_to_target_mailbox
drivers/mcp2515: apply filters to target mailbox
2022-07-13 09:40:06 +02:00
Marian Buschsieweke
997f3fc1f4
Merge pull request #18305 from maribu/drivers/at86rf2xx
drivers/at86rf2xx: fix NETOPT_RANDOM
2022-07-11 17:30:06 +02:00
Leandro Lanzieri
124dd86845
drivers/kw2xrf/spi: fix documentation on return value 2022-07-11 09:25:00 +02:00
Leandro Lanzieri
98455c265d
drivers/kw2xrf: turn test mode into a submodule 2022-07-11 09:25:00 +02:00
Leandro Lanzieri
4a3231f763
drivers/kw2xrf: add setup function with global index
This index is used to register the network device.
2022-07-11 09:24:59 +02:00
MrKevinWeiss
e3ec242ecf
drivers/mrf24j40: Fix missing .h file in params 2022-07-11 09:24:59 +02:00
MrKevinWeiss
d6ba7c1428
drivers/kw2xrf: Fix missing .h file in params 2022-07-11 09:24:58 +02:00
MrKevinWeiss
34d7c0def6
drivers/cc2420: Fix missing .h file in params 2022-07-11 09:24:58 +02:00
MrKevinWeiss
659618aeeb
drivers/at86rf2xx: Fix missing .h file in params 2022-07-11 09:24:58 +02:00
MrKevinWeiss
413c263b62
drivers/at86rf215: Fix missing .h file in params 2022-07-11 09:24:54 +02:00
Marian Buschsieweke
240cf75a61
drivers/at86rf2xx: fix NETOPT_RANDOM
- fix wrong return value
- fix wrong size parameter
    - note, the behavior is a bit relaxed in that it allows
      NETOPT_RANDOM with different size than `sizeof(uint32_t)`
2022-07-11 08:05:42 +02:00
chrysn
d9879c96ca
Merge pull request #16833 from chrysn-pull-requests/rust-lib
Add some Rust library building infrastructure
2022-07-10 21:39:35 +02:00
chrysn
841e4deee5 lsm303agr: New sensor driver using external Rust crate
It is enabled by saul_default on microbit-v2.

Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
2022-07-10 21:27:12 +02:00
eduazocar
e6a7039de4 drivers/at86rf2xx: Adding Switch SRT to Random Number Generator 2022-07-03 17:44:47 -04:00
Firas Hamdi
bc0d3f9de3 drivers/mcp2515: apply the filter to a target mailbox
sys/include/can: add the mailbox target as a member to the filter structure

drivers/mcp2515: cleanup defines
2022-06-30 10:07:24 +02:00
benpicco
d9fc082686
Merge pull request #18062 from firas-hamdi/mcp2515-enable-filtering
drivers/mcp2515: enable filtering
2022-06-26 22:23:07 +02:00
Firas Hamdi
3f9866e709 drivers/mcp2515: fix to add filters
drivers/mcp2515: enable filtering

The current driver implementation initializes the driver in a way to receive all the CAN messages without matching the filters. This commit changes that by adding a macro definition that will be enabling or disabling the filtering and accordingly set the appropriate mcp2515 acceptance mode
2022-06-26 17:38:23 +02:00
benpicco
32a1c22e76
Merge pull request #18252 from gschorcht/cpu/esp32/update_ws281x
drivers/ws281x: update ESP32 driver to use ESP-IDF CPU HAL
2022-06-25 19:04:23 +02:00
Gunar Schorcht
94e7dbfa4b drivers/atwinc15x0: blacklist esp32 architecure
esp32 vendor code and atwinc15x0 both define conflicting spi_flash_{read, write} functions. esp32 already have build-in WiFi, so it's unlikely to ever use this driver - just blacklist the architecture.
2022-06-25 08:12:31 +02:00
benpicco
a7ade355da
Merge pull request #18258 from firas-hamdi/mcp2515_fix/rst_pin_valid
drivers/mcp2515: undefine rst_pin
2022-06-25 01:13:42 +02:00
Firas Hamdi
e8da4269e3 drivers/mcp2515: undefine rst_pin 2022-06-24 17:29:03 +02:00
Gunar Schorcht
e7294cd2bd drivers/ws281x: use ESP-IDF CPU HAL 2022-06-23 15:53:05 +02:00
Gunar Schorcht
24103ad58a
Merge pull request #18215 from benpicco/pkg/driver_atwinc15x0-bump
pkg/driver_atwinc15x0: bump version to 1.6.1
2022-06-20 18:48:53 +02:00
Benjamin Valentin
bede0615ad drivers/mtd: fix doc of mtd_read_page(), mtd_write_page_raw()
The function allows for offsets greater than the page size.
2022-06-20 14:59:41 +02:00
Benjamin Valentin
f8431d7623 drivers/atwinc15x0: blacklist esp8266 2022-06-19 16:53:34 +02:00
Benjamin Valentin
74b401f1eb drivers/dose: generate RX event for queued packets 2022-06-17 10:50:31 +02:00
Benjamin Valentin
86f55c5637 drivers/slipdev: generate RX event for queued packets 2022-06-17 10:50:31 +02:00
Marian Buschsieweke
c5083303f6
Merge pull request #12665 from gschorcht/drivers/hd44780_i2c_pcf857x
drivers/hd44780: PCF857x I2C interface added
2022-06-14 10:23:19 +02:00
benpicco
056b33a242
Merge pull request #18197 from gschorcht/drivers/rtt_rtc_fix_set_alarm
drivers/rtt_rtc: normalize tm struct in rtc_set_alarm
2022-06-12 18:45:05 +02:00
Gunar Schorcht
ded656a67b drivers/rtt_rtc: normalize tm struct in rtc_set_alarm 2022-06-12 15:57:04 +02:00
Benjamin Valentin
f7ab95ad97 dirvers/mtd: return early if init fails
If init fails (e.g. because an SD card was not inserted) don't
fail the `mtd->write_size != 0` assertion but instead return early.
2022-06-07 00:59:37 +02:00
Benjamin Valentin
3d8ba016ec drivers/mtd_mapper: inherit physical properties 2022-06-03 00:22:06 +02:00
benpicco
e1e2b7c5b6
Merge pull request #17601 from gschorcht/cpu/esp32/upgrade_esp-idf_v4.4
cpu/esp32: Upgrade to ESP-IDF v4.4
2022-06-02 10:18:07 +02:00
benpicco
cb5e19beb5
Merge pull request #17979 from maribu/drivers/netdev_ieee802154
drivers/netdev_ieee802154: drop duplicate struct member
2022-06-02 00:47:56 +02:00
Karl Fessel
6e41c685b2
Merge pull request #17935 from dp1/ir_nec
drivers/ir_nec: NEC remote receiver implementation
2022-06-01 13:44:51 +02:00
Gunar Schorcht
259dbc03d8 drivers/ws281x: changes for ESP-IDF 4.4 2022-06-01 13:31:00 +02:00
Dario Petrillo
18f8a476e6
drivers/ir_nec: ir remote implementation 2022-05-31 17:58:39 +02:00
benpicco
4b6da5c8e4
Merge pull request #17863 from benpicco/sam0_sdhc
cpu/samd5x: add SD Host Controller implementation
2022-05-31 15:33:24 +02:00
Benjamin Valentin
babee877ce cpu/sam0_common: add SD Host Controller implementation 2022-05-31 11:07:20 +02:00
Leandro Lanzieri
ca85b4f5ad
drivers/st7735/kconfig: add hardware feature symbol 2022-05-24 17:45:58 +02:00
Fabian Hüßler
477a86022f drivers/mtd: move write_size assertion after init call 2022-05-23 19:46:46 +02:00
Marian Buschsieweke
16f859dafd
drivers/saul: use const qualifier for data to write
This makes life easier when calling e.g. `saul_reg_write()` with data
stored in flash.

As now the signatures for reading and writing differ (in that `const`
qualifier only), `saul_notsup()` is split into `saul_write_notsup()`
and `saul_read_notsup()`. However, one is implemented as a symbol alias
of the other, so that ROM consumption remains unchanged.
2022-05-23 08:35:27 +02:00
chrysn
dc7bc9f854
Merge pull request #17683 from chrysn-pull-requests/mtd-granularity
mtd: Introduce write granularity
2022-05-20 11:52:03 +02:00
Francisco
37da85f047
Merge pull request #18033 from thingsat/pr/sx1280_v2
drivers/sx1280: add driver for SX1280 transceiver v2
2022-05-18 22:10:38 +02:00
Aymeric Brochier
09ca09adbf drivers/sx1280: initial import 2022-05-18 17:06:12 +02:00
benpicco
5fd88e1d35
Merge pull request #17889 from benpicco/drivers/atwinc15x0-fix_sleep
drivers/atwinc15x0: disconnect when sleeping
2022-05-18 16:27:34 +02:00
benpicco
260c59e6a2
Merge pull request #17914 from benpicco/drivers/at86rf215-non-blocking
drivers/at86rf215: make at86rf215_blocking_send a DEFAULT_MODULE
2022-05-17 11:14:48 +02:00
Benjamin Valentin
d0ca6294ea drivers/dose: make RX buffer size configurable
To benefit from the chunked ringbuffer if large frames are being sent,
we need to allocate more than one ethernet frame length to it.

Rename the define and make it overwriteable by the user.
2022-05-15 14:43:47 +02:00
Benjamin Valentin
37159fe4d9 drivers/atwinc15x0: make use of wake pin 2022-05-12 00:29:28 +02:00
Benjamin Valentin
14121a5298 drivers/atwinc15x0: fix DEBUG() macro 2022-05-12 00:29:28 +02:00
Benjamin Valentin
71bfc3a1ca drivers/atwinc15x0: disconnect when sleeping
Don't try to re-connect when the interface is in SLEEP state.
Also disconnect before entering sleep.
2022-05-12 00:29:28 +02:00
Benjamin Valentin
9ea5e58774 drivers: drop NETOPT_RX_END_IRQ 2022-05-11 23:44:24 +02:00
Marian Buschsieweke
bae91c1660
Merge pull request #17723 from benpicco/periph_timer_periodic-set_stopped
drivers/periph/timer: add TIM_FLAG_SET_STOPPED flag
2022-05-03 12:06:37 +02:00
Daniel Lockau
257ffdb442 drivers/mcp2515: fix set bittiming
- apply hardware dependent parameters to bittiming struct before
  reinitializing the hardware with the new parameter set
2022-05-02 14:04:52 +02:00
Benjamin Valentin
4b5858bc7f drivers/dose: make use of TIM_FLAG_SET_STOPPED 2022-04-29 22:33:07 +02:00
Marian Buschsieweke
1fd4d41d76
driver/netdev_ieee802154: Make timestamp optional
Also remove duplicate struct member.
2022-04-22 14:33:56 +02:00
Marian Buschsieweke
f881ad3f90
drivers/Kconfig: split netdev Kconfig to drivers/netdev 2022-04-22 14:33:50 +02:00
Marian Buschsieweke
23855e140e
drivers: Add periph/gpio_ll API
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: chrysn <chrysn@fsfe.org>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2022-04-22 08:39:04 +02:00
56359d6fb1
Merge pull request #17930 from aabadie/pr/drivers/lcd_rotation_rework
drivers/lcd: rework rotation management and enable it for st7735
2022-04-21 14:31:49 +02:00