uint8_t state = 1; // current state (start in last state == default == Datum)
uint32_t previousMillis = 1; // time management
constexpr uint32_t interval = 1500; // default periode between steps
void setup()
{
Serial.begin(115200);
Serial.println("Setup");
}
void loop()
{
// Serial.println("loop");
OLED();
}
void OLED()
{
// Serial.println("OLED");
switch (state)
{
case 0: // Kalenderwoche // wenn wir in Schritt 0 sind
Serial.print("Millis: ");Serial.println(millis() - previousMillis);
if (millis() - previousMillis >= interval) // und das Intervall abgelaufen ist
{
// previousMillis = millis();
previousMillis += interval; // merken wir uns die Zeit
state++; // drehen den Status weiter
Serial.println("case 0"); // und führen ab hier eine Aktion aus
}
break;
case 1 : // Temperatur
Serial.print("Millis: ");Serial.println(millis() - previousMillis);
if (millis() - previousMillis >= interval)
{
// previousMillis = millis();
previousMillis += interval;
state++;
Serial.println("case 1");
}
break;
case 2 : // Luftfeuchte
Serial.print("Millis: ");Serial.println(millis() - previousMillis);
if (millis() - previousMillis >= interval)
{
// previousMillis = millis();
previousMillis += interval;
state++;
//u8x8.clear();
Serial.println("case 2");
}
break;
case 3 : // Druck
Serial.print("Millis: ");Serial.println(millis() - previousMillis);
if (millis() - previousMillis >= interval)
{
// previousMillis = millis();
previousMillis += interval;
state++;
Serial.println("case 3");
}
break;
default : // Datum
Serial.print("Millis: ");Serial.println(millis() - previousMillis);
if (millis() - previousMillis >= interval)
{
// previousMillis = millis();
previousMillis += interval;
state = 0;
Serial.println("case default");
}
break;
}
}