#pragma once /** * Configures the factory-reset button GPIO (CONFIG_FRAME_RESET_BUTTON_GPIO, * active-low with internal pull-up) and arms it as a deep-sleep wakeup * source, so holding it wakes the device promptly even while it's asleep * rather than only being noticed during its brief awake windows. Call once, * early in app_main(), before the device might enter deep sleep. * * A no-op if CONFIG_FRAME_RESET_BUTTON_GPIO is negative (button disabled). */ void reset_button_init(void); /** * Checks whether the reset button is currently held. If it's held * continuously for CONFIG_FRAME_RESET_BUTTON_HOLD_MS, clears the stored * WiFi/server config and restarts (does not return in that case) so the * device comes back up in provisioning mode. Returns immediately if the * button isn't pressed, or as soon as it's released before the hold * duration elapses -- normal boot continues either way. */ void reset_button_check(void);