remotecontrol Geschrieben January 12, 2013 at 11:57 Geschrieben January 12, 2013 at 11:57 Hallo Administratoren, beim Industrial Quad Relay kann man aktuell beim setMonoflop jeden Switch einzeln ansteuern über eine Bitmaske, die angibt welche Schalter vom Befehl "betroffenen" sind. Beim setValue() geht das aber leider nicht. Der setValue setzt immer alle 4 Switches auf den angegebenen Zustand. Daher mein Verbesserungswunsch: zusätzlich zum setValue() noch ein setValue() welches auch eine Bitmaske akzeptiert und nicht immer zwingend alle 4 Switches auf einen neuen Zustand setzt. Das benötigt wohl neue Brickletfirmware. Mein Anwendungsfall: Ich wollte zwei Schalter als Monoflop verwenden und zwei andere "normal". Die kommen sich aber in die Quere: wenn der Monoflop aktiv ist (ein) und ich mit getValue() den Zustand auslese, dann ein weiteres Bit setze, dann wieder setValue() aufrufe => der Monoflop ist abgeschaltet und der eine Switch des Monoflop ist nun dauerhaft an. Außerdem brauche ich zwingend getValue() Aufruf, wenn ich nur ein Bit ändern will (getValue -> Bit ändern -> setValue). Mit einer anderen setValue-Funktion wäre das einfacher, der getValue kann entfallen und damit ein Befehlspaket. Wenn es ein setValue mit Bitmaske gibt, ist das Ansteuern einzelner Schalter effizienter: der getValue kann entfallen. Zitieren
AuronX Geschrieben January 12, 2013 at 13:43 Geschrieben January 12, 2013 at 13:43 Ich finde es ehrlich gesagt auch (schon seit dem Dual Relay) etwas störend, dass man einzelne Relays nicht schalten kann ohne vorher alle Relays auszulesen. Da wäre eine Ansteuerung wie beim Servo-Brick (servoId -> relayId) deutlich schicker. Natürlich sollte die Variante des gleichzeitigen Ansteuerns erhalten bleiben ^^ Zitieren
rifmetroid Geschrieben January 13, 2013 at 21:32 Geschrieben January 13, 2013 at 21:32 Moin moin, da klinke ich mich doch auch gleich mit ein! Für meine Anwendung wäre das auch eine sehr große Hilfe!!! Gruß rif Zitieren
Loetkolben Geschrieben January 14, 2013 at 00:59 Geschrieben January 14, 2013 at 00:59 Wie das geht nicht? Beim IO4 geht das doch auch! Ich konnte mein QuadSolid noch nicht in Betrieb nehmen, aber das gibt arge Probleme, spaetestens wenn 2 verschiedene Computer UNABHAENGIG jeweils (s)ein Relay schalten muessen. Das waere praktisch unmoeglich, da zwischen auslesen und schreiben nicht klar ist ob ein anderer Rechner den Wert veraendert hat. Also bitte aendern. Danke. Der Loetkolben Zitieren
borg Geschrieben January 14, 2013 at 09:25 Geschrieben January 14, 2013 at 09:25 Klingt sinnvoll. Wir würden dann dafür einfach zusätzlich API hinzufügen. Was haltet ihr von "setValueSelective(pin_mask, value_mask)" oder "setPartialValue(pin_mask, value_mask)"? Wie würdet ihr es nennen? Zitieren
rifmetroid Geschrieben January 14, 2013 at 09:37 Geschrieben January 14, 2013 at 09:37 Ich wäre für "setValueSelective(pin_mask, value_mask)". Das ganze würde ich aber auch gern beim Industrial Out4 sehen und nicht nur beim Quad Relay Gruß rif Zitieren
AuronX Geschrieben January 14, 2013 at 09:39 Geschrieben January 14, 2013 at 09:39 setSelectedValues(selection_mask, value_mask) Zitieren
borg Geschrieben January 14, 2013 at 12:45 Geschrieben January 14, 2013 at 12:45 "selection_mask" gefällt mir, das hab ich gleich überall übernommen: https://github.com/Tinkerforge/generators/commit/f6891ca88ce2e6656bf3487b13ce25f892bde115 Die Implementierung folgt dann jetzt. PS: Wir werden dann jetzt definitiv auch diese Woche noch Protokoll V2 veröffentlichen. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.