09-10-2019, 04:46 PM
Erstmal für andere, die hier vielleicht darüber stolpern (wir hatten ja schon per Mail kontakt):
Der Fehler oben (Could not load experiment: parsingError(backtrace "", line:663, encounteredError: phyphox.ElementHandlerError.missing-Attribute("output"))) ist ein etwas dämlicher, den wir mit Version 1.1.0 eingebaut haben und den ich zur nächsten Version beheben werde. Konkret erwartet Android derzeit, dass der Audio-Ausgang "out" heißt und die iOS-Version erwartet dagegen "output". Der Editor erzeugt ersteres, weswegen sich iPhones daran verschlucken. Im nächsten Update werde ich das dann auch auf "out" anpassen, damit es wieder einheitlich und kompatibel zu alten Versionen ist.
Ich habe das nun im Editor so umgangen, dass das Attribut "out"/"output" gar nicht gesetzt wird, da es eh optional ist. Damit sollte kaum noch jemand das Problem (bei neu erstellten Experimenten) bemerken. Die per Hand angepasste phyphox-Datei von oben muss aber noch einmal mit "out" (oder ganz ohne component="output") geladen werden, da der Editor "output" weiterhin nicht akzeptiert.
Nun zu dem aktuellen Stand der phyphox-Datei:
Das größte Problem war, dass bei den Verbindungen zu den Graphen "Clear" auf "at output" stand. Die Clear-Einstellung ist standardmäßig so eingestellt, dass es ohne großes Nachdenken für klassische Sensoren (wenn auch nicht optimal) funktioniert. Hier werden die Sensordaten direkt am Eingang im Puffer immer weiter angesammelt und alle Operationen im Editor werden immer auf alle alten Werte angewendet, die dann die vorherigen Werte einfach ersetzen. Bei Audio-Daten wäre das etwas heftig, weswegen die Audio-Experiment am Eingang immer nur die neusten Werte vorhalten, Berechnungen auf diese angewendet werden und "am Ende" die jeweils neuen Daten an die existierenden angehangen werden. Steht dann "Clear" auf "at output", werden die alten Daten gelöscht, wenn es neue gibt und in den Graphen steht immer nur der letzte Messwert (erkennbar daran, dass auf der x-Achse tatsächlich Werte erscheinen, aber keine Linie, da es keine zwei Punkte zum verbinden gibt).
Das scheint übrigens auch der Fall zu sein, wenn man "Frequenzverlauf" einfach so im Editor lädt. Scheinbar geht da beim Laden noch etwas schief.
Darüber hinaus waren noch einige Sachen falsch übertragen (die Berechnungen vor dem ersten rangefilter, Puffergröße beim Ausgang vom ramp) und ein grundlegendes Problem war noch, dass der Ausgang vom "timer" für den Amplitudenverlauf ohne "clear" laufen muss (das ergibt direkt die Liste der Ergebnisse) beim Frequenzverlauf aber erstmal nur der jeweils letzte Wert noch im rangefilter zusammen mit der Frequenz geprüft wird. Das habe ich mit einem zusätzlichen "append" in einen Puffer der Größe 1 gelöst.
Das Ergebnis scheint nun das gewünschte zu sein (siehe Anhang, unter Android getestet).
Der Fehler oben (Could not load experiment: parsingError(backtrace "", line:663, encounteredError: phyphox.ElementHandlerError.missing-Attribute("output"))) ist ein etwas dämlicher, den wir mit Version 1.1.0 eingebaut haben und den ich zur nächsten Version beheben werde. Konkret erwartet Android derzeit, dass der Audio-Ausgang "out" heißt und die iOS-Version erwartet dagegen "output". Der Editor erzeugt ersteres, weswegen sich iPhones daran verschlucken. Im nächsten Update werde ich das dann auch auf "out" anpassen, damit es wieder einheitlich und kompatibel zu alten Versionen ist.
Ich habe das nun im Editor so umgangen, dass das Attribut "out"/"output" gar nicht gesetzt wird, da es eh optional ist. Damit sollte kaum noch jemand das Problem (bei neu erstellten Experimenten) bemerken. Die per Hand angepasste phyphox-Datei von oben muss aber noch einmal mit "out" (oder ganz ohne component="output") geladen werden, da der Editor "output" weiterhin nicht akzeptiert.
Nun zu dem aktuellen Stand der phyphox-Datei:
Das größte Problem war, dass bei den Verbindungen zu den Graphen "Clear" auf "at output" stand. Die Clear-Einstellung ist standardmäßig so eingestellt, dass es ohne großes Nachdenken für klassische Sensoren (wenn auch nicht optimal) funktioniert. Hier werden die Sensordaten direkt am Eingang im Puffer immer weiter angesammelt und alle Operationen im Editor werden immer auf alle alten Werte angewendet, die dann die vorherigen Werte einfach ersetzen. Bei Audio-Daten wäre das etwas heftig, weswegen die Audio-Experiment am Eingang immer nur die neusten Werte vorhalten, Berechnungen auf diese angewendet werden und "am Ende" die jeweils neuen Daten an die existierenden angehangen werden. Steht dann "Clear" auf "at output", werden die alten Daten gelöscht, wenn es neue gibt und in den Graphen steht immer nur der letzte Messwert (erkennbar daran, dass auf der x-Achse tatsächlich Werte erscheinen, aber keine Linie, da es keine zwei Punkte zum verbinden gibt).
Das scheint übrigens auch der Fall zu sein, wenn man "Frequenzverlauf" einfach so im Editor lädt. Scheinbar geht da beim Laden noch etwas schief.
Darüber hinaus waren noch einige Sachen falsch übertragen (die Berechnungen vor dem ersten rangefilter, Puffergröße beim Ausgang vom ramp) und ein grundlegendes Problem war noch, dass der Ausgang vom "timer" für den Amplitudenverlauf ohne "clear" laufen muss (das ergibt direkt die Liste der Ergebnisse) beim Frequenzverlauf aber erstmal nur der jeweils letzte Wert noch im rangefilter zusammen mit der Frequenz geprüft wird. Das habe ich mit einem zusätzlichen "append" in einen Puffer der Größe 1 gelöst.
Das Ergebnis scheint nun das gewünschte zu sein (siehe Anhang, unter Android getestet).