Class LocoIOTableModel

java.lang.Object
javax.swing.table.AbstractTableModel
jmri.jmrix.loconet.locoio.LocoIOTableModel
All Implemented Interfaces:
PropertyChangeListener, Serializable, EventListener, TableModel

Basic Configurer for LocoIO hardware. Marked Legacy/Deprecated since 2017 version 4.12. Will be removed 2025 version 5.13

This code derives the SV values from the user-selected mode and address; this is different from earlier versions where the user was expected to do the derivation manually. This derivation is complicated by the fact that the "mode" SV[port.0] in the LocoIO doesn't fully specify the operation being done - additional bits in "v2" SV[port.2] are also used. For example, 0x80 is both turnout closed and turnout high. We read and write the mode SV _last_ to handle this.

The "addr" field is constructed from (or causes the construction of, depending on whether we are reading or writing...) value1 and value2. In particular, value2 requires knowledge of the mode being set. When "capturing" a turnout address (where we don't have a mode setting) we presume that the address seen in the OPC_SW_REQ packet is for a fixed contact, and interpret the bits in that context.

The timeout code is modelled after that in jmri.jmrix.AbstractProgrammer, though there are significant modifications.

See Also: