Class OutputBits
- java.lang.Object
-
- jmri.jmrix.maple.OutputBits
-
public class OutputBits extends java.lang.Object
Utility Class supporting output to Maple HMI'sAll of the Maple HMI panels receive the same output bits. This keeps them synchronized. Output is sent in "broadcast" mode to Station Address 0. All HMI's receive the output. Output is sent at the end of each polling cycle, whether or not anything has changed. That way, if an HMI panel is plugged in, it will be up-to-date within one polling cycle. Serial systems with unique output bits for each node keep their output array in each node. That code has been moved to this utility class for Maple Systems because all nodes share the same output bits. Coil bits within Maple Systems HMI's are divided into input (1-1000) and output (1001-9000), so input bits are read starting from HMI address 1, and output bits are written starting at HMI address 1001.
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
outputArray
-
Constructor Summary
Constructors Constructor Description OutputBits(SerialTrafficController _tc)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SerialMessage
createOutPacket(int startBitNum, int endBitNum)
Create a Transmit packet (SerialMessage).static int
getNumOutputBits()
boolean
getOutputBit(int bitNumber)
Get the current state of an output bit.static int
getSendDelay()
static void
setNumOutputBits(int n)
void
setOutputBit(int bitNumber, boolean state)
Set an output bit.static void
setSendDelay(int n)
-
-
-
Field Detail
-
outputArray
protected byte[] outputArray
-
-
Constructor Detail
-
OutputBits
public OutputBits(SerialTrafficController _tc)
-
-
Method Detail
-
setNumOutputBits
public static void setNumOutputBits(int n)
-
getNumOutputBits
public static int getNumOutputBits()
-
setSendDelay
public static void setSendDelay(int n)
-
getSendDelay
public static int getSendDelay()
-
setOutputBit
public void setOutputBit(int bitNumber, boolean state)
Set an output bit.Note: state = 'true' for 0, 'false' for 1. Bits are numbered from 1 (not 0)
- Parameters:
bitNumber
- bit index number starting from 1.state
- true for 0, false for 1.
-
getOutputBit
public boolean getOutputBit(int bitNumber)
Get the current state of an output bit.Bits are numbered from 1 (not 0).
- Parameters:
bitNumber
- bit number to check, index starts at 1.- Returns:
- 'true' for 0, 'false' for 1
-
createOutPacket
public SerialMessage createOutPacket(int startBitNum, int endBitNum)
Create a Transmit packet (SerialMessage).- Parameters:
startBitNum
- start bit number.endBitNum
- end bit number.- Returns:
- serial message.
-
-