summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormicroDev <70126934+microDev1@users.noreply.github.com>2020-11-18 22:22:42 +0530
committermicroDev <70126934+microDev1@users.noreply.github.com>2020-11-18 22:22:42 +0530
commit0d3e81f969adc6d8744e8e720ec4b01848a8fa6c (patch)
tree755cae5855362f2321a9d3704349e08cb11438f6
parentbab41afce759916af15ab57645691336ea2bdd06 (diff)
update interrupt handling
-rw-r--r--ports/esp32s2/common-hal/ps2io/Ps2.c13
-rw-r--r--ports/esp32s2/common-hal/ps2io/Ps2.h2
2 files changed, 5 insertions, 10 deletions
diff --git a/ports/esp32s2/common-hal/ps2io/Ps2.c b/ports/esp32s2/common-hal/ps2io/Ps2.c
index 2156a4247..9c19ea950 100644
--- a/ports/esp32s2/common-hal/ps2io/Ps2.c
+++ b/ports/esp32s2/common-hal/ps2io/Ps2.c
@@ -55,18 +55,18 @@ static void IRAM_ATTR ps2_interrupt_handler(void *self_in);
static void ps2_set_config(ps2io_ps2_obj_t* self) {
// turn on falling edge interrupt
gpio_set_intr_type(self->clk_pin, GPIO_INTR_NEGEDGE);
- gpio_isr_register(ps2_interrupt_handler, (void *)self, ESP_INTR_FLAG_IRAM, &self->handle);
- gpio_intr_enable(self->clk_pin);
+ gpio_install_isr_service(ESP_INTR_FLAG_IRAM);
+ gpio_isr_handler_add(self->clk_pin, ps2_interrupt_handler, (void*)self);
}
static void disable_interrupt(ps2io_ps2_obj_t* self) {
// turn off fallling edge interrupt
- gpio_intr_disable(self->clk_pin);
+ gpio_isr_handler_remove(self->clk_pin);
}
static void resume_interrupt(ps2io_ps2_obj_t* self) {
self->state = STATE_IDLE;
- gpio_intr_enable(self->clk_pin);
+ gpio_isr_handler_add(self->clk_pin, ps2_interrupt_handler, (void*)self);
}
static void clk_hi(ps2io_ps2_obj_t* self) {
@@ -252,10 +252,7 @@ void common_hal_ps2io_ps2_deinit(ps2io_ps2_obj_t* self) {
if (common_hal_ps2io_ps2_deinited(self)) {
return;
}
- if (self->handle) {
- esp_intr_free(self->handle);
- self->handle = NULL;
- }
+ gpio_uninstall_isr_service();
reset_pin_number(self->clk_pin);
reset_pin_number(self->data_pin);
self->clk_pin = GPIO_NUM_MAX;
diff --git a/ports/esp32s2/common-hal/ps2io/Ps2.h b/ports/esp32s2/common-hal/ps2io/Ps2.h
index 51ebde448..eb93829b4 100644
--- a/ports/esp32s2/common-hal/ps2io/Ps2.h
+++ b/ports/esp32s2/common-hal/ps2io/Ps2.h
@@ -53,8 +53,6 @@ typedef struct {
bool waiting_cmd_response;
uint8_t cmd_response;
-
- intr_handle_t handle;
} ps2io_ps2_obj_t;
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_PS2IO_PS2_H