Hallo Max,
Zitat:Muss ich dafür die Idee mit Rotare-Array komplett verwerfen und mir was neues überlegen?
Nö.
Du könntest für jedes Event, welches dich interessiert, einen eigenen Pointer/Index verwalten, der bei neuen Samples automatisch mit hochgezählt wird…
Zitat:Oder habt ihr auf Anhieb eine Idee wie ich mein Programm dahingehend verändern kann?
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…
Zeichne dir das doch einfach mal auf einem Blatt Papier auf - dann sieht man doch sehr schnell, wie das funktioniert!