Package jmri.jmrix.powerline.dmx512
Class SpecificTrafficController
- java.lang.Object
- 
- jmri.jmrix.AbstractMRTrafficController
- 
- jmri.jmrix.powerline.SerialTrafficController
- 
- jmri.jmrix.powerline.dmx512.SpecificTrafficController
 
 
 
- 
- All Implemented Interfaces:
- SerialInterface
 
 public class SpecificTrafficController extends SerialTrafficController Converts Stream-based I/O to/from messages. The "SerialInterface" side sends/receives message objects.The connection to a SerialPortController is via a pair of *Streams, which then carry sequences of characters for transmission. Note that this processing is handled in an independent thread. 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class jmri.jmrix.AbstractMRTrafficControllerAbstractMRTrafficController.RcvNotifier, AbstractMRTrafficController.XmtNotifier
 
- 
 - 
Field SummaryFields Modifier and Type Field Description byte[]dmxArray- 
Fields inherited from class jmri.jmrix.powerline.SerialTrafficControllerlogDebug, memo
 - 
Fields inherited from class jmri.jmrix.AbstractMRTrafficControllerallowUnexpectedReply, AUTORETRYSTATE, cmdListeners, connectionError, controller, flushReceiveChars, IDLESTATE, istream, listenerQueue, maxRcvExceptionCount, mCurrentMode, mCurrentState, mLastSender, msgQueue, mWaitBeforePoll, NORMALMODE, NOTIFIEDSTATE, OKSENDMSGSTATE, ostream, POLLSTATE, PROGRAMINGMODE, rcvException, rcvThread, replyInDispatch, threadStopRequest, timeoutFlag, timeouts, WAITMSGREPLYSTATE, WAITREPLYINNORMMODESTATE, WAITREPLYINPROGMODESTATE, waitTimePoll, xmtException, xmtRunnable, xmtThread
 
- 
 - 
Constructor SummaryConstructors Constructor Description SpecificTrafficController(SerialSystemConnectionMemo memo)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetNumberOfIntensitySteps()This system provides 256 dim stepsvoidreceiveLoop()Handle incoming characters.booleansendDmxSequence(int unitid, byte newStep)Send a sequence of Dmx messagesbooleansetDmxIntensity(int unitId, byte intensityValue)set value in dmxArrayprotected voidtransmitLoop()Permanent loop for the transmit thread.- 
Methods inherited from class jmri.jmrix.powerline.SerialTrafficControlleraddSerialListener, endOfMessage, enterNormalMode, enterProgMode, enterProgModeDelayTime, forwardMessage, forwardReply, forwardToPort, getAdapterMemo, getSensorManager, getSerialMessage, newReply, pollMessage, pollReplyHandler, removeSerialListener, sendInsteonSequence, sendSerialMessage, sendX10Sequence, setAdapterMemo, setSensorManager
 - 
Methods inherited from class jmri.jmrix.AbstractMRTrafficControlleraddConsoleListener, addHeaderToOutput, addListener, addTrailerToOutput, canReceive, connectionWarn, connectPort, disconnectPort, distributeReply, getLastSender, getPortName, getSynchronizeRx, handleOneIncomingReply, handleTimeout, hasTimeouts, lengthOfByteStream, loadChars, newRcvNotifier, notifyMessage, notifyReply, portReadyToSend, portWarn, portWarnTCP, programmerIdle, readByteProtected, recovery, removeListener, reportReceiveLoopException, resetTimeout, sendMessage, setAllowUnexpectedReply, setSynchronizeRx, status, terminate, terminateThreads, transmitWait, unexpectedReplyStateError, waitForStartOfReply, warnOnTimeout
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface jmri.jmrix.powerline.SerialInterfacestatus
 
- 
 
- 
- 
- 
Field Detail- 
dmxArraypublic byte[] dmxArray 
 
- 
 - 
Constructor Detail- 
SpecificTrafficControllerpublic SpecificTrafficController(SerialSystemConnectionMemo memo) 
 
- 
 - 
Method Detail- 
setDmxIntensitypublic boolean setDmxIntensity(int unitId, byte intensityValue) set value in dmxArray- Parameters:
- unitId- offset in dmxArray
- intensityValue- value to put in dmxArray
- Returns:
- true when values ok
 
 - 
transmitLoopprotected void transmitLoop() Description copied from class:AbstractMRTrafficControllerPermanent loop for the transmit thread.- Overrides:
- transmitLoopin class- AbstractMRTrafficController
 
 - 
receiveLooppublic void receiveLoop() Description copied from class:AbstractMRTrafficControllerHandle incoming characters. This is a permanent loop, looking for input messages in character form on the stream connected to the PortController viaAbstractMRTrafficController.connectPort(AbstractPortController).Each turn of the loop is the receipt of a single message. - Overrides:
- receiveLoopin class- AbstractMRTrafficController
 
 - 
getNumberOfIntensityStepspublic int getNumberOfIntensitySteps() This system provides 256 dim steps- Overrides:
- getNumberOfIntensityStepsin class- SerialTrafficController
- Returns:
- By default, dimming not available.
 
 - 
sendDmxSequencepublic boolean sendDmxSequence(int unitid, byte newStep) Send a sequence of Dmx messagesMakes call to update array - Overrides:
- sendDmxSequencein class- SerialTrafficController
- Parameters:
- unitid- which light
- newStep- new intesity value
- Returns:
- true on success
 
 
- 
 
-