Class SpecificX10Light
- java.lang.Object
-
- jmri.implementation.AbstractNamedBean
-
- jmri.implementation.AbstractLight
-
- jmri.implementation.AbstractVariableLight
-
- jmri.jmrix.powerline.SerialLight
-
- jmri.jmrix.powerline.SerialX10Light
-
- jmri.jmrix.powerline.insteon2412s.SpecificX10Light
-
- All Implemented Interfaces:
java.lang.Comparable<NamedBean>
,AnalogIO
,PropertyChangeProvider
,DigitalIO
,Light
,NamedBean
,VariableLight
public class SpecificX10Light extends SerialX10Light
Implementation of the Light Object for X10 receivers on Insteon 2412S interfaces.Uses X10 dimming commands to set intensity unless the value is 0.0 or 1.0, in which case it uses on/off commands only.
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.
Keeps track of the controller's "dim count", and if not certain forces it to zero to be sure.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jmri.AnalogIO
AnalogIO.AbsoluteOrRelative
-
Nested classes/interfaces inherited from interface jmri.NamedBean
NamedBean.BadNameException, NamedBean.BadSystemNameException, NamedBean.BadUserNameException, NamedBean.DisplayOptions, NamedBean.DuplicateSystemNameException
-
-
Field Summary
Fields Modifier and Type Field Description (package private) SerialTrafficController
tc
-
Fields inherited from class jmri.jmrix.powerline.SerialX10Light
lastOutputStep, maxDimStep
-
Fields inherited from class jmri.jmrix.powerline.SerialLight
devicecode, housecode, idhighbyte, idlowbyte, idmiddlebyte, unitid
-
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
listenerRefs, mSystemName, register
-
Fields inherited from interface jmri.Light
FAST_CLOCK_CONTROL, INTERMEDIATE, NO_CONTROL, SENSOR_CONTROL, TIMED_ON_CONTROL, TRANSITIONING, TRANSITIONINGHIGHER, TRANSITIONINGLOWER, TRANSITIONINGTOFULLOFF, TRANSITIONINGTOFULLON, TURNOUT_STATUS_CONTROL, TWO_SENSOR_CONTROL
-
Fields inherited from interface jmri.NamedBean
DISPLAY_NAME_FORMAT, INCONSISTENT, PROPERTY_STATE, QUOTED_NAME_FORMAT, UNKNOWN
-
-
Constructor Summary
Constructors Constructor Description SpecificX10Light(java.lang.String systemName, SerialTrafficController tc)
Create a Light object, with only system name.SpecificX10Light(java.lang.String systemName, SerialTrafficController tc, java.lang.String userName)
Create a Light object, with both system and user names.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
sendIntensity(double intensity)
Send a Dim/Bright commands to the X10 hardware to reach a specific intensity.-
Methods inherited from class jmri.jmrix.powerline.SerialX10Light
getNumberOfSteps, initIntensity, sendOnOffCommand
-
Methods inherited from class jmri.jmrix.powerline.SerialLight
initializeLight
-
Methods inherited from class jmri.implementation.AbstractVariableLight
describeState, getAbsoluteOrRelative, getCommandedAnalogValue, getCurrentIntensity, getMax, getMaxIntensity, getMin, getMinIntensity, getResolution, getState, getTargetIntensity, getTransitionTime, isTransitionAvailable, isTransitioning, newInternalMinute, notifyTargetIntensityChange, setCommandedAnalogValue, setMaxIntensity, setMinIntensity, setObservedAnalogValue, setState, setState, setTargetIntensity, setTransitionTime, startTransition
-
Methods inherited from class jmri.implementation.AbstractLight
activateLight, addLightControl, clearLightControls, deactivateLight, doNewState, getBeanType, getEnabled, getLightControlList, getState, getUsageReport, notifyStateChange, setEnabled
-
Methods inherited from class jmri.implementation.AbstractNamedBean
addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, dispose, equals, firePropertyChange, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUserName, hashCode, removeProperty, removePropertyChangeListener, removePropertyChangeListener, setComment, setProperty, setUserName, toString, toStringSuffix, updateListenerRef, vetoableChange
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jmri.AnalogIO
getKnownAnalogValue
-
Methods inherited from interface jmri.Light
activateLight, addLightControl, clearLightControls, deactivateLight, getCommandedState, getEnabled, getKnownState, getLightControlList, getState, setCommandedState, setEnabled
-
Methods inherited from interface jmri.NamedBean
addPropertyChangeListener, addPropertyChangeListener, compareSystemNameSuffix, compareTo, dispose, getBeanType, getComment, getDisplayName, getDisplayName, getListenerRef, getListenerRefs, getNumPropertyChangeListeners, getProperty, getPropertyChangeListenersByReference, getPropertyKeys, getSystemName, getUsageReport, getUserName, removeProperty, setComment, setProperty, setUserName, toString, updateListenerRef, vetoableChange
-
Methods inherited from interface jmri.beans.PropertyChangeProvider
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
-
Methods inherited from interface jmri.VariableLight
isConsistentState, isConsistentValue, requestUpdateFromLayout
-
-
-
-
Constructor Detail
-
SpecificX10Light
public SpecificX10Light(java.lang.String systemName, SerialTrafficController tc)
Create a Light object, with only system name.'systemName' was previously validated in SerialLightManager
- Parameters:
systemName
- text for systemName of lighttc
- tc for connection
-
SpecificX10Light
public SpecificX10Light(java.lang.String systemName, SerialTrafficController tc, java.lang.String userName)
Create a Light object, with both system and user names.'systemName' was previously validated in SerialLightManager
- Parameters:
systemName
- text for systemName of lighttc
- tc for connectionuserName
- text for userName of light
-
-
Method Detail
-
sendIntensity
protected void sendIntensity(double intensity)
Send a Dim/Bright commands to the X10 hardware to reach a specific intensity. Acts immediately, and changes no general state.This sends "Extended Cmd Dim" commands.
- Overrides:
sendIntensity
in classSerialX10Light
- Parameters:
intensity
- new intensity
-
-