Class LI100XNetProgrammer

All Implemented Interfaces:
EventListener, PropertyChangeFirer, PropertyChangeProvider, Disposable, AbstractMRListener, XNetListener, Programmer

public class LI100XNetProgrammer extends XNetProgrammer
Programmer support for Lenz XpressNet.

The read operation state sequence is:

  • Send Register Mode / Paged mode /Direct Mode read request
  • Wait for Broadcast Service Mode Entry message
  • Send Request for Service Mode Results request
  • Wait for results reply, interpret
  • Send Resume Operations request
  • Wait for Normal Operations Resumed broadcast
  • Constructor Details

  • Method Details

    • writeCV

      public void writeCV(String CVname, int val, ProgListener p) throws ProgrammerException
      Perform a CV write in the system-specific manner, and using the specified programming mode.

      Handles a general address space through a String address. Each programmer defines the acceptable formats.

      Note that this returns before the write is complete; you have to provide a ProgListener to hear about completion. For simplicity, expect the return to be on the GUI thread.

      Exceptions will only be thrown at the start, not during the actual programming sequence. A typical exception would be due to an invalid mode (though that should be prevented earlier)

      Specified by:
      writeCV in interface Programmer
      Overrides:
      writeCV in class XNetProgrammer
      Parameters:
      CVname - the CV to write
      val - the value to write
      p - the listener that will be notified of the write
      Throws:
      ProgrammerException - if unable to communicate
    • confirmCV

      public void confirmCV(String CV, int val, ProgListener p) throws ProgrammerException
      Confirm the value of a CV using the specified programming mode. On some systems, this is faster than a read.

      Handles a general address space through a String address. Each programmer defines the acceptable formats.

      Note that this returns before the write is complete; you have to provide a ProgListener to hear about completion. For simplicity, expect the return to be on the GUI thread.

      Exceptions will only be thrown at the start, not during the actual programming sequence. A typical exception would be due to an invalid mode (though that should be prevented earlier)

      Specified by:
      confirmCV in interface Programmer
      Overrides:
      confirmCV in class XNetProgrammer
      Parameters:
      CV - the CV to confirm
      val - the value to confirm
      p - the listener that will be notified of the confirmation
      Throws:
      ProgrammerException - if unable to communicate
    • readCV

      public void readCV(String CVname, ProgListener p) throws ProgrammerException
      Perform a CV read in the system-specific manner, and using the specified programming mode.

      Handles a general address space through a String address. Each programmer defines the acceptable formats.

      Note that this returns before the write is complete; you have to provide a ProgListener to hear about completion. For simplicity, expect the return to be on the GUI thread.

      Exceptions will only be thrown at the start, not during the actual programming sequence. A typical exception would be due to an invalid mode (though that should be prevented earlier)

      Specified by:
      readCV in interface Programmer
      Overrides:
      readCV in class XNetProgrammer
      Parameters:
      CVname - the CV to read
      p - the listener that will be notified of the read
      Throws:
      ProgrammerException - if unable to communicate
    • message

      public void message(XNetReply m)
      Member function that will be invoked by an XNetInterface implementation to forward an XNet message from the layout.
      Specified by:
      message in interface XNetListener
      Overrides:
      message in class XNetProgrammer
      Parameters:
      m - The received XNet message. Note that this same object may be presented to multiple users. It should not be modified here.
    • message

      public void message(XNetMessage l)
      Member function that will be invoked by an XNetInterface implementation to forward an XNet message sent to the layout. Normally, this function will do nothing.
      Specified by:
      message in interface XNetListener
      Overrides:
      message in class XNetProgrammer
      Parameters:
      l - The received XNet message. Note that this same object may be presented to multiple users. It should not be modified here.
    • timeout

      protected void timeout()
      Internal routine to handle a timeout, should be synchronized!
      Overrides:
      timeout in class XNetProgrammer