Class ClockMonPanel
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,EventListener,Accessible,AbstractMRListener,NceListener,NcePanelInterface
Some of the message formats used in this class are Copyright NCE Inc. and used with permission as part of the JMRI project. That permission does not extend to uses in other software products. If you wish to use this code, algorithm or these message formats outside of JMRI, please contact NCE Inc for separate permission. Notes: 1. the commands for time don't include seconds so I had to use memory write to sync nce clock. 2. I tried fiddling with the internal nce clock loop values, didn't work. 3. to sync nce to internal clock: A. set an alarm about 5 seconds before next minute B. read nce clock C. compute error and record last X errors for correction calc D. adjust nce clock as needed E. reset alarm after next internal minute ticks 4. to sync internal to nce clock A. every so often, read nce clock and compare to internal B. compute error and record last X errors for correction calc C. adjust internal clock rate factor as needed 5. The clock message only seems to go out to the throttles on the tic of the minute. 6. The nce clock must be left running, or it doesn't tic and therefore doesn't go out over the bus.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classNested class to create one of these using old-style defaultsNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescription(package private) Timer(package private) JTextFieldstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final double(package private) DecimalFormat(package private) DecimalFormat(package private) JTextField(package private) Timebase(package private) JTextField(package private) JTextField(package private) JTextField(package private) JTextFieldstatic final intstatic final doublestatic final double(package private) PropertyChangeListener(package private) JTextField(package private) JTextField(package private) JTextField(package private) JTextField(package private) JTextField(package private) JTextField(package private) JTextField(package private) JButton(package private) JTextField(package private) JButton(package private) JButton(package private) JButton(package private) JButton(package private) JButton(package private) JButton(package private) JButton(package private) JButton(package private) JRadioButton(package private) JRadioButton(package private) JRadioButton(package private) JTextFieldstatic final intstatic final intstatic final intstatic final double(package private) DecimalFormat(package private) Timer(package private) JCheckBox(package private) DecimalFormatstatic final intFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddispose()Provide a help target string which an enclosing frame can provide as a help reference.The minimum frame size for font size 16getTitle()Provide a recommended title for an enclosing frame.void2nd stage of initialization, invoked after the constuctor is complete.voidinitContext(Object context) 3rd stage of initialization, invoked after Swing components exist.voidvoidHandles minute notifications for NCE Clock Monitor/SynchronizervoidvoidMethods inherited from class jmri.util.swing.JmriPanel
getMenus, getWindowInterface, initComponents, isMultipleInstances, setWindowInterfaceMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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 Details
-
CS_CLOCK_MEM_SIZE
- See Also:
-
CS_CLOCK_SCALE
- See Also:
-
CS_CLOCK_TICK
- See Also:
-
CS_CLOCK_SECONDS
- See Also:
-
CS_CLOCK_MINUTES
- See Also:
-
CS_CLOCK_HOURS
- See Also:
-
CS_CLOCK_AMPM
- See Also:
-
CS_CLOCK_1224
- See Also:
-
CS_CLOCK_STATUS
- See Also:
-
CMD_CLOCK_SET_TIME_SIZE
- See Also:
-
CMD_CLOCK_SET_PARAM_SIZE
- See Also:
-
CMD_CLOCK_SET_RUN_SIZE
- See Also:
-
CMD_CLOCK_SET_REPLY_SIZE
- See Also:
-
CMD_MEM_SET_REPLY_SIZE
- See Also:
-
MAX_ERROR_ARRAY
- See Also:
-
MIN_POLLING_INTERVAL
- See Also:
-
MAX_POLLING_INTERVAL
- See Also:
-
CLOCKRATIO_MIN
- See Also:
-
CLOCKRATIO_MAX
- See Also:
-
DEFAULT_POLLING_INTERVAL
- See Also:
-
TARGET_SYNC_DELAY
- See Also:
-
SYNCMODE_OFF
- See Also:
-
SYNCMODE_NCE_MASTER
- See Also:
-
SYNCMODE_INTERNAL_MASTER
- See Also:
-
WAIT_CMD_EXECUTION
- See Also:
-
fiveDigits
-
fourDigits
-
threeDigits
-
twoDigits
-
internalClock
-
timerDisplayUpdate
-
alarmSyncUpdate
-
hours
-
minutes
-
seconds
-
rateNce
-
amPm
-
twentyFour
-
status
-
setSyncModeNceMaster
-
setSyncModeInternalMaster
-
setSyncModeOff
-
internalDisplayStatus
-
nceDisplayStatus
-
pollingSpeed
-
ncePidGainP
-
ncePidGainI
-
ncePidGainD
-
intPidGainP
-
intPidGainI
-
intPidGainD
-
minuteChangeListener
-
setSyncButton
-
setClockButton
-
setRatioButton
-
set1224Button
-
setStopNceButton
-
setStartNceButton
-
readButton
-
setPollingSpeedButton
-
setPidButton
-
-
Constructor Details
-
ClockMonPanel
public ClockMonPanel()
-
-
Method Details
-
initContext
3rd stage of initialization, invoked after Swing components exist.- Overrides:
initContextin classNcePanel- Parameters:
context- the context that this panel may be initialized with
-
getHelpTarget
Provide a help target string which an enclosing frame can provide as a help reference.This automatically provides a reference to the usual place for JMRI window-specific help pages that are named for the implementing class, but note this is a Pane class, not a Frame class.
- Overrides:
getHelpTargetin classJmriPanel- Returns:
- the target String
-
getTitle
Provide a recommended title for an enclosing frame. -
getMinimumDimension
The minimum frame size for font size 16- Overrides:
getMinimumDimensionin classJmriPanel
-
initComponents
2nd stage of initialization, invoked after the constuctor is complete.This needs to be connected to the initContext() method in implementing classes.
- Specified by:
initComponentsin interfaceNcePanelInterface- Overrides:
initComponentsin classNcePanel- Parameters:
m- the system connection memo for this connection
-
message
- Specified by:
messagein interfaceNceListener
-
reply
- Specified by:
replyin interfaceNceListener
-
newInternalMinute
Handles minute notifications for NCE Clock Monitor/Synchronizer -
windowClosing
-
dispose
-