Esp32/Components/driver/include/driver/gpio.h File Reference
#include <c_types.h>
#include <driver/gpio.h>
Include dependency graph for Esp32/Components/driver/include/driver/gpio.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  esp32_gpioMux_t
 

Macros

#define ESP32_LOW   0x0
 
#define ESP32_HIGH   0x1
 
#define ESP32_INPUT   0x01
 
#define ESP32_OUTPUT   0x02
 
#define ESP32_PULLUP   0x04
 
#define ESP32_INPUT_PULLUP   0x05
 
#define ESP32_PULLDOWN   0x08
 
#define ESP32_INPUT_PULLDOWN   0x09
 
#define ESP32_OPEN_DRAIN   0x10
 
#define ESP32_OUTPUT_OPEN_DRAIN   0x12
 
#define ESP32_SPECIAL   0xF0
 
#define ESP32_FUNCTION_1   0x00
 
#define ESP32_FUNCTION_2   0x20
 
#define ESP32_FUNCTION_3   0x40
 
#define ESP32_FUNCTION_4   0x60
 
#define ESP32_FUNCTION_5   0x80
 
#define ESP32_FUNCTION_6   0xA0
 
#define ESP32_ANALOG   0xC0
 
#define ESP32_DISABLED   0x00
 
#define ESP32_RISING   0x01
 
#define ESP32_FALLING   0x02
 
#define ESP32_CHANGE   0x03
 
#define ESP32_ONLOW   0x04
 
#define ESP32_ONHIGH   0x05
 
#define ESP32_ONLOW_WE   0x0C
 
#define ESP32_ONHIGH_WE   0x0D
 
#define digitalPinIsValid(pin)   ((pin) < 40 && esp32_gpioMux[(pin)].reg)
 
#define digitalPinCanOutput(pin)   ((pin) < 34 && esp32_gpioMux[(pin)].reg)
 
#define digitalPinToRtcPin(pin)   (((pin) < 40) ? esp32_gpioMux[(pin)].rtc : -1)
 
#define digitalPinToAnalogChannel(pin)   (((pin) < 40) ? esp32_gpioMux[(pin)].adc : -1)
 
#define digitalPinToTouchChannel(pin)   (((pin) < 40) ? esp32_gpioMux[(pin)].touch : -1)
 
#define digitalPinToDacChannel(pin)   (((pin) == 25) ? 0 : ((pin) == 26) ? 1 : -1)
 

Variables

const esp32_gpioMux_t esp32_gpioMux [40]
 
const int8_t esp32_adc2gpio [20]