Class LenzCommandStation

java.lang.Object
jmri.jmrix.lenz.LenzCommandStation
All Implemented Interfaces:
CommandStation
Direct Known Subclasses:
HornbyEliteCommandStation, RocoCommandStation

public class LenzCommandStation extends Object implements CommandStation
Defines the standard/common routines used in multiple classes related to the a Lenz Command Station, on an XpressNet network.
  • Field Details

  • Constructor Details

  • Method Details

    • getCommandStationType

      public int getCommandStationType()
      Return the CS Type.
      Returns:
      CS type.
    • setCommandStationType

      public void setCommandStationType(int t)
      Set the CS Type.
      Parameters:
      t - CS type.
    • setCommandStationType

      Set the CS Type based on an XpressNet Message.
      Parameters:
      l - XNetReply containing the CS type.
    • getCommandStationSoftwareVersion

      Get the CS Software Version.
      Returns:
      software version.
    • getCommandStationSoftwareVersionBCD

      Get the CS Software Version in BCD (for use in comparisons).
      Returns:
      software version.
    • setCommandStationSoftwareVersion

      public void setCommandStationSoftwareVersion(float v)
      Set the CS Software Version.
      Parameters:
      v - software version.
    • setCommandStationSoftwareVersion

      Set the CS Software Version based on an XpressNet Message.
      Parameters:
      l - reply containing CS version.
    • getVersionString

      Provide the version string returned during the initial check.
      Returns:
      human readable version string.
    • isOpsModePossible

      public boolean isOpsModePossible()
      XpressNet command station does provide Ops Mode.
      Returns:
      true if CS type 1 or 2, else false.
    • getDCCAddressLow

      public static int getDCCAddressLow(int address)
      Get the Lower byte of a locomotive address from the decimal locomotive address.
      Parameters:
      address - loco address.
      Returns:
      low address byte including DCC offset.
    • getDCCAddressHigh

      public static int getDCCAddressHigh(int address)
      Get the Upper byte of a locomotive address from the decimal locomotive address.
      Parameters:
      address - loco address.
      Returns:
      upper byte after DCC offset.
    • calcLocoAddress

      public static int calcLocoAddress(int AH, int AL)
      We need to calculate the locomotive address when doing the translations back to text. XpressNet Messages will have these as two elements, which need to get translated back into a single address by reversing the formulas used to calculate them in the first place.
      Parameters:
      AH - the high order byte of the address
      AL - the low order byte of the address
      Returns:
      the address as an integer.
    • sendPacket

      public boolean sendPacket(byte[] packet, int repeats)
      Send a specific packet to the rails.
      Specified by:
      sendPacket in interface CommandStation
      Parameters:
      packet - Byte array representing the packet, including the error-correction byte. Must not be null.
      repeats - Number of times to repeat the transmission.
      Returns:
      true if the operation succeeds, false otherwise.
    • setTrafficController

    • setSystemConnectionMemo

    • getUserName

      public String getUserName()
      Specified by:
      getUserName in interface CommandStation
    • getSystemPrefix

      Specified by:
      getSystemPrefix in interface CommandStation