GPIO driver
Collaboration diagram for GPIO driver:
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) |
Enumerations | |
enum | GPIO_INT_TYPE { GPIO_PIN_INTR_DISABLE = 0, GPIO_PIN_INTR_POSEDGE = 1, GPIO_PIN_INTR_NEGEDGE = 2, GPIO_PIN_INTR_ANYEDGE = 3, GPIO_PIN_INTR_LOLEVEL = 4, GPIO_PIN_INTR_HILEVEL = 5 } |
Defines the GPIO interrupt type. More... | |
Variables | |
const esp32_gpioMux_t | esp32_gpioMux [40] |
const int8_t | esp32_adc2gpio [20] |
Detailed Description
Macro Definition Documentation
◆ digitalPinCanOutput
#define digitalPinCanOutput | ( | pin | ) | ((pin) < 34 && esp32_gpioMux[(pin)].reg) |
◆ digitalPinIsValid
#define digitalPinIsValid | ( | pin | ) | ((pin) < 40 && esp32_gpioMux[(pin)].reg) |
◆ digitalPinToAnalogChannel
#define digitalPinToAnalogChannel | ( | pin | ) | (((pin) < 40) ? esp32_gpioMux[(pin)].adc : -1) |
◆ digitalPinToDacChannel
#define digitalPinToDacChannel | ( | pin | ) | (((pin) == 25) ? 0 : ((pin) == 26) ? 1 : -1) |
◆ digitalPinToRtcPin
#define digitalPinToRtcPin | ( | pin | ) | (((pin) < 40) ? esp32_gpioMux[(pin)].rtc : -1) |
◆ digitalPinToTouchChannel
#define digitalPinToTouchChannel | ( | pin | ) | (((pin) < 40) ? esp32_gpioMux[(pin)].touch : -1) |
◆ ESP32_ANALOG
#define ESP32_ANALOG 0xC0 |
◆ ESP32_CHANGE
#define ESP32_CHANGE 0x03 |
◆ ESP32_DISABLED
#define ESP32_DISABLED 0x00 |
◆ ESP32_FALLING
#define ESP32_FALLING 0x02 |
◆ ESP32_FUNCTION_1
#define ESP32_FUNCTION_1 0x00 |
◆ ESP32_FUNCTION_2
#define ESP32_FUNCTION_2 0x20 |
◆ ESP32_FUNCTION_3
#define ESP32_FUNCTION_3 0x40 |
◆ ESP32_FUNCTION_4
#define ESP32_FUNCTION_4 0x60 |
◆ ESP32_FUNCTION_5
#define ESP32_FUNCTION_5 0x80 |
◆ ESP32_FUNCTION_6
#define ESP32_FUNCTION_6 0xA0 |
◆ ESP32_HIGH
#define ESP32_HIGH 0x1 |
◆ ESP32_INPUT
#define ESP32_INPUT 0x01 |
◆ ESP32_INPUT_PULLDOWN
#define ESP32_INPUT_PULLDOWN 0x09 |
◆ ESP32_INPUT_PULLUP
#define ESP32_INPUT_PULLUP 0x05 |
◆ ESP32_LOW
#define ESP32_LOW 0x0 |
◆ ESP32_ONHIGH
#define ESP32_ONHIGH 0x05 |
◆ ESP32_ONHIGH_WE
#define ESP32_ONHIGH_WE 0x0D |
◆ ESP32_ONLOW
#define ESP32_ONLOW 0x04 |
◆ ESP32_ONLOW_WE
#define ESP32_ONLOW_WE 0x0C |
◆ ESP32_OPEN_DRAIN
#define ESP32_OPEN_DRAIN 0x10 |
◆ ESP32_OUTPUT
#define ESP32_OUTPUT 0x02 |
◆ ESP32_OUTPUT_OPEN_DRAIN
#define ESP32_OUTPUT_OPEN_DRAIN 0x12 |
◆ ESP32_PULLDOWN
#define ESP32_PULLDOWN 0x08 |
◆ ESP32_PULLUP
#define ESP32_PULLUP 0x04 |
◆ ESP32_RISING
#define ESP32_RISING 0x01 |
◆ ESP32_SPECIAL
#define ESP32_SPECIAL 0xF0 |
Enumeration Type Documentation
◆ GPIO_INT_TYPE
enum GPIO_INT_TYPE |
Defines the GPIO interrupt type.
Variable Documentation
◆ esp32_adc2gpio
const int8_t esp32_adc2gpio[20] |
◆ esp32_gpioMux
const esp32_gpioMux_t esp32_gpioMux[40] |