|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttuwien.auto.calimero.link.KNXNetworkLinkFT12
public class KNXNetworkLinkFT12
Implementation of the KNX network network link based on the FT1.2 protocol, using a
FT12Connection
.
Once a link has been closed, it is not available for further link communication, i.e. it can't be reopened.
Constructor Summary | |
---|---|
KNXNetworkLinkFT12(int portNumber,
KNXMediumSettings settings)
Creates a new network link based on the FT1.2 protocol for accessing the KNX network. |
|
KNXNetworkLinkFT12(java.lang.String portID,
KNXMediumSettings settings)
Creates a new network link based on the FT1.2 protocol for accessing the KNX network. |
Method Summary | |
---|---|
void |
addLinkListener(NetworkLinkListener l)
Adds the specified event listener l to receive events from this
link. |
void |
close()
Ends communication with the KNX network and closes the network link. |
byte |
getHopCount()
Returns the hop count used as default for KNX messages. |
KNXMediumSettings |
getKNXMedium()
Returns the KNX medium settings used by this network link. |
java.lang.String |
getName()
Returns the name of the link, a short textual representation to identify a link. |
boolean |
isOpen()
Checks for open network link. |
void |
removeLinkListener(NetworkLinkListener l)
Removes the specified event listener l , so it does no longer
receive events from this link. |
void |
send(CEMILData msg,
boolean waitForCon)
Sends a KNX link layer message supplied as type cEMI L-data. |
void |
sendRequest(KNXAddress dst,
Priority p,
byte[] nsdu)
Sends a link layer request message to the given destination. |
void |
sendRequestWait(KNXAddress dst,
Priority p,
byte[] nsdu)
Sends a link layer request message to the given destination, and waits for the corresponding link layer confirmation. |
void |
setHopCount(int count)
Sets the hop count used as default in KNX messages. |
void |
setKNXMedium(KNXMediumSettings settings)
Supplies medium information necessary for KNX communication. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public KNXNetworkLinkFT12(int portNumber, KNXMediumSettings settings) throws KNXException
The port number is used to choose the serial port for communication. It is mapped to the default port identifier using that number on the platform.
portNumber
- port number of the serial communication port to usesettings
- medium settings defining device and medium specifics needed for
communication
KNXException
public KNXNetworkLinkFT12(java.lang.String portID, KNXMediumSettings settings) throws KNXException
The port identifier is used to choose the serial port for communication. These identifiers are usually device and platform specific.
portID
- identifier of the serial communication port to usesettings
- medium settings defining device and medium specifics needed for
communication
KNXException
Method Detail |
---|
public void addLinkListener(NetworkLinkListener l)
KNXNetworkLink
l
to receive events from this
link.
If l
was already added as listener, no action is performed.
addLinkListener
in interface KNXNetworkLink
l
- the listener to addpublic void close()
KNXNetworkLink
All registered link listeners get notified.
If no communication access was established in the first place, no action is
performed.
close
in interface KNXNetworkLink
public byte getHopCount()
KNXNetworkLink
getHopCount
in interface KNXNetworkLink
KNXNetworkLink.setHopCount(int)
public KNXMediumSettings getKNXMedium()
KNXNetworkLink
The returned object is a reference to the one used by this link (not a copy).
getKNXMedium
in interface KNXNetworkLink
public java.lang.String getName()
KNXNetworkLink
The name is unique for links with different remote endpoints.
The returned name is used by this link for the name of its log service. Supply
KNXNetworkLink.getName()
for LogManager.getLogService(String)
for example to get
the log service of this link.
By default, "link " + address/ID of the remote endpoint is returned (e.g. "Link
192.168.0.10:3671" for an IP link).
After closing the link, the returned name might differ, e.g. get reset to some
arbitrary default name.
getName
in interface KNXNetworkLink
public boolean isOpen()
KNXNetworkLink
After a call to KNXNetworkLink.close()
or after the underlying protocol initiated the end
of the communication, this method always returns false
.
isOpen
in interface KNXNetworkLink
true
if this network link is open, false
on
closedpublic void removeLinkListener(NetworkLinkListener l)
KNXNetworkLink
l
, so it does no longer
receive events from this link.
If l
was not added in the first place, no action is performed.
removeLinkListener
in interface KNXNetworkLink
l
- the listener to removepublic void send(CEMILData msg, boolean waitForCon) throws KNXTimeoutException, KNXLinkClosedException
KNXNetworkLink
If the source address of msg
is 0.0.0, the device address supplied
in the medium settings is used as message source address.
send
in interface KNXNetworkLink
msg
- cEMI L-data message to sendwaitForCon
- true
to wait for link layer confirmation response,
false
to not wait for the confirmation
KNXTimeoutException
- on a timeout during send (for example when waiting on
acknowledge using a reliable sending protocol)
KNXLinkClosedException
- if the link is closedpublic void sendRequest(KNXAddress dst, Priority p, byte[] nsdu) throws KNXTimeoutException, KNXLinkClosedException
KNXNetworkLink
Depending on the address, the request is either point-to-point, multicast or
broadcast. A network link implementation is allowed to interpret a dst
parameter of null
as system broadcast, or otherwise uses its default
broadcast behavior.
sendRequest
in interface KNXNetworkLink
dst
- KNX destination address, or null
p
- priority this KNX message is assigned tonsdu
- network layer service data unit
KNXTimeoutException
- on a timeout during send (for example when waiting on
acknowledge using a reliable sending protocol)
KNXLinkClosedException
- if the link is closedpublic void sendRequestWait(KNXAddress dst, Priority p, byte[] nsdu) throws KNXTimeoutException, KNXLinkClosedException
KNXNetworkLink
Depending on the address, the request is either point-to-point, multicast or
broadcast. A network link implementation is allowed to interpret a dst
parameter of null
as system broadcast, or otherwise uses its default
broadcast behavior.
sendRequestWait
in interface KNXNetworkLink
dst
- KNX destination address, or null
p
- priority this message is assigned tonsdu
- network layer service data unit
KNXTimeoutException
- on a timeout during send or while waiting for the
confirmation
KNXLinkClosedException
- if the link is closedpublic void setHopCount(int count)
KNXNetworkLink
It denotes how many sub networks a message is allowed to travel.
A message its hop count is decremented by KNX routers to limit distance and avoid
looping. On hop count value 0, the message is discarded from the network. A hop
count of 7 never gets decremented.
By default, a hop count of 6 is specified.
setHopCount
in interface KNXNetworkLink
count
- hop count value, 0 <= value <= 7public void setKNXMedium(KNXMediumSettings settings)
KNXNetworkLink
These informations are differing between KNX media and depend on the KNX network
this link is communicating with.
The settings
medium type has to match the medium type supplied to
the link in the first place.
The settings
object is not copied internally to allow subsequent
changes to medium settings by the user which should take effect immediately.
setKNXMedium
in interface KNXNetworkLink
settings
- medium settings to use, the expected subtype is according to the
KNX network mediumpublic java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |