1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-24 22:13:52 +01:00

1983 Commits

Author SHA1 Message Date
crasbe
59f9b5c46a tests/drivers: add dedicated hd44780_i2c test 2025-08-01 08:56:57 +02:00
Gunar Schorcht
62aa9c9577 drivers/netdev: add ESP32x IEEE802.15.4 2025-07-15 14:35:31 +02:00
Teufelchen1
b45010e6f2 drivers/dht: Remove deprecated enum 2025-07-14 12:49:12 +02:00
Teufelchen
b2406da63f
Merge pull request #21418 from Teufelchen1/feat/slipmux_c
drivers/slipmux: Add to RIOT
2025-07-07 09:50:29 +00:00
Teufelchen1
166ffcb027 driver/slip: Add slipmux frames 2025-07-02 12:12:53 +02:00
Gunar Schorcht
b562cbac06
Merge pull request #21498 from dpproto/21362-add-driver-max31865
drivers: add driver for MAX31865 resistance-to-digital converter
2025-06-27 12:01:26 +00:00
David Picard
ee65ab5687 drivers/max31865: add SAUL support 2025-06-27 09:28:25 +02:00
David Picard
c3a14457f3 drivers/max31865: implement the driver
Implement the driver for the MAX31865 RTD-to-digital converter.
2025-06-27 09:28:25 +02:00
crasbe
8b9ae18b0a
Merge pull request #21521 from benpicco/pkg/driver_sx126x-bump
pkg/driver_sx126x: bump to v2.3.2
2025-06-04 22:08:21 +00:00
crasbe
6210aff940 drivers/gpio: fix doc for gpio_irq_enable 2025-06-04 19:22:33 +02:00
crasbe
8c99719f0d drivers/gpio_ll: Add doc about gpio_get_port and gpio_get_pin_num 2025-06-04 19:22:33 +02:00
Benjamin Valentin
00c875b951 pkg/driver_sx126x: don't rename vendor files 2025-06-02 14:09:52 +02:00
Gunar Schorcht
3a81390b2a drivers/sdmmc: add additional debugging info 2025-05-28 18:05:53 +02:00
Marian Buschsieweke
cac44edec7
tree-wide: replace multiple empty lines with one
For each C source/header `$file`: `sed -e '/^$/N;/^\n$/D' -i $file`.
2025-05-21 22:51:04 +02:00
crasbe
876792e489
Merge pull request #10688 from gschorcht/drivers_mcp23x17
drivers: add MCP23x17 I/O expander support
2025-05-19 19:15:47 +00:00
Gunar Schorcht
f8585d81c7 drivers/mcp23x17: add support for MCP23x17 I/O expanders 2025-05-19 16:42:14 +02:00
KSKNico
7a6b83a40c drivers: replace header guards with #pragma once 2025-05-16 19:33:04 +02:00
benpicco
8a6bb51adb
Merge pull request #20992 from benpicco/netdev_ieee802154_submac-new_api
drivers/netdev_ieee802154_submac: port to netdev_new_api
2025-05-12 16:11:18 +00:00
David Picard
d2f8d4df22 drivers/abp2: driver for SPI sensors, prepare for I2C
Honeywell ABP2 pressure sensors series.
Implement all sensors features, only supporting the SPI version
of the sensor.
Prepare future support for the I2C interface by emphasizing where
to implement the code that will support the I2C bus version.
2025-05-04 10:28:58 +02:00
Marian Buschsieweke
4ce7ab2133
tree-wide: fix documentation issues
This should fix compilation with -Wdocumentation on LLVM.
2025-04-10 13:37:13 +02:00
Marian Buschsieweke
e5d2321fc2
Merge pull request #21392 from crasbe/pr/sen5x_fixup
driver/sen5x: Small Fixups
2025-04-08 18:20:16 +00:00
crasbe
832edbf11c drivers/sen5x: change header guard to #pragma once 2025-04-08 18:37:14 +02:00
mguetschow
3b470956aa
Merge pull request #21386 from mguetschow/deprecated-mtd-dev
drivers/mtd_default: remove deprecated `mtd_default_get_dev()`
2025-04-08 14:53:35 +00:00
crasbe
87352ee72d
Merge pull request #19955 from dprigoshij/sen5x
drivers/sen5x: Add device driver for SEN5x
2025-04-08 13:21:57 +00:00
Mikolai Gütschow
23d7f99f2b
drivers/mtd_default: remove deprecated mtd_default_get_dev()
use `mtd_dev_get()` instead

