Skip to content

Commit 8c7dfaf

Browse files
authored
Angleichung an V2.0.4
assert problems fixed with wdt
1 parent 03bfc52 commit 8c7dfaf

2 files changed

Lines changed: 27 additions & 22 deletions

File tree

ESP32DevKitV4/PowerGuard.ino

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <WiFiClient.h>
66
#include <PubSubClient.h>
77
#include <esp_task_wdt.h>
8+
#include "secrets.h"
89

910
#define LED_ERROR 23
1011
#define LED_OK 19
@@ -22,16 +23,9 @@ int volatile panicMode = 0; // Indikator für die Zwangsabschaltung - ab jet
2223
#define PHASE_12V 18 // Steuerpin für Phase 5V Versorgung zum ESP32 Heizstabsteuerung
2324

2425
// Definition der Zugangsdaten WiFi
25-
#define HOSTNAME "ESP32_Heizung_PowerGuard"
26-
const char* ssid = "YourSSID";
27-
const char* password = "YourPassword";
2826
WiFiClient myWiFiClient;
2927

3028
//Definition der Zugangsdaten MQTT
31-
#define MQTT_SERVER "Your MQTT BrokerIP"
32-
#define MQTT_PORT 1883
33-
#define MQTT_USER "MQTT broker user"
34-
#define MQTT_PASSWORD "Your MQTT Password"
3529
#define MQTT_CLIENTID "ESP32_PowerGuard" //Name muss eineindeutig auf dem MQTT-Broker sein!
3630
#define MQTT_KEEPALIVE 90
3731
#define MQTT_SOCKETTIMEOUT 30
@@ -331,7 +325,7 @@ void printStateMQTT() {
331325
mqttClient.publish(mqttTopic.c_str(), mqttPayload.c_str());
332326
if (debug > 2) Serial.print("MQTT thermalLimit: ");
333327
if (debug > 2) Serial.println(mqttPayload);
334-
// hardware Error
328+
//Hardware Error
335329
mqttTopic = MQTT_SERIAL_PUBLISH_STATE;
336330
mqttTopic += "hardwareError";
337331
mqttPayload = String(hardwareError);
@@ -474,6 +468,9 @@ static void MQTTwatchdog (void *args){
474468
//ticktime initialisieren
475469
ticktime = xTaskGetTickCount();
476470

471+
er = esp_task_wdt_add(NULL); // Task zur Überwachung hinzugefügt
472+
assert(er == ESP_OK);
473+
477474
for (;;){ // Dauerschleife des Tasks
478475
// Watchdog zurücksetzen
479476
esp_task_wdt_reset();
@@ -747,6 +744,9 @@ static void getTempFromSensor (void *args){
747744
//ticktime initialisieren
748745
ticktime = xTaskGetTickCount();
749746

747+
er = esp_task_wdt_add(NULL); // Task zur Überwachung hinzugefügt
748+
assert(er == ESP_OK);
749+
750750
for (;;){ // Dauerschleife des Tasks
751751
// Watchdog zurücksetzen
752752
esp_task_wdt_reset();
@@ -797,8 +797,7 @@ void setup() {
797797
WiFi.begin(ssid,password);
798798
while (WiFi.status() != WL_CONNECTED)
799799
{
800-
++i;
801-
if (i > 240) {
800+
if (++i > 240) {
802801
// Reboot nach 2min der Fehlversuche
803802
Serial.println("WLAN scheint nicht mehr erreichbar! Reboot!!");
804803
ESP.restart();
@@ -871,12 +870,6 @@ void setup() {
871870
&htempSensor, //handler
872871
app_cpu); //CPU_ID
873872
assert(rc=pdPASS);
874-
er = esp_task_wdt_status(htempSensor); // Check, ob der Task schon überwacht wird
875-
assert(er == ESP_ERR_NOT_FOUND);
876-
if (er == ESP_ERR_NOT_FOUND) {
877-
er = esp_task_wdt_add(htempSensor); // Task zur Überwachung hinzugefügt
878-
assert(er == ESP_OK);
879-
}
880873
Serial.println("TempSensor-Task gestartet.");
881874
rc = xTaskCreatePinnedToCore(
882875
MQTTwatchdog, //Taskroutine
@@ -887,12 +880,6 @@ void setup() {
887880
&hMQTTwatchdog, //handler
888881
app_cpu); //CPU_ID
889882
assert(rc=pdPASS);
890-
er = esp_task_wdt_status(hMQTTwatchdog); // Check, ob der Task schon überwacht wird
891-
assert(er == ESP_ERR_NOT_FOUND);
892-
if (er == ESP_ERR_NOT_FOUND) {
893-
er = esp_task_wdt_add(hMQTTwatchdog); // Task zur Überwachung hinzugefügt
894-
assert(er == ESP_OK);
895-
}
896883
Serial.println("MQTT-Watchdog-Task gestartet.");
897884
rc = xTaskCreatePinnedToCore(
898885
MQTTstate, //Taskroutine

ESP32DevKitV4/secrets.h

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// secrets.h
2+
3+
#ifndef SECRETS_H
4+
#define SECRETS_H
5+
6+
// Definition der Zugangsdaten WiFi
7+
#define HOSTNAME "ESP32_Heizstabsteuerung"
8+
const char* ssid = "YourSSID";
9+
const char* password = "YourPassword";
10+
11+
//Definition der Zugangsdaten MQTT
12+
#define MQTT_SERVER "x.x.x.x Your IP"
13+
#define MQTT_PORT 1883
14+
#define MQTT_USER "Your MQTT User"
15+
#define MQTT_PASSWORD "Your MQTT Password"
16+
17+
#endif // SECRETS_H
18+

0 commit comments

Comments
 (0)