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

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.

×
×
  • Create New...