Class EasyDccOpsModeProgrammer

    • 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) Forward a write request to an ops-mode write operation.

        Specified by:
        writeCV in interface Programmer
        Overrides:
        writeCV in class EasyDccProgrammer
        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
      • 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 EasyDccProgrammer
        Parameters:
        CVname - the CV to read
        p - 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 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 EasyDccProgrammer
        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
      • getCanRead

        public boolean getCanRead()
        Checks the general read capability, regardless of mode Basic implementation. Override this to turn reading on and off globally. Can this ops-mode programmer read back values? For now, no, but maybe later.
        Specified by:
        getCanRead in interface Programmer
        Overrides:
        getCanRead in class AbstractProgrammer
        Returns:
        always false for now
      • cleanup

        void cleanup()
        Internal method to send a cleanup message (if needed) on timeout.

        Here, it sends a request to exit from programming mode. But subclasses, e.g. ops mode, may redefine that. Ops-mode programming doesn't put the command station in programming mode, so we don't have to send an exit-programming command at end. Therefore, this routine does nothing except to replace the parent routine that does something.

        Overrides:
        cleanup in class EasyDccProgrammer