2013-10-04 09:22:35 +02:00
< script type = "text/x-red" data-template-name = "rpi-piface in" >
< div class = "form-row" >
2014-10-27 21:28:05 +01:00
< label for = "node-input-pin" > < i class = "fa fa-circle" > < / i > GPIO Pin< / label >
2013-10-04 09:22:35 +02:00
< select type = "text" id = "node-input-pin" style = "width: 150px;" >
2014-10-27 21:28:05 +01:00
< option value = '' disabled selected style = 'display:none;' > select input< / option >
2013-10-04 09:22:35 +02:00
< option value = "Button S1" > Button S1< / option >
< option value = "Button S2" > Button S2< / option >
< option value = "Button S3" > Button S3< / option >
< option value = "Button S4" > Button S4< / option >
< option value = "Input 5" > Input 5< / option >
< option value = "Input 6" > Input 6< / option >
< option value = "Input 7" > Input 7< / option >
< option value = "Input 8" > Input 8< / option >
< option value = "Output0" > Output 0< / option >
< option value = "Output1" > Output 1< / option >
< option value = "Output2" > Output 2< / option >
< option value = "Output3" > Output 3< / option >
< option value = "Output4" > Output 4< / option >
< option value = "Output5" > Output 5< / option >
< option value = "Output6" > Output 6< / option >
< option value = "Output7" > Output 7< / option >
< / select >
< / div >
< div class = "form-row" >
2014-10-27 21:28:05 +01:00
< label for = "node-input-intype" > < i class = "fa fa-level-up" > < / i > Resistor ?< / label >
2013-10-04 09:22:35 +02:00
< select type = "text" id = "node-input-intype" style = "width: 150px;" >
< option value = "up" > pullup< / option >
< option value = "tri" > none< / option >
< / select >
< / div >
2014-10-27 21:28:05 +01:00
< div class = "form-row" >
< label > < / label >
< input type = "checkbox" id = "node-input-read" style = "display: inline-block; width: auto; vertical-align: top;" >
< label for = "node-input-read" style = "width: 70%;" > Read initial state of pin on deploy/restart ?< / label >
< / div >
< br / >
2013-10-04 09:22:35 +02:00
< div class = "form-row" >
2014-09-03 17:12:26 +02:00
< label for = "node-input-name" > < i class = "fa fa-tag" > < / i > Name< / label >
2013-10-04 09:22:35 +02:00
< input type = "text" id = "node-input-name" placeholder = "Name" >
< / div >
< div class = "form-tips" > Tip: Only Digital I/O is supported - input must be 0 or 1.< / div >
< / script >
< script type = "text/x-red" data-help-name = "rpi-piface in" >
2016-03-02 14:25:52 +01:00
< p > Raspberry Pi PiFace input node. Generates a < code > msg.payload< / code > with either a 0 or 1 depending
on the state of the input pin.< / p >
2014-03-31 15:26:38 +02:00
< p > You may also enable the input pullup resistor if required.< / p >
2016-03-02 14:25:52 +01:00
< p > The < code > msg.topic< / code > is set to < i > piface/{the pin number}< / i > < / p >
2014-03-31 15:26:38 +02:00
< p > Requires the WiringPi gpio command in order to work.< / p >
< p > < b > Note:< / b > This node currently polls the pin every 250mS. This is not ideal as it loads the cpu.< / p >
2016-11-06 21:26:19 +01:00
< p > < b > Note:< / b > Some versions of the PiFace relabelled the switch inputs to be 0 - 7 instead of 1 - 8.
2016-01-03 13:25:08 +01:00
We cannot automatically detect this so the user will have to apply some common sense.< / p >
2013-10-04 09:22:35 +02:00
< / script >
< script type = "text/javascript" >
RED.nodes.registerType('rpi-piface in',{
2014-10-27 21:28:05 +01:00
category: 'Raspberry Pi',
2013-10-04 09:22:35 +02:00
color:"#c6dbef",
defaults: {
name: { value:"" },
pin: { value:"",required:true},
2014-10-27 21:28:05 +01:00
intype: { value: "up" },
read: { value:false }
2013-10-04 09:22:35 +02:00
},
inputs:0,
outputs:1,
icon: "rpi.png",
label: function() {
return this.name||"PiFace: "+this.pin;
},
labelStyle: function() {
return this.name?"node_label_italic":"";
}
});
< / script >
< script type = "text/x-red" data-template-name = "rpi-piface out" >
< div class = "form-row" >
2014-10-27 21:28:05 +01:00
< label for = "node-input-pin" > < i class = "fa fa-circle" > < / i > GPIO Pin< / label >
2013-10-04 09:22:35 +02:00
< select type = "text" id = "node-input-pin" style = "width: 150px;" >
2014-10-27 21:28:05 +01:00
< option value = '' disabled selected style = 'display:none;' > select output< / option >
2013-10-04 09:22:35 +02:00
< option value = "LED 0 / Relay 0" > LED 0 / Relay 0< / option >
< option value = "LED 1 / Relay 1" > LED 1 / Relay 1< / option >
< option value = "LED 2" > LED 2< / option >
< option value = "LED 3" > LED 3< / option >
< option value = "LED 4" > LED 4< / option >
< option value = "LED 5" > LED 5< / option >
< option value = "LED 6" > LED 6< / option >
< option value = "LED 7" > LED 7< / option >
< / select >
< / div >
2014-10-27 21:28:05 +01:00
< div class = "form-row" >
< label > < / label >
< input type = "checkbox" id = "node-input-set" style = "display: inline-block; width: auto; vertical-align: top;" >
< label for = "node-input-set" style = "width: 70%;" > Initialise output state ?< / label >
< / div >
< div class = "form-row" id = "node-set-state" >
< label for = "node-input-level" > < / label >
< select id = "node-input-level" style = "width: 300px;" >
< option value = "0" > initial level of output - off - low - 0< / option >
< option value = "1" > initial level of output - on - high - 1< / option >
< / select >
< / div >
< br / >
2013-10-04 09:22:35 +02:00
< div class = "form-row" >
2014-09-03 17:12:26 +02:00
< label for = "node-input-name" > < i class = "fa fa-tag" > < / i > Name< / label >
2013-10-04 09:22:35 +02:00
< input type = "text" id = "node-input-name" placeholder = "Name" >
< / div >
< div class = "form-tips" > Tip: Only Digital I/O is supported - input must be 0 or 1.< / div >
< / script >
< script type = "text/x-red" data-help-name = "rpi-piface out" >
2014-03-31 15:26:38 +02:00
< p > Raspberry Pi PiFace output node. The PiFace board must be fitted.< / p >
2016-03-02 14:25:52 +01:00
< p > Will set the selected relay, LED, or pin on or off depending on the value passed in. Expects a < code > msg.payload< / code > with either a 1 or 0 (or true or false).< / p >
2014-03-31 15:26:38 +02:00
< p > Requires the WiringPi gpio command in order to work.< / p >
2013-10-04 09:22:35 +02:00
< / script >
< script type = "text/javascript" >
RED.nodes.registerType('rpi-piface out',{
2014-10-27 21:28:05 +01:00
category: 'Raspberry Pi',
2013-10-04 09:22:35 +02:00
color:"#c6dbef",
defaults: {
name: { value:"" },
pin: { value:"",required:true},
2014-10-27 21:28:05 +01:00
set: { value:false },
level: { value:"0" }
2013-10-04 09:22:35 +02:00
},
inputs:1,
outputs:0,
icon: "rpi.png",
align: "right",
label: function() {
return this.name||"PiFace: "+this.pin;
},
labelStyle: function() {
return this.name?"node_label_italic":"";
2014-10-27 21:28:05 +01:00
},
oneditprepare: function() {
$("#node-input-set").change(function() {
if ($('#node-input-set').is(":checked")) {
$("#node-set-state").show();
} else {
$("#node-set-state").hide();
}
});
2013-10-04 09:22:35 +02:00
}
});
< / script >