esp-idf/examples/system/deep_sleep/main/Kconfig.projbuild

282 lines
12 KiB
Plaintext

menu "Example Configuration"
config EXAMPLE_TOUCH_WAKEUP
bool "Enable touch wake up"
default y
depends on SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP
help
This option enables wake up from deep sleep using touch pads.
ESP32 - TOUCH8 and TOUCH9, which correspond to GPIO33 and GPIO32.
ESP32S2/S3 - TOUCH9, which corresponds to GPIO9.
Note: On ESP32, touch wakeup source can not be used together with ext0 wakeup source.
config EXAMPLE_EXT0_WAKEUP
bool "Enable wakeup from GPIO (ext0)"
default y if !IDF_TARGET_ESP32
default n if IDF_TARGET_ESP32
depends on SOC_PM_SUPPORT_EXT0_WAKEUP
help
This option enables wake up from deep sleep from GPIO25(ESP32)/GPIO3(ESP32S2,S3). The pin should be
connected to LOW to avoid being in a floating state. When triggering a wake up, connect the pin to HIGH.
Note that floating pins may trigger a wake up.
Note: On ESP32, ext0 wakeup source can not be used together with touch wakeup source.
config EXAMPLE_EXT1_WAKEUP
bool "Enable wakeup from GPIO (ext1)"
default y
depends on SOC_PM_SUPPORT_EXT1_WAKEUP
help
This option enables wake up from deep sleep from GPIO2 and GPIO4. They should be connected to LOW to avoid
floating pins. When triggering a wake up, connect one or both of the pins to HIGH. Note that floating
pins may trigger a wake up.
menu "EXT1 wakeup configuration"
visible if EXAMPLE_EXT1_WAKEUP
config EXAMPLE_EXT1_WAKEUP_PIN_1
int "Enable wakeup from PIN_1"
depends on !IDF_TARGET_ESP32
default 2 if !IDF_TARGET_ESP32H2
default 10 if IDF_TARGET_ESP32H2
range 0 7 if IDF_TARGET_ESP32C6
range 7 14 if IDF_TARGET_ESP32H2
range 0 21 if IDF_TARGET_ESP32S2
range 0 21 if IDF_TARGET_ESP32S3
choice EXAMPLE_EXT1_WAKEUP_PIN_1_SEL
prompt "Enable wakeup from PIN_1"
default EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_2
depends on IDF_TARGET_ESP32
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_0
bool "GPIO 0"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_2
bool "GPIO 2"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_4
bool "GPIO 4"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_12
bool "GPIO 12"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_13
bool "GPIO 13"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_14
bool "GPIO 14"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_15
bool "GPIO 15"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_25
bool "GPIO 25"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_26
bool "GPIO 26"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_27
bool "GPIO 27"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_32
bool "GPIO 32"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_33
bool "GPIO 33"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_34
bool "GPIO 34"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_35
bool "GPIO 35"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_36
bool "GPIO 36"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_37
bool "GPIO 37"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_38
bool "GPIO 38"
config EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_39
bool "GPIO 39"
endchoice
config EXAMPLE_EXT1_WAKEUP_PIN_1
int
depends on IDF_TARGET_ESP32
default 0 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_0
default 2 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_2
default 4 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_4
default 12 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_12
default 13 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_13
default 14 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_14
default 15 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_15
default 25 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_25
default 26 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_26
default 27 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_27
default 32 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_32
default 33 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_33
default 34 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_34
default 35 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_35
default 36 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_36
default 37 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_37
default 38 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_38
default 39 if EXAMPLE_EXT1_WAKEUP_PIN_1_SEL_39
config EXAMPLE_EXT1_WAKEUP_PIN_2
int "Enable wakeup from PIN_2"
depends on !IDF_TARGET_ESP32
default 4 if !IDF_TARGET_ESP32H2
default 11 if IDF_TARGET_ESP32H2
range 0 7 if IDF_TARGET_ESP32C6
range 7 14 if IDF_TARGET_ESP32H2
range 0 21 if IDF_TARGET_ESP32S2
range 0 21 if IDF_TARGET_ESP32S3
choice EXAMPLE_EXT1_WAKEUP_PIN_2_SEL
prompt "Enable wakeup from PIN_2"
default EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_4
depends on IDF_TARGET_ESP32
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_0
bool "GPIO 0"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_2
bool "GPIO 2"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_4
bool "GPIO 4"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_12
bool "GPIO 12"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_13
bool "GPIO 13"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_14
bool "GPIO 14"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_15
bool "GPIO 15"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_25
bool "GPIO 25"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_26
bool "GPIO 26"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_27
bool "GPIO 27"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_32
bool "GPIO 32"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_33
bool "GPIO 33"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_34
bool "GPIO 34"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_35
bool "GPIO 35"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_36
bool "GPIO 36"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_37
bool "GPIO 37"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_38
bool "GPIO 38"
config EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_39
bool "GPIO 39"
endchoice
config EXAMPLE_EXT1_WAKEUP_PIN_2
int
depends on IDF_TARGET_ESP32
default 0 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_0
default 2 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_2
default 4 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_4
default 12 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_12
default 13 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_13
default 14 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_14
default 15 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_15
default 25 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_25
default 26 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_26
default 27 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_27
default 32 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_32
default 33 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_33
default 34 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_34
default 35 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_35
default 36 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_36
default 37 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_37
default 38 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_38
default 39 if EXAMPLE_EXT1_WAKEUP_PIN_2_SEL_39
choice EXAMPLE_EXT1_WAKEUP_MODE_SEL
prompt "Select wakeup mode from EXT1"
default ESP_EXT1_WAKEUP_ANY_HIGH
depends on !SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
config ESP_EXT1_WAKEUP_ANY_LOW
bool "GPIO any low level"
depends on !IDF_TARGET_ESP32
config ESP_EXT1_WAKEUP_ALL_LOW
bool "GPIO all low level"
depends on IDF_TARGET_ESP32
config ESP_EXT1_WAKEUP_ANY_HIGH
bool "GPIO any high level"
endchoice
config EXAMPLE_EXT1_WAKEUP_MODE
int
depends on !SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
default 0 if ESP_EXT1_WAKEUP_ANY_LOW
default 0 if ESP_EXT1_WAKEUP_ALL_LOW
default 1 if ESP_EXT1_WAKEUP_ANY_HIGH
choice EXAMPLE_EXT1_WAKEUP_PIN_1_MODE_SEL
prompt "Select pin_1 wakeup mode from EXT1"
default ESP_EXT1_WAKEUP_PIN_1_HIGH
depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
config ESP_EXT1_WAKEUP_PIN_1_LOW
bool "GPIO low level"
config ESP_EXT1_WAKEUP_PIN_1_HIGH
bool "GPIO high level"
endchoice
config EXAMPLE_EXT1_WAKEUP_MODE_PIN_1
int
depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
default 0 if ESP_EXT1_WAKEUP_PIN_1_LOW
default 1 if ESP_EXT1_WAKEUP_PIN_1_HIGH
choice EXAMPLE_EXT1_WAKEUP_PIN_2_MODE_SEL
prompt "Select pin_2 wakeup mode from EXT1"
default ESP_EXT1_WAKEUP_PIN_2_HIGH
depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
config ESP_EXT1_WAKEUP_PIN_2_LOW
bool "GPIO low level"
config ESP_EXT1_WAKEUP_PIN_2_HIGH
bool "GPIO high level"
endchoice
config EXAMPLE_EXT1_WAKEUP_MODE_PIN_2
int
depends on SOC_PM_SUPPORT_EXT1_WAKEUP_MODE_PER_PIN
default 0 if ESP_EXT1_WAKEUP_PIN_2_LOW
default 1 if ESP_EXT1_WAKEUP_PIN_2_HIGH
config EXAMPLE_EXT1_USE_INTERNAL_PULLUPS
bool "Use internal pull-up/downs for EXT1 wakeup source"
default n
depends on EXAMPLE_EXT1_WAKEUP
help
When using EXT1 wakeup source without external pull-up/downs, you may want to make use of
the internal ones.
if we turn off the RTC_PERIPH domain or if certain chips lack the RTC_PERIPH domain,
we will use the HOLD feature to maintain the pull-up and pull-down on the pins during sleep.
but if we turn on the RTC_PERIPH domain, we don not need to use HOLD feature and this will
increase some power comsumption.
EXT0 wakeup source resides in the same power domain as RTCIO (RTC Periph), so internal
pull-up/downs are always available. There's no need to explicitly force it on for EXT0.
endmenu
config EXAMPLE_GPIO_WAKEUP
bool "Enable wakeup from GPIO"
default y
depends on SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
help
This option enables wake up from GPIO. Be aware that if you use low level to trigger wakeup, we strongly
recommand you to connect external pull-up resistance.
menu "GPIO wakeup configuration"
visible if EXAMPLE_GPIO_WAKEUP
config EXAMPLE_GPIO_WAKEUP_PIN
int "Enable wakeup from GPIO"
default 0
range 0 7 if IDF_TARGET_ESP32C6
range 0 5 if !IDF_TARGET_ESP32C6
config EXAMPLE_GPIO_WAKEUP_HIGH_LEVEL
bool "Enable GPIO high-level wakeup"
default y
help
This option set the gpio wake-up trigger signal, In deep sleep, only high or low level wake-up is
supported. If this option is enabled, it is a high level wake up, otherwise it is a low level wake up.
endmenu
endmenu