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 class
SprogUpdateFrame.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) int
blockLen
protected SprogUpdateFrame.BootState
bootState
protected int
eraseAddress
(package private) SprogHexFile
hexFile
(package private) javax.swing.JFileChooser
hexFileChooser
(package private) static boolean
KNOWN
protected int
LONG_TIMEOUT
(package private) SprogMessage
msg
protected javax.swing.JButton
openFileChooserButton
protected javax.swing.JButton
programButton
protected SprogReply
reply
protected java.lang.String
replyString
protected javax.swing.JButton
setSprogModeButton
protected int
SHORT_TIMEOUT
(package private) javax.swing.JLabel
statusBar
protected SprogVersion
sv
protected SprogTrafficController
tc
(package private) javax.swing.Timer
timer
(package private) static boolean
UNKNOWN
protected int
V_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 void
dispose()
Stops Timer.protected abstract void
doneWriting()
protected void
frameCheck()
protected void
init()
void
initComponents()
By default, Swing components should be created an installed in this method, rather than in the ctor itself.void
notifyMessage(SprogMessage m)
void
notifyReply(SprogReply m)
State machine to catch replies that calls functions to handle each state.void
openFileChooserButtonActionPerformed(java.awt.event.ActionEvent e)
void
programButtonActionPerformed(java.awt.event.ActionEvent e)
protected abstract void
requestBoot()
protected void
restartTimer(int delay)
Internal routine to handle timer starts and restarts.protected abstract void
sendWrite()
void
setSprogModeButtonActionPerformed(java.awt.event.ActionEvent e)
protected void
startLongTimer()
Internal routine to restart timer with a long delay.protected void
startShortTimer()
Internal routine to start timer to protect the mode-change.protected void
startVShortTimer()
Internal routine to start very short timer for null writes.protected void
stateBootVerReqSent()
protected void
stateDefault()
protected void
stateEofSent()
protected void
stateEraseSent()
protected void
stateIdle()
protected void
stateResetSent()
protected void
stateSetBootSent()
protected void
stateSprogModeSent()
protected void
stateV4Reset()
protected void
stateWriteSent()
(package private) void
stopTimer()
Internal routine to stop timer, as all is well.protected void
timeout()
Internal routine to handle a timeout.protected java.lang.String
title()
-
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, 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:
dispose
in interfaceWindowInterface
- Overrides:
dispose
in classJmriJFrame
-
initComponents
public void initComponents()
By default, Swing components should be created an installed in this method, rather than in the ctor itself.- Overrides:
initComponents
in classJmriJFrame
-
notifyMessage
public void notifyMessage(SprogMessage m)
- Specified by:
notifyMessage
in 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:
notifyReply
in 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
-
-