@@ -68,21 +68,11 @@ extern "C" {
68
68
#define ONLOW_WE 0x0C
69
69
#define ONHIGH_WE 0x0D
70
70
71
- typedef struct {
72
- uint8_t reg ; /*!< GPIO register offset from DR_REG_IO_MUX_BASE */
73
- int8_t rtc ; /*!< RTC GPIO number (-1 if not RTC GPIO pin) */
74
- int8_t adc ; /*!< ADC Channel number (-1 if not ADC pin) */
75
- int8_t touch ; /*!< Touch Channel number (-1 if not Touch pin) */
76
- } esp32_gpioMux_t ;
77
-
78
- extern const esp32_gpioMux_t esp32_gpioMux [SOC_GPIO_PIN_COUNT ];
79
- extern const int8_t esp32_adc2gpio [20 ];
80
-
81
- #define digitalPinIsValid (pin ) ((pin) < SOC_GPIO_PIN_COUNT && esp32_gpioMux[(pin)].reg)
82
- #define digitalPinCanOutput (pin ) ((pin) < NUM_OUPUT_PINS && esp32_gpioMux[(pin)].reg)
83
- #define digitalPinToRtcPin (pin ) (((pin) < SOC_GPIO_PIN_COUNT)?esp32_gpioMux[(pin)].rtc:-1)
84
- #define digitalPinToAnalogChannel (pin ) (((pin) < SOC_GPIO_PIN_COUNT)?esp32_gpioMux[(pin)].adc:-1)
85
- #define digitalPinToDacChannel (pin ) (((pin) == PIN_DAC1)?0:((pin) == PIN_DAC2)?1:-1)
71
+ #define digitalPinIsValid (pin ) GPIO_IS_VALID_GPIO(pin)
72
+ #define digitalPinCanOutput (pin ) GPIO_IS_VALID_OUTPUT_GPIO(pin)
73
+
74
+ #define digitalPinToRtcPin (pin ) ((RTC_GPIO_IS_VALID_GPIO(pin))?rtc_io_number_get(pin):-1)
75
+ #define digitalPinToDacChannel (pin ) (((pin) == DAC_CHANNEL_1_GPIO_NUM)?0:((pin) == DAC_CHANNEL_2_GPIO_NUM)?1:-1)
86
76
87
77
void pinMode (uint8_t pin , uint8_t mode );
88
78
void digitalWrite (uint8_t pin , uint8_t val );
@@ -93,6 +83,8 @@ void attachInterruptArg(uint8_t pin, void (*)(void*), void * arg, int mode);
93
83
void detachInterrupt (uint8_t pin );
94
84
95
85
int8_t digitalPinToTouchChannel (uint8_t pin );
86
+ int8_t digitalPinToAnalogChannel (uint8_t pin );
87
+ int8_t analogChannelToDigitalPin (uint8_t channel );
96
88
97
89
#ifdef __cplusplus
98
90
}
0 commit comments