Class EliteXNetProgrammer

  • All Implemented Interfaces:
    java.util.EventListener, PropertyChangeFirer, PropertyChangeProvider, Disposable, AbstractMRListener, XNetListener, Programmer

    public class EliteXNetProgrammer
    extends XNetProgrammer
    Programmer support for Hornby Elite implementationn of XpressNet.

    The read operation state sequence is:

    • Send Register Mode / Paged mode /Direct Mode read request
    • Wait for Broadcast Service Mode Entry message -- not happening on elite
    • Send Request for Service Mode Results request
    • Wait for results reply, interpret
    • Send Resume Operations request -- The Elite does not seem to require this step.
    • Wait for Normal Operations Resumed broadcast -- The Elite does not seem to require this step.
    • Method Detail

      • writeCV

        public void writeCV​(java.lang.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​(java.lang.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​(java.lang.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.