Skip to content

Commit 4943e63

Browse files
authored
Merge branch 'master' into issue_6221_cdc_tx
2 parents 91fad0e + e9ee9c1 commit 4943e63

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

cores/esp32/esp32-hal-gpio.c

+14-6
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,14 @@ extern void ARDUINO_ISR_ATTR __pinMode(uint8_t pin, uint8_t mode)
104104
#endif
105105

106106
if (pin >= SOC_GPIO_PIN_COUNT) {
107-
log_e("Invalid pin selected");
107+
log_e("Invalid IO %i selected", pin);
108108
return;
109109
}
110110

111111
if(perimanGetPinBus(pin, ESP32_BUS_TYPE_GPIO) == NULL){
112112
perimanSetBusDeinit(ESP32_BUS_TYPE_GPIO, gpioDetachBus);
113113
if(!perimanClearPinBus(pin)){
114-
log_e("Deinit of previous bus failed");
114+
log_e("Deinit of previous bus from IO %i failed", pin);
115115
return;
116116
}
117117
}
@@ -140,7 +140,7 @@ extern void ARDUINO_ISR_ATTR __pinMode(uint8_t pin, uint8_t mode)
140140
}
141141
if(gpio_config(&conf) != ESP_OK)
142142
{
143-
log_e("GPIO config failed");
143+
log_e("IO %i config failed", pin);
144144
return;
145145
}
146146
if(perimanGetPinBus(pin, ESP32_BUS_TYPE_GPIO) == NULL){
@@ -164,7 +164,7 @@ extern void ARDUINO_ISR_ATTR __digitalWrite(uint8_t pin, uint8_t val)
164164
if(perimanGetPinBus(pin, ESP32_BUS_TYPE_GPIO) != NULL){
165165
gpio_set_level((gpio_num_t)pin, val);
166166
} else {
167-
log_e("Pin is not set as GPIO.");
167+
log_e("IO %i is not set as GPIO.", pin);
168168
}
169169
}
170170

@@ -174,7 +174,7 @@ extern int ARDUINO_ISR_ATTR __digitalRead(uint8_t pin)
174174
return gpio_get_level((gpio_num_t)pin);
175175
}
176176
else {
177-
log_e("Pin is not set as GPIO.");
177+
log_e("IO %i is not set as GPIO.", pin);
178178
return 0;
179179
}
180180
}
@@ -204,7 +204,7 @@ extern void __attachInterruptFunctionalArg(uint8_t pin, voidFuncPtrArg userFunc,
204204
interrupt_initialized = (err == ESP_OK) || (err == ESP_ERR_INVALID_STATE);
205205
}
206206
if(!interrupt_initialized) {
207-
log_e("GPIO ISR Service Failed To Start");
207+
log_e("IO %i ISR Service Failed To Start", pin);
208208
return;
209209
}
210210

@@ -256,6 +256,14 @@ extern void __detachInterrupt(uint8_t pin)
256256
gpio_set_intr_type((gpio_num_t)pin, GPIO_INTR_DISABLE);
257257
}
258258

259+
extern void enableInterrupt(uint8_t pin) {
260+
gpio_intr_enable((gpio_num_t)pin);
261+
}
262+
263+
extern void disableInterrupt(uint8_t pin) {
264+
gpio_intr_disable((gpio_num_t)pin);
265+
}
266+
259267

260268
extern void pinMode(uint8_t pin, uint8_t mode) __attribute__ ((weak, alias("__pinMode")));
261269
extern void digitalWrite(uint8_t pin, uint8_t val) __attribute__ ((weak, alias("__digitalWrite")));

cores/esp32/esp32-hal-gpio.h

+2
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ int digitalRead(uint8_t pin);
7878
void attachInterrupt(uint8_t pin, void (*)(void), int mode);
7979
void attachInterruptArg(uint8_t pin, void (*)(void*), void * arg, int mode);
8080
void detachInterrupt(uint8_t pin);
81+
void enableInterrupt(uint8_t pin);
82+
void disableInterrupt(uint8_t pin);
8183

8284
int8_t digitalPinToTouchChannel(uint8_t pin);
8385
int8_t digitalPinToAnalogChannel(uint8_t pin);

0 commit comments

Comments
 (0)