22#include <esp_system.h>
90#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
180#include "sdkconfig.h"
181#ifdef CONFIG_IDFXX_STD_FORMAT
188 constexpr auto parse(format_parse_context& ctx) {
return ctx.begin(); }
190 template<
typename FormatContext>
193 return std::copy(s.begin(), s.end(), ctx.out());
void unregister_shutdown_handler(void(*handler)())
Unregisters a previously registered shutdown handler.
reset_reason last_reset_reason() noexcept
Returns the reason for the most recent chip reset.
std::size_t free_heap_size() noexcept
Returns the current free heap size in bytes.
reset_reason
Reason for the most recent chip reset.
std::size_t minimum_free_heap_size() noexcept
Returns the minimum free heap size recorded since boot.
std::size_t free_internal_heap_size() noexcept
Returns the current free internal heap size in bytes.
void restart()
Restart the chip immediately.
result< void > try_unregister_shutdown_handler(void(*handler)())
Unregisters a previously registered shutdown handler.
void register_shutdown_handler(void(*handler)())
Registers a function to be called during chip shutdown/restart.
result< void > try_register_shutdown_handler(void(*handler)())
Registers a function to be called during chip shutdown/restart.
@ power_glitch
Reset due to power glitch detected.
@ power_on
Power-on reset.
@ usb
Reset by USB peripheral.
@ efuse
Reset due to efuse error.
@ external
Reset by external pin (not applicable for ESP32).
@ interrupt_watchdog
Reset due to interrupt watchdog.
@ watchdog
Reset due to other watchdog.
@ brownout
Brownout reset (software or hardware).
@ cpu_lockup
Reset due to CPU lock up.
@ task_watchdog
Reset due to task watchdog.
@ unknown
Reset reason could not be determined.
@ panic
Software reset due to exception/panic.
@ deep_sleep
Reset after exiting deep sleep mode.
@ software
Software reset via esp_restart.
std::string to_string(core_id c)
Returns a string representation of a CPU core identifier.
std::expected< T, std::error_code > result
result type wrapping a value or error code.