72 gpio_int_type_t idf_type = GPIO_INTR_ANYEDGE;
81 idf_type = GPIO_INTR_ANYEDGE;
93 auto res = gpio_install_isr_service(ESP_INTR_FLAG_LEVEL3);
95 ESP_LOGE(TAG,
"attach_interrupt(): call to gpio_install_isr_service() failed, error code: %d", res);
100 gpio_isr_handler_add(this->
get_pin_num(), func, arg);
161 auto *arg =
reinterpret_cast<ISRPinArg *
>(
arg_);
165 gpio_hal_output_enable(&GPIO_HAL, arg->pin);
167 gpio_hal_od_enable(&GPIO_HAL, arg->pin);
169 gpio_hal_output_disable(&GPIO_HAL, arg->pin);
174 gpio_hal_input_enable(&GPIO_HAL, arg->pin);
175#if defined(USE_ESP32_VARIANT_ESP32)
178 rtcio_hal_pullup_enable(arg->rtc_pin);
180 rtcio_hal_pullup_disable(arg->rtc_pin);
183 rtcio_hal_pulldown_enable(arg->rtc_pin);
185 rtcio_hal_pulldown_disable(arg->rtc_pin);
191 gpio_hal_pullup_en(&GPIO_HAL, arg->pin);
193 gpio_hal_pullup_dis(&GPIO_HAL, arg->pin);
196 gpio_hal_pulldown_en(&GPIO_HAL, arg->pin);
198 gpio_hal_pulldown_dis(&GPIO_HAL, arg->pin);
202 gpio_hal_input_disable(&GPIO_HAL, arg->pin);