|
idfxx 1.0.0
Modern C++23 components for ESP-IDF
|
Type-safe GPIO pin management for ESP32. More...
Namespaces | |
| namespace | idfxx |
Classes | |
| class | idfxx::gpio |
| A GPIO pin. More... | |
Functions | |
| result< void > | idfxx::try_configure_gpios (const gpio::config &cfg, std::vector< gpio > gpios) |
| Configures multiple GPIOs with the same settings. | |
| template<typename... Gpios> | |
| result< void > | idfxx::try_configure_gpios (const gpio::config &cfg, Gpios &&... gpios) |
| Configures multiple GPIOs with the same settings. | |
| void | idfxx::configure_gpios (const gpio::config &cfg, std::vector< gpio > gpios) |
| Configures multiple GPIOs with the same settings. | |
| template<typename... Gpios> | |
| void | idfxx::configure_gpios (const gpio::config &cfg, Gpios &&... gpios) |
| Configures multiple GPIOs with the same settings. | |
| std::string | idfxx::to_string (gpio g) |
| Returns a string representation of a GPIO pin. | |
GPIO Constants | |
Predefined GPIO instances for direct use. Available GPIOs depend on the target chip. | |
| constexpr gpio | idfxx::gpio_nc = gpio_constant<GPIO_NUM_NC>::value |
| constexpr gpio | idfxx::gpio_0 = gpio_constant<0>::value |
| constexpr gpio | idfxx::gpio_1 = gpio_constant<1>::value |
| constexpr gpio | idfxx::gpio_2 = gpio_constant<2>::value |
| constexpr gpio | idfxx::gpio_3 = gpio_constant<3>::value |
| constexpr gpio | idfxx::gpio_4 = gpio_constant<4>::value |
| constexpr gpio | idfxx::gpio_5 = gpio_constant<5>::value |
| constexpr gpio | idfxx::gpio_6 = gpio_constant<6>::value |
| constexpr gpio | idfxx::gpio_7 = gpio_constant<7>::value |
| constexpr gpio | idfxx::gpio_8 = gpio_constant<8>::value |
| constexpr gpio | idfxx::gpio_9 = gpio_constant<9>::value |
| constexpr gpio | idfxx::gpio_10 = gpio_constant<10>::value |
| constexpr gpio | idfxx::gpio_11 = gpio_constant<11>::value |
| constexpr gpio | idfxx::gpio_12 = gpio_constant<12>::value |
| constexpr gpio | idfxx::gpio_13 = gpio_constant<13>::value |
| constexpr gpio | idfxx::gpio_14 = gpio_constant<14>::value |
| constexpr gpio | idfxx::gpio_15 = gpio_constant<15>::value |
| constexpr gpio | idfxx::gpio_16 = gpio_constant<16>::value |
| constexpr gpio | idfxx::gpio_17 = gpio_constant<17>::value |
| constexpr gpio | idfxx::gpio_18 = gpio_constant<18>::value |
| constexpr gpio | idfxx::gpio_19 = gpio_constant<19>::value |
| constexpr gpio | idfxx::gpio_20 = gpio_constant<20>::value |
| constexpr gpio | idfxx::gpio_21 = gpio_constant<21>::value |
| constexpr gpio | idfxx::gpio_22 = gpio_constant<22>::value |
| constexpr gpio | idfxx::gpio_23 = gpio_constant<23>::value |
| constexpr gpio | idfxx::gpio_24 = gpio_constant<24>::value |
| constexpr gpio | idfxx::gpio_25 = gpio_constant<25>::value |
| constexpr gpio | idfxx::gpio_26 = gpio_constant<26>::value |
| constexpr gpio | idfxx::gpio_27 = gpio_constant<27>::value |
| constexpr gpio | idfxx::gpio_28 = gpio_constant<28>::value |
| constexpr gpio | idfxx::gpio_29 = gpio_constant<29>::value |
| constexpr gpio | idfxx::gpio_30 = gpio_constant<30>::value |
| constexpr gpio | idfxx::gpio_31 = gpio_constant<31>::value |
| constexpr gpio | idfxx::gpio_32 = gpio_constant<32>::value |
| constexpr gpio | idfxx::gpio_33 = gpio_constant<33>::value |
| constexpr gpio | idfxx::gpio_34 = gpio_constant<34>::value |
| constexpr gpio | idfxx::gpio_35 = gpio_constant<35>::value |
| constexpr gpio | idfxx::gpio_36 = gpio_constant<36>::value |
| constexpr gpio | idfxx::gpio_37 = gpio_constant<37>::value |
| constexpr gpio | idfxx::gpio_38 = gpio_constant<38>::value |
| constexpr gpio | idfxx::gpio_39 = gpio_constant<39>::value |
| constexpr gpio | idfxx::gpio_40 = gpio_constant<40>::value |
| constexpr gpio | idfxx::gpio_41 = gpio_constant<41>::value |
| constexpr gpio | idfxx::gpio_42 = gpio_constant<42>::value |
| constexpr gpio | idfxx::gpio_43 = gpio_constant<43>::value |
| constexpr gpio | idfxx::gpio_44 = gpio_constant<44>::value |
| constexpr gpio | idfxx::gpio_45 = gpio_constant<45>::value |
| constexpr gpio | idfxx::gpio_46 = gpio_constant<46>::value |
| constexpr gpio | idfxx::gpio_47 = gpio_constant<47>::value |
| constexpr gpio | idfxx::gpio_48 = gpio_constant<48>::value |
Type-safe GPIO pin management for ESP32.
Provides type-safe GPIO pin management with compile-time validation and ISR handler management supporting multiple handlers per pin.
Depends on Core Utilities for error handling.
| void idfxx::configure_gpios | ( | const gpio::config & | cfg, |
| Gpios &&... | gpios | ||
| ) |
Configures multiple GPIOs with the same settings.
| gpios | GPIOs to configure. |
| cfg | Configuration parameters. |
| std::system_error | on failure. |
Definition at line 824 of file gpio.hpp.
References idfxx::try_configure_gpios(), and idfxx::unwrap().
|
inline |
Configures multiple GPIOs with the same settings.
| gpios | Vector of GPIOs to configure. |
| cfg | Configuration parameters. |
| std::system_error | on failure. |
Definition at line 811 of file gpio.hpp.
References idfxx::try_configure_gpios(), and idfxx::unwrap().
|
inline |
Returns a string representation of a GPIO pin.
| g | The GPIO pin to convert. |
Definition at line 1007 of file gpio.hpp.
References idfxx::gpio::is_connected(), and idfxx::gpio::num().
| result< void > idfxx::try_configure_gpios | ( | const gpio::config & | cfg, |
| Gpios &&... | gpios | ||
| ) |
Configures multiple GPIOs with the same settings.
| gpios | GPIOs to configure. |
| cfg | Configuration parameters. |
| invalid_state | If any gpio is gpio::nc(). |
| invalid_arg | If any gpio is input-only and an output mode is requested. |
Definition at line 798 of file gpio.hpp.
References idfxx::try_configure_gpios().
| result< void > idfxx::try_configure_gpios | ( | const gpio::config & | cfg, |
| std::vector< gpio > | gpios | ||
| ) |
Configures multiple GPIOs with the same settings.
| gpios | Vector of GPIOs to configure. |
| cfg | Configuration parameters. |
| invalid_state | If any gpio is gpio::nc(). |
| invalid_arg | If any gpio is input-only and an output mode is requested. |
Referenced by idfxx::configure_gpios(), idfxx::configure_gpios(), and idfxx::try_configure_gpios().
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |