|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjmri.implementation.AbstractNamedBean
jmri.implementation.AbstractLight
jmri.implementation.AbstractVariableLight
jmri.jmrix.powerline.SerialLight
public abstract class SerialLight
Implementation of the Light Object for Powerline devices.
For X10 devices, uses dimming commands to set intensity unless the value is 0.0 or 1.0, in which case it uses on/off commands only.
For Insteon devices, uses direct setting of intensity level unless the value is 0.0 or 1.0, in which case it uses on/off commands only.
For X10, since the dim/bright step of the hardware is unknown then the Light object is first created, the first time the intensity (not state) is set to other than 0.0 or 1.0, the output is run to it's maximum dim or bright step so that we know the count is right.
For X10, keeps track of the controller's "dim count", and if not certain forces it to zero to be sure.
| Field Summary | |
|---|---|
protected int |
devicecode
|
protected int |
housecode
|
protected int |
idhighbyte
|
protected int |
idlowbyte
|
protected int |
idmiddlebyte
|
| Fields inherited from class jmri.implementation.AbstractVariableLight |
|---|
alarmSyncUpdate, internalClock, minuteChangeListener, mLastTransitionDate, mNextTransitionTs, mTransitionDuration, mTransitionTargetIntensity |
| Fields inherited from class jmri.implementation.AbstractLight |
|---|
lightControlList, mActive, mCurrentIntensity, mEnabled, mMaxIntensity, mMinIntensity, mState |
| Fields inherited from class jmri.implementation.AbstractNamedBean |
|---|
mSystemName, mUserName |
| Fields inherited from interface jmri.Light |
|---|
FAST_CLOCK_CONTROL, INTERMEDIATE, NO_CONTROL, OFF, ON, SENSOR_CONTROL, TIMED_ON_CONTROL, TRANSITIONING, TRANSITIONINGHIGHER, TRANSITIONINGLOWER, TRANSITIONINGTOFULLOFF, TRANSITIONINGTOFULLON, TURNOUT_STATUS_CONTROL, TWO_SENSOR_CONTROL |
| Fields inherited from interface jmri.NamedBean |
|---|
INCONSISTENT, UNKNOWN |
| Constructor Summary | |
|---|---|
SerialLight(String systemName,
SerialTrafficController tc)
Create a Light object, with only system name. |
|
SerialLight(String systemName,
SerialTrafficController tc,
String userName)
Create a Light object, with both system and user names. |
|
| Method Summary | |
|---|---|
protected void |
initializeLight()
Invoked from constructors to set up details. |
protected void |
initIntensity(double intensity)
Optionally, force control to a known "dim count". |
protected void |
sendOnOffCommand(int newState)
Send a On/Off Command to the hardware |
| Methods inherited from class jmri.implementation.AbstractVariableLight |
|---|
getNumberOfSteps, getTransitionTime, isIntensityVariable, isTransitionAvailable, isTransitioning, newInternalMinute, notifyTargetIntensityChange, sendIntensity, setState, setTargetIntensity, setTransitionTime, startTransition |
| Methods inherited from class jmri.implementation.AbstractLight |
|---|
activateLight, addLightControl, clearLightControls, deactivateLight, doNewState, getCurrentIntensity, getEnabled, getLightControlList, getMaxIntensity, getMinIntensity, getState, getTargetIntensity, notifyStateChange, setEnabled, setMaxIntensity, setMinIntensity, updateIntensityHigh, updateIntensityIntermediate, updateIntensityLow |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected int housecode
protected int devicecode
protected int idhighbyte
protected int idmiddlebyte
protected int idlowbyte
| Constructor Detail |
|---|
public SerialLight(String systemName,
SerialTrafficController tc)
'systemName' was previously validated in SerialLightManager
public SerialLight(String systemName,
SerialTrafficController tc,
String userName)
'systemName' was previously validated in SerialLightManager
| Method Detail |
|---|
protected void initializeLight()
protected void initIntensity(double intensity)
Invoked the first time intensity is set.
Default implementation doesn't do anything.
protected void sendOnOffCommand(int newState)
sendOnOffCommand in class AbstractVariableLight
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||