Package com.tinkerforge
Class BrickletDualRelay
- java.lang.Object
-
- com.tinkerforge.DeviceBase
-
- com.tinkerforge.Device
-
- com.tinkerforge.BrickletDualRelay
-
public class BrickletDualRelay extends Device
Two relays to switch AC/DC devices
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
BrickletDualRelay.Monoflop
static interface
BrickletDualRelay.MonoflopDoneListener
This listener is triggered whenever a monoflop timer reaches 0.class
BrickletDualRelay.State
-
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 byte
FUNCTION_GET_IDENTITY
static byte
FUNCTION_GET_MONOFLOP
static byte
FUNCTION_GET_STATE
static byte
FUNCTION_SET_MONOFLOP
static byte
FUNCTION_SET_SELECTED_STATE
static byte
FUNCTION_SET_STATE
-
Constructor Summary
Constructors Constructor Description BrickletDualRelay(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
addMonoflopDoneListener(BrickletDualRelay.MonoflopDoneListener listener)
Adds a MonoflopDone listener.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.BrickletDualRelay.Monoflop
getMonoflop(short relay)
Returns (for the given relay) the current state and the time as set bysetMonoflop(short, boolean, long)
as well as the remaining time until the state flips.BrickletDualRelay.State
getState()
Returns the state of the relays, *true* means on and *false* means off.void
removeMonoflopDoneListener(BrickletDualRelay.MonoflopDoneListener listener)
Removes a MonoflopDone listener.void
setMonoflop(short relay, boolean state, long time)
The first parameter can be 1 or 2 (relay 1 or relay 2).void
setSelectedState(short relay, boolean state)
Sets the state of the selected relay (1 or 2), *true* means on and *false* means off.void
setState(boolean relay1, boolean relay2)
Sets the state of the relays, *true* means on and *false* means off.-
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_SET_STATE
public static final byte FUNCTION_SET_STATE
- See Also:
- Constant Field Values
-
FUNCTION_GET_STATE
public static final byte FUNCTION_GET_STATE
- See Also:
- Constant Field Values
-
FUNCTION_SET_MONOFLOP
public static final byte FUNCTION_SET_MONOFLOP
- See Also:
- Constant Field Values
-
FUNCTION_GET_MONOFLOP
public static final byte FUNCTION_GET_MONOFLOP
- See Also:
- Constant Field Values
-
FUNCTION_SET_SELECTED_STATE
public static final byte FUNCTION_SET_SELECTED_STATE
- See Also:
- Constant Field Values
-
FUNCTION_GET_IDENTITY
public static final byte FUNCTION_GET_IDENTITY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
BrickletDualRelay
public BrickletDualRelay(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
-
setState
public void setState(boolean relay1, boolean relay2) throws TinkerforgeException
Sets the state of the relays, *true* means on and *false* means off. For example: (true, false) turns relay 1 on and relay 2 off. If you just want to set one of the relays and don't know the current state of the other relay, you can get the state withgetState()
or you can usesetSelectedState(short, boolean)
. All running monoflop timers will be aborted if this function is called.- Throws:
TinkerforgeException
-
getState
public BrickletDualRelay.State getState() throws TinkerforgeException
Returns the state of the relays, *true* means on and *false* means off.- Throws:
TinkerforgeException
-
setMonoflop
public void setMonoflop(short relay, boolean state, long time) throws TinkerforgeException
The first parameter can be 1 or 2 (relay 1 or relay 2). The second parameter is the desired state of the relay (*true* means on and *false* means off). The third parameter indicates the time that the relay should hold the state. If this function is called with the parameters (1, true, 1500): Relay 1 will turn on and in 1.5s it will turn off again. A monoflop can be used as a failsafe mechanism. For example: Lets assume you have a RS485 bus and a Dual Relay Bricklet connected to one of the slave stacks. You can now call this function every second, with a time parameter of two seconds. The relay will be on all the time. If now the RS485 connection is lost, the relay will turn off in at most two seconds.- Throws:
TinkerforgeException
-
getMonoflop
public BrickletDualRelay.Monoflop getMonoflop(short relay) throws TinkerforgeException
Returns (for the given relay) the current state and the time as set bysetMonoflop(short, boolean, long)
as well as the remaining time until the state flips. If the timer is not running currently, the remaining time will be returned as 0.- Throws:
TinkerforgeException
-
setSelectedState
public void setSelectedState(short relay, boolean state) throws TinkerforgeException
Sets the state of the selected relay (1 or 2), *true* means on and *false* means off. A running monoflop timer for the selected relay will be aborted if this function is called. The other relay remains untouched.- 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
-
addMonoflopDoneListener
public void addMonoflopDoneListener(BrickletDualRelay.MonoflopDoneListener listener)
Adds a MonoflopDone listener.
-
removeMonoflopDoneListener
public void removeMonoflopDoneListener(BrickletDualRelay.MonoflopDoneListener listener)
Removes a MonoflopDone listener.
-
-