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

4222 Commits

Author SHA1 Message Date
bors[bot]
f341ad6c9c
Merge #17045 #19243
17045: sys/coding: add XOR based coding module r=benpicco a=benpicco



19243: cpu/gd32v: add periph_gpio_ll and periph_gpio_ll_irq support r=benpicco a=gschorcht

### Contribution description

This PR provides the `periph_gpio_ll` and `periph_gpio_ll_irq` support for GD32VF103. Level triggered interrupts are emulated.

`periph_gpio_ll_irq` could be split off from this PR as a separate PR if necessary.

### Testing procedure

Use any GD32V board and connect PA0 -> PB0 and PA1 -> PB1 where PA is the output port and PB the input port. With these connections `tests/periph_gpio_ll` should work.
```
BOARD=sipeed-longan-nano make -j8 -C tests/periph_gpio_ll flash term
```

If necessary, change the input and output pins by setting the environment variables and connect the corresponding pins, for example for `seeedstudio-gd32` PA1 -> PB8 and PA8 -> PB9:
```
PIN_OUT_0=1 PIN_OUT_1=8  PIN_IN_0=8 PIN_IN_1=9 BOARD=seedstudio-gd32 make -j8 -C tests/periph_gpio_ll flash term
```

### Issues/PRs references


Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-07 17:39:20 +00:00
Gunar Schorcht
7e0d1df9c3 drivers/usbdev_synopsys_dwc2: add config type for GD32V 2023-02-07 00:49:42 +01:00
Benjamin Valentin
44476137e3 mtd: add fast path to mtd_write_page()
If we overwrite a whole sector, don't perform a read-modify-write cycle.
2023-02-06 15:46:34 +01:00
Benjamin Valentin
6f9dd8cf86 drivers/mtd_sdcard: add mtd_sdcard_default module 2023-02-05 19:03:09 +01:00
Gunar Schorcht
5217bc84a7 drivers/periph/gpio_ll: small doc fixes 2023-02-04 11:33:44 +01:00
bors[bot]
f3a487b5e4
Merge #12509
12509: black/white e-Paper/e-Ink display driver r=bergzand a=silkeh



Co-authored-by: Silke Hofstra <silke@slxh.eu>
2023-02-04 09:57:17 +00:00
bors[bot]
0fb6a09598
Merge #18903
18903: pkg/tinyusb: add tinyUSB netdev driver r=dylad a=gschorcht

### Contribution description

This PR adds the tinyUSB netdev driver.

The tinyUSB netdev driver is part of the tinyUSB package and is enabled by module `tinyusb_netdev`. It is available for boards that provide the `tinyusb_device` feature.

**Please note** Since the tinyUSB package is distinct from (and incompatible with) the USB stack provided around USBUS in RIOT (see USB), the tinyUSB netdev driver cannot be used together with with any USBUS device class.

The tinyUSB netdev driver uses Ethernet over USB and supports the following protocols:
- CDC ECM (Ethernet Control Model)
- CDC NCM (Network Control Model)
- RNDIS (Microsoft Remote NDIS)

While Linux and macOS support all these protocols, Microsoft Windows only supports the RNDIS protocol and since Windows version 11 also the CDC NCM protocol. macOS supports the RNDIS protocol since version 10.15 (Catalina).

Which protocol is used is selected by the corresponding pseudomodules `tinyusb_class_net_cdc_ecm`, `tinyusb_class_net_cdc_ncm` and `tinyusb_class_net_rndis`.

The CDC ECM protocol (`tinyusb_class_net_cdc_ecm`) and the RNDIS protocol (`tinyusb_class_net_rndis`) can be used simultaneously to support all operating systems, for example :
```
USEMODULE='tinyusb_netdev tinyusb_class_net_rndis tinyusb_class_net_cdc_ecm' \
BOARD=... make -C ... flash
 ```
In this case, the CDC ECM protocol is the default protocol and the RNDIS protocol the alternative protocol defined as second device configuration. The CDC NCM protocol cannot be used together with the CDC ECM or the RNDIS protocol.

