diff options
Diffstat (limited to 'dgbuilder/core_nodes/io/25-serial.html')
-rw-r--r-- | dgbuilder/core_nodes/io/25-serial.html | 265 |
1 files changed, 0 insertions, 265 deletions
diff --git a/dgbuilder/core_nodes/io/25-serial.html b/dgbuilder/core_nodes/io/25-serial.html deleted file mode 100644 index 225e4dc3..00000000 --- a/dgbuilder/core_nodes/io/25-serial.html +++ /dev/null @@ -1,265 +0,0 @@ -<!-- - Copyright 2013,2014 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/x-red" data-template-name="serial in"> - <div class="form-row node-input-serial"> - <label for="node-input-serial"><i class="fa fa-random"></i> Serial Port</label> - <input type="text" id="node-input-serial"> - </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"> - </div> -</script> - -<script type="text/x-red" data-help-name="serial in"> - <p>Reads data from a local serial port.</p> - <p>Can either <ul><li>wait for a "split" character (default \n). Also accepts hex notation (0x0a).</li> - <li>Wait for a timeout in milliseconds for the first character received</li> - <li>Wait to fill a fixed sized buffer</li></ul></p> - <p>It then outputs <b>msg.payload</b> as either a UTF8 ascii string or a binary Buffer object.</p> - <p>If no split character is specified, or a timeout or buffer size of 0, then a stream of single characters is sent - again either as ascii chars or size 1 binary buffers.</p> -</script> - -<script type="text/javascript"> - RED.nodes.registerType('serial in',{ - category: 'input', - defaults: { - name: {name:""}, - serial: {type:"serial-port",required:true} - }, - color:"BurlyWood", - inputs:0, - outputs:1, - icon: "serial.png", - label: function() { - var serialNode = RED.nodes.node(this.serial); - return this.name||(serialNode?serialNode.label().split(":")[0]:"serial"); - }, - labelStyle: function() { - return this.name?"node_label_italic":""; - } - }); -</script> - -<script type="text/x-red" data-template-name="serial out"> - <div class="form-row node-input-serial"> - <label for="node-input-serial"><i class="fa fa-random"></i> Serial Port</label> - <input type="text" id="node-input-serial"> - </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"> - </div> -</script> - -<script type="text/x-red" data-help-name="serial out"> - <p>Provides a connection to an outbound serial port.</p> - <p>Only the <b>msg.payload</b> is sent.</p> - <p>Optionally the new line character used to split the input can be appended to every message sent out to the serial port.</p> -</script> - -<script type="text/javascript"> - RED.nodes.registerType('serial out',{ - category: 'output', - defaults: { - name: {name:""}, - serial: {type:"serial-port",required:true} - }, - color:"BurlyWood", - inputs:1, - outputs:0, - icon: "serial.png", - align: "right", - label: function() { - var serialNode = RED.nodes.node(this.serial); - return this.name||(serialNode?serialNode.label().split(":")[0]:"serial"); - }, - labelStyle: function() { - return this.name?"node_label_italic":""; - } - }); -</script> - - -<script type="text/x-red" data-template-name="serial-port"> - <div class="form-row"> - <label for="node-config-input-serialport"><i class="fa fa-random"></i> Serial Port</label> - <input type="text" id="node-config-input-serialport" style="width:60%;" placeholder="/dev/ttyUSB0"/> - <a id="node-config-lookup-serial" class="btn"><i id="node-config-lookup-serial-icon" class="fa fa-search"></i></a> - </div> - <div class="form-row"> - <table><tr> - <td width = "102px"><i class="fa fa-wrench"></i> Settings</td> - <td width = "100px">Baud Rate</td> - <td width = "80px">Data Bits</td> - <td width = "80px">Parity</td> - <td width = "80px">Stop Bits</td> - </tr><tr><td> </td> - <td> - <select type="text" id="node-config-input-serialbaud" style="width: 100px;"> - <option value="115200">115200</option> - <option value="57600">57600</option> - <option value="38400">38400</option> - <option value="19200">19200</option> - <option value="9600">9600</option> - <option value="4800">4800</option> - <option value="2400">2400</option> - <option value="1800">1800</option> - <option value="1200">1200</option> - <option value="600">600</option> - <option value="300">300</option> - <option value="200">200</option> - <option value="150">150</option> - <option value="134">134</option> - <option value="110">110</option> - <option value="75">75</option> - <option value="50">50</option> - </select> - </td><td> - <select type="text" id="node-config-input-databits" style="width: 80px;"> - <option value="8">8</option> - <option value="7">7</option> - <option value="6">6</option> - <option value="5">5</option> - </select> - </td><td> - <select type="text" id="node-config-input-parity" style="width: 80px;"> - <option value="none">None</option> - <option value="even">Even</option> - <option value="mark">Mark</option> - <option value="odd">Odd</option> - <option value="space">Space</option> - </select> - </td><td> - <select type="text" id="node-config-input-stopbits" style="width: 80px;"> - <option value="2">2</option> - <option value="1">1</option> - </select> - </td> - </tr></table><br/> - - <div class="form-row"> - <label for="node-config-input-out"><i class="fa fa-cut"></i> Split input</label> - <select type="text" id="node-config-input-out" style="width:52%;"> - <option value="char">when character received is</option> - <option value="time">after a fixed timeout of</option> - <option value="count">a fixed number of characters</option> - </select> - <input type="text" id="node-config-input-newline" style="width:50px;"> - <span id="node-units"></span> - </div> - - <div class="form-row"> - <label for="node-config-input-bin"><i class="fa fa-sign-in"></i> and deliver</label> - <select type="text" id="node-config-input-bin" style="width: 77%;"> - <option value="false">ascii strings</option> - <option value="bin">binary buffers</option> - </select> - </div> - <br/> - <div class="form-row" id="node-config-addchar"> - <label for="node-config-input-addchar"><i class="fa fa-sign-out"></i> On output</label> - <select type="text" id="node-config-input-addchar" style="width: 77%;"> - <option value="false">don't add 'split' character to output messages</option> - <option value="true">add 'split' character to output messages</option> - </select> - </div> - <div class="form-tips" id="tip-split">Tip: the "Split on" character is used to split the input into separate messages. It can also be added to every message sent out to the serial port.</div> - <div class="form-tips" id="tip-bin" hidden>Tip: In timeout mode timeout starts from arrival of first character.</div> - <script> - var previous = null; - $("#node-config-input-out").on('focus', function () { previous = this.value; }).change(function() { - if (previous == null) { previous = $("#node-config-input-out").val(); } - if ($("#node-config-input-out").val() == "char") { - if (previous != "char") { $("#node-config-input-newline").val("\\n"); } - $("#node-units").text(""); - $("#node-config-addchar").show(); - $("#tip-split").show(); - $("#tip-bin").hide(); - } - else if ($("#node-config-input-out").val() == "time") { - if (previous != "time") { $("#node-config-input-newline").val("0"); } - $("#node-units").text("ms"); - $("#node-config-addchar").hide(); - $("#node-config-input-addchar").val("false"); - $("#tip-split").hide(); - $("#tip-bin").show(); - } - else { - if (previous != "count") { $("#node-config-input-newline").val("12"); } - $("#node-units").text("chars"); - $("#node-config-addchar").hide(); - $("#node-config-input-addchar").val("false"); - $("#tip-split").hide(); - $("#tip-bin").hide(); - } - }); - - </script> -</script> - -<script type="text/javascript"> - RED.nodes.registerType('serial-port',{ - category: 'config', - defaults: { - //name: {value:""}, - serialport: {value:"",required:true}, - serialbaud: {value:57600,required:true}, - databits: {value:8,required:true}, - parity: {value:"none",required:true}, - stopbits: {value:1,required:true}, - newline: {value:"\\n"}, - bin: {value:""}, - out: {value:""}, - addchar: {value:false} - }, - label: function() { - this.serialbaud = this.serialbaud || 57600; - this.databits = this.databits || 8; - this.parity = this.parity || 'none'; - this.stopbits = this.stopbits || 1; - return this.serialport+":"+this.serialbaud+"-"+this.databits+this.parity.charAt(0).toUpperCase()+this.stopbits; - }, - oneditprepare: function() { - try { - $("#node-config-input-serialport").autocomplete( "destroy" ); - } catch(err) { - } - $("#node-config-lookup-serial").click(function() { - //$("#node-config-lookup-serial-icon").removeClass('fa fa-search'); - //$("#node-config-lookup-serial-icon").addClass('fa fa-spinner'); - $("#node-config-lookup-serial").addClass('disabled'); - $.getJSON('serialports',function(data) { - //$("#node-config-lookup-serial-icon").addClass('fa fa-search'); - //$("#node-config-lookup-serial-icon").removeClass('fa fa-spinner'); - $("#node-config-lookup-serial").removeClass('disabled'); - var ports = []; - $.each(data, function(i, port){ - ports.push(port.comName); - }); - $("#node-config-input-serialport").autocomplete({ - source:ports, - minLength:0, - close: function( event, ui ) { - $("#node-config-input-serialport").autocomplete( "destroy" ); - } - }).autocomplete("search",""); - }); - }); - } - }); -</script> |