Package com.tinkerforge
Class BrickletIndustrialDigitalIn4
- java.lang.Object
-
- com.tinkerforge.DeviceBase
-
- com.tinkerforge.Device
-
- com.tinkerforge.BrickletIndustrialDigitalIn4
-
public class BrickletIndustrialDigitalIn4 extends Device
4 galvanically isolated digital inputs
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
BrickletIndustrialDigitalIn4.EdgeCountConfig
static interface
BrickletIndustrialDigitalIn4.InterruptListener
This listener is triggered whenever a change of the voltage level is detected on pins where the interrupt was activated withsetInterrupt(int)
.-
Nested classes/interfaces inherited from class com.tinkerforge.Device
Device.Identity
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEVICE_DISPLAY_NAME
static int
DEVICE_IDENTIFIER
static short
EDGE_TYPE_BOTH
static short
EDGE_TYPE_FALLING
static short
EDGE_TYPE_RISING
static byte
FUNCTION_GET_AVAILABLE_FOR_GROUP
static byte
FUNCTION_GET_DEBOUNCE_PERIOD
static byte
FUNCTION_GET_EDGE_COUNT
static byte
FUNCTION_GET_EDGE_COUNT_CONFIG
static byte
FUNCTION_GET_GROUP
static byte
FUNCTION_GET_IDENTITY
static byte
FUNCTION_GET_INTERRUPT
static byte
FUNCTION_GET_VALUE
static byte
FUNCTION_SET_DEBOUNCE_PERIOD
static byte
FUNCTION_SET_EDGE_COUNT_CONFIG
static byte
FUNCTION_SET_GROUP
static byte
FUNCTION_SET_INTERRUPT
-
Constructor Summary
Constructors Constructor Description BrickletIndustrialDigitalIn4(java.lang.String uid, IPConnection ipcon)
Creates an object with the unique device ID \c uid.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addInterruptListener(BrickletIndustrialDigitalIn4.InterruptListener listener)
Adds a Interrupt listener.short
getAvailableForGroup()
Returns a bitmask of ports that are available for grouping.long
getDebouncePeriod()
Returns the debounce period as set bysetDebouncePeriod(long)
.long
getEdgeCount(short pin, boolean resetCounter)
Returns the current value of the edge counter for the selected pin.BrickletIndustrialDigitalIn4.EdgeCountConfig
getEdgeCountConfig(short pin)
Returns the edge type and debounce time for the selected pin as set bysetEdgeCountConfig(int, short, short)
.char[]
getGroup()
Returns the group as set bysetGroup(char[])
Device.Identity
getIdentity()
Returns the UID, the UID where the Bricklet is connected to, the position, the hardware and firmware version as well as the device identifier.int
getInterrupt()
Returns the interrupt bitmask as set bysetInterrupt(int)
.int
getValue()
Returns the input value with a bitmask.void
removeInterruptListener(BrickletIndustrialDigitalIn4.InterruptListener listener)
Removes a Interrupt listener.void
setDebouncePeriod(long debounce)
Sets the debounce period of theBrickletIndustrialDigitalIn4.InterruptListener
listener.void
setEdgeCountConfig(int selectionMask, short edgeType, short debounce)
Configures the edge counter for the selected pins.void
setGroup(char[] group)
Sets a group of Digital In 4 Bricklets that should work together.void
setInterrupt(int interruptMask)
Sets the pins on which an interrupt is activated with a bitmask.-
Methods inherited from class com.tinkerforge.DeviceBase
getAPIVersion, getResponseExpected, setResponseExpected, setResponseExpectedAll
-
-
-
-
Field Detail
-
DEVICE_IDENTIFIER
public static final int DEVICE_IDENTIFIER
- See Also:
- Constant Field Values
-
DEVICE_DISPLAY_NAME
public static final java.lang.String DEVICE_DISPLAY_NAME
- See Also:
- Constant Field Values
-
FUNCTION_GET_VALUE
public static final byte FUNCTION_GET_VALUE
- See Also:
- Constant Field Values
-
FUNCTION_SET_GROUP
public static final byte FUNCTION_SET_GROUP
- See Also:
- Constant Field Values
-
FUNCTION_GET_GROUP
public static final byte FUNCTION_GET_GROUP
- See Also:
- Constant Field Values
-
FUNCTION_GET_AVAILABLE_FOR_GROUP
public static final byte FUNCTION_GET_AVAILABLE_FOR_GROUP
- See Also:
- Constant Field Values
-
FUNCTION_SET_DEBOUNCE_PERIOD
public static final byte FUNCTION_SET_DEBOUNCE_PERIOD
- See Also:
- Constant Field Values
-
FUNCTION_GET_DEBOUNCE_PERIOD
public static final byte FUNCTION_GET_DEBOUNCE_PERIOD
- See Also:
- Constant Field Values
-
FUNCTION_SET_INTERRUPT
public static final byte FUNCTION_SET_INTERRUPT
- See Also:
- Constant Field Values
-
FUNCTION_GET_INTERRUPT
public static final byte FUNCTION_GET_INTERRUPT
- See Also:
- Constant Field Values
-
FUNCTION_GET_EDGE_COUNT
public static final byte FUNCTION_GET_EDGE_COUNT
- See Also:
- Constant Field Values
-
FUNCTION_SET_EDGE_COUNT_CONFIG
public static final byte FUNCTION_SET_EDGE_COUNT_CONFIG
- See Also:
- Constant Field Values
-
FUNCTION_GET_EDGE_COUNT_CONFIG
public static final byte FUNCTION_GET_EDGE_COUNT_CONFIG
- See Also:
- Constant Field Values
-
FUNCTION_GET_IDENTITY
public static final byte FUNCTION_GET_IDENTITY
- See Also:
- Constant Field Values
-
EDGE_TYPE_RISING
public static final short EDGE_TYPE_RISING
- See Also:
- Constant Field Values
-
EDGE_TYPE_FALLING
public static final short EDGE_TYPE_FALLING
- See Also:
- Constant Field Values
-
EDGE_TYPE_BOTH
public static final short EDGE_TYPE_BOTH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BrickletIndustrialDigitalIn4
public BrickletIndustrialDigitalIn4(java.lang.String uid, IPConnection ipcon)
Creates an object with the unique device ID \c uid. and adds it to the IP Connection \c ipcon.
-
-
Method Detail
-
getValue
public int getValue() throws TinkerforgeException
Returns the input value with a bitmask. The bitmask is 16bit long, *true* refers to high and *false* refers to low. For example: The value 3 or 0b0011 means that pins 0-1 are high and the other pins are low. If no groups are used (seesetGroup(char[])
), the pins correspond to the markings on the IndustrialDigital In 4 Bricklet. If groups are used, the pins correspond to the element in the group. Element 1 in the group will get pins 0-3, element 2 pins 4-7, element 3 pins 8-11 and element 4 pins 12-15.- Throws:
TinkerforgeException
-
setGroup
public void setGroup(char[] group) throws TinkerforgeException
Sets a group of Digital In 4 Bricklets that should work together. You can find Bricklets that can be grouped together withgetAvailableForGroup()
. The group consists of 4 elements. Element 1 in the group will get pins 0-3, element 2 pins 4-7, element 3 pins 8-11 and element 4 pins 12-15. Each element can either be one of the ports ('a' to 'd') or 'n' if it should not be used. For example: If you have two Digital In 4 Bricklets connected to port A and port B respectively, you could call with ``['a', 'b', 'n', 'n']``. Now the pins on the Digital In 4 on port A are assigned to 0-3 and the pins on the Digital In 4 on port B are assigned to 4-7. It is now possible to callgetValue()
and read out two Bricklets at the same time. Changing the group configuration resets all edge counter configurations and values.- Throws:
TinkerforgeException
-
getGroup
public char[] getGroup() throws TinkerforgeException
Returns the group as set bysetGroup(char[])
- Throws:
TinkerforgeException
-
getAvailableForGroup
public short getAvailableForGroup() throws TinkerforgeException
Returns a bitmask of ports that are available for grouping. For example the value 5 or 0b0101 means: Port A and port C are connected to Bricklets that can be grouped together.- Throws:
TinkerforgeException
-
setDebouncePeriod
public void setDebouncePeriod(long debounce) throws TinkerforgeException
Sets the debounce period of theBrickletIndustrialDigitalIn4.InterruptListener
listener. For example: If you set this value to 100, you will get the interrupt maximal every 100ms. This is necessary if something that bounces is connected to the Digital In 4 Bricklet, such as a button.- Throws:
TinkerforgeException
-
getDebouncePeriod
public long getDebouncePeriod() throws TinkerforgeException
Returns the debounce period as set bysetDebouncePeriod(long)
.- Throws:
TinkerforgeException
-
setInterrupt
public void setInterrupt(int interruptMask) throws TinkerforgeException
Sets the pins on which an interrupt is activated with a bitmask. Interrupts are triggered on changes of the voltage level of the pin, i.e. changes from high to low and low to high. For example: An interrupt bitmask of 9 or 0b1001 will enable the interrupt for pins 0 and 3. The interrupts use the grouping as set bysetGroup(char[])
. The interrupt is delivered with theBrickletIndustrialDigitalIn4.InterruptListener
listener.- Throws:
TinkerforgeException
-
getInterrupt
public int getInterrupt() throws TinkerforgeException
Returns the interrupt bitmask as set bysetInterrupt(int)
.- Throws:
TinkerforgeException
-
getEdgeCount
public long getEdgeCount(short pin, boolean resetCounter) throws TinkerforgeException
Returns the current value of the edge counter for the selected pin. You can configure the edges that are counted withsetEdgeCountConfig(int, short, short)
. If you set the reset counter to *true*, the count is set back to 0 directly after it is read. The edge counters use the grouping as set bysetGroup(char[])
. .. versionadded:: 2.0.1$nbsp;(Plugin)- Throws:
TinkerforgeException
-
setEdgeCountConfig
public void setEdgeCountConfig(int selectionMask, short edgeType, short debounce) throws TinkerforgeException
Configures the edge counter for the selected pins. A bitmask of 9 or 0b1001 will enable the edge counter for pins 0 and 3. The edge type parameter configures if rising edges, falling edges or both are counted if the pin is configured for input. Possible edge types are: * 0 = rising * 1 = falling * 2 = both Configuring an edge counter resets its value to 0. If you don't know what any of this means, just leave it at default. The default configuration is very likely OK for you. The edge counters use the grouping as set bysetGroup(char[])
. .. versionadded:: 2.0.1$nbsp;(Plugin)- Throws:
TinkerforgeException
-
getEdgeCountConfig
public BrickletIndustrialDigitalIn4.EdgeCountConfig getEdgeCountConfig(short pin) throws TinkerforgeException
Returns the edge type and debounce time for the selected pin as set bysetEdgeCountConfig(int, short, short)
. .. versionadded:: 2.0.1$nbsp;(Plugin)- Throws:
TinkerforgeException
-
getIdentity
public Device.Identity getIdentity() throws TinkerforgeException
Returns the UID, the UID where the Bricklet is connected to, the position, the hardware and firmware version as well as the device identifier. The position can be 'a', 'b', 'c', 'd', 'e', 'f', 'g' or 'h' (Bricklet Port). A Bricklet connected to an :ref:`Isolator Bricklet <isolator_bricklet>` is always at position 'z'. The device identifier numbers can be found :ref:`here <device_identifier>`. |device_identifier_constant|- Specified by:
getIdentity
in classDevice
- Throws:
TinkerforgeException
-
addInterruptListener
public void addInterruptListener(BrickletIndustrialDigitalIn4.InterruptListener listener)
Adds a Interrupt listener.
-
removeInterruptListener
public void removeInterruptListener(BrickletIndustrialDigitalIn4.InterruptListener listener)
Removes a Interrupt listener.
-
-