ESP32_powerMC/firmware/simulation_demo.ino
2024-02-07 21:34:37 +01:00

90 lines
2.2 KiB
C++

void simulateUpDownSensorValues() {
if (demo1Increasing == false) {
globalCurrent -= 5.0;
globalPower = 25.6 * globalCurrent;
// Überprüfe, ob die maximalen Werte erreicht sind
if (globalCurrent < -100.0) {
demo1Increasing = true;
globalCurrent = 0;
}
} else if (demo1Increasing == true) {
globalCurrent += 5.0;
globalPower = 25.6 * globalCurrent;
}
// Überprüfe, ob die maximalen Werte erreicht sind
if (globalCurrent > 100.0) {
// Setze Werte auf 0 zurück
globalCurrent = 0.0;
globalPower = 0.0;
globalBusVoltage = 0.0;
globalEnergy = 0.0;
demoMode1 = false;
demo1Increasing = false;
}
}
void simulateChrgFull() {
static unsigned long startTime = 0;
// Startzeit initialisieren, wenn es der erste Durchlauf ist
if (startTime == 0) {
startTime = millis();
}
globalCurrent = 200.0;
globalPower = 25.6 * globalCurrent;
// Zeitdauer seit dem Start berechnen
unsigned long currentTime = millis();
unsigned long elapsedTime = currentTime - startTime;
// Überprüfe, ob die Zeit von 60 Sekunden abgelaufen ist
if (elapsedTime >= 60000) {
// Setze Werte auf 0 zurück
globalCurrent = 0.0;
globalPower = 0.0;
globalBusVoltage = 0.0;
globalEnergy = 0.0;
// Setze Flags zurück
demoMode2 = false;
startTime = 0; // Zurücksetzen der Startzeit für den nächsten Durchlauf
}
}
void simulateDischrgEmpty() {
static unsigned long startTime = 0;
// Startzeit initialisieren, wenn es der erste Durchlauf ist
if (startTime == 0) {
startTime = millis();
}
globalCurrent = -200.0;
globalPower = 25.6 * globalCurrent;
// Zeitdauer seit dem Start berechnen
unsigned long currentTime = millis();
unsigned long elapsedTime = currentTime - startTime;
// Überprüfe, ob die Zeit von 60 Sekunden abgelaufen ist
if (elapsedTime >= 60000) {
// Setze Werte auf 0 zurück
globalCurrent = 0.0;
globalPower = 0.0;
globalBusVoltage = 0.0;
globalEnergy = 0.0;
// Setze Flags zurück
demoMode3 = false;
startTime = 0; // Zurücksetzen der Startzeit für den nächsten Durchlauf
}
}