Abstract base for common code of IdentifyLoco and IdentifyDecoder, the
two classes that use a programmer to match Roster entries to what's on the
programming track.
Define common base class methods for CvValue and VariableValue classes
The ToRead parameter (boolean, unbound) is used to remember whether
this object has been read during a "read all" operation.
From the NMRA RP:
Basic Accessory Decoder Packet address for operations mode programming
10AAAAAA 0 1AAACDDD 0 1110CCVV 0 VVVVVVVV 0 DDDDDDDD
Where DDD is used to indicate the output whose CVs are being modified and C=1.
From the NMRA RP:
The format for Accessory Decoder Configuration Variable Access Instructions is:
{preamble} 0 10AAAAAA 0 0AAA11VV 0 VVVVVVVV 0 DDDDDDDD 0 EEEEEEEE 1
Where:
A = Decoder address bits
V = Desired CV address - (CV 513 = 10 00000000)
D = Data for CV
This is the old "legacy" format, newer decoders use the "Basic Accessory Decoder Packet"
From the RP:
Extended Accessory Decoder Control Packet Format
The Extended Accessory Decoder Control Packet is included for the purpose
of transmitting aspect control to signal decoders or data bytes to more
complex accessory decoders.
Utility Class supporting parsing and testing of addresses for Acela
One address format is supported:
Atxxxx
where: t is the type code, 'T' for turnouts, 'S' for sensors, and
'L' for lights
xxxx is a bit number of the input or output bit (0-1023)
examples: AT2 (bit 2), AS1003 (bit 1003),
AL134 (bit134)
Assumes a node address of 0, and a node type of NO_CARD
If this constructor is used, actual node address must be set using
setNodeAddress, and actual node type using 'setNodeType'