deprecated in https://github.com/RIOT-OS/RIOT/pull/20078
2025-04-08 15:05:34 +02:00
Daniel Prigoshij
0fd9959fbb tests/driver_sen5x: Added a test case for the SEN5X driver 2025-04-08 11:22:15 +02:00
Daniel Prigoshij
0eb1d9bca4 pkg/driver_sen5x: Implemented dedicated package for the sen5x driver 2025-04-08 11:22:06 +02:00
Marian Buschsieweke
db0be36345
tree-wide: mixed back of documentation fixes
This fixes a number of documentation issues that LLVM/clang would flag
with `-Wdocumentation`.
2025-04-07 15:59:13 +02:00
Daniel Prigoshij
3aa960ea01 drivers/sen5x: SAUL functionality imlemented 2025-04-07 13:21:30 +02:00
fabian18
d3d9afc9c5
Merge pull request #21365 from fabian18/pr/lis2dh12_int32_lis2dh12_wait_event
drivers/lis2dh12: int32_t lis2dh12_wait_event()
2025-04-06 12:22:12 +00:00
Fabian Hüßler
482750a67e drivers/lis2dh12: int32_t lis2dh12_wait_event() 2025-04-06 13:43:07 +02:00
Daniel Prigoshij
fadeafdf85 drivers/sen5x: added dedicated driver for the SEN5x 2025-04-04 13:27:04 +02:00
Marian Buschsieweke
1ff982a664
tree wide: various doc fixes
This fixes a batch of incorrect Doxygen comments that building with
LLVM/clang and `-Wdocumentation` uncovered.
2025-04-04 11:44:53 +02:00
Marian Buschsieweke
17d2516a54
Merge pull request #20581 from maribu/timer_get_closest_freq
drivers/periph_timer: add `timer_get_closest_freq()`
2025-04-02 14:45:14 +00:00
Marian Buschsieweke
5b600d3a8e
drivers/periph_timer: add timer_get_closest_freq
Add an API to search for the frequency supported by a timer that
is closest to the given target frequency.

This is in fact non-trivial to get right, as pre-scaler registers can
be 16 bit or even 32 bit in size, making a naive loop over all possible
pre-scalers too expensive (computationally).

Co-authored-by: mguetschow <mikolai.guetschow@tu-dresden.de>
2025-04-02 16:21:07 +02:00
Marian Buschsieweke
48162bd0a6
Merge pull request #21325 from KSKNico/clang-format-header-fix
treewide: fixing order of doxygen tags and header guards
2025-03-28 16:45:02 +00:00
KSKNico
d357f5388b drivers/include: applied the script to the driver headers 2025-03-28 17:09:07 +01:00
mguetschow
d2fbe23e78
Merge pull request #21112 from KSKNico/tm1637
drivers/tm1637: add driver and tests for tm1637 7-segment display
2025-03-25 13:49:02 +00:00
KSKNico
cccce720e3 drivers/tm1637: driver for the tm1637 7-segment display 2025-03-18 16:53:36 +01:00
krzysztof-cabaj
a2dfd78b27 treewide: fix double the in doc and comments 2025-02-18 13:25:02 +01:00
benpicco
837bc0c5ed
Merge pull request #20428 from cogip/fdcan
can: add CAN FD support to STM32G4 and native architecture
2025-02-10 16:31:39 +00:00
Marian Buschsieweke
a82573558d
drivers/periph_{i2c,spi}: fix doc on initialization
Both SPI and I2C peripheral drivers *MUST NOT* be initialized by the
application code / (non-peripheral) device driver, as this is done
automatically be default. Some peripheral drivers have a non-idempotent
initialization and initializing them twice will break things.

