forked from node-red/node-red-nodes
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mraa-gpio-pwm.html
103 lines (96 loc) · 4.07 KB
/
mraa-gpio-pwm.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!--
Copyright 2015 IBM Corp.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/javascript">
RED.nodes.registerType('mraa-gpio-pwm',{
category: 'Intel gpio',
color: '#a6bbcf',
paletteLabel: 'pwm',
defaults: {
name: {value:""},
pin: {value:"", required: true},
period: { value:"100", required: true }
},
inputs:1,
outputs:0,
icon: "arrow.png",
align: "right",
label: function() {
if (this.pin === "14") {
return "LED";
} else {
return this.name||"PWM D"+this.pin;
}
},
labelStyle: function() {
return this.name?"node_label_italic":"";
},
oneditprepare: function() {
var pinnow = this.pin;
$.getJSON('mraa-gpio/'+this.id,function(data) {
var t = "unknown";
if (data === 0) { t = "Galileo v1"; }
if (data === 1) { t = "Galileo v2"; }
if (data === 2) { t = "Edison Fab C"; }
if (data === 3) { t = "DE3813 Baytrail"; }
if (data === 4) { t = "Minnow Max"; }
if (data === 5) { t = "Raspberry Pi"; }
if (data === 6) { t = "Beaglebone"; }
if (data === 7) { t = "Banana"; }
$('#type-tip').text(t);
$('#node-input-pin').val(pinnow);
});
$.getJSON('mraa-version/'+this.id,function(data) {
$('#ver-tip').text(data);
});
var setstate = function () {
if ($('#node-input-set').is(":checked")) {
$("#node-set-state").show();
} else {
$("#node-set-state").hide();
}
};
$("#node-input-set").change(function () { setstate(); });
setstate();
}
});
</script>
<script type="text/x-red" data-template-name="mraa-gpio-pwm">
<div class="form-row">
<label for="node-input-pin"><i class="fa fa-circle"></i> Pin</label>
<select type="text" id="node-input-pin" style="width: 250px;">
<option value='' disabled selected style='display:none;'><span data-i18n="rpi-gpio.label.selectpin"></span></option>
<option value="3">D3</option>
<option value="5">D5</option>
<option value="6">D6</option>
<option value="9">D9</option>
<option value="10">D10</option>
<option value="11">D11</option>
</select>
</div>
<div class="form-row">
<label for="node-input-period"><i class="fa fa-clock-o"></i> Period</label>
<input type="text" id="node-input-period" placeholder="number" style="width: 250px;"> mS
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name" style="width: 250px;">
</div>
<div class="form-tips">Board : <span id="type-tip">n/a</span><br/>mraa version : <span id="ver-tip">n/a</span></div>
</script>
<script type="text/x-red" data-help-name="mraa-gpio-pwm">
<p>A pulse width modulation (PWM) output pin for an Intel Galileo or Edison board.</p>
<p>The <code>msg.payload</code> should contain a floating point number value
between 0 and 1, (or a string representation thereof.)</p>
<p>For servo control set the period to 20mS and vary the input between 0.05 and 0.10</p>
<p><b>Note</b> : Only pins 3, 5, 6, 9, 10 & 11 support PWM output.</p>
</script>