Jump to content

[PHP] Monoflop Problem


Gast Robin

Recommended Posts

Hallo zusammen,

 

ich habe ein Problem mit dem Industrial Quad Relay Bricklet. Wenn ich mit

setMonoflop(1, true, 1000)

einen Monoflop auf das erste Relay lege lässt der Monoflop nach einer Sekunde wieder los. Wenn ich allerdings mit

setMonoflop(2, true, 1000)

eins der anderen drei Relays anspreche, zieht das Relay zwar an, lässt aber nicht mehr los. Das ist besonders ärgerlich, weil die Funkfernbedienung, die ich daran angeschlossen habe natürlich nicht zwei Daten auf einmal senden kann. Kennt jemand das Problem oder liegt es mal wieder an mir?  ;D

 

Link zu diesem Kommentar
Share on other sites

  • 2 weeks later...

Die Signatur ist so

 

void BrickletIndustrialQuadRelay::setMonoflop(int $selection_mask, int $value_mask, int $time)

 

Das zweite Parameter ist nicht bool, sondern int. Mit der $selection_mask wählst du per Bitmaske aus auf welchen Pins einen Monoflop starten willst. Mit der $value_mask wählst du per Bitmaske per Pin aus ob ein Monoflop auf High oder Low erfolgen soll.

 

setMonoflop(1, true, 1000)

 

ist also eigentlich

 

setMonoflop(0b0001, 0b0001, 1000)

 

wobei PHP diese Binärschreibweise nicht kennt und die hier nur zur Verdeutlichung steht.

 

Das funktioniert also zufällig. Aber

 

setMonoflop(2, true, 1000)

 

ist eigentlich

 

setMonoflop(0b0010, 0b0001, 1000)

 

Also Pin 2 auf Low, die 1 in der $value_mask wird ignoriert.

 

Für Monoflop an Pin 2 auf High muss du also

 

setMonoflop(2, 2, 1000)

 

aufrufen.

 

Nachtrag:

 

Ah, ich sehe die Dokumentation redet da an einer Stelle verwirrender weise von true/false. Ich werde das gleich verbessern.

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