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}