001package jmri.jmrix.bachrus.speedmatcher.speedStepScale; 002 003import javax.swing.JButton; 004import javax.swing.JLabel; 005 006import jmri.DccLocoAddress; 007import jmri.PowerManager; 008import jmri.jmrix.bachrus.Speed; 009import jmri.jmrix.bachrus.speedmatcher.SpeedMatcherConfig; 010 011/** 012 * Configuration data for a speed step scale speed matcher 013 * 014 * @author Todd Wegter Copyright (C) 2024 015 */ 016public class SpeedStepScaleSpeedMatcherConfig extends SpeedMatcherConfig { 017 018 //<editor-fold defaultstate="collapsed" desc="Enums"> 019 public enum SpeedTable { 020 ADVANCED, ESU 021 } 022 //</editor-fold> 023 024 //<editor-fold defaultstate="collapsed" desc="Instance Variables"> 025 public float targetMaxSpeed; 026 public JLabel actualMaxSpeedField; 027 //</editor-fold> 028 029 /** 030 * Create a config object for a Speed Step Scale Speed Matcher 031 * 032 * @param address Address of locomotive to speed match 033 * @param targetMaxSpeed Target maximum speed in the given speedUnit 034 * @param speedUnit Speed.Unit to speed match the locomotive in 035 * @param trimReverseSpeed Set to true to trim the locomotive's reverse 036 * speed, false otherwise 037 * @param warmUpForwardSeconds Number of seconds to warm up the locomotive 038 * before forward speed matching; set to 0 to 039 * skip the forward warm up 040 * @param warmUpReverseSeconds Number of seconds to warm up the locomotive 041 * before trimming revers speed; set to 0 to 042 * skip the reverse warm up 043 * @param powerManager PowerManager for turning on the DCC system 044 * power 045 * @param statusLabel JLabel status label in the SpeedoConsoleFrame 046 * @param actualMaxSpeedField JLabel for indicating the locomotive's actual 047 * max speed 048 * @param startStopButton JButton for starting and stopping speed 049 * matching 050 */ 051 public SpeedStepScaleSpeedMatcherConfig( 052 DccLocoAddress address, 053 float targetMaxSpeed, 054 Speed.Unit speedUnit, 055 boolean trimReverseSpeed, 056 int warmUpForwardSeconds, 057 int warmUpReverseSeconds, 058 PowerManager powerManager, 059 JLabel statusLabel, 060 JLabel actualMaxSpeedField, 061 JButton startStopButton) { 062 super(address, speedUnit, trimReverseSpeed, warmUpForwardSeconds, warmUpReverseSeconds, powerManager, statusLabel, startStopButton); 063 064 this.targetMaxSpeed = targetMaxSpeed; 065 this.actualMaxSpeedField = actualMaxSpeedField; 066 } 067 068}