Overview
The SerialComm API is an extension to facilitate serial communications using Enterprise Browser.
Supported ONLY on devices with an available serial port supported by the device OS.
For a device's API support info, see Release Notes in its device OS "Full Update" section.
Version History
- Introduced in EB 2.5
Methods
disable()
Disables the serial channel, preventing communication with a remote device.
Parameters
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: HASH
- status : STRING
Connection status will either be success or failure.
- message : STRING
Returns the appropriate message.
Returns
Synchronous Return:
- Void
Platforms
- Android
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.disable()
- Default Instance: This method can be accessed via the default instance object of this class.
EB.SerialComm.disable()
enable()
Enables a serial channel for the application to communicate with a remote device.
Parameters
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: HASH
- status : STRING
Connection status will either be success or failure.
- message : STRING
Returns the appropriate message.
Returns
Synchronous Return:
- Void
Platforms
- Android
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.enable()
- Default Instance: This method can be accessed via the default instance object of this class.
EB.SerialComm.enable()
enumerate()
Gets a list of supported ports on the device.
Parameters
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: ARRAY
- Object : SELF_INSTANCE: EB.SerialComm
Returns
Synchronous Return:
- Void
Platforms
- Android
Method Access:
- Class Method: This method can be accessed only using the API class object.
EB.SerialComm.enumerate()
getDefault()
Returns an object that represents the default instance of the API class. For example, Camera.getDefault
returns a Camera object that represents the default camera.
Parameters
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: SELF_INSTANCE
Returns
Synchronous Return:
- SELF_INSTANCE : Default object of Module.
Platforms
- Android
Method Access:
- Class Method: This method can only be accessed via the API class object.
EB.SerialComm.getDefault()
read(STRING readTimeOut)
Reads the available data and returns it immediately. If no data is available, waits until a timeout occurs. Null is returned if no data is available.
Parameters
- readTimeOut : STRING
Wait for data until timeout. The timeout unit is milli seconds. A timeout of zero means the calling read will wait forever unless interrupted by disable or release.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: HASH
- status : STRING
Read data status will either be success or failure.
- message : STRING
Returns the appropriate message.
- data : STRING
On Success, it will return the data.
Returns
Synchronous Return:
- Void
Platforms
- Android
Method Access:
- Instance Method: This method can be accessed via an instance object of this class:
myObject.read(STRING readTimeOut)
- Default Instance: This method can be accessed via the default instance object of this class.
EB.SerialComm.read(STRING readTimeOut)
setDefault(SELF_INSTANCE: EB.SerialComm defaultInstance)
Allows setting of attributes of the default object instance by passing in an object of the same class.
Parameters
- defaultInstance : SELF_INSTANCE: EB.SerialComm
An instance object that is of the same class.
- callback : CallBackHandler
Returns
Synchronous Return:
- Void
Platforms
- Android
Method Access:
- Class Method: This method can be accessed only via the API class object.
EB.SerialComm.setDefault(SELF_INSTANCE: EB.SerialComm defaultInstance)
write(STRING data)
Writes from buffer to the opened communication channel.
Parameters
- data : STRING
Buffer which contains the data to write.
- callback : CallBackHandler
Callback
Async Callback Returning Parameters: HASH
- status : STRING
Write data status will either be success or failure.
- message : STRING
Returns the appropriate message.
Returns
Synchronous Return:
- Void
Platforms
- Android
Method Access:
- Instance Method: This method can be accessed only via an instance object of this class:
myObject.write(STRING data)
- Default Instance: This method can be accessed via the default instance object of this class.
EB.SerialComm.write(STRING data)
Properties
ParityBit
Type
STRING
Description
Parity bits are used for detecting error in the transmission.
Values
Possible Values (STRING):
- Constant: EB.SerialComm.EVEN - String: EVEN Sets the parity bit so that the count of bits set is an even number
- Constant: EB.SerialComm.MARK - String: MARK Leaves the parity bit set to 1.
- Constant: EB.SerialComm.NONE - String: NONE No parity check occurs.
- Constant: EB.SerialComm.ODD - String: ODD Sets the parity bit so that the count of bits set is an odd number.
- Constant: EB.SerialComm.SPACE - String: SPACE Leaves the parity bit set to 0.
Access
- Instance: This property can be accessed via an instance object of this class:
myObject.ParityBit
- Default Instance: This property can be accessed via the default instance object of this class.
EB.SerialComm.ParityBit
Platforms
- Android
baudRates
Type
STRING
Description
Specifies the baud at which the communications device operates.
Values
Possible Values (STRING):
- Constant: EB.SerialComm.BR_300 - String: BR_300 Baud rate value is 300
- Constant: EB.SerialComm.BR_1200 - String: BR_1200 Baud rate value is 1200
- Constant: EB.SerialComm.BR_2400 - String: BR_2400 Baud rate value is 2400
- Constant: EB.SerialComm.BR_4800 - String: BR_4800 Baud rate value is 4800
- Constant: EB.SerialComm.BR_9600 - String: BR_9600 Baud rate value is 9600
- Constant: EB.SerialComm.BR_14400 - String: BR_14400 Baud rate value is 14400
- Constant: EB.SerialComm.BR_19200 - String: BR_19200 Baud rate value is 19200
- Constant: EB.SerialComm.BR_28800 - String: BR_28800 Baud rate value is 28800
- Constant: EB.SerialComm.BR_38400 - String: BR_38400 Baud rate value is 38400
- Constant: EB.SerialComm.BR_57600 - String: BR_57600 Baud rate value is 57600
- Constant: EB.SerialComm.BR_115200 - String: BR_115200 Baud rate value is 115200
- Constant: EB.SerialComm.BR_230400 - String: BR_230400 Baud rate value is 230400
- Constant: EB.SerialComm.BR_460800 - String: BR_460800 Baud rate value is 460800
- Constant: EB.SerialComm.BR_921600 - String: BR_921600 Baud rate value is 921600
Access
- Instance: This property can be accessed via an instance object of this class:
myObject.baudRates
- Default Instance: This property can be accessed via the default instance object of this class.
EB.SerialComm.baudRates
Platforms
- Android
dataBit
Type
STRING
Description
Specifies the number of data bits for each character.
Values
Possible Values (STRING):
- Constant: EB.SerialComm.EIGHT - String: EIGHT Data bits per byte is 8
- Constant: EB.SerialComm.SEVEN - String: SEVEN Data bits per byte is 7.
Access
- Instance: This property can be accessed via an instance object of this class:
myObject.dataBit
- Default Instance: This property can be accessed via the default instance object of this class.
EB.SerialComm.dataBit
Platforms
- Android
flowControlMode
Type
STRING
Description
Specifies the flow control to be used.
Values
Possible Values (STRING):
- Constant: EB.SerialComm.DSR_DTR - String: DSR_DTR Hardware flow control DSR/DTR
- Constant: EB.SerialComm.NONE - String: NONE No flow control
- Constant: EB.SerialComm.RTS_CTS - String: RTS_CTS Hardware flow control RTS/CTS
- Constant: EB.SerialComm.XON_XOFF - String: XON_XOFF Software flow control
Access
- Instance: This property can be accessed via an instance object of this class:
myObject.flowControlMode
- Default Instance: This property can be accessed via the default instance object of this class.
EB.SerialComm.flowControlMode
Platforms
- Android
friendlyName
Type
STRING Read Only
Description
Returns the friendly name associated with the Serial Port.
Access
- Instance: This property can be accessed via an instance object of this class:
myObject.friendlyName
- Default Instance: This property can be accessed via the default instance object of this class.
EB.SerialComm.friendlyName
Platforms
- Android
stopBit
Type
STRING
Description
Specifies the number of stop bits to be used.
Values
Possible Values (STRING):
- Constant: EB.SerialComm.ONE - String: ONE One stop bit is used.
- Constant: EB.SerialComm.ONE_AND_HALF - String: ONE_AND_HALF 1.5 stop bits are used.
- Constant: EB.SerialComm.TWO - String: TWO two stop bits are used.
Access
- Instance: This property can be accessed via an instance object of this class:
myObject.stopBit
- Default Instance: This property can be accessed via the default instance object of this class.
EB.SerialComm.stopBit
Platforms
- Android
Examples
Enable a Serial Comm port and read/write data
This example shows how to enable/disable a device and to read and write data. Note that this example assumes that the ebapi-modules.js
file is in the same folder as the HTML invoking it.
<html>
<head>
<script type="text/javascript" src="ebapi-modules.js"></script>
<script>
var SerialPort;
function enumCallBack(params){
alert("enumCallBack");
if(params){ // Most of these methods have callbacks but null 'params' sent.
//alert(params);
}
}
function Enumerate()
{
alert("enumerate");
SerialPort = EB.SerialComm.enumerate(enumCallBack);
alert(SerialPort[0].getId());
}
function Enable()
{
alert("Enable");
EB.SerialComm.enable(enableCallback);
}
function enableCallback(dat) {
alert("enableCallback");
document.getElementById("myDiv").innerHTML = "Enable:";
document.getElementById("myDiv").innerHTML += "<li>Status:"+dat.status+"<br/><li>message:"+dat.message ;
}
function disableCallback(dat) {
alert("disableCallback");
document.getElementById("myDiv").innerHTML = "Disable:";
document.getElementById("myDiv").innerHTML += "<li>Status:"+dat.status+"<br/><li>message:"+dat.message ;
}
function Disable()
{
alert("Disable");
EB.SerialComm.disable(disableCallback);
}
function Read()
{
alert("Read");
EB.SerialComm.read("10000",readCallback);
}
function readCallback(dat) {
alert("readCallback");
document.getElementById("myDiv").innerHTML = "Read Data:<br/>";
document.getElementById("myDiv").innerHTML += "<li>Status:"+dat.status+"<br/><li>Data:"+dat.data +"<br/><li>message:"+dat.message ;
}
function Write()
{
alert("Write");
//SerialPort[0].write("100abcd011");
var writeData= document.getElementById("writeData").value;
EB.SerialComm.write(writeData,writeCallback);
}
function writeCallback(dat) {
alert("writeCallback");
document.getElementById("myDiv").innerHTML = "Write Data:<br/>";
document.getElementById("myDiv").innerHTML += "<li>Status:"+dat.status+"<br/><li>message:"+dat.message ;
}
function SetConfig()
{
alert("SetConfig");
alert("Friendly name "+EB.SerialComm.friendlyName);
EB.SerialComm.baudRates= EB.SerialComm.BR_9600;
alert("baudRates "+EB.SerialComm.baudRates);
EB.SerialComm.flowControlMode=EB.SerialComm.NONE;
alert("flowControlMode "+EB.SerialComm.flowControlMode);
EB.SerialComm.ParityBit=EB.SerialComm.NONE;
alert("ParityBit "+EB.SerialComm.ParityBit);
EB.SerialComm.stopBit=EB.SerialComm.ONE;
alert("stopBit "+EB.SerialComm.stopBit);
EB.SerialComm.dataBit=EB.SerialComm.EIGHT;
alert("dataBit "+EB.SerialComm.dataBit);
}
</script>
</head>
<body>
<br><br> <div id="availableScanners">EnumScanners goes Here</div>
<br><br> <div id=myJsID></div>
<br><br> <div id="msg">Messages Go Here</div>
<br><br> <input type='button' onClick="Enumerate()" value="Enumerate"/>
<br><br> <input type='button' onClick="Enable()" value="Enable"/>
<br><br> <input type="button" onclick="Disable()" value="Disable">
<br><br> <input type="button" onclick="Read()" value="Read" />
<br><br> <input type="button" onclick="Write()" value="Write" />
<input type="text" id="writeData" value="" />
<br><br> <input type="button" onclick="SetConfig()" value="Set and Get Config" />
<div id="myDiv"></div>
</body>
</html>