Bläddra i källkod

Merge branch 'bugfix/wrong_gpio_is_deep_sleep_wakeup_valid_gpio' into 'master'

gpio: fix wrong GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO macro

Closes IDFGH-7128

See merge request espressif/esp-idf!17737
morris 3 år sedan
förälder
incheckning
0164ce894d
1 ändrade filer med 2 tillägg och 1 borttagningar
  1. 2 1
      components/driver/include/driver/gpio.h

+ 2 - 1
components/driver/include/driver/gpio.h

@@ -477,7 +477,8 @@ esp_err_t gpio_sleep_set_pull_mode(gpio_num_t gpio_num, gpio_pull_mode_t pull);
 
 #if SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
 
-#define GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO(gpio_num)        ((gpio_num & ~SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK) == 0)
+#define GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO(gpio_num)    ((gpio_num >= 0) && \
+                                                          (((1ULL << (gpio_num)) & SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK) != 0))
 
 /**
  * @brief Enable GPIO deep-sleep wake-up function.