001package jmri.jmrix.bachrus.speedmatcher.basic; 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 basic speed matcher 013 * 014 * @author Todd Wegter Copyright (C) 2024 015 */ 016public class BasicSpeedMatcherConfig extends SpeedMatcherConfig { 017 018 //<editor-fold defaultstate="collapsed" desc="Enums"> 019 public enum SpeedTable { 020 SIMPLE, ADVANCED, ESU 021 } 022 //</editor-fold> 023 024 //<editor-fold defaultstate="collapsed" desc="Instance Variables"> 025 public float targetStartSpeed; 026 public float targetTopSpeed; 027 //</editor-fold> 028 029 /** 030 * Create a config object for a Basic Speed Matcher 031 * 032 * @param address Address of locomotive to speed match 033 * @param targetStartSpeed Target speed at vStart in the given speedUnit 034 * @param targetTopSpeed Target speed at vHigh in the given speedUnit 035 * @param speedUnit Speed.Unit to speed match the locomotive in 036 * @param trimReverseSpeed Set to true to trim the locomotive's reverse 037 * speed, false otherwise 038 * @param warmUpForwardSeconds Number of seconds to warm up the locomotive 039 * before forward speed matching; set to 0 to 040 * skip the forward warm up 041 * @param warmUpReverseSeconds Number of seconds to warm up the locomotive 042 * before trimming revers speed; set to 0 to 043 * skip the reverse warm up 044 * @param powerManager PowerManager for turning on the DCC system 045 * power 046 * @param statusLabel JLabel status label in the SpeedoConsoleFrame 047 * @param startStopButton JButton for starting and stopping speed 048 * matching 049 */ 050 public BasicSpeedMatcherConfig( 051 DccLocoAddress address, 052 float targetStartSpeed, 053 float targetTopSpeed, 054 Speed.Unit speedUnit, 055 boolean trimReverseSpeed, 056 int warmUpForwardSeconds, 057 int warmUpReverseSeconds, 058 PowerManager powerManager, 059 JLabel statusLabel, 060 JButton startStopButton) { 061 super(address, speedUnit, trimReverseSpeed, warmUpForwardSeconds, warmUpReverseSeconds, powerManager, statusLabel, startStopButton); 062 063 this.targetStartSpeed = targetStartSpeed; 064 this.targetTopSpeed = targetTopSpeed; 065 } 066 067}