Esp32/Core/pins_arduino.h
Go to the documentation of this file.
1 /****
2  * Sming Framework Project - Open Source framework for high efficiency native ESP8266 development.
3  * Created 2015 by Skurydin Alexey
4  * http://github.com/SmingHub/Sming
5  * All files of the Sming Core are provided under the LGPL v3 license.
6  *
7  * pins_arduino.h
8  *
9  ****/
10 
11 // File name selected for compatibility
12 
13 #pragma once
14 
15 #define EXTERNAL_NUM_INTERRUPTS 16
16 #define NUM_DIGITAL_PINS 40
17 #define NUM_ANALOG_INPUTS 16
18 
19 #define analogInputToDigitalPin(p) (((p) < 20) ? (esp32_adc2gpio[(p)]) : -1)
20 #define digitalPinToInterrupt(p) (((p) < 40) ? (p) : -1)
21 #define digitalPinHasPWM(p) (p < 34)
22 
23 constexpr uint8_t A0{36};
24 
25 #define GPIO_REG_TYPE uint32_t
26 
27 // We use maximum compatibility to standard Arduino logic.
28 
29 #define digitalPinToPort(pin) (0)
30 #define digitalPinToBitMask(pin) (1UL << (pin))
31 #define digitalPinToTimer(pin) (NOT_ON_TIMER)
32 #define portOutputRegister(port) ((volatile uint32_t*)&GPO)
33 #define portInputRegister(port) ((volatile uint32_t*)&GPI)
34 #define portModeRegister(port) ((volatile uint32_t*)&GPE)
constexpr uint8_t A0
Definition: Esp32/Core/pins_arduino.h:23