Package jmri.jmrix.pricom.downloader
Class LoaderPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.jmrix.pricom.downloader.LoaderPane
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class LoaderPane extends javax.swing.JPanel
Pane for downloading software updates to PRICOM products- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
LoaderPane.LocalReader
Internal class to handle the separate character-receive thread-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description (package private) SerialPort
activeSerialPort
(package private) javax.swing.JProgressBar
bar
(package private) javax.swing.JFileChooser
chooser
(package private) javax.swing.JTextArea
comment
(package private) javax.swing.JButton
fileButton
(package private) javax.swing.JLabel
inputFileName
(package private) javax.swing.JButton
loadButton
(package private) javax.swing.JButton
openPortButton
(package private) java.io.OutputStream
ostream
(package private) PdiFile
pdiFile
(package private) javax.swing.JComboBox<java.lang.String>
portBox
(package private) java.lang.Thread
readerThread
(package private) java.io.DataInputStream
serialStream
(package private) javax.swing.JLabel
status
(package private) javax.swing.JTextArea
traffic
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description LoaderPane()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCommGUI()
(package private) byte[]
bootMessage()
Return a properly formatted boot message, complete with CRC(package private) void
CRC_block(byte[] buffer)
Insert the CRC for a block of characters in a buffer(package private) long
CRC_char(long crcin, byte ch)
void
dispose()
(package private) void
doLoad()
(package private) int
getDataSize(byte[] buffer)
Get output data length from 1st messagejava.util.Vector<java.lang.String>
getPortNames()
(package private) void
handlePortBusy(PortInUseException p, java.lang.String port)
(package private) boolean
isSendNext(byte[] buffer)
Check to see if this is a request for the next block(package private) boolean
isUploadReady(byte[] buffer)
Check to see if message starts transmissionjava.lang.String
openPort(java.lang.String portName, java.lang.String appName)
(package private) void
openPortButtonActionPerformed(java.awt.event.ActionEvent e)
Open button has been pushed, create the actual display connection(package private) void
selectInputFile()
(package private) void
sendBytes(byte[] bytes)
(package private) void
stopThread()
(package private) long
swap(long val)
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
activeSerialPort
SerialPort activeSerialPort
-
readerThread
java.lang.Thread readerThread
-
serialStream
java.io.DataInputStream serialStream
-
ostream
java.io.OutputStream ostream
-
portBox
final javax.swing.JComboBox<java.lang.String> portBox
-
openPortButton
final javax.swing.JButton openPortButton
-
traffic
final javax.swing.JTextArea traffic
-
chooser
final javax.swing.JFileChooser chooser
-
fileButton
final javax.swing.JButton fileButton
-
inputFileName
final javax.swing.JLabel inputFileName
-
comment
final javax.swing.JTextArea comment
-
loadButton
final javax.swing.JButton loadButton
-
bar
final javax.swing.JProgressBar bar
-
status
final javax.swing.JLabel status
-
-
Constructor Detail
-
LoaderPane
public LoaderPane()
-
-
Method Detail
-
addCommGUI
protected void addCommGUI()
-
openPortButtonActionPerformed
void openPortButtonActionPerformed(java.awt.event.ActionEvent e)
Open button has been pushed, create the actual display connection- Parameters:
e
- Event from pressed button
-
sendBytes
void sendBytes(byte[] bytes)
-
stopThread
void stopThread()
-
dispose
public void dispose()
-
getPortNames
public java.util.Vector<java.lang.String> getPortNames()
-
openPort
public java.lang.String openPort(java.lang.String portName, java.lang.String appName)
-
handlePortBusy
void handlePortBusy(PortInUseException p, java.lang.String port)
-
selectInputFile
void selectInputFile()
-
doLoad
void doLoad()
-
CRC_char
long CRC_char(long crcin, byte ch)
-
swap
long swap(long val)
-
CRC_block
void CRC_block(byte[] buffer)
Insert the CRC for a block of characters in a bufferThe last two bytes of the buffer hold the checksum, and are not included in the checksum.
- Parameters:
buffer
- Buffer holding the message to be get a CRC
-
isUploadReady
boolean isUploadReady(byte[] buffer)
Check to see if message starts transmission- Parameters:
buffer
- Buffer holding the message to be checked- Returns:
- True if buffer is a upload-ready message
-
isSendNext
boolean isSendNext(byte[] buffer)
Check to see if this is a request for the next block- Parameters:
buffer
- Buffer holding the message to be checked- Returns:
- True if buffer is a sent-next message
-
getDataSize
int getDataSize(byte[] buffer)
Get output data length from 1st message- Parameters:
buffer
- Message from which length is to be extracted- Returns:
- length of the buffer
-
bootMessage
byte[] bootMessage()
Return a properly formatted boot message, complete with CRC- Returns:
- buffer Contains boot message that's been created
-
-