Package jmri.jmrix.ieee802154.xbee
Class XBeeAdapter
- java.lang.Object
-
- All Implemented Interfaces:
com.digi.xbee.api.connection.IConnectionInterface
,PortAdapter
,SerialPortAdapter
,SerialPortDataListener
public class XBeeAdapter extends SerialDriverAdapter implements com.digi.xbee.api.connection.IConnectionInterface, SerialPortDataListener
Provide access to IEEE802.15.4 devices via a serial com port.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractSerialPortController
AbstractSerialPortController.Blocking, AbstractSerialPortController.FlowControl
-
Nested classes/interfaces inherited from class jmri.jmrix.AbstractPortController
AbstractPortController.Option
-
-
Field Summary
-
Fields inherited from class jmri.jmrix.AbstractSerialPortController
currentSerialPort, mBaudRate, mPort
-
Fields inherited from class jmri.jmrix.AbstractPortController
allowConnectionRecovery, manufacturerName, opened, option1Name, option2Name, option3Name, option4Name, options, reconnectinterval, reconnectMaxAttempts, reconnectMaxInterval
-
-
Constructor Summary
Constructors Constructor Description XBeeAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
configure()
Set up all of the other objects to operate connected to this port.int
defaultBaudIndex()
Get the index of the default port speed for this adapter from the validSpeeds and validRates arrays.com.digi.xbee.api.connection.ConnectionType
getConnectionType()
int
getListeningEvents()
XBeeConnectionMemo
getSystemConnectionMemo()
Get theSystemConnectionMemo
associated with this object.boolean
isOpen()
void
open()
java.lang.String
openPort(java.lang.String portName, java.lang.String appName)
Open a specified port.int
readData(byte[] b)
int
readData(byte[] b, int off, int len)
void
serialEvent(SerialPortEvent serialPortEvent)
protected void
setSerialPort()
Local method to do specific port configurationint[]
validBaudNumbers()
Get an array of valid baud rate numbers; used to store/load adapter speed option.java.lang.String[]
validBaudRates()
Get an array of valid baud rate strings; used to display valid options in Connections Preferences.void
writeData(byte[] b)
void
writeData(byte[] b, int off, int len)
-
Methods inherited from class jmri.jmrix.ieee802154.serialdriver.SerialDriverAdapter
okToSend, option1Name, option2Name, status, validOption1, validOption2
-
Methods inherited from class jmri.jmrix.AbstractSerialPortController
activatePort, activatePort, activatePort, closeConnection, closeSerialPort, configureBaudRate, configureBaudRateFromIndex, configureBaudRateFromNumber, configureLeads, configureLeadsAndFlowControl, configureLeadsAndFlowControl, connect, currentBaudNumber, getActualPortNames, getCurrentBaudIndex, getCurrentBaudNumber, getCurrentBaudRate, getCurrentPortName, getFlowControl, getInputStream, getOutputStream, getPortSettingsString, handlePortBusy, handlePortNotFound, handlePortNotFound, isPortOpen, replacePortWithFakePort, reportPortStatus, resetupConnection, setBaudRate, setComPortTimeouts, setDataListener, setFlowControl, setPort
-
Methods inherited from class jmri.jmrix.AbstractPortController
configureOption1, configureOption2, configureOption3, configureOption4, dispose, getDisabled, getManufacturer, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getReconnectMaxAttempts, getReconnectMaxInterval, getSystemPrefix, getUserName, isDirty, isOptionAdvanced, isOptionTypePassword, isOptionTypeText, isRestartRequired, purgeStream, reconnect, reconnectFromLoop, recover, safeSleep, setClosed, setDisabled, setManufacturer, setOpened, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.digi.xbee.api.connection.IConnectionInterface
getInputStream, getOutputStream
-
Methods inherited from interface jmri.jmrix.PortAdapter
dispose, getDisabled, getOption1Name, getOption2Name, getOption3Name, getOption4Name, getOptionChoices, getOptionDisplayName, getOptions, getOptionState, getReconnectMaxAttempts, getReconnectMaxInterval, getSystemPrefix, getUserName, isDirty, isOptionAdvanced, isOptionTypePassword, isOptionTypeText, isRestartRequired, recover, setDisabled, setOptionState, setReconnectMaxAttempts, setReconnectMaxInterval, setSystemConnectionMemo, setSystemPrefix, setUserName
-
Methods inherited from interface jmri.jmrix.SerialPortAdapter
configureOption1, configureOption2, configureOption3, configureOption4, getManufacturer, getPortNames, setManufacturer
-
-
-
-
Constructor Detail
-
XBeeAdapter
public XBeeAdapter()
-
-
Method Detail
-
openPort
public java.lang.String openPort(java.lang.String portName, java.lang.String appName)
Description copied from interface:SerialPortAdapter
Open a specified port.- Specified by:
openPort
in interfaceSerialPortAdapter
- Overrides:
openPort
in classSerialDriverAdapter
- Parameters:
portName
- name tu use for this portappName
- provided to the underlying OS during startup so that it can show on status displays, etc.- Returns:
- null indicates OK return, else error message.
-
setSerialPort
protected void setSerialPort()
Local method to do specific port configuration- Overrides:
setSerialPort
in classSerialDriverAdapter
-
configure
public void configure()
Set up all of the other objects to operate connected to this port.- Specified by:
configure
in interfacePortAdapter
- Specified by:
configure
in interfaceSerialPortAdapter
- Overrides:
configure
in classSerialDriverAdapter
-
validBaudRates
public java.lang.String[] validBaudRates()
Get an array of valid baud rate strings; used to display valid options in Connections Preferences.- Specified by:
validBaudRates
in interfaceSerialPortAdapter
- Overrides:
validBaudRates
in classSerialDriverAdapter
- Returns:
- array of I18N display strings of port speed settings valid for this serial adapter,
must match order and values from
SerialPortAdapter.validBaudNumbers()
-
validBaudNumbers
public int[] validBaudNumbers()
Get an array of valid baud rate numbers; used to store/load adapter speed option.- Specified by:
validBaudNumbers
in interfaceSerialPortAdapter
- Overrides:
validBaudNumbers
in classSerialDriverAdapter
- Returns:
- integer array of speeds, must match order and values from
SerialPortAdapter.validBaudRates()
-
getSystemConnectionMemo
public XBeeConnectionMemo getSystemConnectionMemo()
Description copied from class:AbstractPortController
Get theSystemConnectionMemo
associated with this object.This method should only be overridden to ensure that a specific subclass of SystemConnectionMemo is returned. The recommended pattern is:
public MySystemConnectionMemo getSystemConnectionMemo() { return (MySystemConnectionMemo) super.getSystemConnectionMemo(); }
- Specified by:
getSystemConnectionMemo
in interfacePortAdapter
- Overrides:
getSystemConnectionMemo
in classIEEE802154PortController
- Returns:
- the currently associated SystemConnectionMemo
-
defaultBaudIndex
public int defaultBaudIndex()
Description copied from interface:SerialPortAdapter
Get the index of the default port speed for this adapter from the validSpeeds and validRates arrays.- Specified by:
defaultBaudIndex
in interfaceSerialPortAdapter
- Overrides:
defaultBaudIndex
in classSerialDriverAdapter
- Returns:
- -1 to indicate not supported, unless overridden in adapter
-
close
public void close()
- Specified by:
close
in interfacecom.digi.xbee.api.connection.IConnectionInterface
-
readData
public int readData(byte[] b) throws java.io.IOException
- Specified by:
readData
in interfacecom.digi.xbee.api.connection.IConnectionInterface
- Throws:
java.io.IOException
-
readData
public int readData(byte[] b, int off, int len) throws java.io.IOException
- Specified by:
readData
in interfacecom.digi.xbee.api.connection.IConnectionInterface
- Throws:
java.io.IOException
-
writeData
public void writeData(byte[] b) throws java.io.IOException
- Specified by:
writeData
in interfacecom.digi.xbee.api.connection.IConnectionInterface
- Throws:
java.io.IOException
-
writeData
public void writeData(byte[] b, int off, int len) throws java.io.IOException
- Specified by:
writeData
in interfacecom.digi.xbee.api.connection.IConnectionInterface
- Throws:
java.io.IOException
-
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interfacecom.digi.xbee.api.connection.IConnectionInterface
-
open
public void open()
- Specified by:
open
in interfacecom.digi.xbee.api.connection.IConnectionInterface
-
getConnectionType
public com.digi.xbee.api.connection.ConnectionType getConnectionType()
- Specified by:
getConnectionType
in interfacecom.digi.xbee.api.connection.IConnectionInterface
-
getListeningEvents
public int getListeningEvents()
- Specified by:
getListeningEvents
in interfaceSerialPortDataListener
-
serialEvent
public void serialEvent(SerialPortEvent serialPortEvent)
- Specified by:
serialEvent
in interfaceSerialPortDataListener
-
-