Class LI100XNetProgrammer

All Implemented Interfaces:
EventListener, PropertyChangeFirer, PropertyChangeProvider, 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