This PR includes PR #18983 for now to be compilable. 

Comparison with USBUS CDC ECM (`nucleo-f767zi` board):
```
   text	   data	    bss	    dec	    hex	filename
  65916	    596	  18728	  85240	  14cf8	tests_pkg_tinyusb_netdev.elf
```
```
   text	   data	    bss	    dec	    hex	filename
  63120	    544	  15444	  79108	  13504	tests_usbus_cdc_ecm.elf

```

### Testing procedure

Use a board that is supported by tinyUSB. Compile and flash the test application for each protocol:

1. RNDIS
    ```
    BOARD=... make -j8 -C tests/pkg_tinyusb_netdev flash
    ```
2. CDC ECM
    ```
    CLASS=tinyusb_class_net_cdc_ecm BOARD=... make -j8 -C tests/pkg_tinyusb_netdev flash
    ```
3. CDC NCM
    ```
    CLASS=tinyusb_class_net_cdc_ncm BOARD=... make -j8 -C tests/pkg_tinyusb_netdev flash
    ```
For each test, a network interface should be added on the host. Use command `ifconfig` on USB device and on the host and check that both have a link local address. In syslog there should be an output like the following:
<details>

```
Nov 13 18:14:46 gunny8 kernel: [4611465.480025] usb 1-2.2: new full-speed USB device number 28 using xhci_hcd
Nov 13 18:14:47 gunny8 kernel: [4611465.581641] usb 1-2.2: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
Nov 13 18:14:47 gunny8 kernel: [4611465.581646] usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov 13 18:14:47 gunny8 kernel: [4611465.581650] usb 1-2.2: Product: nucleo-f767zi
Nov 13 18:14:47 gunny8 kernel: [4611465.581653] usb 1-2.2: Manufacturer: RIOT-os.org
Nov 13 18:14:47 gunny8 kernel: [4611465.581654] usb 1-2.2: SerialNumber: 6591620BCB270283
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.1066] manager: (usb0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/528)
Nov 13 18:14:47 gunny8 kernel: [4611465.594604] rndis_host 1-2.2:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-2.2, RNDIS device, fa:db:7c:1b:58:80
Nov 13 18:14:47 gunny8 mtp-probe: checking bus 1, device 28: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2"
Nov 13 18:14:47 gunny8 mtp-probe: bus: 1, device: 28 was not an MTP device
Nov 13 18:14:47 gunny8 systemd-udevd[17796]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 kernel: [4611465.643852] rndis_host 1-2.2:1.0 enp0s20f0u2u2: renamed from usb0
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:usb0 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00001002
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.1833] device (usb0): interface index 508 renamed iface from 'usb0' to 'enp0s20f0u2u2'
Nov 13 18:14:47 gunny8 upowerd[2845]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.1
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2037] device (enp0s20f0u2u2): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnetBridge: Adding interface enp0s20f0u2u2 index:508
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2075] device (enp0s20f0u2u2): carrier: link connected
Nov 13 18:14:47 gunny8 upowerd[2845]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2129] settings: (enp0s20f0u2u2): created default wired connection 'Kabelgebundene Verbindung 2'
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <warn>  [1668359687.2142] device (enp0s20f0u2u2): connectivity: "/proc/sys/net/ipv4/conf/enp0s20f0u2u2/rp_filter" is set to "1". This might break connectivity checking for IPv4 on this device
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2151] device (enp0s20f0u2u2): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 upowerd[2845]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2
Nov 13 18:14:47 gunny8 systemd-udevd[17796]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2403] policy: auto-activating connection 'Kabelgebundene Verbindung 2' (0b1ae45e-c76e-3efb-a2cd-138ca2b2a59c)
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2414] device (enp0s20f0u2u2): Activation: starting connection 'Kabelgebundene Verbindung 2' (0b1ae45e-c76e-3efb-a2cd-138ca2b2a59c)
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2419] device (enp0s20f0u2u2): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2429] device (enp0s20f0u2u2): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2440] device (enp0s20f0u2u2): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Nov 13 18:14:47 gunny8 NetworkManager[24229]: <info>  [1668359687.2445] dhcp4 (enp0s20f0u2u2): activation: beginning transaction (timeout in 45 seconds)
Nov 13 18:14:47 gunny8 vmnetBridge: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 vmnet-natd: RTM_NEWLINK: name:enp0s20f0u2u2 index:508 flags:0x00011043
Nov 13 18:14:47 gunny8 avahi-daemon[1464]: Joining mDNS multicast group on interface enp0s20f0u2u2.IPv6 with address fe80::dba4:adb8:9ffe:d93e.
Nov 13 18:14:47 gunny8 avahi-daemon[1464]: New relevant interface enp0s20f0u2u2.IPv6 for mDNS.
Nov 13 18:14:47 gunny8 avahi-daemon[1464]: Registering new address record for fe80::dba4:adb8:9ffe:d93e on enp0s20f0u2u2.*.
Nov 13 18:14:47 gunny8 kernel: [4611465.895046] userif-1: sent link down event.
Nov 13 18:14:47 gunny8 kernel: [4611465.895052] userif-1: sent link up event.
```

