Page 1 of 1

DFS light sleep makes GPIOfloating

Posted: Sat Jun 05, 2021 7:42 am
by lwshowl
  1.  
  2.     esp_pm_config_esp32c3_t pm_config = {
  3.         .max_freq_mhz = 160,
  4.         .min_freq_mhz = 80,
  5.         .light_sleep_enable = true,
  6.     };
  7.  
  8.     ESP_ERROR_CHECK(esp_pm_configure(&pm_config));
  9.  
  10.     io_conf.mode = GPIO_MODE_INPUT;
  11.  
  12.     io_conf.intr_type = GPIO_INTR_POSEDGE;
  13.  
  14.     io_conf.pin_bit_mask = GPIO_INPUT_PIN_SEL;
  15.  
  16.     io_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
  17.  
  18.     io_conf.pull_up_en = GPIO_PULLUP_ENABLE;
  19.  
  20.     gpio_config(&io_conf);
  21.  
  22.     // change gpio intrrupt type for one pin
  23.     gpio_set_intr_type(GPIO_NUM_7, GPIO_INTR_POSEDGE);
  24.  


i'm using ESP32-C3 with IDF power mannaging and Dynamic Frequence Scheduling features and set auto light sleep to be true
however, when the chip goes into auto light sleep ,the GPIO 7 toggles between high and low nearly every second , thus triggering unexpcted interrupts
i read about the data sheet and found that the GPIO 7 is in VDD3P3_CPU power domain which is supposed to keep on all the time ,and i did not check POWER DOWN CPU IN LIGHT SLEEP IN idf menuconfig
this is quite confusing, can anyone offer some help ?

Re: DFS light sleep makes GPIOfloating

Posted: Sat Jun 05, 2021 8:43 am
by lwshowl
if i disable light sleep in the PM function there is no such problem
but if is enabled ,IO7 interrupt is triggerd nearly every second