mirror of
https://github.com/esphome/esphome.git
synced 2025-07-29 06:36:45 +00:00
[rp2040] Allow changing watchdog timeout (#8868)
This commit is contained in:
parent
0b1c5b825e
commit
20aba45cbe
@ -10,6 +10,7 @@ from esphome.const import (
|
|||||||
CONF_TIMEOUT,
|
CONF_TIMEOUT,
|
||||||
CONF_TRIGGER_ID,
|
CONF_TRIGGER_ID,
|
||||||
CONF_URL,
|
CONF_URL,
|
||||||
|
CONF_WATCHDOG_TIMEOUT,
|
||||||
PLATFORM_HOST,
|
PLATFORM_HOST,
|
||||||
__version__,
|
__version__,
|
||||||
)
|
)
|
||||||
@ -43,7 +44,6 @@ CONF_USERAGENT = "useragent"
|
|||||||
CONF_VERIFY_SSL = "verify_ssl"
|
CONF_VERIFY_SSL = "verify_ssl"
|
||||||
CONF_FOLLOW_REDIRECTS = "follow_redirects"
|
CONF_FOLLOW_REDIRECTS = "follow_redirects"
|
||||||
CONF_REDIRECT_LIMIT = "redirect_limit"
|
CONF_REDIRECT_LIMIT = "redirect_limit"
|
||||||
CONF_WATCHDOG_TIMEOUT = "watchdog_timeout"
|
|
||||||
CONF_BUFFER_SIZE_RX = "buffer_size_rx"
|
CONF_BUFFER_SIZE_RX = "buffer_size_rx"
|
||||||
CONF_BUFFER_SIZE_TX = "buffer_size_tx"
|
CONF_BUFFER_SIZE_TX = "buffer_size_tx"
|
||||||
CONF_CA_CERTIFICATE_PATH = "ca_certificate_path"
|
CONF_CA_CERTIFICATE_PATH = "ca_certificate_path"
|
||||||
|
@ -10,6 +10,7 @@ from esphome.const import (
|
|||||||
CONF_PLATFORM_VERSION,
|
CONF_PLATFORM_VERSION,
|
||||||
CONF_SOURCE,
|
CONF_SOURCE,
|
||||||
CONF_VERSION,
|
CONF_VERSION,
|
||||||
|
CONF_WATCHDOG_TIMEOUT,
|
||||||
KEY_CORE,
|
KEY_CORE,
|
||||||
KEY_FRAMEWORK_VERSION,
|
KEY_FRAMEWORK_VERSION,
|
||||||
KEY_TARGET_FRAMEWORK,
|
KEY_TARGET_FRAMEWORK,
|
||||||
@ -147,6 +148,10 @@ CONFIG_SCHEMA = cv.All(
|
|||||||
{
|
{
|
||||||
cv.Required(CONF_BOARD): cv.string_strict,
|
cv.Required(CONF_BOARD): cv.string_strict,
|
||||||
cv.Optional(CONF_FRAMEWORK, default={}): ARDUINO_FRAMEWORK_SCHEMA,
|
cv.Optional(CONF_FRAMEWORK, default={}): ARDUINO_FRAMEWORK_SCHEMA,
|
||||||
|
cv.Optional(CONF_WATCHDOG_TIMEOUT, default="8388ms"): cv.All(
|
||||||
|
cv.positive_time_period_milliseconds,
|
||||||
|
cv.Range(max=cv.TimePeriod(milliseconds=8388)),
|
||||||
|
),
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
set_core_data,
|
set_core_data,
|
||||||
@ -189,6 +194,8 @@ async def to_code(config):
|
|||||||
cg.RawExpression(f"VERSION_CODE({ver.major}, {ver.minor}, {ver.patch})"),
|
cg.RawExpression(f"VERSION_CODE({ver.major}, {ver.minor}, {ver.patch})"),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
cg.add_define("USE_RP2040_WATCHDOG_TIMEOUT", config[CONF_WATCHDOG_TIMEOUT])
|
||||||
|
|
||||||
|
|
||||||
def add_pio_file(component: str, key: str, data: str):
|
def add_pio_file(component: str, key: str, data: str):
|
||||||
try:
|
try:
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#ifdef USE_RP2040
|
#ifdef USE_RP2040
|
||||||
|
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
|
#include "esphome/core/defines.h"
|
||||||
#include "esphome/core/hal.h"
|
#include "esphome/core/hal.h"
|
||||||
#include "esphome/core/helpers.h"
|
#include "esphome/core/helpers.h"
|
||||||
|
|
||||||
@ -19,7 +20,13 @@ void arch_restart() {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void arch_init() { watchdog_enable(0x7fffff, false); }
|
|
||||||
|
void arch_init() {
|
||||||
|
#if USE_RP2040_WATCHDOG_TIMEOUT > 0
|
||||||
|
watchdog_enable(USE_RP2040_WATCHDOG_TIMEOUT, false);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void IRAM_ATTR HOT arch_feed_wdt() { watchdog_update(); }
|
void IRAM_ATTR HOT arch_feed_wdt() { watchdog_update(); }
|
||||||
|
|
||||||
uint8_t progmem_read_byte(const uint8_t *addr) {
|
uint8_t progmem_read_byte(const uint8_t *addr) {
|
||||||
|
@ -963,6 +963,7 @@ CONF_WAND_ID = "wand_id"
|
|||||||
CONF_WARM_WHITE = "warm_white"
|
CONF_WARM_WHITE = "warm_white"
|
||||||
CONF_WARM_WHITE_COLOR_TEMPERATURE = "warm_white_color_temperature"
|
CONF_WARM_WHITE_COLOR_TEMPERATURE = "warm_white_color_temperature"
|
||||||
CONF_WATCHDOG_THRESHOLD = "watchdog_threshold"
|
CONF_WATCHDOG_THRESHOLD = "watchdog_threshold"
|
||||||
|
CONF_WATCHDOG_TIMEOUT = "watchdog_timeout"
|
||||||
CONF_WEB_SERVER = "web_server"
|
CONF_WEB_SERVER = "web_server"
|
||||||
CONF_WEB_SERVER_ID = "web_server_id"
|
CONF_WEB_SERVER_ID = "web_server_id"
|
||||||
CONF_WEIGHT = "weight"
|
CONF_WEIGHT = "weight"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user