Merge pull request #565 from iranl/RTC-watchdog

RTC Watchdog
This commit is contained in:
iranl
2024-12-18 22:33:36 +01:00
committed by GitHub
4 changed files with 22 additions and 1 deletions

View File

@@ -104,4 +104,6 @@ CONFIG_HTTPD_MAX_URI_LEN=512
CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
CONFIG_HTTPD_PURGE_BUF_LEN=32
CONFIG_HTTPD_WS_SUPPORT=y
CONFIG_ESP_HTTPS_SERVER_ENABLE=n
CONFIG_ESP_HTTPS_SERVER_ENABLE=n
CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE=y
CONFIG_BOOTLOADER_WDT_TIME_MS=90000

View File

@@ -10,6 +10,7 @@
#include "networkDevices/WifiDevice.h"
#endif
#include "networkDevices/EthernetDevice.h"
#include "hal/wdt_hal.h"
NukiNetwork* NukiNetwork::_inst = nullptr;
@@ -225,6 +226,10 @@ void NukiNetwork::initialize()
bool NukiNetwork::update()
{
wdt_hal_context_t rtc_wdt_ctx = RWDT_HAL_CONTEXT_DEFAULT();
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_feed(&rtc_wdt_ctx);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
_device->update();
return true;
}
@@ -367,6 +372,10 @@ void NukiNetwork::readSettings()
bool NukiNetwork::update()
{
wdt_hal_context_t rtc_wdt_ctx = RWDT_HAL_CONTEXT_DEFAULT();
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_feed(&rtc_wdt_ctx);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
int64_t ts = espMillis();
_device->update();

View File

@@ -5,6 +5,7 @@
#include "RestartReason.h"
#include <NukiOpenerUtils.h>
#include "Config.h"
#include "hal/wdt_hal.h"
NukiOpenerWrapper* nukiOpenerInst;
Preferences* nukiOpenerPreferences = nullptr;
@@ -183,6 +184,10 @@ void NukiOpenerWrapper::readSettings()
void NukiOpenerWrapper::update()
{
wdt_hal_context_t rtc_wdt_ctx = RWDT_HAL_CONTEXT_DEFAULT();
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_feed(&rtc_wdt_ctx);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
if(!_paired)
{
Log->println(F("Nuki opener start pairing"));

View File

@@ -5,6 +5,7 @@
#include "RestartReason.h"
#include <NukiLockUtils.h>
#include "Config.h"
#include "hal/wdt_hal.h"
NukiWrapper* nukiInst = nullptr;
@@ -190,6 +191,10 @@ void NukiWrapper::readSettings()
void NukiWrapper::update()
{
wdt_hal_context_t rtc_wdt_ctx = RWDT_HAL_CONTEXT_DEFAULT();
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_feed(&rtc_wdt_ctx);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
if(!_paired)
{
Log->println(F("Nuki lock start pairing"));