node-red-contrib-wio-seeed
Version:
Wio Link Nodes using Grove modules for Node RED
85 lines (81 loc) • 2.92 kB
HTML
<script type="text/javascript">
RED.nodes.registerType('wio-pwm', {
paletteLabel: 'pwm',
category: 'wio',
color: '#C0EDC0',
defaults: {
name: { value: '' },
connection: { type: 'wio-config' },
node: { value: '' },
port: { value: '' },
mode: { value: 'manual' },
duty: { value: 50 },
frequency: { value: 1000 }
},
inputs: 1,
outputs: 1,
icon: 'serial.png',
label: function () {
return this.name || 'pwm';
},
oneditprepare: function () {
var config = this;
var skus = {
'63e25800-a2d2-11e5-bf7f-feff819cdc9f': {
name: 'Generic PWM Output',
module: 'GenericPWMOut'
}
};
$.getScript('wio-common').done(function (res) {
WioCommon(config, skus);
var mode = $('#node-input-mode');
var dutyRow = $('.node-input-duty-row');
var frequencyRow = $('.node-input-frequency-row');
mode.on('change', function () {
var value = mode.val();
dutyRow.toggle(((value == 'manual') || (value == 'manualdutyfrequency') || (value == 'manualduty')));
frequencyRow.toggle(((value == 'manualdutyfrequency') || (value == 'manualfrequency')));
}).trigger('change');
});
}
});
</script>
<script type="text/x-red" data-template-name="wio-pwm">
<div class="form-row">
<label for="node-input-name"><i class="icon-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
<div class="form-row">
<label for="node-input-connection"><i class="icon-tag"></i> Connection</label>
<select type="text" id="node-input-connection"></select>
</div>
<div class="form-row">
<label for="node-input-node"><i class="icon-tag"></i> Node</label>
<select type="text" id="node-input-node"></select>
</div>
<div class="form-row">
<label for="node-input-port"><i class="icon-tag"></i> Port</label>
<select type="text" id="node-input-port"></select>
</div>
<div class="form-row">
<label for="node-input-mode"><i class="icon-tag"></i> Mode</label>
<select type="text" id="node-input-mode">
<option value="manual">Manual Duty</option>
<option value="auto">Auto Duty</option>
<option value="manualdutyfrequency">Manual Duty & Frequency</option>
<option value="manualduty">Manual Duty & Auto Frequency</option>
<option value="manualfrequency">Manual Frequency & Auto Duty</option>
</select>
</div>
<div class="form-row node-input-duty-row">
<label for="node-input-duty"><i class="icon-tag"></i> Duty</label>
<input type="number" id="node-input-duty" placeholder="Duty">
</div>
<div class="form-row node-input-frequency-row">
<label for="node-input-frequency"><i class="icon-tag"></i> Frequency</label>
<input type="number" id="node-input-frequency" placeholder="Frequency">
</div>
</script>
<script type="text/x-red" data-help-name="wio-pwm">
<p>Wio PWM</p>
</script>