eickler Geschrieben May 28, 2013 at 20:14 Geschrieben May 28, 2013 at 20:14 Hallo! Gibt es eigentlich eine Möglichkeit, das Ende der Enumeration festzustellen? Was ist die Semantik von public final static short ENUMERATION_TYPE_AVAILABLE = 0; public final static short ENUMERATION_TYPE_CONNECTED = 1; public final static short ENUMERATION_TYPE_DISCONNECTED = 2; ? Ist das z.B. "*_CONNECTED" = das Bricklet/Brick ist angeschlossen und "*_AVAILABLE" = ich kann Daten auslesen? Grüße, André Zitieren
AuronX Geschrieben May 28, 2013 at 20:21 Geschrieben May 28, 2013 at 20:21 http://www.tinkerforge.com/de/doc/Software/IPConnection_CSharp.html#callbacks Mögliche Enumerierungsarten sind: IPConnection.ENUMERATION_TYPE_AVAILABLE (0): Gerät ist verfügbar (Enumerierung vom Benutzer ausgelöst). IPConnection.ENUMERATION_TYPE_CONNECTED (1): Gerät ist neu verfügbar (Automatisch vom Brick gesendet nachdem die Kommunikation aufgebaut wurde). Dies kann bedeuten, dass das Gerät die vorher eingestellte Konfiguration verloren hat und neu konfiguriert werden muss. IPConnection.ENUMERATION_TYPE_DISCONNECTED (2): Gerät wurde getrennt (Nur bei USB-Verbindungen möglich). In diesem Fall haben nur uid und enumerationType einen gültigen Wert. Das Ende der Enumeration ist nicht explizit feststellbar, weil das der Stack auch nicht "weiß". Aber es gilt die Regel wenn du 2500ms keine Antwort erhältst, dann ists wohl fertig. (weil 2500ms default timeout ist) Zitieren
eickler Geschrieben May 29, 2013 at 18:08 Autor Geschrieben May 29, 2013 at 18:08 Ah danke! Das hilft weiter, darauf kann ich ja testen. Irgendwann gewöhne ich mich wahrscheinlich auch an die Dokumentationsstruktur. Cheers, André Zitieren
remotecontrol Geschrieben May 30, 2013 at 14:20 Geschrieben May 30, 2013 at 14:20 Ich habe in meiner Anwendung ein "Grundwissen" über die maximale Anzahl erwarteter Bricklets hinterlegt (z.B. 6) und wenn nach 1 Sekunde 6 Bricks+Bricklets erkannt wurden gehe ich davon aus, dass der Enumerate beendet ist. Wenn nicht warte ich noch etwas. Das mache ich bis max 3 Sekunden lang. Wenn dann immernoch nicht alle Bricklets da sind, liegt in der Regel tatsächlich ein Fehler vor (Stack hat sich aufgehängt ...). Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.