| OLD | NEW |
| 1 <h1>Serial Devices</h1> | 1 <h1>Serial Devices</h1> |
| 2 | 2 |
| 3 <p> | 3 <p> |
| 4 </p> | 4 </p> |
| 5 | 5 |
| 6 <p> | 6 <p> |
| 7 This document describes how to use the <a href="serial.html">serial API</a> to r
ead | 7 This document describes how to use the <a href="serial.html">serial API</a> to r
ead |
| 8 and write from serial devices. Chrome Apps can also connect to | 8 and write from serial devices. Chrome Apps can also connect to |
| 9 <a href="app_usb.html">USB</a> and <a href="bluetooth.html">Bluetooth</a> device
s. | 9 <a href="app_usb.html">USB</a> and <a href="app_bluetooth.html">Bluetooth</a> de
vices. |
| 10 </p> | 10 </p> |
| 11 | 11 |
| 12 <p class="note"> | 12 <p class="note"> |
| 13 <b>Samples:</b> For examples that illustrate how Chrome Apps can connect to hard
ware devices through a serial port, see the | 13 <b>Samples:</b> For examples that illustrate how Chrome Apps can connect to hard
ware devices through a serial port, see the |
| 14 <a href="https://github.com/GoogleChrome/chrome-app-samples/tree/master/serial/a
dkjs#readme">adkjs</a>, | 14 <a href="https://github.com/GoogleChrome/chrome-app-samples/tree/master/serial/a
dkjs#readme">adkjs</a>, |
| 15 <a href="https://github.com/GoogleChrome/chrome-app-samples/tree/master/serial/l
edtoggle#readme">ledtoggle</a> and the | 15 <a href="https://github.com/GoogleChrome/chrome-app-samples/tree/master/serial/l
edtoggle#readme">ledtoggle</a> and the |
| 16 <a href="https://github.com/GoogleChrome/chrome-app-samples/tree/master/servo#re
adme">servo</a> samples. | 16 <a href="https://github.com/GoogleChrome/chrome-app-samples/tree/master/servo#re
adme">servo</a> samples. |
| 17 </p> | 17 </p> |
| 18 | 18 |
| 19 <h2 id="requirement">Manifest requirement</h2> | 19 <h2 id="requirement">Manifest requirement</h2> |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 81 _this.connectionId = connectionInfo.connectionId; | 81 _this.connectionId = connectionInfo.connectionId; |
| 82 // Do whatever you need to do with the opened port. | 82 // Do whatever you need to do with the opened port. |
| 83 } | 83 } |
| 84 // Connect to the serial port /dev/ttyS01 | 84 // Connect to the serial port /dev/ttyS01 |
| 85 chrome.serial.connect("/dev/ttyS01", {bitrate: 115200}, onConnect); | 85 chrome.serial.connect("/dev/ttyS01", {bitrate: 115200}, onConnect); |
| 86 </pre> | 86 </pre> |
| 87 | 87 |
| 88 <h2 id="disconnect">Disconnect from a serial port</h2> | 88 <h2 id="disconnect">Disconnect from a serial port</h2> |
| 89 | 89 |
| 90 <p> | 90 <p> |
| 91 When an app terminates, connections to serial ports that are not persistent | 91 When an app terminates, connections to serial ports that are not persistent |
| 92 are automatically closed by the platform. However, if you want to disconnect | 92 are automatically closed by the platform. However, if you want to disconnect |
| 93 while your app is still running, you can use the $ref:serial.disconnect method: | 93 while your app is still running, you can use the $ref:serial.disconnect method: |
| 94 </p> | 94 </p> |
| 95 | 95 |
| 96 <pre> | 96 <pre> |
| 97 var onDisconnect = function(result) { | 97 var onDisconnect = function(result) { |
| 98 if (result) { | 98 if (result) { |
| 99 console.log("Disconnected from the serial port"); | 99 console.log("Disconnected from the serial port"); |
| 100 } else { | 100 } else { |
| 101 console.log("Disconnect failed"); | 101 console.log("Disconnect failed"); |
| 102 } | 102 } |
| 103 } | 103 } |
| 104 chrome.serial.disconnect(connectionId, onDisconnect); | 104 chrome.serial.disconnect(connectionId, onDisconnect); |
| 105 </pre> | 105 </pre> |
| 106 | 106 |
| 107 <h2 id="reading">Reading from a serial port</h2> | 107 <h2 id="reading">Reading from a serial port</h2> |
| 108 | 108 |
| 109 <p> | 109 <p> |
| 110 The serial API reads from the serial port and delivers the read bytes as an Arra
yBuffer to event listeners. | 110 The serial API reads from the serial port and delivers the read bytes as an Arra
yBuffer to event listeners. |
| 111 | 111 |
| 112 Every port that your application is connected to will generate read events to al
l listeners added through | 112 Every port that your application is connected to will generate read events to al
l listeners added through |
| 113 <code>chrome.serial.onReceive.addListener(onReceiveCallback)</code>. If you are
connected to more than one port at the | 113 <code>chrome.serial.onReceive.addListener(onReceiveCallback)</code>. If you are
connected to more than one port at the |
| 114 same time, you may find the corresponding <code>connectionId</code> of an incomi
ng read event in the callback parameter | 114 same time, you may find the corresponding <code>connectionId</code> of an incomi
ng read event in the callback parameter |
| 115 of $ref:serial.onReceive. | 115 of $ref:serial.onReceive. |
| 116 </p> | 116 </p> |
| 117 <p> | 117 <p> |
| 118 The following example can accumulate read bytes until a new line is read, conver
ting the received ArrayBuffer to String and | 118 The following example can accumulate read bytes until a new line is read, conver
ting the received ArrayBuffer to String and |
| 119 calling a method when a newline is found as the last character received: | 119 calling a method when a newline is found as the last character received: |
| 120 </p> | 120 </p> |
| 121 | 121 |
| 122 <pre> | 122 <pre> |
| 123 var stringReceived = ''; | 123 var stringReceived = ''; |
| 124 | 124 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 chrome.serial.flush(connectionId, onFlush); | 175 chrome.serial.flush(connectionId, onFlush); |
| 176 </pre> | 176 </pre> |
| 177 | 177 |
| 178 <h2 id="More">More</h2> | 178 <h2 id="More">More</h2> |
| 179 | 179 |
| 180 <p> | 180 <p> |
| 181 The Serial API has several other features. You can, for example, set a connectio
n to persistent, so it can receive data | 181 The Serial API has several other features. You can, for example, set a connectio
n to persistent, so it can receive data |
| 182 even when your app is not running, or you can update connection parameters on th
e fly, like bitrate, timeouts, control signals, and many others | 182 even when your app is not running, or you can update connection parameters on th
e fly, like bitrate, timeouts, control signals, and many others |
| 183 with the $ref:serial.update method. See the full reference of the $ref:serial A
PI for more information. | 183 with the $ref:serial.update method. See the full reference of the $ref:serial A
PI for more information. |
| 184 </p> | 184 </p> |
| OLD | NEW |