Skip to content

Commit 0d3e81f

Browse files
committed
update interrupt handling
1 parent bab41af commit 0d3e81f

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

ports/esp32s2/common-hal/ps2io/Ps2.c

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,18 @@ static void IRAM_ATTR ps2_interrupt_handler(void *self_in);
5555
static void ps2_set_config(ps2io_ps2_obj_t* self) {
5656
// turn on falling edge interrupt
5757
gpio_set_intr_type(self->clk_pin, GPIO_INTR_NEGEDGE);
58-
gpio_isr_register(ps2_interrupt_handler, (void *)self, ESP_INTR_FLAG_IRAM, &self->handle);
59-
gpio_intr_enable(self->clk_pin);
58+
gpio_install_isr_service(ESP_INTR_FLAG_IRAM);
59+
gpio_isr_handler_add(self->clk_pin, ps2_interrupt_handler, (void*)self);
6060
}
6161

6262
static void disable_interrupt(ps2io_ps2_obj_t* self) {
6363
// turn off fallling edge interrupt
64-
gpio_intr_disable(self->clk_pin);
64+
gpio_isr_handler_remove(self->clk_pin);
6565
}
6666

6767
static void resume_interrupt(ps2io_ps2_obj_t* self) {
6868
self->state = STATE_IDLE;
69-
gpio_intr_enable(self->clk_pin);
69+
gpio_isr_handler_add(self->clk_pin, ps2_interrupt_handler, (void*)self);
7070
}
7171

7272
static void clk_hi(ps2io_ps2_obj_t* self) {
@@ -252,10 +252,7 @@ void common_hal_ps2io_ps2_deinit(ps2io_ps2_obj_t* self) {
252252
if (common_hal_ps2io_ps2_deinited(self)) {
253253
return;
254254
}
255-
if (self->handle) {
256-
esp_intr_free(self->handle);
257-
self->handle = NULL;
258-
}
255+
gpio_uninstall_isr_service();
259256
reset_pin_number(self->clk_pin);
260257
reset_pin_number(self->data_pin);
261258
self->clk_pin = GPIO_NUM_MAX;

ports/esp32s2/common-hal/ps2io/Ps2.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@ typedef struct {
5353

5454
bool waiting_cmd_response;
5555
uint8_t cmd_response;
56-
57-
intr_handle_t handle;
5856
} ps2io_ps2_obj_t;
5957

6058
#endif // MICROPY_INCLUDED_ESP32S2_COMMON_HAL_PS2IO_PS2_H

0 commit comments

Comments
 (0)