]> granicus.if.org Git - esp-idf/commitdiff
driver(gpio): Modified the GPIO_CHECK's return value when ISR service already installed
authorkooho <2229179028@qq.com>
Mon, 26 Mar 2018 02:50:22 +0000 (10:50 +0800)
committerkooho <2229179028@qq.com>
Thu, 29 Mar 2018 01:58:31 +0000 (09:58 +0800)
components/driver/gpio.c
components/driver/include/driver/gpio.h

index 02c9e64f46388c317d4b0515aeafafe92dadc6ae..d3d07bb4fa2252163d18d962ea2a388eae9ec544 100644 (file)
@@ -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));
index 8246c415ef361c37046fc3f85c9b8bcc48485d08..04a4aa099ccbff8b791c999e3f41bc7dd94dde0a 100644 (file)
@@ -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);