Jump to content

Erkennung des Device-Typ


Recommended Posts

Hallo,

eine Frage die mir schonmal beim durchstöbern des C#-Codes aufkam und jetzt auch in einem anderen Thread sichtbar wurde:

 

Wenn ich mir in meinen Bindings ein Device erstelle und einer IPConnection zuweise, dann wird geschaut, ob ein Device mit der korrekten UID auch gerade im Stack vorhanden ist. Soweit so gut. Allerdings scheint es nicht vorgesehen zu sein auch den Device-Typ zu überprüfen, zumindest konnte ich nichts derartiges entdecken.

Dadurch ist es im Moment möglich, dass ich mir (versehentlich) ein BrickletAmbientLight erstelle und damit dann meinen Temperatursensor auslese (GET_TEMPERATURE und GET_ILLUMINANCE haben beide die ID 1).

 

Wäre hierzu nicht eine Device-Class o.ä. sinnvoll, die beispielsweise beim addDevice zusammen mit der Firmware-Version übertragen wird? Vermutlich könnte man auch den Name vergleichen, aber das ist denke ich die weniger schöne Lösung.

 

Ziel wäre es am Ende des Tages sicherzustellen, dass das verwendete Binding auch zum Device passt.

 

LG

Jan

Link zu diesem Kommentar
Share on other sites

AuronX, das Problem steht schon auf meiner TODO Liste. AddDevice muss prüfen ob die Device Klasse auch zum antwortenden Brick(let) passt, ansonsten wird es eine Exception werfen.

 

Die Firmware Version ist allerdings nicht eindeutig genug. AddDevice wird das wohl anhand des Device Namens prüfen, da dieser dem "<Name> Brick/Bricklet <Hardware Version>" Muster folgt.

Link zu diesem Kommentar
Share on other sites

  • 3 weeks later...

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