Selaa lähdekoodia

change: idf5-rc1已经删除了esp_task_wdt_reconfigure函数, 只能通过esp_task_wdt_init重新配置硬狗超时时间

Wendal Chen 3 vuotta sitten
vanhempi
sitoutus
1f8b93be50
1 muutettua tiedostoa jossa 13 lisäystä ja 12 poistoa
  1. 13 12
      luatos/components/luat/port/luat_wdt_idf5.c

+ 13 - 12
luatos/components/luat/port/luat_wdt_idf5.c

@@ -6,20 +6,15 @@
 #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,
-};
+static uint32_t task_added = 0;
 
 int luat_wdt_init(size_t timeout){
-#if CONFIG_ESP_TASK_WDT_INIT
+    if (task_added != 0)
+        return 0;
     luat_wdt_set_timeout(timeout);
-#else
-    twdt_config.timeout_ms = timeout;
-    esp_task_wdt_init(&twdt_config);
-#endif
-    return esp_task_wdt_add(NULL);
+    esp_task_wdt_add(NULL);
+    task_added = 1;
+    return 0;
 }
 
 int luat_wdt_feed(void){
@@ -27,8 +22,14 @@ int luat_wdt_feed(void){
 }
 
 int luat_wdt_set_timeout(size_t timeout){
+    esp_task_wdt_config_t twdt_config = {
+        .timeout_ms = 0,
+        .idle_core_mask = 0,
+        .trigger_panic = false,
+    };
     twdt_config.timeout_ms = timeout;
-    return esp_task_wdt_reconfigure(&twdt_config);
+    esp_task_wdt_init(&twdt_config);
+    return 0;
 }
 
 int luat_wdt_close(void){