001package jmri.jmrix.powerline.cm11; 002 003import jmri.jmrix.powerline.SerialTrafficController; 004 005/** 006 * Implementation of the Light Object for X10 CM11 interfaces. 007 * <p> 008 * Uses X10 dimming commands to set intensity unless the value is 0.0 or 1.0, in 009 * which case it uses on/off commands only. 010 * <p> 011 * Since the dim/bright step of the hardware is unknown then the Light object is 012 * first created, the first time the intensity (not state) is set to other than 013 * 0.0 or 1.0, the output is run to it's maximum dim or bright step so that we 014 * know the count is right. 015 * <p> 016 * Keeps track of the controller's "dim count", and if not certain forces it to 017 * zero to be sure. 018 * 019 * @author Dave Duchamp Copyright (C) 2004 020 * @author Bob Jacobsen Copyright (C) 2006, 2007, 2008, 2009, 2010 021 * @author Ken Cameron Copyright (C) 2009 Converted to multiple connection 022 * @author kcameron Copyright (C) 2011 023 */ 024public class SpecificLight extends jmri.jmrix.powerline.SerialX10Light { 025 026 /** 027 * Create a Light object, with only system name. 028 * <p> 029 * 'systemName' was previously validated in SerialLightManager 030 * 031 * @param systemName systemName for light 032 * @param tc tc for connection 033 */ 034 public SpecificLight(String systemName, SerialTrafficController tc) { 035 super(systemName, tc); 036 } 037 038 /** 039 * Create a Light object, with both system and user names. 040 * <p> 041 * 'systemName' was previously validated in SerialLightManager 042 * 043 * @param systemName systemName for light 044 * @param tc tc for connection 045 * @param userName userName for light 046 */ 047 public SpecificLight(String systemName, SerialTrafficController tc, String userName) { 048 super(systemName, tc, userName); 049 } 050 051}