idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
gpio.hpp File Reference

GPIO pin management class. More...

#include <idfxx/error>
#include <idfxx/flags>
#include <idfxx/intr_alloc>
#include <driver/gpio.h>
#include <functional>
#include <string>
#include "sdkconfig.h"

Go to the source code of this file.

Classes

class  idfxx::gpio
 A GPIO pin. More...
 
class  idfxx::gpio::isr_handle
 Handle to a registered ISR handler. More...
 
class  idfxx::gpio::unique_isr_handle
 RAII handle for ISR registration that removes the handler on destruction. More...
 
struct  idfxx::gpio::config
 Configuration parameters for idfxx::gpio_config. More...
 

Namespaces

namespace  idfxx
 

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.
 

Variables

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
 

Detailed Description

GPIO pin management class.

Definition in file gpio.hpp.