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 #include "peripheral.h"
16 
17 #define EXTERNAL_NUM_INTERRUPTS 16
18 #define NUM_DIGITAL_PINS 40
19 #define NUM_ANALOG_INPUTS 16
20 
21 #define analogInputToDigitalPin(p) (((p) < 20) ? (esp32_adc2gpio[(p)]) : -1)
22 #define digitalPinToInterrupt(p) (((p) < 40) ? (p) : -1)
23 #define digitalPinHasPWM(p) (p < 34)
24 
25 static const uint8_t TX = 1;
26 static const uint8_t RX = 3;
27 
28 static const uint8_t SDA = 21;
29 static const uint8_t SCL = 22;
30 
31 static const uint8_t SS = 5;
32 static const uint8_t MOSI = 23;
33 static const uint8_t MISO = 19;
34 static const uint8_t SCK = 18;
35 
36 static const uint8_t A0 = 36;
37 static const uint8_t A3 = 39;
38 static const uint8_t A4 = 32;
39 static const uint8_t A5 = 33;
40 static const uint8_t A6 = 34;
41 static const uint8_t A7 = 35;
42 static const uint8_t A10 = 4;
43 static const uint8_t A11 = 0;
44 static const uint8_t A12 = 2;
45 static const uint8_t A13 = 15;
46 static const uint8_t A14 = 13;
47 static const uint8_t A15 = 12;
48 static const uint8_t A16 = 14;
49 static const uint8_t A17 = 27;
50 static const uint8_t A18 = 25;
51 static const uint8_t A19 = 26;
52 
53 static const uint8_t T0 = 4;
54 static const uint8_t T1 = 0;
55 static const uint8_t T2 = 2;
56 static const uint8_t T3 = 15;
57 static const uint8_t T4 = 13;
58 static const uint8_t T5 = 12;
59 static const uint8_t T6 = 14;
60 static const uint8_t T7 = 27;
61 static const uint8_t T8 = 33;
62 static const uint8_t T9 = 32;
63 
64 static const uint8_t DAC1 = 25;
65 static const uint8_t DAC2 = 26;
66 
67 #define NOT_A_PIN 0
68 #define NOT_A_PORT 0
69 #define NOT_ON_TIMER 0
70 
71 #define PA 1
72 #define PB 2
73 #define PC 3
74 
75 #define GPIO_REG_TYPE uint32_t
76 
77 // We use maximum compatibility to standard Arduino logic.
78 
79 #define digitalPinToPort(pin) (0)
80 #define digitalPinToBitMask(pin) (1UL << (pin))
81 #define digitalPinToTimer(pin) (NOT_ON_TIMER)
82 #define portOutputRegister(port) ((volatile uint32_t*)&GPO)
83 #define portInputRegister(port) ((volatile uint32_t*)&GPI)
84 #define portModeRegister(port) ((volatile uint32_t*)&GPE)
static const uint8_t TX
Definition: Esp32/Core/pins_arduino.h:25
static const uint8_t A11
Definition: Esp32/Core/pins_arduino.h:43
static const uint8_t A15
Definition: Esp32/Core/pins_arduino.h:47
static const uint8_t T6
Definition: Esp32/Core/pins_arduino.h:59
static const uint8_t A16
Definition: Esp32/Core/pins_arduino.h:48
static const uint8_t DAC1
Definition: Esp32/Core/pins_arduino.h:64
static const uint8_t T0
Definition: Esp32/Core/pins_arduino.h:53
static const uint8_t A0
Definition: Esp32/Core/pins_arduino.h:36
static const uint8_t A17
Definition: Esp32/Core/pins_arduino.h:49
static const uint8_t T5
Definition: Esp32/Core/pins_arduino.h:58
static const uint8_t MOSI
Definition: Esp32/Core/pins_arduino.h:32
static const uint8_t A4
Definition: Esp32/Core/pins_arduino.h:38
static const uint8_t T7
Definition: Esp32/Core/pins_arduino.h:60
static const uint8_t A18
Definition: Esp32/Core/pins_arduino.h:50
static const uint8_t SCK
Definition: Esp32/Core/pins_arduino.h:34
static const uint8_t SS
Definition: Esp32/Core/pins_arduino.h:31
static const uint8_t SDA
Definition: Esp32/Core/pins_arduino.h:28
static const uint8_t A7
Definition: Esp32/Core/pins_arduino.h:41
static const uint8_t T2
Definition: Esp32/Core/pins_arduino.h:55
static const uint8_t T3
Definition: Esp32/Core/pins_arduino.h:56
static const uint8_t T9
Definition: Esp32/Core/pins_arduino.h:62
static const uint8_t T8
Definition: Esp32/Core/pins_arduino.h:61
static const uint8_t A6
Definition: Esp32/Core/pins_arduino.h:40
static const uint8_t A3
Definition: Esp32/Core/pins_arduino.h:37
static const uint8_t A14
Definition: Esp32/Core/pins_arduino.h:46
static const uint8_t SCL
Definition: Esp32/Core/pins_arduino.h:29
static const uint8_t A13
Definition: Esp32/Core/pins_arduino.h:45
static const uint8_t DAC2
Definition: Esp32/Core/pins_arduino.h:65
static const uint8_t MISO
Definition: Esp32/Core/pins_arduino.h:33
static const uint8_t A19
Definition: Esp32/Core/pins_arduino.h:51
static const uint8_t RX
Definition: Esp32/Core/pins_arduino.h:26
static const uint8_t A12
Definition: Esp32/Core/pins_arduino.h:44
static const uint8_t A5
Definition: Esp32/Core/pins_arduino.h:39
static const uint8_t T4
Definition: Esp32/Core/pins_arduino.h:57
static const uint8_t T1
Definition: Esp32/Core/pins_arduino.h:54
static const uint8_t A10
Definition: Esp32/Core/pins_arduino.h:42