Hallo Otto,
Zitat:Ich habe mal einen Timeout von 1000ms gesetzt. Was wäre hier denn ein sinnvoller Wert?
Du solltest einen Timeout setzen, der dich nicht stört, wenn du die Schleife beenden willst. Mancher User ist irritiert, wenn ein Programm ein paar Sekunden gefühlt "stehen bleibt", bevor es irgendwie reagiert: wenn du Daten alle 20ms erwartest, sollte ein Timeout von 100ms mehr als ausreichend sein…
Zitat:Allerdings sind es gefühlt zu wenig Daten. Bei 10us müssten ja 100k Werte pro Sekunde gespeichert werden. Nach 5 Sekunden habe ich aber erst etwas über 200k Werte. Es wird aber auch kein Fehler ausgegeben.
Da hilft nur debuggen:
- einfach mal die Samplerate im FPGA überprüfen (wirklich: ich hatte mal ein DIO-Modul mit max. 140kHz im FPGA programmiert und habe mich gewundert, dass augenscheinlich nur 60kHz Samplerate erreicht wurden…)
- die Anzahl der vom FPGA gelesenen Samples überprüfen und mit den Erwartungswerten vergleichen
- die Anzahl der per Queue übertragenen Datenpakete überprüfen und mit den Erwartungswerten vergleichen
- die Anzahl der geschriebenen Daten überprüfen und mit den Erwartungswerten vergleichen