69 gpio_int_type_t idf_type = GPIO_INTR_ANYEDGE;
78 idf_type = GPIO_INTR_ANYEDGE;
90 auto res = gpio_install_isr_service(ESP_INTR_FLAG_LEVEL3);
92 ESP_LOGE(TAG,
"attach_interrupt(): call to gpio_install_isr_service() failed, error code: %d", res);
97 gpio_isr_handler_add(this->
get_pin_num(), func, arg);
158 auto *arg =
reinterpret_cast<ISRPinArg *
>(
arg_);
162 gpio_hal_output_enable(&GPIO_HAL, arg->pin);
164 gpio_hal_od_enable(&GPIO_HAL, arg->pin);
166 gpio_hal_output_disable(&GPIO_HAL, arg->pin);
171 gpio_hal_input_enable(&GPIO_HAL, arg->pin);
172#if defined(USE_ESP32_VARIANT_ESP32)
175 rtcio_hal_pullup_enable(arg->rtc_pin);
177 rtcio_hal_pullup_disable(arg->rtc_pin);
180 rtcio_hal_pulldown_enable(arg->rtc_pin);
182 rtcio_hal_pulldown_disable(arg->rtc_pin);
188 gpio_hal_pullup_en(&GPIO_HAL, arg->pin);
190 gpio_hal_pullup_dis(&GPIO_HAL, arg->pin);
193 gpio_hal_pulldown_en(&GPIO_HAL, arg->pin);
195 gpio_hal_pulldown_dis(&GPIO_HAL, arg->pin);
199 gpio_hal_input_disable(&GPIO_HAL, arg->pin);