Hallo Gerd,
Zitat:Du könntest für jedes Event, welches dich interessiert, einen eigenen Pointer/Index verwalten, der bei neuen Samples automatisch mit hochgezählt wird…
Habe ich versucht Vi im Anhang.
Ich Initialisire es von Anfang an auf Puffersize und dekrementiere den Index jeden Umlauf bis 0.
Wird 0 ereicht setze ihn dann wieder auf Puffersize.
Somit bleibt der Index immer da wo das Ereigniss stattgefunden hat, so die Therorie.
In der Praxis funktioniert das bei mir nicht.
Ich habe dran rumgedoktert aber finde den Fehler nicht.
Hat wahrscheinlich was mit dem Indizieren zu tun, da habe ich noch Verständnissprobleme.
Zitat:Einen echten Ringbuffer verwenden: auf das RotateArray verzichten und intern einen Pointer/index verwalten, der bei jedem neuen Sample hochzählt und am Ende des linearen Buffers dank Q&R automatisch wieder auf den Anfang zurückspringt. Hier musst du dir nur pro Event einen Index merken - und diesen wieder als ungültig markieren, wenn der Ringbuffer die alten Daten wieder überschrieben hat…
echter Ringpuffer? gibt es dazu fertige Vi's? Kann man irgendwo nachlesen wie man sowas programmiert?
Ich habe hier im Forum nach anderen Möglichkeiten für Ringpufferspeicher gesucht aber die suchfunktion hat mir nichts wirklich brauchbares angezeigt..
Was heißt Q&R?