Class LnOpsModeProgrammer

    • Method Detail

      • writeCV

        public void writeCV​(java.lang.String CV,
                            int val,
                            ProgListener pL)
                     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
        Parameters:
        CV - the CV to write
        val - the value to write
        pL - the listener that will be notified of the write
        Throws:
        ProgrammerException - if unable to communicate
      • readCV

        public void readCV​(java.lang.String CV,
                           ProgListener pL)
                    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
        Parameters:
        CV - the CV to read, could be a composite string that is split in this method te pass eg. the module type
        pL - the listener that will be notified of the read
        Throws:
        ProgrammerException - if unable to communicate
      • confirmCV

        public void confirmCV​(java.lang.String CV,
                              int val,
                              ProgListener pL)
                       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
        Parameters:
        CV - the CV to confirm
        val - the value to confirm
        pL - the listener that will be notified of the confirmation
        Throws:
        ProgrammerException - if unable to communicate
      • message

        public void message​(LocoNetMessage m)
        Member function that will be invoked by a LocoNetInterface implementation to forward a LocoNet message from the layout.
        Specified by:
        message in interface LocoNetListener
        Parameters:
        m - The received LocoNet message. Note that this same object may be presented to multiple users. It should not be modified here.
      • decodeCvNum

        int decodeCvNum​(java.lang.String CV)
      • getMode

        public final ProgrammingMode getMode()
        Get the current programming mode
        Specified by:
        getMode in interface Programmer
        Returns:
        the current mode or null if none is defined and no default mode is defined
      • getWriteConfirmMode

        @Nonnull
        public Programmer.WriteConfirmMode getWriteConfirmMode​(java.lang.String addr)
        Learn about whether the programmer does any kind of verification of write operations Confirmation mode by programming mode; not that this doesn't yet know whether BDL168 hardware is present to allow DecoderReply to function; that should be a preference eventually. See also DCS240...
        Specified by:
        getWriteConfirmMode in interface Programmer
        Parameters:
        addr - CV address ignored, as there's no variance with this in LocoNet
        Returns:
        depends on programming mode
      • getCanRead

        public boolean getCanRead()
        Checks the general read capability, regardless of mode Can this ops-mode programmer read back values? Yes, if transponding hardware is present and regular ops mode, or if in any other mode.
        Specified by:
        getCanRead in interface Programmer
        Returns:
        always true
      • getCanRead

        public boolean getCanRead​(java.lang.String addr)
        Checks the general read capability, regardless of mode, for a specific address
        Specified by:
        getCanRead in interface Programmer
        Parameters:
        addr - the address to read
        Returns:
        true if the address can be read; false otherwise
      • getCanWrite

        public boolean getCanWrite()
        Checks the general write capability, regardless of mode
        Specified by:
        getCanWrite in interface Programmer
        Returns:
        true if the programmer is capable of writing; false otherwise
      • getCanWrite

        public boolean getCanWrite​(java.lang.String addr)
        Checks the general write capability, regardless of mode, for a specific address
        Specified by:
        getCanWrite in interface Programmer
        Parameters:
        addr - the address to write to
        Returns:
        true if the address can be written to; false otherwise