mirror of
https://github.com/node-red/node-red-nodes.git
synced 2025-03-01 10:37:43 +00:00
mraa-gpio-din: add configurable GPIO mode for DIN
GPIO mode wasn't set correctly, it was set from Pinmuxes modes instead of GPIO. Add way to control GPIO modes on DINs from Node-RED with possible values from mraa : Strong, Hiz, Pull-down, Pull-up. Signed-off-by: Ivan Mikhaylov <ivan.mikhaylov@siemens.com>
This commit is contained in:
parent
d752cc1aa9
commit
d1f6480d4f
@ -7,7 +7,8 @@
|
|||||||
defaults: {
|
defaults: {
|
||||||
name: {value:""},
|
name: {value:""},
|
||||||
pin: {value:"", required: true},
|
pin: {value:"", required: true},
|
||||||
interrupt: {value:"", required: true}
|
interrupt: {value:"", required: true},
|
||||||
|
mode: {value:"", required: true}
|
||||||
},
|
},
|
||||||
inputs:0,
|
inputs:0,
|
||||||
outputs:1,
|
outputs:1,
|
||||||
@ -68,6 +69,16 @@
|
|||||||
<option value="19">D19</option>
|
<option value="19">D19</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-row">
|
||||||
|
<label for="node-input-name"><i class="fa-level-up"></i> Mode</label>
|
||||||
|
<select type="text" id="node-input-mode" style="width: 250px;">
|
||||||
|
<option value='' disabled selected style='display:none;'>select mode</option>
|
||||||
|
<option value="0">Strong </option>
|
||||||
|
<option value="1">Pull-up </option>
|
||||||
|
<option value="2">Pull-down </option>
|
||||||
|
<option value="3">Hiz </option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<label for="node-input-name"><i class="fa-level-up"></i> Interrupt</label>
|
<label for="node-input-name"><i class="fa-level-up"></i> Interrupt</label>
|
||||||
<select type="text" id="node-input-interrupt" style="width: 250px;">
|
<select type="text" id="node-input-interrupt" style="width: 250px;">
|
||||||
|
@ -7,10 +7,11 @@ module.exports = function(RED) {
|
|||||||
RED.nodes.createNode(this,n);
|
RED.nodes.createNode(this,n);
|
||||||
this.pin = n.pin;
|
this.pin = n.pin;
|
||||||
this.interrupt = n.interrupt;
|
this.interrupt = n.interrupt;
|
||||||
|
this.mode = n.mode;
|
||||||
this.x = new m.Gpio(parseInt(this.pin));
|
this.x = new m.Gpio(parseInt(this.pin));
|
||||||
this.board = m.getPlatformName();
|
this.board = m.getPlatformName();
|
||||||
var node = this;
|
var node = this;
|
||||||
node.x.mode(m.PIN_GPIO);
|
node.x.mode(parseInt(this.mode));
|
||||||
node.x.dir(m.DIR_IN);
|
node.x.dir(m.DIR_IN);
|
||||||
node.x.isr(m.EDGE_BOTH, function() {
|
node.x.isr(m.EDGE_BOTH, function() {
|
||||||
var g = node.x.read();
|
var g = node.x.read();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user