Jump to content

Prüfen ob per Funk verbunden oder nicht ?


Recommended Posts

Verstehe die Frage noch nicht ganz... Bisher ist ja ein Teil des Stacks immer per Kabel mit dem PC verbunden, nämlich per USB. Chibi gibts ja nur zwischen zwei Stacks.

Für was willst du also wissen ob es per Funk verbunden ist? Ein Brick? Ein Bricklet? Ein ganzer Stack? (Wobei ich bei letzterem nichtmal wüsste wie man den adressieren könnte)

Link to comment
Share on other sites

Vermutlich muss man ein per Funk angebundenes Brickl pollen (z.B. auch mit GetChibiSignalStrength() auf den Slave-Master-Brick), um sicher zu sein, dass die Verbindung steht. Ich würde mich nicht auf die Signal-Strength vom Master-Master-Brick verlassen. Wenn ein entferntes Brick oder Bricklet antwortet, dann steht die Verbindung.

Link to comment
Share on other sites

War in der Vergangenheit nicht die Aussage gefallen, ein Brick-System sei transparent, d.h. es spiele keine Rolle ob ein USB-Kabel dazwischen ist oder eine etablierte Funkverbindung.

 

Meine Software-Anwendung klappt prima, egal ob der MasterBrick plus Chibi plus Stepper (1) per Kabel direkt am PC verbunden oder ob ein MasterFunk-Stack (am PC) eine Funkverbindung zu (1) also eine Master-Slave-Verbindung aufgebaut ist.

 

Bei bestimmten Situationen bemerkt man aber die Latenzen durch die Funkverb. und ich möchte in diesem Fall programmintern bestimmte Einstellungen zur Laufzeit vornehmen.

Link to comment
Share on other sites

Fas Problem ist halt, dass es leider völlig transparent ist. Das heißt es gibt soweit ich weiß keinen Weg das herauszufinden. Über Implementierungsdetails könnte es gehen (glaube man könnte die Stack IDs nutzen, weil die Geräte in ner bestimmten Reihenfolge enumeriert werden -> die Stack ID also Rückschlüsse auf den Anschluss zulassen könnte), aber das ist unzuverlässig und da wäre es dann einfacher und sicherer sich lieber selbst die Funkteilnehmer zu "notieren".

Link to comment
Share on other sites

@AuronX

Hmmh, und was hälst Du von Wumpus Vorschlag GetChibiSignalStrength auf dem Slave abzufragen ?

 

Anderseits sollte ein neues Property etwa wie IsWirelessTransmissionEnabled oder gar ein Callback in der Firmware beim Öffnen oder Schließen einer Funkverbindung nicht die Welt sein.

 

Hast Du Dich mal mit der Firmware beschäftigt und dich an Patches oder Erweiterungen gewagt ?

Link to comment
Share on other sites

In der Firmware direkt war ich noch nicht groß unterwegs. Ich habe nur eine grobe Vorstellung vom Protokoll ^^

Insgesamt findet halt sehr viel sehr zustandslos statt. Das heißt ein Brick oder Bricklet weiß zum Teil nur sehr wenig über sich selbst und seine Umwelt. Was m.E. gehen sollte (nur anhand meiner groben Idee, ohne irgendwelche Belege) ist es das Teil das auch von der Chibi-Signal-Strength bescheid weiß danach zu fragen (Funktionsruf) ob es Master oder Slave ist. Das sollte denke ich implementierbar sein. Ein Brick oder gar Bricklet danach zu fragen ob zwischen dir (also dem PC) und ihm eine Funkstrecke liegt ist denke ich nicht möglich, da das Bricklet gar nicht weiß woher die Frage kommt. Die Bricklets bekommen ihre Anfragen jeweils "vom Bus" und dorthin antworten sie halt auch. Die Antworten wiederum werden vom Master weitergeleitet, allerdings ohne dass der weiß, ob das was die Bricklets auf den Bus geschrieben haben gerade eine Antwort auf irgendwas war oder beispielsweise nur ein Callback. Insofern kann auch dort nur weitergeleitet werden.

 

So weit zu meinem Verständnis, man möge mich gerne korrigieren wenn Unsinn dabei war :D

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