Package jmri.jmrix.loconet
Class LnSensorAddress
java.lang.Object
jmri.jmrix.loconet.LnSensorAddress
Utilities for handling LocoNet sensor addresses.
There are three addressing spaces for LocoNet sensors:
- The space used for DS54 inputs, where the least-significant-bit in the address refers to the "Aux" and "Switch" inputs. These are represented by system names of the form LSnnnA and LSnnnS respectively. nnn is then the turnout number of the DS54 channel.
- The space used for BDL16 inputs, where the card and section numbers are part of the address. These are represented by names of the form LScccA1 through LScccA4, LScccB1 through LScccB4, and on through LScccD4. ccc is the BDL16 card number.
- A straight-forward numeric space, represented by LSmmm. Note that this is a 1-4096 scheme, not a 0-4095.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionLnSensorAddress(int sw1, int sw2, String prefix) LnSensorAddress(String s, String prefix) -
Method Summary
Modifier and TypeMethodDescriptionprotected intasInt()intgetASBit()The bit representing the Aux or Sensor inputName in the BDL16 spaceName in the DS54 spaceintintName in the 1-4096 spacevoidUpdate a LocoNet message to have this address.booleanisValid()booleanmatchAddress(int a1, int a2) (package private) voidtoString()
-
Field Details
-
Constructor Details
-
LnSensorAddress
-
LnSensorAddress
-
-
Method Details
-
reportParseError
-
insertAddress
Update a LocoNet message to have this address. It is assumed that the sensor address may be encoded into bytes 1 and 2 of the message.- Parameters:
m- a LocoNetmessage to be updated to contain this object's sensor address
-
matchAddress
-
asInt
- Returns:
- integer value of this address in 0-4095 space
-
getLowBits
-
getHighBits
-
getASBit
The bit representing the Aux or Sensor input- Returns:
- 0x20 for aux input, 0x00 for switch input
-
isValid
-
toString
-
getNumericAddress
Name in the 1-4096 space- Returns:
- LSnnn
-
getDS54Address
Name in the DS54 space- Returns:
- LSnnnA or LSnnnS, depending on Aux or Switch input
-
getBDL16Address
Name in the BDL16 space- Returns:
- e.g. LSnnnA3, with nnn the BDL16 number, A the section number, and 3 the channel number
-