Jump to content

Wie kann ich das Ende der Enumeration feststellen?


eickler
 Share

Recommended Posts

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é

 

 

 

 

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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 ...).

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...