Class Ds64TabbedPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- jmri.util.swing.JmriPanel
-
- jmri.jmrix.loconet.swing.LnPanel
-
- jmri.jmrix.loconet.AbstractBoardProgPanel
-
- jmri.jmrix.loconet.ds64.Ds64TabbedPanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,LocoNetListener
,LnPanelInterface
public class Ds64TabbedPanel extends AbstractBoardProgPanel
A "tabbed" swing panel to display and modify Digitrax DS64 board configuration.The read and write operations require a sequence of operations, which are handled with a state variable.
Programming of the DS64 is done via LocoNet configuration messages, so the DS64 should not be manually put into its programming mode via the DS64 built-in pushbutton while this tool is in use.
Some of the message formats used in this class are Copyright Digitrax, 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 Digitrax Inc for separate permission.
Extensions to include read/write of turnout output addresses and routes are based on reverse-engineering of DS64 operating characteristics by B. Milhaupt. As such, this tool may not be compatible with all DS64 devices.
This file is part of JMRI.JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.
JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Based on Revision 1.1 of DS64Panel.java by Bob Jacobsen
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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) javax.swing.JComboBox<java.lang.Integer>
addressComboBox
(package private) int[]
boardNumbers
(package private) java.util.ArrayList<java.lang.Integer>
boardNumsEntryValue
javax.swing.Timer
boardResetResponseTimer
(package private) java.awt.Component
colorizedObject
(package private) javax.swing.JComboBox<java.lang.String>
commandSource
(package private) javax.swing.JLabel
commandSourceLabel
(package private) javax.swing.JComboBox<java.lang.String>
commandType
(package private) javax.swing.JLabel
commandTypeLabel
(package private) javax.swing.JComboBox<java.lang.String>
delayTime
(package private) javax.swing.JLabel
delayTimeLabel
(package private) javax.swing.JToggleButton
factoryResetButton
(package private) javax.swing.JPanel
generalPanel
(package private) javax.swing.JTabbedPane
generalTabbedPane
(package private) java.lang.Integer
indexToRead
(package private) java.lang.Boolean
isRead
(package private) java.lang.Boolean
isWritingResetOpSw
(package private) javax.swing.JComboBox<java.lang.String>
localControlOfOutputsStyle
(package private) javax.swing.JLabel
localControlOfOutputsStyleLabel
(package private) javax.swing.JPanel
localInputControlsPanel
(package private) javax.swing.JComboBox<java.lang.String>
localSensorType
(package private) jmri.jmrix.loconet.ds64.Ds64TabbedPanel.JRadioButtonWithInteger[]
opswClosed
(package private) javax.swing.JPanel
opswsPanel
(package private) javax.swing.JScrollPane
opswsScrollPane
(package private) javax.swing.JPanel
opswsValues
(package private) jmri.jmrix.loconet.ds64.Ds64TabbedPanel.JRadioButtonWithInteger[]
opswThrown
(package private) int
origAccessBoardNum
(package private) ValidatedTextField
outAddr1
(package private) ValidatedTextField
outAddr2
(package private) ValidatedTextField
outAddr3
(package private) ValidatedTextField
outAddr4
(package private) javax.swing.JCheckBox
output1CrossbuckFlasherCheckBox
(package private) javax.swing.JCheckBox
output2CrossbuckFlasherCheckBox
(package private) javax.swing.JCheckBox
output3CrossbuckFlasherCheckBox
(package private) javax.swing.JCheckBox
output4CrossbuckFlasherCheckBox
(package private) javax.swing.JPanel
outputAddrsPanel
(package private) javax.swing.JComboBox<java.lang.String>
outputStates
(package private) javax.swing.JLabel
outputStatesLabel
(package private) javax.swing.JComboBox<java.lang.String>
outputType
(package private) javax.swing.JLabel
outputTypeLabel
(package private) javax.swing.JLabel
outState1
(package private) javax.swing.JLabel
outState2
(package private) javax.swing.JLabel
outState3
(package private) javax.swing.JLabel
outState4
(package private) java.lang.Boolean
resetOpSwVal
(package private) javax.swing.JToggleButton
resetRouteButton
(package private) SimpleTurnoutStateEntry[]
routeA2
(package private) SimpleTurnoutStateEntry[]
routeA3
(package private) SimpleTurnoutStateEntry[]
routeA4
(package private) SimpleTurnoutStateEntry[]
routeA5
(package private) SimpleTurnoutStateEntry[]
routeA6
(package private) SimpleTurnoutStateEntry[]
routeA7
(package private) SimpleTurnoutStateEntry[]
routeA8
(package private) javax.swing.JPanel[]
routePanel
(package private) javax.swing.JComboBox<java.lang.String>
routesControl
(package private) javax.swing.JLabel
routesControlLabel
(package private) javax.swing.JTabbedPane
routesTabbedPane
(package private) SimpleTurnoutStateEntry[]
routeTop
(package private) javax.swing.JComboBox<java.lang.String>
sensorMessageTrigger
(package private) javax.swing.JLabel
sensorMessageTriggerLabel
(package private) javax.swing.JPanel
sensorMessageTriggerPanel
(package private) javax.swing.JComboBox<java.lang.String>
startupDelay
(package private) javax.swing.JLabel
startupDelayLabel
(package private) javax.swing.JComboBox<java.lang.String>
staticOutputShutoff
(package private) javax.swing.JLabel
staticOutputShutoffLabel
-
Fields inherited from class jmri.jmrix.loconet.AbstractBoardProgPanel
addrField, onlyOneOperation, opsw, pacingTimer, read, readAllButton, responseTimer, state, writeAllButton
-
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 Ds64TabbedPanel()
Ds64TabbedPanel constructor when the boardNum is not already known.Ds64TabbedPanel(boolean readBoardOnInit)
Ds64TabbedPanel constructor when the boardNum is not known; BoardID 1 is assumed.Ds64TabbedPanel(boolean readOnInit, java.lang.Integer[] boardNums)
Ds64TabbedPanel constructor which may be used when the instantiating method already has an array of DS64 BoardID numbers; this array is used to pre-populate the GUI combobox showing BoardID numbers.Ds64TabbedPanel(int boardNum)
Ds64TabbedPanel constructor when the boardNum is already known.Ds64TabbedPanel(int boardNum, boolean readOnInit)
Ds64TabbedPanel constructor when the boardNum is already known.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
copyOpswToBasic()
Copy from the GUI OpSw tab to the GUI Basics tabprotected void
copyToOpsw()
Copy from the GUI to the opsw array.java.lang.String
getHelpTarget()
Provide a help target string which an enclosing frame can provide as a help reference.java.lang.String
getTitle()
Provide a recommended title for an enclosing frame.void
initComponents()
2nd stage of initialization, invoked after the constructor is complete.void
initComponents(LocoNetSystemConnectionMemo memo)
2nd stage of initialization, invoked after the constructor is complete.void
message(LocoNetMessage m)
Processes incoming LocoNet message m for OpSw responses to read and write operation messages, and automatically advances to the next OpSw operation as directed byAbstractBoardProgPanel.nextState(int)
.protected int
nextState(int state)
Compute the next OpSw number to be accessed, based on the current OpSw number.void
readAll()
Provides a mechanism to read several OpSw values in a sequence.protected void
setOpSwIndex(int index)
Set index into OpSw tablevoid
updateBoardAddress()
protected void
updateDisplay()
Update the GUI based on the contents of opsw[].void
updateGuiBasicOpSw(int index)
(package private) void
updateGuiFromOpSws33_48()
protected void
updateOpswForWrite(int index)
Updates OpSw values for a given index into the data arrayprotected void
updateOpSwsOutAddr(int address1, boolean state1, boolean is1Unused, int address2, boolean state2, boolean is2Unused)
Updates data register to reflect address, state, and enable for two turnouts.void
writeAll()
Provide a mechanism to write several OpSw values in a sequence.-
Methods inherited from class jmri.jmrix.loconet.AbstractBoardProgPanel
appendLine, dispose, doTheNextThing, getBoardIdValue, panelToScroll, provideAddressing, provideAddressing, provideStatusLine, setBoardIdValue, setStatus, setTypeWord, writeOne
-
Methods inherited from class jmri.jmrix.loconet.swing.LnPanel
getTitle, getTitleHelper, initContext
-
Methods inherited from class jmri.util.swing.JmriPanel
getMenus, getMinimumDimension, getWindowInterface, isMultipleInstances, setWindowInterface
-
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
-
boardNumbers
int[] boardNumbers
-
origAccessBoardNum
int origAccessBoardNum
-
boardNumsEntryValue
java.util.ArrayList<java.lang.Integer> boardNumsEntryValue
-
generalPanel
javax.swing.JPanel generalPanel
-
opswsPanel
javax.swing.JPanel opswsPanel
-
opswsScrollPane
javax.swing.JScrollPane opswsScrollPane
-
generalTabbedPane
javax.swing.JTabbedPane generalTabbedPane
-
routesTabbedPane
javax.swing.JTabbedPane routesTabbedPane
-
opswsValues
javax.swing.JPanel opswsValues
-
outputAddrsPanel
javax.swing.JPanel outputAddrsPanel
-
outAddr1
ValidatedTextField outAddr1
-
outState1
javax.swing.JLabel outState1
-
outAddr2
ValidatedTextField outAddr2
-
outState2
javax.swing.JLabel outState2
-
outAddr3
ValidatedTextField outAddr3
-
outState3
javax.swing.JLabel outState3
-
outAddr4
ValidatedTextField outAddr4
-
outState4
javax.swing.JLabel outState4
-
routePanel
javax.swing.JPanel[] routePanel
-
routeTop
SimpleTurnoutStateEntry[] routeTop
-
routeA2
SimpleTurnoutStateEntry[] routeA2
-
routeA3
SimpleTurnoutStateEntry[] routeA3
-
routeA4
SimpleTurnoutStateEntry[] routeA4
-
routeA5
SimpleTurnoutStateEntry[] routeA5
-
routeA6
SimpleTurnoutStateEntry[] routeA6
-
routeA7
SimpleTurnoutStateEntry[] routeA7
-
routeA8
SimpleTurnoutStateEntry[] routeA8
-
resetRouteButton
javax.swing.JToggleButton resetRouteButton
-
addressComboBox
javax.swing.JComboBox<java.lang.Integer> addressComboBox
-
outputTypeLabel
javax.swing.JLabel outputTypeLabel
-
outputType
javax.swing.JComboBox<java.lang.String> outputType
-
delayTimeLabel
javax.swing.JLabel delayTimeLabel
-
delayTime
javax.swing.JComboBox<java.lang.String> delayTime
-
outputStatesLabel
javax.swing.JLabel outputStatesLabel
-
outputStates
javax.swing.JComboBox<java.lang.String> outputStates
-
startupDelayLabel
javax.swing.JLabel startupDelayLabel
-
startupDelay
javax.swing.JComboBox<java.lang.String> startupDelay
-
staticOutputShutoffLabel
javax.swing.JLabel staticOutputShutoffLabel
-
staticOutputShutoff
javax.swing.JComboBox<java.lang.String> staticOutputShutoff
-
commandTypeLabel
javax.swing.JLabel commandTypeLabel
-
commandType
javax.swing.JComboBox<java.lang.String> commandType
-
commandSourceLabel
javax.swing.JLabel commandSourceLabel
-
commandSource
javax.swing.JComboBox<java.lang.String> commandSource
-
output1CrossbuckFlasherCheckBox
javax.swing.JCheckBox output1CrossbuckFlasherCheckBox
-
output2CrossbuckFlasherCheckBox
javax.swing.JCheckBox output2CrossbuckFlasherCheckBox
-
output3CrossbuckFlasherCheckBox
javax.swing.JCheckBox output3CrossbuckFlasherCheckBox
-
output4CrossbuckFlasherCheckBox
javax.swing.JCheckBox output4CrossbuckFlasherCheckBox
-
routesControlLabel
javax.swing.JLabel routesControlLabel
-
routesControl
javax.swing.JComboBox<java.lang.String> routesControl
-
localControlOfOutputsStyleLabel
javax.swing.JLabel localControlOfOutputsStyleLabel
-
localControlOfOutputsStyle
javax.swing.JComboBox<java.lang.String> localControlOfOutputsStyle
-
sensorMessageTriggerLabel
javax.swing.JLabel sensorMessageTriggerLabel
-
sensorMessageTrigger
javax.swing.JComboBox<java.lang.String> sensorMessageTrigger
-
localSensorType
javax.swing.JComboBox<java.lang.String> localSensorType
-
factoryResetButton
javax.swing.JToggleButton factoryResetButton
-
opswThrown
jmri.jmrix.loconet.ds64.Ds64TabbedPanel.JRadioButtonWithInteger[] opswThrown
-
opswClosed
jmri.jmrix.loconet.ds64.Ds64TabbedPanel.JRadioButtonWithInteger[] opswClosed
-
sensorMessageTriggerPanel
javax.swing.JPanel sensorMessageTriggerPanel
-
localInputControlsPanel
javax.swing.JPanel localInputControlsPanel
-
boardResetResponseTimer
public javax.swing.Timer boardResetResponseTimer
-
colorizedObject
java.awt.Component colorizedObject
-
isRead
java.lang.Boolean isRead
-
isWritingResetOpSw
java.lang.Boolean isWritingResetOpSw
-
indexToRead
java.lang.Integer indexToRead
-
resetOpSwVal
java.lang.Boolean resetOpSwVal
-
-
Constructor Detail
-
Ds64TabbedPanel
public Ds64TabbedPanel(int boardNum, boolean readOnInit)
Ds64TabbedPanel constructor when the boardNum is already known. Allows the instantiating method to specify whether the basic feature configuration information will be read upon instantiation.- Parameters:
boardNum
- initial BoardID numberreadOnInit
- true to automatically read the basic configuration info.
-
Ds64TabbedPanel
public Ds64TabbedPanel()
Ds64TabbedPanel constructor when the boardNum is not already known.At instantiation, the object will automatically assume BoardID 1 and will not pre-read the basic board configuration information.
-
Ds64TabbedPanel
public Ds64TabbedPanel(int boardNum)
Ds64TabbedPanel constructor when the boardNum is already known.When instantiated, the object will not automatically read the basic configuration information.
- Parameters:
boardNum
- initial BoardID number
-
Ds64TabbedPanel
public Ds64TabbedPanel(boolean readOnInit, java.lang.Integer[] boardNums)
Ds64TabbedPanel constructor which may be used when the instantiating method already has an array of DS64 BoardID numbers; this array is used to pre-populate the GUI combobox showing BoardID numbers. The first BoardID number in the array will automatically be selected upon instantiation.When instantiated, the object will automatically read the basic configuration information if readOnInit is true.
- Parameters:
readOnInit
- true to automatically read the basic configuration info from the DS64 with BoardID equal to the first value in the boardNums arrayboardNums
- Array of known DS64 BoardID numbers
-
Ds64TabbedPanel
public Ds64TabbedPanel(boolean readBoardOnInit)
Ds64TabbedPanel constructor when the boardNum is not known; BoardID 1 is assumed.Allows the instantiating method to specify whether the basic feature configuration information will be read upon instantiation.
- Parameters:
readBoardOnInit
- true to automatically read the basic configuration info.
-
-
Method Detail
-
getHelpTarget
public java.lang.String getHelpTarget()
Description copied from class:JmriPanel
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:
getHelpTarget
in classJmriPanel
- Returns:
- the target String
-
getTitle
public java.lang.String getTitle()
Description copied from class:JmriPanel
Provide a recommended title for an enclosing frame.
-
updateGuiBasicOpSw
public void updateGuiBasicOpSw(int index)
-
copyToOpsw
protected void copyToOpsw()
Copy from the GUI to the opsw array.Used before write operations start.
- Specified by:
copyToOpsw
in classAbstractBoardProgPanel
-
updateDisplay
protected void updateDisplay()
Description copied from class:AbstractBoardProgPanel
Update the GUI based on the contents of opsw[].This method is executed after completion of a read operation sequence.
- Specified by:
updateDisplay
in classAbstractBoardProgPanel
-
nextState
protected int nextState(int state)
Description copied from class:AbstractBoardProgPanel
Compute the next OpSw number to be accessed, based on the current OpSw number.- Specified by:
nextState
in classAbstractBoardProgPanel
- Parameters:
state
- current OpSw number- Returns:
- computed next OpSw nubmer
-
readAll
public void readAll()
Description copied from class:AbstractBoardProgPanel
Provides a mechanism to read several OpSw values in a sequence. The sequence is defined by theAbstractBoardProgPanel.nextState(int)
method.- Overrides:
readAll
in classAbstractBoardProgPanel
-
updateBoardAddress
public void updateBoardAddress()
-
writeAll
public void writeAll()
Description copied from class:AbstractBoardProgPanel
Provide a mechanism to write several OpSw values in a sequence. The sequence is defined by theAbstractBoardProgPanel.nextState(int)
method.- Overrides:
writeAll
in classAbstractBoardProgPanel
-
setOpSwIndex
protected void setOpSwIndex(int index)
Set index into OpSw table- Parameters:
index
- the indirect address
-
updateOpSwsOutAddr
protected void updateOpSwsOutAddr(int address1, boolean state1, boolean is1Unused, int address2, boolean state2, boolean is2Unused)
Updates data register to reflect address, state, and enable for two turnouts.- Parameters:
address1
- first turnout addressstate1
- first turnout's stateis1Unused
- true if first turnout entry is to be "unused"address2
- second turnout addressstate2
- second turnout's stateis2Unused
- true if second turnout entry is to be "unused"
-
updateOpswForWrite
protected void updateOpswForWrite(int index)
Updates OpSw values for a given index into the data array- Parameters:
index
- indirect address
-
message
public void message(LocoNetMessage m)
Description copied from class:AbstractBoardProgPanel
Processes incoming LocoNet message m for OpSw responses to read and write operation messages, and automatically advances to the next OpSw operation as directed byAbstractBoardProgPanel.nextState(int)
.- Specified by:
message
in interfaceLocoNetListener
- Overrides:
message
in classAbstractBoardProgPanel
- Parameters:
m
- incoming LocoNet message
-
initComponents
public void initComponents(LocoNetSystemConnectionMemo memo)
Description copied from class:LnPanel
2nd stage of initialization, invoked after the constructor is complete.This needs to be connected to the initContext() method in implementing classes.
- Specified by:
initComponents
in interfaceLnPanelInterface
- Overrides:
initComponents
in classAbstractBoardProgPanel
- Parameters:
memo
- aLocoNetSystemConnectionMemo
object
-
initComponents
public void initComponents()
Description copied from class:JmriPanel
2nd stage of initialization, invoked after the constructor is complete.- Overrides:
initComponents
in classAbstractBoardProgPanel
-
updateGuiFromOpSws33_48
void updateGuiFromOpSws33_48()
-
copyOpswToBasic
protected void copyOpswToBasic()
Copy from the GUI OpSw tab to the GUI Basics tab
-
-