Sadly, the doc states the exact opposite.

This updates the documentation to match the implementation. In addition
the special case is pointed out of disabling the automatic
initialization during boot, in which case the app indeed has to do the
initialization.
2025-02-04 09:22:40 +01:00
Gilles DOFFE
f05fc0c70f can: introduce loop_delay
During the data phase of a FDCAN transmission only one node is
transmitting, all others are receivers. The length of the bus line has
no impact.
When transmitting via pin FDCAN_TX the protocol controller receives the
transmitted data from its local CAN transceiver via pin FDCAN_RX. The
received data is delayed by the CAN transceiver loop delay.
If this delay is greater than TSEG1 (time segment before sample point),
a bit error is detected. Without transceiver delay compensation, the bit
rate in the data phase of a FDCAN frame is limited by the transceiver's
loop delay.

Since this parameter is related to the transceiver used, there cannot be
a default value, and it must be explicitly defined with the
configuration variable CONFIG_FDCAN_DEVICE_TRANSCEIVER_LOOP_DELAY.

Signed-off-by: Gilles DOFFE <gilles.doffe@rtone.fr>
2025-01-29 20:51:23 +01:00
Gilles DOFFE
3c026569f6 can: add CAN FD configuration
Add CAN FD specifities to CAN system library in RIOT:
* 64 bytes payload
* Bit rate switching
* Error State Indicator

Signed-off-by: Gilles DOFFE <gilles.doffe@rtone.fr>
2025-01-29 20:51:23 +01:00
Gilles DOFFE
f6f6f6973c can: introduce typedef can_frame_t
Whole CAN code in RIOT is using 'struct can_frame' to represent a CAN
frame.
However incoming CAN FD support will bring 'struct canfd_frame' to
represent CAN FD frames.
Even if the 'struct canfd_frame' has additional flags and a bigger
payload, it is aligned on 'struct can_frame' and thus they can be
referenced by the same pointers in the code.

As it is impossible to predict which one will be used in RIOT, just
define a new type 'can_frame_t' which will map to the right struct
according to the MCU CAN supported format.

Signed-off-by: Gilles DOFFE <gilles.doffe@rtone.fr>
2025-01-29 20:51:22 +01:00
Marian Buschsieweke
e1cfa0b2db
drivers/periph_uart: document acquire/release semantic
The UART API has not spelled out what happens when `uart_init()` is
called twice. This adds precise language that states that
acquire/release semantic is to be expected from the caller. Hence,
a caller needs to call `uart_poweroff()` before reconfiguring the UART
with a second call `uart_init()` for the same UART interface.

In practise, few apps will ever reconfigure the symbol rate. So the
impact is rather low.

However: This API now allows drivers to implement sharing of a serial
peripheral that can provide multiple interfaces (e.g. UART, SPI, I2C,
etc.). It would require some cooperation from the code that does use
the UART to actually release the UART again after each transaction;
something that will only work when RX data is only expected at
known points in time (e.g. in response to a request, or never in case
of TX only stdio). But still, this can mean the difference between
a use case becoming feasible on an MCU with a low number of serial
peripherals or not.
2025-01-24 16:46:24 +01:00
Benjamin Valentin
ca35c7f871 drivers/netdev: fix documentation of netdev_new_api 2024-12-23 21:59:21 +01:00
Benjamin Valentin
a953ae9d9f drivers/netdev_ieee802154_submac: port to netdev_new_api 2024-12-22 17:07:04 +01:00
Martine S. Lenders
9ad6abb081
saul: initial import of saul_bat_voltage module 2024-11-22 18:42:04 +01:00
benpicco
2bce94a7c7
Merge pull request #21012 from benpicco/netdev_new_api-relax
netdev_new_api: allow `.send()` to return > 0 to signal synchronos send
2024-11-20 22:28:26 +00:00