Aufgeräumt

This commit is contained in:
Jannis 2026-10-07 11:54:06 +02:00
parent 0e1965a987
commit 2343a99d68

View file

@ -212,7 +212,7 @@ int getTempInC(uint8_t senTemp){
}
int getFilteredTemp(int rawSensorPin) {
constexpr uint8_t FILTER_SAMPLES = 10; // Puffergröße (10 Messwerte)
constexpr uint8_t FILTER_SAMPLES = 100; // Puffergröße (100 Messwerte) Mittelwert über 10s
static int readings[FILTER_SAMPLES];
static uint8_t readIndex = 0;
static int32_t total = 0;
@ -417,6 +417,22 @@ if (settings.editAcc) {
}
}
// Prüft ob der Motor zu heiß wird.
// return: true wenn zu heiß
// false wenn unter der Grenze
bool checkOverHeat(int sensorPin){
curTemp = getFilteredTemp(sensorPin);
if (curTemp >= settings.maxTemp) {
return true;
} else if (curTemp <= settings.coldTemp) {
return false;
}
}
// ################## TODO #########################
// Betriebsmodi in funktions auslagern
void printStatus(FastAccelStepper *stepper, int speed, int clickPlus, int clickMinus){
// Plotter-Ausgabe alle 50 ms (überflutet den Bus nicht)
if (millis() - lastPlotTime >= 50) {
@ -451,17 +467,6 @@ void loop() {
// 1. Eingaben & Sensoren lesen
getInputs(clickPlus, clickMinus, clickStop, holdPlus, holdMinus, holdStop);
curTemp = getFilteredTemp(senTemp);
// 2. Discord Überhitzungs-Alarm
static bool send = false;
if (curTemp >= settings.maxTemp && !send) {
String message = "⚠️ **Kugelmuehle ueberhitzt!** Aktuelle Temp: " + String(curTemp) + " °C";
sendDiscordNotification(message);
send = true;
} else if (curTemp < settings.coldTemp) {
send = false;
}
// 3. Zeitschaltuhr & NTP prüfen
int curH, curM, curS;
@ -474,40 +479,20 @@ void loop() {
}
// 4. Schutz-Verriegelung (Überhitzung)
//static bool tempOverheat = false;
//if (curTemp >= settings.maxTemp) {
// tempOverheat = true;
//Serial.print("OverHeat ON");
//Serial.println();
//} else if (curTemp <= settings.coldTemp) {
// if(tempOverheat){
// Serial.print("OverHeat OFF");
// Serial.println();
//}
//tempOverheat = false;
//}
// TEST BLOCK Filter logik gegeg STörunegn ############################
static bool tempOverheat = false;
static int32_t overheatCounter = 0;
if (curTemp >= settings.maxTemp && curTemp <= settings.maxTemp + 5) {
overheatCounter++;
} else{
overheatCounter = 0;
static bool tempOverheat;
tempOverheat = checkOverHeat(senTemp);
///######################################### TODO
// Discord Überhitzungs-Alarm
static bool send = false;
if (tempOverheat && !send) {
String message = "⚠️ **Kugelmuehle ueberhitzt!** Aktuelle Temp: " + String(curTemp) + " °C";
sendDiscordNotification(message);
send = true;
} else if (tempOverheat) {
send = false;
}
if(overheatCounter > 10000){
tempOverheat = true;
}
if(tempOverheat && curTemp <= settings.coldTemp){
tempOverheat = false;
}
// #########################################
// 5. Menü aufrufen
// ################# Menü / Hotkey auswerten ###################
if (holdStop && clickPlus) {
bSettings = true;
}