</details>

Ping from and to the host.

### Issues/PRs references

Depends on PR https://github.com/RIOT-OS/RIOT/pull/18983

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-02-03 09:32:29 +00:00
Gunar Schorcht
9897dcc5bb Kconfig: integration of VL6180X driver and test app 2023-02-02 02:04:09 +01:00
Gunar Schorcht
afb5e043be drivers/vl6180x: add SAUL integration 2023-02-02 02:04:09 +01:00
Gunar Schorcht
51bf9d4d7d drivers/vl6180x: driver for VL6180X ranging and ALS 2023-02-02 02:04:09 +01:00
Gunar Schorcht
5a270fe521 drivers/netdev: add tinyUSB netdev 2023-02-01 21:57:23 +01:00
bors[bot]
718e4a8340
Merge #16782 #19201
16782: drivers/mfrc522: add new driver r=benpicco a=HendrikVE

### Contribution description

This PR adds support for the MFRC522. It is quite common in the Arduino world and it is quite cheap. The driver connects to the MFRC522 via SPI and is heavily based on the Arduino driver available [here](https://github.com/miguelbalboa/rfid). Basically it was ported, but with several improvements in readability and documentation.

### Testing procedure

The given (manual) test provides single commands for some driver functions.

19201: cpu/gd32v: add periph_i2c support r=benpicco a=gschorcht

### Contribution description

This PR provides the `periph_i2c` support and is one of a bunch of PRs that complete the peripheral drivers for GD32VF103.

The driver is a modified version of the driver for STM32F1 with some changes that were necessary to get it working on GD32V. As  for STM32F1, the driver is using polling instead of interrupts for now. It will be implemented interrupt-driven later.

### Testing procedure

`tests/periph_i2c` as well as a test with any I2C sensor should work. The driver was tested with `tests/driver_l3gxxxx` and `tests/driver_bmp180`.

### Issues/PRs references


Co-authored-by: Hendrik van Essen <hendrik.ve@fu-berlin.de>
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2023-01-31 23:15:41 +00:00
Hendrik van Essen
cdefa6934c drivers/mfrc522: add new driver 2023-01-31 21:05:07 +01:00
Silke Hofstra
6cb8356eb2 epd_bw_spi: add implementation for disp_dev 2023-01-31 19:50:11 +01:00
Silke Hofstra
f4791a0280 epd_bw_spi: add generic black and white SPI e-Paper display driver
Add an initial implementation of a generic driver for black and white
e-paper displays. Includes parameters for the IL3829 display controller.
2023-01-31 19:50:11 +01:00
bors[bot]
fcf63cf5e3
Merge #19217
19217: drivers/at86rf2xx: set netdev channel on init r=kaspar030 a=jia200x



Co-authored-by: Jose Alamos <jose@alamos.cc>
2023-01-30 17:57:55 +00:00
Jose Alamos
6ef2b17e54
drivers/at86rf2xx: set netdev channel on init 2023-01-30 18:37:58 +01:00
MrKevinWeiss
56947834f9
boards/sx126x: make MODULE_SX126X_RF_SWITCH hidden in kconfig
It turns out this is really a board specific setting and should always and only be used when the onboard module is being used...
2023-01-25 08:47:26 +01:00
MrKevinWeiss
bb0efa89d1
drivers/sx126x: Fix kconfig modeling 2023-01-24 11:12:33 +01:00
bors[bot]
d11a358b1d
Merge #18472 #19175
18472: drivers/mrf24j40: add support for IEEE 802.15.4 Radio HAL r=benpicco a=jia200x



19175: drivers/periph_common/flashpage: fix silent error r=benpicco a=Enoch247

### Contribution description

This patch removes a test that silently hides failed writes to NULL. Instead, assert is used to ensure that the address is not NULL.


### Testing procedure

I am not certain how to update the tests to catch asserts. If this is possible, I will add a test, if someone will point me to a good example to learn from.


### Issues/PRs references

- none


Co-authored-by: Jose Alamos <jose@alamos.cc>
Co-authored-by: Joshua DeWeese <jdeweese@primecontrols.com>
2023-01-19 18:17:13 +00:00
Joshua DeWeese
bbe9103944 drivers/periph_common/flashpage: fix silent error
This patch removes a test that silently hides failed writes to NULL.
Instead, assert is used to ensure that the address is not NULL.
2023-01-19 11:00:40 -05:00
Jose Alamos
c5b4620679
drivers/nrfmin: fix dependency resolution 2023-01-19 15:34:18 +01:00
Jose Alamos
91a299cb7d
drivers/mrf24j40: add support for IEEE 802.15.4 Radio HAL 2023-01-19 15:31:06 +01:00
21ac46c89d
matrix_keypad: use gpio_is_valid
Bit of future proofing this module and use gpio_is_valid instead of
GPIO_UNDEF everywhere
2023-01-17 11:03:01 +01:00
b5af66cdd8
matrix_keypad: Fix memcpy bug in initialization 2023-01-17 11:00:30 +01:00
Benjamin Valentin
b8a6988e79 drivers/wdt: add periph_wdt_auto_start for early watchdog
Add an option to enable the watchdog early to detect hangs during
initialisation.
2023-01-14 23:21:24 +01:00
bors[bot]
fb603f2660
Merge #18459 #18724 #19081 #19082 #19136
18459: makefiles/suit: make it possible to accept multiple SUIT keys r=miri64 a=benpicco



18724: nanocoap_sock: implement DTLS socket r=miri64 a=benpicco



19081: sys/stdio_udp: add stdio over UDP r=benpicco a=benpicco



19082: core/init: add early_init() r=benpicco a=benpicco



19136: CI: re-add "synchronize" event to check-labels r=miri64 a=kaspar030



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2023-01-13 13:50:55 +00:00
Benjamin Valentin
81625fd5f2 doc: sort all stdio implementations into sys_stdio group 2023-01-13 11:08:22 +01:00
bors[bot]
385569c7bf
Merge #17810 #18348 #19120
17810: drivers/slipdev: implement sleep states r=benpicco a=benpicco



18348: sys/net/gnrc/pktbuf_static: make use of alignas() r=maribu a=maribu

### Contribution description

Since we are now using C11, we can make use of `alignas()` provided by `<stdalign.h>` to make the alignment code easier to read.

### Testing procedure

I didn't expect this to change binaries, but is safes 4 bytes. `elf_diff` shows that the compiler (at least GCC 11.3.0) was not able to detect that `gnrc_pktbuf_static_buf` was just an alias for `_pktbuf_buf`. That makes sense since it would be hard without LTO to rule out external writes to `gnrc_pktbuf_static_buf`, unless one would have added a `const` (to the pointer, not to the data the pointer points to).

The [output of `elf_diff`](https://mari-bu.de/pr_18348_gnrc_pktbuf_static_elf_diff.html) looks otherwise quite unscary.

Also:

```
$ make BOARD=nucleo-f767zi -C tests/unittests/ tests-pktbuf flash test
make: Entering directory '/home/maribu/Repos/software/RIOT/tests/unittests'
Building application "tests_unittests" for "nucleo-f767zi" with MCU "stm32".
[...]
Welcome to pyterm!
Type '/exit' to exit.
READY
s
START
.............................................
OK (45 tests)

make: Leaving directory '/home/maribu/Repos/software/RIOT/tests/unittests'
```

### Issues/PRs references

None

19120: CI: seperate check-labels and check-commits workflows r=maribu a=kaspar030



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2023-01-10 15:44:57 +00:00
Benjamin Valentin
bb084612f5 drivers/slipdev: implement sleep states 2023-01-10 12:24:30 +01:00
Benjamin Valentin
59f067171f core/init: call vfs_bind_stdio() in early_init() 2023-01-08 22:26:13 +01:00
Benjamin Valentin
092b235845 core/init: add early_init()
Add a function to initialize LEDs and UART in early boot.
2023-01-08 22:25:10 +01:00
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
Francisco Molina
02ce15b2e9 drivers/scard_spi: _dyn_spi_rxtx_byte return void
Both _sw_spi_rxtx_byte and _hw_spi_rxtx_byte return always 1, so
having a return value and checking for it does not make sense,
instead return void and remove the checks
2022-04-20 14:54:36 +02:00
df95c6ca83
Merge pull request #17945 from fjmolinas/pr_mcp2515_cleanups
drivers/mcp2515: fixes and cleanups
2022-04-20 10:42:08 +02:00
Francisco Molina
6959f5eb78 drivers/mcp2515: use ztimer 2022-04-20 09:23:50 +02:00
85ba0597f7
drivers/lcd: rework rotation modes and enable it with st7735 2022-04-19 16:22:10 +02:00
646fb1135a
Merge pull request #17925 from aabadie/pr/drivers/lcd_params_rework
drivers/lcd: slightly rework params to expose offset values to ili9341 driver
2022-04-19 16:21:42 +02:00
Francisco Molina
babaa6ec4a drivers/mcp2515/candev_mcp2515: remove Illegal ID error
0x1fffffff marks and extended can id.
2022-04-19 15:57:57 +02:00
Francisco Molina
cd21bc00da drivers/candev_mcp2515: set default bitrate to 500kbps 2022-04-19 15:56:45 +02:00
Francisco Molina
c07514ad3f drivers/mcp2515: allow for can_mask == 0, promiscuos
can_mask = 0 is a valid value to reaceive all frames
2022-04-19 15:56:45 +02:00
Francisco Molina
3084928151 drivers/mcp2515: support no rst_pin 2022-04-19 15:56:44 +02:00
Francisco Molina
0c526f12c6 driver/mcp2515: clear irq masks after read
This fixes a bug where it triggers twice on e.g. tx isr
2022-04-19 15:55:29 +02:00
63b25483c9
Merge pull request #17921 from aabadie/pr/drivers/disp_dev_coordinates
drivers/disp_dev: use struct to store display area coordinates
2022-04-19 12:48:12 +02:00
718b1e350d
Merge pull request #17459 from aabadie/pr/drivers/cst816s_enh
drivers/cst816s: add touch_dev interface + add Kconfig + migrate to ztimer
2022-04-19 11:43:34 +02:00
benpicco
b7c68a2c69
Merge pull request #17940 from fjmolinas/pr_stdio_ethos_missing_include
drivers/ethos: add missing vfs include
2022-04-14 16:24:54 +02:00
dbc59aa75b
drivers/cst816s: use gpio_is_valid where appropriate 2022-04-14 11:31:36 +02:00
a2fc925a0e
drivers/cst816s: add touch_dev interface 2022-04-14 11:31:35 +02:00
b1ac9e124d
drivers/cst816s: add Kconfig 2022-04-14 11:31:35 +02:00
d3330e1813
drivers/cst816s: migrate to ztimer 2022-04-14 11:31:34 +02:00
Francisco Molina
9473f88e3a drivers/ethos: add missing vfs include 2022-04-14 08:36:27 +02:00