Package jmri.jmrix.powerline
Class InsteonSequence
- java.lang.Object
-
- jmri.jmrix.powerline.InsteonSequence
-
public class InsteonSequence extends java.lang.Object
Represent a sequence of one or more Insteon commands (addresses and functions).These are Insteon specific, but not device/interface specific.
A sequence should consist of addressing (1 or more), and then one or more commands. It can address multiple devices.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InsteonSequence.Address
Represent a single "set address" Insteon commandstatic interface
InsteonSequence.Command
Represent a single Insteon command, which is either a "set address" or "do function" operationstatic class
InsteonSequence.ExtData
Represent a single "Extended Data" Insteon commandstatic class
InsteonSequence.Function
Represent a single "do function" Insteon command
-
Field Summary
Fields Modifier and Type Field Description (package private) InsteonSequence.Command[]
cmds
(package private) int
index
-
Constructor Summary
Constructors Constructor Description InsteonSequence()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAddress(int idhighbyte, int idmiddlebyte, int idlowbyte)
Append a new "set address" operation to the sequencevoid
addFunction(int idhighbyte, int idmiddlebyte, int idlowbyte, int function, int flag, int command1, int command2)
Append a new "do function" operation to the sequencestatic int
decode(int i)
Get house (A-P as 1-16) or device (1-16) from line-coded value.static int
encode(int i)
For the house (A-P) and device (1-16) codes, get the line-coded value.static java.lang.String
formatAddressByte(int b)
Pretty-print an address codestatic java.lang.String
formatCommandByte(int b)
Pretty-print a function codestatic java.lang.String
functionName(int i)
Return a human-readable name for a function codeInsteonSequence.Command
getCommand()
Retrieve the next command in the sequencestatic java.lang.String
houseCodeToText(int hC)
Translate House Code to textstatic java.lang.String
houseValueToText(int hV)
Translate House Value (1 to 16) to textvoid
reset()
Next getCommand will be the first in the sequence
-
-
-
Field Detail
-
index
int index
-
cmds
InsteonSequence.Command[] cmds
-
-
Constructor Detail
-
InsteonSequence
public InsteonSequence()
-
-
Method Detail
-
addFunction
public void addFunction(int idhighbyte, int idmiddlebyte, int idlowbyte, int function, int flag, int command1, int command2)
Append a new "do function" operation to the sequence- Parameters:
idhighbyte
- 1st id valueidmiddlebyte
- 2nd id valueidlowbyte
- 3rd id valuefunction
- functionflag
- option flagcommand1
- cmd1command2
- cmd2
-
addAddress
public void addAddress(int idhighbyte, int idmiddlebyte, int idlowbyte)
Append a new "set address" operation to the sequence- Parameters:
idhighbyte
- 1st addridmiddlebyte
- 2nd addridlowbyte
- 3rd addr
-
reset
public void reset()
Next getCommand will be the first in the sequence
-
getCommand
public InsteonSequence.Command getCommand()
Retrieve the next command in the sequence- Returns:
- single Insteon cmd
-
functionName
public static java.lang.String functionName(int i)
Return a human-readable name for a function code- Parameters:
i
- function value- Returns:
- text of the fuction
-
encode
public static int encode(int i)
For the house (A-P) and device (1-16) codes, get the line-coded value. Argument is from 1 to 16 only.- Parameters:
i
- code to convert- Returns:
- converted code
-
decode
public static int decode(int i)
Get house (A-P as 1-16) or device (1-16) from line-coded value.- Parameters:
i
- encoded value- Returns:
- int value
-
formatAddressByte
public static java.lang.String formatAddressByte(int b)
Pretty-print an address code- Parameters:
b
- address as value- Returns:
- text of address explained
-
formatCommandByte
public static java.lang.String formatCommandByte(int b)
Pretty-print a function code- Parameters:
b
- function code value- Returns:
- text of function code
-
houseValueToText
public static java.lang.String houseValueToText(int hV)
Translate House Value (1 to 16) to text- Parameters:
hV
- value for housecode- Returns:
- text for housecode
-
houseCodeToText
public static java.lang.String houseCodeToText(int hC)
Translate House Code to text- Parameters:
hC
- housecode value- Returns:
- text for the housecode
-
-