22 _deviceObject(devObj), _networkLayerEntity(netLayerEntity), _platform(platform)
24 #ifdef KNX_ACTIVITYCALLBACK
29 #ifdef USE_CEMI_SERVER
39 println(
"default dataRequestToTunnel");
44 println(
"default dataConfirmationToTunnel");
49 println(
"default dataIndicationToTunnel");
54 println(
"default IsTunnelAddress");
125 #ifdef USE_CEMI_SERVER
160 #ifdef USE_CEMI_SERVER
184 if (source == ownAddr)
231 bool sendTheFrame =
true;
244 sendTheFrame =
false;
256 #ifdef USE_CEMI_SERVER
284 uint8_t numAddresses = 0;
287 for (uint8_t i = 0; i < numAddresses; i++)
289 if (pa == addresses[i])
301 if ((ownpa & 0x0F00) == 0x0)
306 return (pa & own_sm) != ownpa;
SystemBroadcast systemBroadcast() const
uint16_t sourceAddress() const
uint8_t * rfSerialOrDoA() const
Repetition repetition() const
uint16_t destinationAddress() const
MessageCode messageCode() const
AddressType addressType() const
FrameFormat frameType() const
Priority priority() const
uint16_t totalLenght() const
This is an implementation of the cEMI server as specified in .
void dataConfirmationToTunnel(CemiFrame &frame)
void dataIndicationToTunnel(CemiFrame &frame)
uint16_t clientAddress() const
virtual void activity(uint8_t info)
virtual void setActivityCallback(ActivityCallback activityCallback)
ActivityCallback _activityCallback
void systemBroadcastRequest(AckType ack, FrameFormat format, Priority priority, NPDU &npdu, uint16_t sourceAddr)
virtual bool sendFrame(CemiFrame &frame)=0
NetworkLayerEntity & _networkLayerEntity
void frameReceived(CemiFrame &frame)
void dataConReceived(CemiFrame &frame, bool success)
virtual void dataIndicationToTunnel(CemiFrame &frame)
uint8_t * frameData(CemiFrame &frame)
bool isTunnelingPA(uint16_t pa)
DataLinkLayer(DeviceObject &devObj, NetworkLayerEntity &netLayerEntity, Platform &platform)
IpParameterObject * _ipParameters
virtual void dataConfirmationToTunnel(CemiFrame &frame)
DeviceObject & _deviceObject
virtual bool isTunnelAddress(uint16_t addr)
virtual void dataRequestToTunnel(CemiFrame &frame)
void cemiServer(CemiServer &cemiServer)
void dataRequest(AckType ack, AddressType addrType, uint16_t destinationAddr, uint16_t sourceAddr, FrameFormat format, Priority priority, NPDU &npdu)
bool isRoutedPA(uint16_t pa)
void dataRequestFromTunnel(CemiFrame &frame)
bool sendTelegram(NPDU &npdu, AckType ack, uint16_t destinationAddr, AddressType addrType, uint16_t sourceAddr, FrameFormat format, Priority priority, SystemBroadcast systemBroadcast, bool doNotRepeat=false)
void individualAddressDuplication(bool value)
uint16_t individualAddress()
uint16_t * additionalIndivualAddresses(uint8_t &numAddresses)
uint8_t octetCount() const
void systemBroadcastIndication(AckType ack, FrameFormat format, NPDU &npdu, Priority priority, uint16_t source)
void dataConfirm(AckType ack, AddressType addressType, uint16_t destination, FrameFormat format, Priority priority, uint16_t source, NPDU &npdu, bool status)
void systemBroadcastConfirm(AckType ack, FrameFormat format, Priority priority, uint16_t source, NPDU &npdu, bool status)
void dataIndication(AckType ack, AddressType addType, uint16_t destination, FrameFormat format, NPDU &npdu, Priority priority, uint16_t source)
void broadcastConfirm(AckType ack, FrameFormat format, Priority priority, uint16_t source, NPDU &npdu, bool status)
void broadcastIndication(AckType ack, FrameFormat format, NPDU &npdu, Priority priority, uint16_t source)
void(* ActivityCallback)(uint8_t info)