Sendeoptionen:
- Nur False senden
- Nur True senden
- False und True senden, aber nur wenn sich der Ausgangswert geändert hat
- False und True immer senden, wenn die Logik getriggert wird
Code: Alles auswählen
{
"Level": [
["$ConstFalse","bool",false],
["$ConstTrue","bool",true],
["$bit0","bool",false],
["$bit1","bool",false],
["$LastVal","bool",false],
["$SameVal","bool",false],
["$Send","bool",false],
["$SendAll","bool",false],
["$SendAllChngd","bool",false],
["$SendFalse","bool",false],
["$SendTrue","bool",false],
["$O_ResultAnd","bool",false],
["$P_OpMode","integer",0],
["$VAR<I_Input!>","bool",false],
["$VAR<Inhibit?>","bool",false]
],
"Input": [
["Operation mode","Operation mode: 0=Send both results whenever triggered; 1=Send only TRUE results; 2=Send only FALSE results; 3=Send both results, only when output changes", "$P_OpMode","u"],
["AND input","Inputs of AND logic","$VAR<I_Input!>","a"],
["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
],
"Output": [
["Output","Output of the logic","$O_ResultAnd","x"]
],
"Module": [
["Break",["$VAR<Inhibit?>"]], //completely disable logic
["And",["$VAR<I_Input!>"], "$O_ResultAnd"],
["Limiter","$O_ResultAnd",0,"$SameVal",["$LastVal", "$LastVal"]], //Check, if $O_ResultAnd has new value
["Latch","$O_ResultAnd","$LastVal","$ConstTrue",0], //Save $O_ResultAnd for next cycle
["BinaryDemultiplexer","$P_OpMode",["$bit0","$bit1"]],
["Latch","$ConstFalse","$Send","$ConstTrue",0], //Reset
["And",["$O_ResultAnd","$bit0","-$bit1"], "$SendTrue"], //Evaluate sending TRUE
["And",["-$O_ResultAnd","-$bit0","$bit1"], "$SendFalse"], //Evaluate sending FALSE
["And",["-$bit1","-$bit0"], "$SendAll"], //Evaluate sending always
["And",["$bit1","$bit0","-$SameVal"], "$SendAllChngd"], //Evaluate sending change
["Latch","$ConstTrue","$Send","$SendTrue",0], //Set sending when TRUE
["Latch","$ConstTrue","$Send","$SendFalse",0], //Set sending when FALSE
["Latch","$ConstTrue","$Send","$SendAll",0], //Set sending always
["Latch","$ConstTrue","$Send","$SendAllChngd",0], //Set sending on change
["SendExplicit","$Send","$O_ResultAnd",0]
],
"_Meta": {
"Icon": "",
"Version": "1.0",
"_description": "Logic module with configurable sending behaviour"
}
}
/** Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */
Disclaimer:
Die Verwendung erfolgt auf eigene Gefahr. Ich hafte nicht für etwaige entstandene Schäden, die durch die Nutzung entstanden sind, noch garantiere ich eine Fehler freie Funktion.
Nutzungsrechte:
Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht.