Liefert jedesmal 4.00
Natürlich tut es das. Der Komma Operator führt das links aus und gibt das ganz rechts zurück.
Wie kommst du auf die Idee dass return genauso funktioniert wie Serial.print()? :o Das eine ist ein elementares Schlüsselwort der Sprache. Das andere ist eine Arduino Methode die einen Float nimmt und ihn als ASCII Zeichen druckt.
aufgerufen, ich möchte dies allerdings über return machen.
Das ist totaler Unsinn. Du gibst einfach einen normalen Float zurück. Wie du den dann am Ende bei der Ausgabe darstellst ist überhaupt nicht die Aufgabe dieser Funktion. Das kann in der aufrufenden Funktion erledigt werden.
z.B. so in der Art:
void loop()
{
Serial.println(func(), 4);
}
float func()
{
return mystats.average();
}