Package jmri.jmrix.roco.z21
Class Z21CanBusAddress
java.lang.Object
jmri.jmrix.roco.z21.Z21CanBusAddress
Utility Class supporting parsing and testing of addresses for Z21 CanBus
One address format is supported for Reporters and Sensors:
- Ztmm:pp where t is either R or S, mm is the module address and pp is the contact pin number (1-8).
-
Method Summary
Modifier and TypeMethodDescriptionstatic StringbuildDecimalSystemNameFromParts(String prefix, char typeLetter, int userAddress, int pin) static StringbuildHexSystemNameFromParts(String prefix, char typeLetter, int globalCANaddress, int pin) static intgetBitFromSystemName(String systemName, String prefix) Public static method to parse a Z21CanBus system name.static StringgetEncoderAddressString(String systemName, String prefix) static StringgetUserNameFromSystemName(String systemName, String prefix) Public static method to check the user name for a valid system name.static StringvalidateSystemNameFormat(String name, Manager<?> manager, Locale locale) Validate a system name format.static Manager.NameValidityvalidSystemNameFormat(String systemName, char type, String prefix) Public static method to validate system name format.
-
Method Details
-
getBitFromSystemName
Public static method to parse a Z21CanBus system name. Note: Bits are numbered from 0.- Parameters:
systemName- system name.prefix- system prefix.- Returns:
- the hardware address number, return -1 if an error is found
-
getEncoderAddressString
-
validateSystemNameFormat
Validate a system name format.- Parameters:
name- the name to validatemanager- the manager requesting validationlocale- the locale for user messages- Returns:
- name, unchanged
- See Also:
-
validSystemNameFormat
public static Manager.NameValidity validSystemNameFormat(@Nonnull String systemName, char type, String prefix) Public static method to validate system name format. Logging of handled cases no higher than WARN.- Parameters:
systemName- system name.type- bean type, S for Sensor, T for Turnout.prefix- system prefix.- Returns:
- VALID if system name has a valid format, else return INVALID
-
getUserNameFromSystemName
Public static method to check the user name for a valid system name.- Parameters:
systemName- system name.prefix- system prefix.- Returns:
- "" (null string) if the system name is not valid or does not exist
-
buildDecimalSystemNameFromParts
public static String buildDecimalSystemNameFromParts(String prefix, char typeLetter, int userAddress, int pin) -
buildHexSystemNameFromParts
public static String buildHexSystemNameFromParts(String prefix, char typeLetter, int globalCANaddress, int pin)
-