1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/include/periph
Marian Buschsieweke a6b459eff3
drivers/periph/gpio_ll: change gpio_ll_switch_dir API
It turns out that the feature to switch the GPIO direction quickly
is not only a way to emulate open drain / open source mode for less
sophisticated GPIO peripherals that do not natively support it.
It also enables tri-state output (push-pull high, push-pull low,
high impedance), which is useful e.g. for driven charlieplexed LEDs
quickly.

This changes the API by introducing a `gpio_ll_prepare_switch_dir()`
function that prepares the value used to identify which pins should
be switched to input or to output mode. This is useful for GPIO
peripherals in which the GPIO mode register does not allocate one bit
per pin (so that only the direction is given there), such as the one
for STM32. This allows an STM32 implementation in which preparing the
bitmask needed to modify the direction of pins is not trivial.
2024-08-08 16:22:36 +02:00
..
pio cpu/rpx0xx: Add PIO I2C implementation 2023-05-23 08:49:37 +02:00
adc.h periph/adc: introduce periph_adc_continous 2023-11-10 12:10:49 +01:00
can.h tests/conn_can: build stm32 CAN drivers 2019-04-03 11:12:46 +02:00
cpuid.h drivers/periph/cpuid: Fix typo in doc 2020-05-14 16:53:05 +02:00
dac.h drivers/periph: use uint_fast8_t as default type 2021-11-18 10:29:50 +01:00
doc.txt drivers/periph: Add documentation on thread safety and initialization 2023-09-05 09:40:12 +02:00
eeprom.h drivers/include/periph/eeprom: Changed uint8_t* to void* in API 2019-08-09 17:27:32 +02:00
flashpage.h Revert "periph/flashpage: extend API" 2024-04-04 17:57:40 +02:00
freqm.h drivers/include: add header definition for freqm 2023-11-23 20:37:52 +01:00
gpio_ll_irq.h drivers/periph_gpio_ll_irq: make support for both edges optional 2024-08-02 13:41:36 +02:00
gpio_ll.h drivers/periph/gpio_ll: change gpio_ll_switch_dir API 2024-08-08 16:22:36 +02:00
gpio_util.h periph: fix periph/gpio_util.h header guards 2019-11-23 22:39:40 +01:00
gpio.h drivers/periph/gpio: state that interrupt callback must not be NULL 2021-10-19 21:26:50 +02:00
hwrng.h many typo fixes 2019-11-23 22:39:07 +01:00
i2c.h drivers/periph/i2c: i2c_acquire() returns void 2021-11-29 06:35:25 +01:00
init.h drivers/periph: Add documentation on thread safety and initialization 2023-09-05 09:40:12 +02:00
pio.h cpu/rpx0xx: Add PIO implementation 2023-05-23 08:49:37 +02:00
pm.h drivers/*: remove unused assert.h include 2020-10-22 11:29:27 +02:00
ptp.h drivers/periph_ptp: fix adjustment API 2021-02-10 09:55:52 +01:00
pwm.h boards,sys/arduino: major clean up 2023-06-26 17:24:07 +02:00
qdec.h drivers/periph: use uint_fast8_t as default type 2021-11-18 10:29:50 +01:00
rtc_mem.h drivers/periph: define periph_rtc_mem 2021-09-03 11:43:42 +02:00
rtc.h drivers/periph/rtc: improve doc on rtc_set_alarm 2023-05-30 17:41:36 +02:00
rtt.h sys/ztimer: add 'ztimer_no_periph_rtt' 2021-12-02 07:54:38 +01:00
spi.h drivers/periph_spi: Add spi_transfer_u16_be() 2024-02-02 13:05:02 +01:00
timer.h tree wide: add IWYU pragma: export where needed 2024-04-14 14:26:05 +02:00
uart.h drivers/periph: introduce CONFIG_UART_DMA_THRESHOLD_BYTES 2024-01-04 17:33:51 +01:00
usbdev.h drivers/periph/usbdev: remove deprecated event flag 2024-03-19 16:41:27 +01:00
vbat.h drivers/periph: add VBAT interface 2022-02-20 13:43:19 +01:00
wdt.h sys/auto_init: add auto_init_wdt_{event, thread} modules 2023-02-13 15:06:24 +01:00