Class EasyDccConsist

java.lang.Object
jmri.implementation.DccConsist
jmri.jmrix.easydcc.EasyDccConsist
All Implemented Interfaces:
EventListener, Consist, ProgListener

public class EasyDccConsist extends DccConsist
This is the Consist definition for a consist on an EasyDCC system. it uses the EasyDcc specific commands to build a consist.
  • Constructor Details

  • Method Details

    • setConsistType

      public void setConsistType(int consist_type)
      Description copied from interface: Consist
      Set the Consist Type.
      Specified by:
      setConsistType in interface Consist
      Overrides:
      setConsistType in class DccConsist
      Parameters:
      consist_type - the consist type
    • isAddressAllowed

      public boolean isAddressAllowed(DccLocoAddress address)
      Is this address allowed? On EasyDCC systems, all addresses but 0 can be used in a consist (either an Advanced Consist or a Standard Consist). Is this address allowed? Since address 00 is an analog locomotive, we can't program CV19 to include it in a consist, but all other addresses are ok.
      Specified by:
      isAddressAllowed in interface Consist
      Overrides:
      isAddressAllowed in class DccConsist
      Parameters:
      address - the address
      Returns:
      true if allowed; false otherwise
    • sizeLimit

      public int sizeLimit()
      Is there a size limit for this consist?
      Specified by:
      sizeLimit in interface Consist
      Overrides:
      sizeLimit in class DccConsist
      Returns:
      8 for EasyDcc Standard Consist, -1 for Decoder Assisted Consists (no limit), 0 for any other consist type -1 if no limit; 0 if the Consist Type is not supported; or the total number of usable spaces if the consist has a limit (do not subtract used spaces).
    • contains

      public boolean contains(DccLocoAddress address)
      Does the consist contain the specified address? Does the consist contain the specified locomotive address?
      Specified by:
      contains in interface Consist
      Overrides:
      contains in class DccConsist
      Parameters:
      address - the address to check
      Returns:
      true if in consist; false otherwise
    • getLocoDirection

      public boolean getLocoDirection(DccLocoAddress address)
      Get the relative direction setting for a specific locomotive in the consist. Get the relative direction setting for a specific locomotive in the consist.
      Specified by:
      getLocoDirection in interface Consist
      Overrides:
      getLocoDirection in class DccConsist
      Parameters:
      address - the address to check
      Returns:
      true if locomotive is in consist in its normal direction of travel; false otherwise
    • add

      public void add(DccLocoAddress locoAddress, boolean directionNormal)
      Add a Locomotive to a Consist.
      Specified by:
      add in interface Consist
      Overrides:
      add in class DccConsist
      Parameters:
      locoAddress - is the Locomotive address to add to the locomotive
      directionNormal - is True if the locomotive is traveling the same direction as the consist, or false otherwise.
    • restore

      public void restore(DccLocoAddress locoAddress, boolean directionNormal)
      Restore a Locomotive to an Advanced Consist, but don't write to the command station. This is used for restoring the consist from a file or adding a consist read from the command station.
      Specified by:
      restore in interface Consist
      Overrides:
      restore in class DccConsist
      Parameters:
      locoAddress - is the Locomotive address to add to the locomotive
      directionNormal - is True if the locomotive is traveling the same direction as the consist, or false otherwise.
    • remove

      public void remove(DccLocoAddress locoAddress)
      Remove a Locomotive from this Consist.
      Specified by:
      remove in interface Consist
      Overrides:
      remove in class DccConsist
      Parameters:
      locoAddress - is the Locomotive address to add to the locomotive
    • addToAdvancedConsist

      protected void addToAdvancedConsist(DccLocoAddress locoAddress, boolean directionNormal)
      Add a Locomotive to an Advanced Consist.
      Overrides:
      addToAdvancedConsist in class DccConsist
      Parameters:
      locoAddress - is the Locomotive address to add to the locomotive
      directionNormal - is True if the locomotive is traveling the same direction as the consist, or false otherwise.
    • removeFromAdvancedConsist

      protected void removeFromAdvancedConsist(DccLocoAddress locoAddress)
      Remove a Locomotive from an Advanced Consist
      Overrides:
      removeFromAdvancedConsist in class DccConsist
      Parameters:
      locoAddress - is the Locomotive address to add to the locomotive
    • removeFromCSConsist

      public void removeFromCSConsist(DccLocoAddress LocoAddress)
      Remove a Locomotive from an EasyDCC Standard Consist.
      Parameters:
      LocoAddress - is the Locomotive address to add to the locomotive