Class EcosProgrammer
- java.lang.Object
- 
- jmri.beans.PropertyChangeSupport
- 
- jmri.jmrix.AbstractProgrammer
- 
- jmri.jmrix.ecos.EcosProgrammer
 
 
 
- 
- All Implemented Interfaces:
- java.util.EventListener,- PropertyChangeFirer,- PropertyChangeProvider,- Disposable,- AbstractMRListener,- EcosListener,- Programmer
 - Direct Known Subclasses:
- EcosOpsModeProgrammer
 
 public class EcosProgrammer extends AbstractProgrammer implements EcosListener Implements the jmri.Programmer interface via commands for the ECoS programmer. This provides a service mode programmer.
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from interface jmri.ProgrammerProgrammer.Configurator, Programmer.WriteConfirmMode
 
- 
 - 
Field SummaryFields Modifier and Type Field Description (package private) int_cv(package private) boolean_progRead(package private) int_val(package private) static intCOMMANDSENT(package private) intecosObject(package private) static intMODESENT(package private) static intNOTPROGRAMMING(package private) intprogState(package private) java.lang.StringreadCommand(package private) EcosTrafficControllertc(package private) java.lang.StringwriteCommand- 
Fields inherited from class jmri.jmrix.AbstractProgrammerLONG_TIMEOUT, SHORT_TIMEOUT
 - 
Fields inherited from class jmri.beans.PropertyChangeSupportpropertyChangeSupport
 
- 
 - 
Constructor SummaryConstructors Constructor Description EcosProgrammer(EcosTrafficController etc)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidconfirmCV(java.lang.String CV, int val, ProgListener p)Confirm the value of a CV using the specified programming mode.java.util.List<ProgrammingMode>getSupportedModes()Get the list ofProgrammingModesupported by this Programmer.voidmessage(EcosMessage m)protected voidnotifyProgListenerEnd(int value, int status)Internal method to notify of the final result.voidreadCV(java.lang.String CVname, ProgListener p)Perform a CV read in the system-specific manner, and using the specified programming mode.voidreply(EcosReply reply)protected voidtimeout()Internal routine to handle a timeout, should be synchronized!protected voiduseProgrammer(ProgListener p)voidwriteCV(java.lang.String CVname, int val, ProgListener p)Perform a CV write in the system-specific manner, and using the specified programming mode.- 
Methods inherited from class jmri.jmrix.AbstractProgrammerdecodeErrorCode, getBestMode, getCanRead, getCanRead, getCanWrite, getCanWrite, getMode, getWriteConfirmMode, registerFromCV, restartTimer, setMode, startLongTimer, startShortTimer, stopTimer
 - 
Methods inherited from class jmri.beans.PropertyChangeSupportaddPropertyChangeListener, addPropertyChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface jmri.ProgrammeraddPropertyChangeListener, dispose, getConfigurator, notifyProgListenerEnd, readCV, removePropertyChangeListener
 
- 
 
- 
- 
- 
Field Detail- 
ecosObjectint ecosObject 
 - 
readCommandjava.lang.String readCommand 
 - 
writeCommandjava.lang.String writeCommand 
 - 
progStateint progState 
 - 
NOTPROGRAMMINGstatic final int NOTPROGRAMMING - See Also:
- Constant Field Values
 
 - 
MODESENTstatic final int MODESENT - See Also:
- Constant Field Values
 
 - 
COMMANDSENTstatic final int COMMANDSENT - See Also:
- Constant Field Values
 
 - 
_progReadboolean _progRead 
 - 
_valint _val 
 - 
_cvint _cv 
 
- 
 - 
Constructor Detail- 
EcosProgrammerpublic EcosProgrammer(EcosTrafficController etc) 
 
- 
 - 
Method Detail- 
getSupportedModes@Nonnull public java.util.List<ProgrammingMode> getSupportedModes() Get the list ofProgrammingModesupported by this Programmer. If the order is significant, earlier modes are better.- Specified by:
- getSupportedModesin interface- Programmer
- Specified by:
- getSupportedModesin class- AbstractProgrammer
- Returns:
- list of programming modes implemented for ECoS
 
 - 
writeCVpublic 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:
- writeCVin interface- Programmer
- Specified by:
- writeCVin class- AbstractProgrammer
- 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
 
 - 
confirmCVpublic 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:
- confirmCVin interface- Programmer
- Specified by:
- confirmCVin class- AbstractProgrammer
- 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
 
 - 
readCVpublic 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:
- readCVin interface- Programmer
- Specified by:
- readCVin class- AbstractProgrammer
- Parameters:
- CVname- the CV to read
- p- the listener that will be notified of the read
- Throws:
- ProgrammerException- if unable to communicate
 
 - 
useProgrammerprotected void useProgrammer(ProgListener p) throws ProgrammerException - Throws:
- ProgrammerException
 
 - 
messagepublic void message(EcosMessage m) - Specified by:
- messagein interface- EcosListener
 
 - 
replypublic void reply(EcosReply reply) - Specified by:
- replyin interface- EcosListener
 
 - 
timeoutprotected void timeout() Internal routine to handle a timeout, should be synchronized! Internal routine to handle a timeout.- Specified by:
- timeoutin class- AbstractProgrammer
 
 - 
notifyProgListenerEndprotected void notifyProgListenerEnd(int value, int status) Internal method to notify of the final result.- Parameters:
- value- Value transferred, particularly if a read operation
- status- Status of completed operation
 
 
- 
 
-