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