Dozingfiretruck преди 3 години
родител
ревизия
633a8e7cb6
променени са 2 файла, в които са добавени 34 реда и са изтрити 1 реда
  1. 33 0
      luatos/components/luat/port/luat_wdt_idf5.c
  2. 1 1
      luatos/include/luat_conf_bsp.h

+ 33 - 0
luatos/components/luat/port/luat_wdt_idf5.c

@@ -0,0 +1,33 @@
+#include "luat_base.h"
+#include "luat_wdt.h"
+
+#include "esp_task_wdt.h"
+
+#include "luat_log.h"
+#define LUAT_LOG_TAG "wdt"
+
+esp_task_wdt_config_t twdt_config = {
+    .timeout_ms = 0,
+    .idle_core_mask = 0,
+    .trigger_panic = false,
+};
+
+int luat_wdt_init(size_t timeout){
+    twdt_config.timeout_ms = timeout;
+    esp_task_wdt_init(&twdt_config);
+    return esp_task_wdt_add(NULL);
+}
+
+int luat_wdt_feed(void){
+    return esp_task_wdt_reset();
+}
+
+int luat_wdt_set_timeout(size_t timeout){
+    twdt_config.timeout_ms = timeout;
+    return esp_task_wdt_reconfigure(&twdt_config);
+}
+
+int luat_wdt_close(void){
+    esp_task_wdt_delete(NULL);
+    return esp_task_wdt_deinit();
+}

+ 1 - 1
luatos/include/luat_conf_bsp.h

@@ -27,7 +27,7 @@
 #define LUAT_USE_SPI  1
 #define LUAT_USE_ADC  1
 #define LUAT_USE_PWM  1
-// #define LUAT_USE_WDT  1
+#define LUAT_USE_WDT  1
 // #define LUAT_USE_PM  1
 #define LUAT_USE_MCU  1
 // #define LUAT_USE_RTC 1