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) classLoaderPane.LocalReaderInternal 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) SerialPortactiveSerialPort(package private) javax.swing.JProgressBarbar(package private) javax.swing.JFileChooserchooser(package private) javax.swing.JTextAreacomment(package private) javax.swing.JButtonfileButton(package private) javax.swing.JLabelinputFileName(package private) javax.swing.JButtonloadButton(package private) javax.swing.JButtonopenPortButton(package private) java.io.OutputStreamostream(package private) PdiFilepdiFile(package private) javax.swing.JComboBox<java.lang.String>portBox(package private) java.lang.ThreadreaderThread(package private) java.io.DataInputStreamserialStream(package private) javax.swing.JLabelstatus(package private) javax.swing.JTextAreatraffic-
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 voidaddCommGUI()(package private) byte[]bootMessage()Return a properly formatted boot message, complete with CRC(package private) voidCRC_block(byte[] buffer)Insert the CRC for a block of characters in a buffer(package private) longCRC_char(long crcin, byte ch)voiddispose()(package private) voiddoLoad()(package private) intgetDataSize(byte[] buffer)Get output data length from 1st messagejava.util.Vector<java.lang.String>getPortNames()(package private) voidhandlePortBusy(PortInUseException p, java.lang.String port)(package private) booleanisSendNext(byte[] buffer)Check to see if this is a request for the next block(package private) booleanisUploadReady(byte[] buffer)Check to see if message starts transmissionjava.lang.StringopenPort(java.lang.String portName, java.lang.String appName)(package private) voidopenPortButtonActionPerformed(java.awt.event.ActionEvent e)Open button has been pushed, create the actual display connection(package private) voidselectInputFile()(package private) voidsendBytes(byte[] bytes)(package private) voidstopThread()(package private) longswap(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
-
-