eickler Posted May 28, 2013 at 08:14 PM Share Posted May 28, 2013 at 08:14 PM 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é Quote Link to comment Share on other sites More sharing options...
AuronX Posted May 28, 2013 at 08:21 PM Share Posted May 28, 2013 at 08:21 PM 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) Quote Link to comment Share on other sites More sharing options...
eickler Posted May 29, 2013 at 06:08 PM Author Share Posted May 29, 2013 at 06:08 PM Ah danke! Das hilft weiter, darauf kann ich ja testen. Irgendwann gewöhne ich mich wahrscheinlich auch an die Dokumentationsstruktur. Cheers, André Quote Link to comment Share on other sites More sharing options...
remotecontrol Posted May 30, 2013 at 02:20 PM Share Posted May 30, 2013 at 02:20 PM 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 ...). Quote Link to comment Share on other sites More sharing options...
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.