001package jmri;
002
003/**
004 * Provide DCC-specific extensions to Throttle interface.
005 *
006 * <hr>
007 * This file is part of JMRI.
008 * <p>
009 * JMRI is free software; you can redistribute it and/or modify it under the
010 * terms of version 2 of the GNU General Public License as published by the Free
011 * Software Foundation. See the "COPYING" file for a copy of this license.
012 * <p>
013 * JMRI is distributed in the hope that it will be useful, but WITHOUT ANY
014 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
015 * A PARTICULAR PURPOSE. See the GNU General Public License for more details.
016 *
017 * @author Bob Jacobsen Copyright (C) 2001
018 * @see Throttle
019 */
020public interface DccThrottle extends Throttle {
021
022    // to handle quantized speed. Note this can change! Valued returned is
023    // always positive.
024    float getSpeedIncrement();
025
026    /**
027     * Set the speed step value. Default should be 128 speed step mode in most
028     * cases
029     *
030     * @param Mode the current speed step mode
031     */
032    void setSpeedStepMode(SpeedStepMode Mode);
033
034    /**
035     * Get the current speed step value.
036     *
037     * @return the current speed step mode
038     */
039    SpeedStepMode getSpeedStepMode();
040
041    // information on consisting  (how do we set consisting?)
042    // register for notification
043}