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 voidclose()voidconfigure()Set up all of the other objects to operate connected to this port.intdefaultBaudIndex()Get the index of the default port speed for this adapter from the validSpeeds and validRates arrays.com.digi.xbee.api.connection.ConnectionTypegetConnectionType()intgetListeningEvents()XBeeConnectionMemogetSystemConnectionMemo()Get theSystemConnectionMemoassociated with this object.booleanisOpen()voidopen()java.lang.StringopenPort(java.lang.String portName, java.lang.String appName)Open a specified port.intreadData(byte[] b)intreadData(byte[] b, int off, int len)voidserialEvent(SerialPortEvent serialPortEvent)protected voidsetSerialPort()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.voidwriteData(byte[] b)voidwriteData(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:SerialPortAdapterOpen a specified port.- Specified by:
openPortin interfaceSerialPortAdapter- Overrides:
openPortin 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:
setSerialPortin classSerialDriverAdapter
-
configure
public void configure()
Set up all of the other objects to operate connected to this port.- Specified by:
configurein interfacePortAdapter- Specified by:
configurein interfaceSerialPortAdapter- Overrides:
configurein 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:
validBaudRatesin interfaceSerialPortAdapter- Overrides:
validBaudRatesin 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:
validBaudNumbersin interfaceSerialPortAdapter- Overrides:
validBaudNumbersin classSerialDriverAdapter- Returns:
- integer array of speeds, must match order and values from
SerialPortAdapter.validBaudRates()
-
getSystemConnectionMemo
public XBeeConnectionMemo getSystemConnectionMemo()
Description copied from class:AbstractPortControllerGet theSystemConnectionMemoassociated 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:
getSystemConnectionMemoin interfacePortAdapter- Overrides:
getSystemConnectionMemoin classIEEE802154PortController- Returns:
- the currently associated SystemConnectionMemo
-
defaultBaudIndex
public int defaultBaudIndex()
Description copied from interface:SerialPortAdapterGet the index of the default port speed for this adapter from the validSpeeds and validRates arrays.- Specified by:
defaultBaudIndexin interfaceSerialPortAdapter- Overrides:
defaultBaudIndexin classSerialDriverAdapter- Returns:
- -1 to indicate not supported, unless overridden in adapter
-
close
public void close()
- Specified by:
closein interfacecom.digi.xbee.api.connection.IConnectionInterface
-
readData
public int readData(byte[] b) throws java.io.IOException
- Specified by:
readDatain 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:
readDatain interfacecom.digi.xbee.api.connection.IConnectionInterface- Throws:
java.io.IOException
-
writeData
public void writeData(byte[] b) throws java.io.IOException
- Specified by:
writeDatain 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:
writeDatain interfacecom.digi.xbee.api.connection.IConnectionInterface- Throws:
java.io.IOException
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacecom.digi.xbee.api.connection.IConnectionInterface
-
open
public void open()
- Specified by:
openin interfacecom.digi.xbee.api.connection.IConnectionInterface
-
getConnectionType
public com.digi.xbee.api.connection.ConnectionType getConnectionType()
- Specified by:
getConnectionTypein interfacecom.digi.xbee.api.connection.IConnectionInterface
-
getListeningEvents
public int getListeningEvents()
- Specified by:
getListeningEventsin interfaceSerialPortDataListener
-
serialEvent
public void serialEvent(SerialPortEvent serialPortEvent)
- Specified by:
serialEventin interfaceSerialPortDataListener
-
-