knx
ETS configurable knx-stack
DataLinkLayer Class Referenceabstract

#include <data_link_layer.h>

Inheritance diagram for DataLinkLayer:
[legend]
Collaboration diagram for DataLinkLayer:
[legend]

Public Member Functions

 DataLinkLayer (DeviceObject &devObj, NetworkLayerEntity &netLayerEntity, Platform &platform)
 
void cemiServer (CemiServer &cemiServer)
 
void dataRequestFromTunnel (CemiFrame &frame)
 
virtual void dataRequestToTunnel (CemiFrame &frame)
 
virtual void dataConfirmationToTunnel (CemiFrame &frame)
 
virtual void dataIndicationToTunnel (CemiFrame &frame)
 
virtual bool isTunnelAddress (uint16_t addr)
 
void ipParameterObject (IpParameterObject *object)
 
void dataRequest (AckType ack, AddressType addrType, uint16_t destinationAddr, uint16_t sourceAddr, FrameFormat format, Priority priority, NPDU &npdu)
 
void systemBroadcastRequest (AckType ack, FrameFormat format, Priority priority, NPDU &npdu, uint16_t sourceAddr)
 
virtual void loop ()=0
 
virtual void enabled (bool value)=0
 
virtual bool enabled () const =0
 
virtual DptMedium mediumType () const =0
 

Protected Member Functions

void frameReceived (CemiFrame &frame)
 
void dataConReceived (CemiFrame &frame, bool success)
 
bool sendTelegram (NPDU &npdu, AckType ack, uint16_t destinationAddr, AddressType addrType, uint16_t sourceAddr, FrameFormat format, Priority priority, SystemBroadcast systemBroadcast, bool doNotRepeat=false)
 
virtual bool sendFrame (CemiFrame &frame)=0
 
uint8_t * frameData (CemiFrame &frame)
 
bool isTunnelingPA (uint16_t pa)
 
bool isRoutedPA (uint16_t pa)
 

Protected Attributes

DeviceObject_deviceObject
 
NetworkLayerEntity_networkLayerEntity
 
Platform_platform
 
CemiServer_cemiServer
 
uint8_t _netIndex = 0
 
IpParameterObject_ipParameters
 

Detailed Description

Definition at line 29 of file data_link_layer.h.

Constructor & Destructor Documentation

◆ DataLinkLayer()

DataLinkLayer::DataLinkLayer ( DeviceObject devObj,
NetworkLayerEntity netLayerEntity,
Platform platform 
)

Definition at line 21 of file data_link_layer.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ cemiServer()

void DataLinkLayer::cemiServer ( CemiServer cemiServer)

Definition at line 31 of file data_link_layer.cpp.

Here is the caller graph for this function:

◆ dataConfirmationToTunnel()

void DataLinkLayer::dataConfirmationToTunnel ( CemiFrame frame)
virtual

Reimplemented in IpDataLinkLayer.

Definition at line 42 of file data_link_layer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dataConReceived()

void DataLinkLayer::dataConReceived ( CemiFrame frame,
bool  success 
)
protected

Definition at line 111 of file data_link_layer.cpp.

Here is the call graph for this function:

◆ dataIndicationToTunnel()

void DataLinkLayer::dataIndicationToTunnel ( CemiFrame frame)
virtual

Reimplemented in IpDataLinkLayer.

Definition at line 47 of file data_link_layer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dataRequest()

void DataLinkLayer::dataRequest ( AckType  ack,
AddressType  addrType,
uint16_t  destinationAddr,
uint16_t  sourceAddr,
FrameFormat  format,
Priority  priority,
NPDU npdu 
)

Definition at line 96 of file data_link_layer.cpp.

Here is the call graph for this function:

◆ dataRequestFromTunnel()

void DataLinkLayer::dataRequestFromTunnel ( CemiFrame frame)

Definition at line 59 of file data_link_layer.cpp.

Here is the call graph for this function:

◆ dataRequestToTunnel()

void DataLinkLayer::dataRequestToTunnel ( CemiFrame frame)
virtual

Reimplemented in IpDataLinkLayer.

Definition at line 37 of file data_link_layer.cpp.

Here is the call graph for this function:

◆ enabled() [1/2]

virtual bool DataLinkLayer::enabled ( ) const
pure virtual

◆ enabled() [2/2]

virtual void DataLinkLayer::enabled ( bool  value)
pure virtual

◆ frameData()

uint8_t * DataLinkLayer::frameData ( CemiFrame frame)
protected

Definition at line 276 of file data_link_layer.cpp.

◆ frameReceived()

void DataLinkLayer::frameReceived ( CemiFrame frame)
protected

Definition at line 148 of file data_link_layer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ipParameterObject()

void DataLinkLayer::ipParameterObject ( IpParameterObject object)

◆ isRoutedPA()

bool DataLinkLayer::isRoutedPA ( uint16_t  pa)
protected

Definition at line 296 of file data_link_layer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isTunnelAddress()

bool DataLinkLayer::isTunnelAddress ( uint16_t  addr)
virtual

Reimplemented in IpDataLinkLayer.

Definition at line 52 of file data_link_layer.cpp.

Here is the call graph for this function:

◆ isTunnelingPA()

bool DataLinkLayer::isTunnelingPA ( uint16_t  pa)
protected

Definition at line 282 of file data_link_layer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ loop()

virtual void DataLinkLayer::loop ( )
pure virtual

◆ mediumType()

virtual DptMedium DataLinkLayer::mediumType ( ) const
pure virtual

Implemented in TpUartDataLinkLayer, RfDataLinkLayer, and IpDataLinkLayer.

Here is the caller graph for this function:

◆ sendFrame()

virtual bool DataLinkLayer::sendFrame ( CemiFrame frame)
protectedpure virtual
Here is the caller graph for this function:

◆ sendTelegram()

bool DataLinkLayer::sendTelegram ( NPDU npdu,
AckType  ack,
uint16_t  destinationAddr,
AddressType  addrType,
uint16_t  sourceAddr,
FrameFormat  format,
Priority  priority,
SystemBroadcast  systemBroadcast,
bool  doNotRepeat = false 
)
protected

Definition at line 200 of file data_link_layer.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ systemBroadcastRequest()

void DataLinkLayer::systemBroadcastRequest ( AckType  ack,
FrameFormat  format,
Priority  priority,
NPDU npdu,
uint16_t  sourceAddr 
)

Definition at line 104 of file data_link_layer.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ _cemiServer

CemiServer* DataLinkLayer::_cemiServer
protected

Definition at line 67 of file data_link_layer.h.

◆ _deviceObject

DeviceObject& DataLinkLayer::_deviceObject
protected

Definition at line 63 of file data_link_layer.h.

◆ _ipParameters

IpParameterObject* DataLinkLayer::_ipParameters
protected

Definition at line 75 of file data_link_layer.h.

◆ _netIndex

uint8_t DataLinkLayer::_netIndex = 0
protected

Definition at line 70 of file data_link_layer.h.

◆ _networkLayerEntity

NetworkLayerEntity& DataLinkLayer::_networkLayerEntity
protected

Definition at line 64 of file data_link_layer.h.

◆ _platform

Platform& DataLinkLayer::_platform
protected

Definition at line 65 of file data_link_layer.h.


The documentation for this class was generated from the following files: