Package jmri.jmrix.bidib
Class BiDiBOutputMessageHandler
- java.lang.Object
-
- org.bidib.jbidibc.core.DefaultMessageListener
-
- jmri.jmrix.bidib.BiDiBOutputMessageHandler
-
- All Implemented Interfaces:
org.bidib.jbidibc.core.MessageListener
public class BiDiBOutputMessageHandler extends org.bidib.jbidibc.core.DefaultMessageListener
This class handles output to: - BiDiB Accessories - DCC Accessories via command station - BiDiB LC Ports Output value is sent to the type according to the address type. Incoming messages a are catched by the BiDiB Message listener, then some common processing takes place and the new value is sent back to the listener of this class instance.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.bidib.jbidibc.messages.enums.LcOutputTypelcType(package private) java.lang.ObjectportConfigLockprotected org.bidib.jbidibc.messages.LcConfigXportConfigxprotected org.bidib.jbidibc.messages.message.BidibRequestFactoryrequestFactoryprotected BiDiBTrafficControllertcprotected java.lang.Stringtype
-
Constructor Summary
Constructors Constructor Description BiDiBOutputMessageHandler(BiDiBNamedBeanInterface nb, java.lang.String type, BiDiBTrafficController tc)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccessoryState(byte[] address, int messageNum, org.bidib.jbidibc.messages.AccessoryState accessoryState, org.bidib.jbidibc.messages.AccessoryStateOptions accessoryStateOptions)voidcsAccessoryAcknowledge(byte[] address, int messageNum, int decoderAddress, org.bidib.jbidibc.messages.enums.AccessoryAcknowledge acknowledge)voidcsAccessoryManual(byte[] address, int messageNum, org.bidib.jbidibc.messages.AddressData decoderAddress, org.bidib.jbidibc.messages.enums.ActivateCoilEnum activate, int aspect)voiderrorState(int err)Notify error stateorg.bidib.jbidibc.messages.LcConfigXgetConfigX()Get the port configuration if output is a BiDiB portorg.bidib.jbidibc.messages.enums.LcOutputTypegetLcType()Get the port output type if output is a BiDiB portvoidlcConfig(byte[] address, int messageNum, org.bidib.jbidibc.messages.LcConfig lcConfig)voidlcConfigX(byte[] address, int messageNum, org.bidib.jbidibc.messages.LcConfigX lcConfigX)voidlcNa(byte[] address, int messageNum, org.bidib.jbidibc.messages.BidibPort bidibPort, java.lang.Integer errorCode)voidlcStat(byte[] address, int messageNum, org.bidib.jbidibc.messages.BidibPort bidibPort, int portStatus)voidlcWait(byte[] address, int messageNum, org.bidib.jbidibc.messages.BidibPort bidibPort, int time)voidnewLcConfigX(org.bidib.jbidibc.messages.LcConfigX lcConfigX, org.bidib.jbidibc.messages.enums.LcOutputType lcType)Notify LC port ConfigXvoidnewOutputState(int state)Notify output statevoidoutputWait(int time)Notify output will change latervoidsendOutput(int portstat)Send output request to traffic controller Send new port value or aspect valuevoidsendQuery()Send output query request to traffic controllervoidsendQueryConfig()voidwaitQueryConfig()-
Methods inherited from class org.bidib.jbidibc.core.DefaultMessageListener
accessoryParameter, address, boosterDiag, boosterState, confidence, csDccAdvAckn, csDccAdvTid, csDriveAcknowledge, csDriveManual, csDriveState, csPomAcknowledge, csProgState, csRcPlusBindAnswer, csRcPlusFindAnswer, csRcPlusPingAcknState, csRcPlusTid, csState, dynState, error, feature, featureCount, featureNotAvailable, feedbackAccessory, feedbackCv, feedbackDccAInfoFirmwareId, feedbackDccAInfoFullName, feedbackDccAInfoProductName, feedbackDccAInfoShortGui, feedbackDccAInfoShortInfo, feedbackDccAInfoShortName, feedbackDccALogonAssignAck, feedbackDccALogonCollision, feedbackDccALogonNewDid, feedbackRcPlusBindAccepted, feedbackRcPlusFindCollision, feedbackRcPlusPingCollision, feedbackRcPlusPongNew, feedbackRcPlusPongOkay, feedbackXPom, feedbackXPom, firmwareUpdateStat, identify, internalError, lcKey, lcMacro, lcMacroParameter, lcMacroState, localBidibUp, localLogoff, localPing, localPong, nodeLost, nodeNew, nodeString, nodeTab, nodeTabCount, occupancyMultiple, pong, position, speed, stall, sysMagic, sysProtocolVersion, sysSoftwareVersion, sysUniqueId, vendor, vendorAck
-
-
-
-
Field Detail
-
tc
protected BiDiBTrafficController tc
-
type
protected java.lang.String type
-
portConfigx
protected org.bidib.jbidibc.messages.LcConfigX portConfigx
-
lcType
protected org.bidib.jbidibc.messages.enums.LcOutputType lcType
-
requestFactory
protected org.bidib.jbidibc.messages.message.BidibRequestFactory requestFactory
-
portConfigLock
final java.lang.Object portConfigLock
-
-
Constructor Detail
-
BiDiBOutputMessageHandler
BiDiBOutputMessageHandler(BiDiBNamedBeanInterface nb, java.lang.String type, BiDiBTrafficController tc)
-
-
Method Detail
-
getConfigX
public org.bidib.jbidibc.messages.LcConfigX getConfigX()
Get the port configuration if output is a BiDiB port- Returns:
- port ConfigX or null if not a BiDiB port
-
getLcType
public org.bidib.jbidibc.messages.enums.LcOutputType getLcType()
Get the port output type if output is a BiDiB port- Returns:
- port output type or null if not a BiDiB port
-
sendOutput
public void sendOutput(int portstat)
Send output request to traffic controller Send new port value or aspect value- Parameters:
portstat- BiDiB output value (see protocol description for valid values)
-
sendQueryConfig
public void sendQueryConfig()
-
waitQueryConfig
public void waitQueryConfig()
-
sendQuery
public void sendQuery()
Send output query request to traffic controller
-
newOutputState
public void newOutputState(int state)
Notify output state- Parameters:
state- desired state from NamedBean list
-
errorState
public void errorState(int err)
Notify error state- Parameters:
err- - BiDiB error number
-
outputWait
public void outputWait(int time)
Notify output will change later- Parameters:
time- in msec
-
newLcConfigX
public void newLcConfigX(org.bidib.jbidibc.messages.LcConfigX lcConfigX, org.bidib.jbidibc.messages.enums.LcOutputType lcType)
Notify LC port ConfigX- Parameters:
lcConfigX- inputlcType- input
-
accessoryState
public void accessoryState(byte[] address, int messageNum, org.bidib.jbidibc.messages.AccessoryState accessoryState, org.bidib.jbidibc.messages.AccessoryStateOptions accessoryStateOptions)
- Specified by:
accessoryStatein interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
accessoryStatein classorg.bidib.jbidibc.core.DefaultMessageListener
-
csAccessoryAcknowledge
public void csAccessoryAcknowledge(byte[] address, int messageNum, int decoderAddress, org.bidib.jbidibc.messages.enums.AccessoryAcknowledge acknowledge)
- Specified by:
csAccessoryAcknowledgein interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
csAccessoryAcknowledgein classorg.bidib.jbidibc.core.DefaultMessageListener
-
csAccessoryManual
public void csAccessoryManual(byte[] address, int messageNum, org.bidib.jbidibc.messages.AddressData decoderAddress, org.bidib.jbidibc.messages.enums.ActivateCoilEnum activate, int aspect)
- Specified by:
csAccessoryManualin interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
csAccessoryManualin classorg.bidib.jbidibc.core.DefaultMessageListener
-
lcStat
public void lcStat(byte[] address, int messageNum, org.bidib.jbidibc.messages.BidibPort bidibPort, int portStatus)
- Specified by:
lcStatin interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
lcStatin classorg.bidib.jbidibc.core.DefaultMessageListener
-
lcWait
public void lcWait(byte[] address, int messageNum, org.bidib.jbidibc.messages.BidibPort bidibPort, int time)
- Specified by:
lcWaitin interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
lcWaitin classorg.bidib.jbidibc.core.DefaultMessageListener
-
lcNa
public void lcNa(byte[] address, int messageNum, org.bidib.jbidibc.messages.BidibPort bidibPort, java.lang.Integer errorCode)
- Specified by:
lcNain interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
lcNain classorg.bidib.jbidibc.core.DefaultMessageListener
-
lcConfig
public void lcConfig(byte[] address, int messageNum, org.bidib.jbidibc.messages.LcConfig lcConfig)
- Specified by:
lcConfigin interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
lcConfigin classorg.bidib.jbidibc.core.DefaultMessageListener
-
lcConfigX
public void lcConfigX(byte[] address, int messageNum, org.bidib.jbidibc.messages.LcConfigX lcConfigX)
- Specified by:
lcConfigXin interfaceorg.bidib.jbidibc.core.MessageListener- Overrides:
lcConfigXin classorg.bidib.jbidibc.core.DefaultMessageListener
-
-