From 8e1f93058242f1348e94a6739dd42c8dc5d80435 Mon Sep 17 00:00:00 2001 From: kooho <2229179028@qq.com> Date: Mon, 26 Mar 2018 10:50:22 +0800 Subject: [PATCH] driver(gpio): Modified the GPIO_CHECK's return value when ISR service already installed --- components/driver/gpio.c | 2 +- components/driver/include/driver/gpio.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/components/driver/gpio.c b/components/driver/gpio.c index 02c9e64f4..d3d07bb4f 100644 --- a/components/driver/gpio.c +++ b/components/driver/gpio.c @@ -403,7 +403,7 @@ esp_err_t gpio_isr_handler_remove(gpio_num_t gpio_num) esp_err_t gpio_install_isr_service(int intr_alloc_flags) { - GPIO_CHECK(gpio_isr_func == NULL, "GPIO isr service already installed", ESP_FAIL); + GPIO_CHECK(gpio_isr_func == NULL, "GPIO isr service already installed", ESP_ERR_INVALID_STATE); esp_err_t ret; portENTER_CRITICAL(&gpio_spinlock); gpio_isr_func = (gpio_isr_func_t*) calloc(GPIO_NUM_MAX, sizeof(gpio_isr_func_t)); diff --git a/components/driver/include/driver/gpio.h b/components/driver/include/driver/gpio.h index 8246c415e..04a4aa099 100644 --- a/components/driver/include/driver/gpio.h +++ b/components/driver/include/driver/gpio.h @@ -389,6 +389,7 @@ esp_err_t gpio_wakeup_disable(gpio_num_t gpio_num); * @return * - ESP_OK Success ; * - ESP_ERR_INVALID_ARG GPIO error + * - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags */ esp_err_t gpio_isr_register(void (*fn)(void*), void * arg, int intr_alloc_flags, gpio_isr_handle_t *handle); @@ -446,8 +447,10 @@ esp_err_t gpio_pulldown_dis(gpio_num_t gpio_num); * * @return * - ESP_OK Success - * - ESP_FAIL Operation fail * - ESP_ERR_NO_MEM No memory to install this service + * - ESP_ERR_INVALID_STATE ISR service already installed. + * - ESP_ERR_NOT_FOUND No free interrupt found with the specified flags + * - ESP_ERR_INVALID_ARG GPIO error */ esp_err_t gpio_install_isr_service(int intr_alloc_flags);