Jump to content

Wie kann ich das Ende der Enumeration feststellen?


eickler

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 zu diesem Kommentar
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 zu diesem Kommentar
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 zu diesem Kommentar
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.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...