Class TmccConsistManager

All Implemented Interfaces:
ConsistManager

Consist Manager for use with the TmccConsist class for the consists it builds. Based on MqttConsistManager by
  • Field Details

  • Constructor Details

    • TmccConsistManager

      Constructor - call the constructor for the superclass, and initialize the consist reader thread, which retrieves consist information from the command station.
      Parameters:
      memo - the associated connection memo
  • Method Details

    • isAdvancedConsistPossible

      public boolean isAdvancedConsistPossible()
      Does this ConsistManager allow advanced consisting?
      Returns:
      true if this manager's protocols support DCC advanced consisting
    • isSingleFormConsistRequired

      public boolean isSingleFormConsistRequired()
      Does this ConsistManager require that all locomotives in a consist use the same protocol?
      Returns:
      true if this manager requires that all locomotives in a consist use the same protocol
    • setSendTopic

      public void setSendTopic(@Nonnull String sendTopicPrefix)
    • isCommandStationConsistPossible

      This implementation does support command station consists, so return true.
      Returns:
      true if command station consists are supported; false otherwise
    • csConsistNeedsSeperateAddress

      Does a CS consist require a separate consist address? CS consist addresses are assigned by the user, so return true.
      Returns:
      true is command station consist requires separate address; false otherwise
    • addConsist

      public Consist addConsist(LocoAddress address)
      Add a new TMCC Consist with the given address to consistTable/consistList.
      Specified by:
      addConsist in class AbstractConsistManager
      Parameters:
      address - consist address
      Returns:
      a consist at address; this will be the existing consist if a consist is already known to exist at address
    • getConsist

      public Consist getConsist(LocoAddress address)
      Read the new TMCC Consist address.
      Specified by:
      getConsist in interface ConsistManager
      Overrides:
      getConsist in class AbstractConsistManager
      Parameters:
      address - the consist address
      Returns:
      an existing or new consist
    • requestUpdateFromLayout

      public void requestUpdateFromLayout()
      Description copied from interface: ConsistManager
      Request an update from the layout, loading Consists from the command station.
      Specified by:
      requestUpdateFromLayout in interface ConsistManager
      Overrides:
      requestUpdateFromLayout in class AbstractConsistManager
    • shouldRequestUpdateFromLayout

      protected boolean shouldRequestUpdateFromLayout()
      Description copied from class: AbstractConsistManager
      Allow a request for consist updates from the layout. If not overridden by a concrete subclass, this method always returns true.
      Overrides:
      shouldRequestUpdateFromLayout in class AbstractConsistManager
      Returns:
      true if the request can be made, false if not
    • activateConsist

      public void activateConsist(LocoAddress address)
      Consist is activated on the controller for the specified LocoAddress This is used by TmccThrottle to either publish an existing consist or clear an old one upon opening the new throttle.
      Parameters:
      address - Consist address to be activated
    • deactivateConsist

      public void deactivateConsist(LocoAddress address)
      If a consist exists with the given address, the consist is deactivated on the controller, otherwise it does nothing. This is used by a throttle in case it is controlling a consist.
      Parameters:
      address - Consist address to be deactivated