Package jmri.jmrix.sprog.update
Class SprogUpdateFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- jmri.util.JmriJFrame
-
- jmri.jmrix.sprog.update.SprogUpdateFrame
-
- All Implemented Interfaces:
java.awt.event.ComponentListener,java.awt.event.WindowListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,javax.swing.RootPaneContainer,javax.swing.WindowConstants,BeanInterface,SprogListener,ModifiedFlag,WindowInterface
- Direct Known Subclasses:
SprogIIUpdateFrame
public abstract class SprogUpdateFrame extends JmriJFrame implements SprogListener
Frame for SPROG firmware update utility. Refactored- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classSprogUpdateFrame.BootState-
Nested classes/interfaces inherited from class jmri.util.JmriJFrame
JmriJFrame.ScreenDimensions
-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from interface jmri.util.swing.WindowInterface
WindowInterface.Hint
-
-
Field Summary
Fields Modifier and Type Field Description protected SprogSystemConnectionMemo_memo(package private) intblockLenprotected SprogUpdateFrame.BootStatebootStateprotected interaseAddress(package private) SprogHexFilehexFile(package private) javax.swing.JFileChooserhexFileChooser(package private) static booleanKNOWNprotected intLONG_TIMEOUT(package private) SprogMessagemsgprotected javax.swing.JButtonopenFileChooserButtonprotected javax.swing.JButtonprogramButtonprotected SprogReplyreplyprotected java.lang.StringreplyStringprotected javax.swing.JButtonsetSprogModeButtonprotected intSHORT_TIMEOUT(package private) javax.swing.JLabelstatusBarprotected SprogVersionsvprotected SprogTrafficControllertc(package private) javax.swing.Timertimer(package private) static booleanUNKNOWNprotected intV_SHORT_TIMEOUT-
Fields inherited from class jmri.util.JmriJFrame
allowInFrameServlet, properties, reuseFrameSavedPosition, reuseFrameSavedSized, windowInterface
-
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description SprogUpdateFrame(SprogSystemConnectionMemo memo)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voiddispose()Stops Timer.protected abstract voiddoneWriting()protected voidframeCheck()protected voidinit()voidinitComponents()By default, Swing components should be created an installed in this method, rather than in the ctor itself.voidnotifyMessage(SprogMessage m)voidnotifyReply(SprogReply m)State machine to catch replies that calls functions to handle each state.voidopenFileChooserButtonActionPerformed(java.awt.event.ActionEvent e)voidprogramButtonActionPerformed(java.awt.event.ActionEvent e)protected abstract voidrequestBoot()protected voidrestartTimer(int delay)Internal routine to handle timer starts and restarts.protected abstract voidsendWrite()voidsetSprogModeButtonActionPerformed(java.awt.event.ActionEvent e)protected voidstartLongTimer()Internal routine to restart timer with a long delay.protected voidstartShortTimer()Internal routine to start timer to protect the mode-change.protected voidstartVShortTimer()Internal routine to start very short timer for null writes.protected voidstateBootVerReqSent()protected voidstateDefault()protected voidstateEofSent()protected voidstateEraseSent()protected voidstateIdle()protected voidstateResetSent()protected voidstateSetBootSent()protected voidstateSprogModeSent()protected voidstateV4Reset()protected voidstateWriteSent()(package private) voidstopTimer()Internal routine to stop timer, as all is well.protected voidtimeout()Internal routine to handle a timeout.protected java.lang.Stringtitle()-
Methods inherited from class jmri.util.JmriJFrame
addHelpMenu, componentHidden, componentMoved, componentResized, componentShown, generateWindowRef, getAllowInFrameServlet, getEscapeKeyAction, getEscapeKeyClosesWindow, getFrame, getFrame, getFrameList, getFrameList, getIndexedProperty, getMaximumSize, getModifiedFlag, getPreferredSize, getProperty, getPropertyNames, getSavePosition, getSaveSize, getScreenDimensions, getWindowFrameRef, getWindowInterface, handleModified, hasIndexedProperty, hasProperty, makePrivateWindow, makePublicWindow, markWindowModified, multipleInstances, pack, setAllowInFrameServlet, setEscapeKeyAction, setEscapeKeyClosesWindow, setFrameLocation, setIndexedProperty, setModifiedFlag, setProperty, setSavePosition, setSaveSize, setShutDownTask, setWindowInterface, show, show, storeValues, undecorate, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
-
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMinimumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
programButton
protected javax.swing.JButton programButton
-
openFileChooserButton
protected javax.swing.JButton openFileChooserButton
-
setSprogModeButton
protected javax.swing.JButton setSprogModeButton
-
sv
protected SprogVersion sv
-
hexFileChooser
final javax.swing.JFileChooser hexFileChooser
-
statusBar
javax.swing.JLabel statusBar
-
hexFile
transient SprogHexFile hexFile
-
msg
SprogMessage msg
-
bootState
protected SprogUpdateFrame.BootState bootState
-
eraseAddress
protected int eraseAddress
-
UNKNOWN
static final boolean UNKNOWN
- See Also:
- Constant Field Values
-
KNOWN
static final boolean KNOWN
- See Also:
- Constant Field Values
-
reply
protected SprogReply reply
-
replyString
protected java.lang.String replyString
-
blockLen
int blockLen
-
tc
protected SprogTrafficController tc
-
_memo
protected SprogSystemConnectionMemo _memo
-
V_SHORT_TIMEOUT
protected int V_SHORT_TIMEOUT
-
SHORT_TIMEOUT
protected int SHORT_TIMEOUT
-
LONG_TIMEOUT
protected int LONG_TIMEOUT
-
timer
javax.swing.Timer timer
-
-
Constructor Detail
-
SprogUpdateFrame
public SprogUpdateFrame(SprogSystemConnectionMemo memo)
-
-
Method Detail
-
title
protected java.lang.String title()
-
init
protected void init()
-
dispose
public void dispose()
Stops Timer. When window is finally destroyed, remove it from the list of windows.Subclasses that over-ride this method must invoke this implementation with super.dispose() right before returning.
- Specified by:
disposein interfaceWindowInterface- Overrides:
disposein classJmriJFrame
-
initComponents
public void initComponents()
By default, Swing components should be created an installed in this method, rather than in the ctor itself.- Overrides:
initComponentsin classJmriJFrame
-
notifyMessage
public void notifyMessage(SprogMessage m)
- Specified by:
notifyMessagein interfaceSprogListener
-
notifyReply
public void notifyReply(SprogReply m)
State machine to catch replies that calls functions to handle each state.These functions can be overridden for each SPROG type.
- Specified by:
notifyReplyin interfaceSprogListener- Parameters:
m- the SprogReply received from the SPROG
-
frameCheck
protected void frameCheck()
-
stateIdle
protected void stateIdle()
-
stateSetBootSent
protected void stateSetBootSent()
-
stateBootVerReqSent
protected void stateBootVerReqSent()
-
stateWriteSent
protected void stateWriteSent()
-
stateEraseSent
protected void stateEraseSent()
-
stateSprogModeSent
protected void stateSprogModeSent()
-
stateResetSent
protected void stateResetSent()
-
stateEofSent
protected void stateEofSent()
-
stateV4Reset
protected void stateV4Reset()
-
stateDefault
protected void stateDefault()
-
openFileChooserButtonActionPerformed
public void openFileChooserButtonActionPerformed(java.awt.event.ActionEvent e)
-
programButtonActionPerformed
public void programButtonActionPerformed(java.awt.event.ActionEvent e)
-
setSprogModeButtonActionPerformed
public void setSprogModeButtonActionPerformed(java.awt.event.ActionEvent e)
-
requestBoot
protected abstract void requestBoot()
-
sendWrite
protected abstract void sendWrite()
-
doneWriting
protected abstract void doneWriting()
-
timeout
protected void timeout()
Internal routine to handle a timeout.
-
startVShortTimer
protected void startVShortTimer()
Internal routine to start very short timer for null writes.
-
startShortTimer
protected void startShortTimer()
Internal routine to start timer to protect the mode-change.
-
startLongTimer
protected void startLongTimer()
Internal routine to restart timer with a long delay.
-
stopTimer
void stopTimer()
Internal routine to stop timer, as all is well.
-
restartTimer
protected void restartTimer(int delay)
Internal routine to handle timer starts and restarts.- Parameters:
delay- milliseconds until action
-
-