knx
ETS configurable knx-stack
ApplicationLayer Class Reference

This is an implementation of the application layer as specified in [4]. More...

#include <application_layer.h>

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

Public Member Functions

 ApplicationLayer (BusAccessUnit &bau)
 The constructor. More...
 
void transportLayer (TransportLayer &layer)
 Assigns the TransportLayer to which encoded APDU are submitted to. More...
 
void associationTableObject (AssociationTableObject &assocTable)
 
virtual void dataGroupIndication (HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu)
 Somebody send us an APDU via multicast communication. More...
 
virtual void dataGroupConfirm (AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, bool status)
 Report the status of an APDU that we sent via multicast communication back to us. More...
 
virtual void dataBroadcastIndication (HopCountType hopType, Priority priority, uint16_t source, APDU &apdu)
 
virtual void dataBroadcastConfirm (AckType ack, HopCountType hopType, Priority priority, APDU &apdu, bool status)
 
virtual void dataSystemBroadcastIndication (HopCountType hopType, Priority priority, uint16_t source, APDU &apdu)
 
virtual void dataSystemBroadcastConfirm (HopCountType hopType, Priority priority, APDU &apdu, bool status)
 
virtual void dataIndividualIndication (HopCountType hopType, Priority priority, uint16_t source, APDU &apdu)
 
virtual void dataIndividualConfirm (AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, bool status)
 
virtual void dataConnectedIndication (Priority priority, uint16_t tsap, APDU &apdu)
 
virtual void dataConnectedConfirm (uint16_t tsap)
 
void connectIndication (uint16_t tsap)
 
void connectConfirm (uint16_t destination, uint16_t tsap, bool status)
 
void disconnectIndication (uint16_t tsap)
 
void disconnectConfirm (Priority priority, uint16_t tsap, bool status)
 
void groupValueReadRequest (AckType ack, uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl)
 
void groupValueReadResponse (AckType ack, uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *data, uint8_t dataLength)
 
void groupValueWriteRequest (AckType ack, uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *data, uint8_t dataLength)
 
void individualAddressWriteRequest (AckType ack, HopCountType hopType, const SecurityControl &secCtrl, uint16_t newaddress)
 
void individualAddressReadRequest (AckType ack, HopCountType hopType, const SecurityControl &secCtrl)
 
void individualAddressReadResponse (AckType ack, HopCountType hopType, const SecurityControl &secCtrl)
 
void individualAddressSerialNumberReadRequest (AckType ack, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *serialNumber)
 
void individualAddressSerialNumberReadResponse (AckType ack, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *serialNumber, uint16_t domainAddress)
 
void individualAddressSerialNumberWriteRequest (AckType ack, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *serialNumber, uint16_t newaddress)
 
void deviceDescriptorReadRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t descriptorType)
 
void deviceDescriptorReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t descriptorType, uint8_t *deviceDescriptor)
 
void connectRequest (uint16_t destination, Priority priority)
 
void disconnectRequest (Priority priority)
 
bool isConnected ()
 
void restartRequest (AckType ack, Priority priority, HopCountType hopType, const SecurityControl &secCtrl)
 
void restartResponse (AckType ack, Priority priority, HopCountType hopType, const SecurityControl &secCtrl, uint8_t errorCode, uint16_t processTime)
 
void propertyValueReadRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t objectIndex, uint8_t propertyId, uint8_t numberOfElements, uint16_t startIndex)
 
void propertyValueReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t objectIndex, uint8_t propertyId, uint8_t numberOfElements, uint16_t startIndex, uint8_t *data, uint8_t length)
 
void propertyValueExtReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint16_t objectType, uint8_t objectInstance, uint8_t propertyId, uint8_t numberOfElements, uint16_t startIndex, uint8_t *data, uint8_t length)
 
void propertyValueExtWriteConResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint16_t objectType, uint8_t objectInstance, uint8_t propertyId, uint8_t numberOfElements, uint16_t startIndex, uint8_t returnCode)
 
void propertyValueWriteRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t objectIndex, uint8_t propertyId, uint8_t numberOfElements, uint16_t startIndex, uint8_t *data, uint8_t length)
 
void adcReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t channelNr, uint8_t readCount, int16_t value)
 
void functionPropertyStateResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t objectIndex, uint8_t propertyId, uint8_t *resultData, uint8_t resultLength)
 
void functionPropertyExtStateResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint16_t objectType, uint8_t objectInstance, uint16_t propertyId, uint8_t *resultData, uint8_t resultLength)
 
void propertyDescriptionReadRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t objectIndex, uint8_t propertyId, uint8_t propertyIndex)
 
void propertyDescriptionReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t objectIndex, uint8_t propertyId, uint8_t propertyIndex, bool writeEnable, uint8_t type, uint16_t maxNumberOfElements, uint8_t access)
 
void propertyExtDescriptionReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint16_t objectType, uint16_t objectInstance, uint16_t propertyId, uint16_t propertyIndex, uint8_t descriptionType, bool writeEnable, uint8_t type, uint16_t maxNumberOfElements, uint8_t access)
 
void memoryReadRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint16_t memoryAddress)
 
void memoryReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint16_t memoryAddress, uint8_t *data)
 
void memoryRouterReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint16_t memoryAddress, uint8_t *data)
 
void memoryRoutingTableReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint16_t memoryAddress, uint8_t *data)
 
void memoryExtReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, ReturnCodes code, uint8_t number, uint32_t memoryAddress, uint8_t *data)
 
void memoryExtWriteResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, ReturnCodes code, uint8_t number, uint32_t memoryAddress, uint8_t *memoryData)
 
void memoryWriteRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint16_t memoryAddress, uint8_t *data)
 
void userMemoryReadRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint32_t memoryAddress)
 
void userMemoryReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint32_t memoryAddress, uint8_t *memoryData)
 
void userMemoryWriteRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t number, uint32_t memoryAddress, uint8_t *memoryData)
 
void userManufacturerInfoReadRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl)
 
void userManufacturerInfoReadResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t *info)
 
void authorizeRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint32_t key)
 
void authorizeResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t level)
 
void keyWriteRequest (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t level, uint32_t key)
 
void keyWriteResponse (AckType ack, Priority priority, HopCountType hopType, uint16_t asap, const SecurityControl &secCtrl, uint8_t level)
 
void systemNetworkParameterReadResponse (Priority priority, HopCountType hopType, const SecurityControl &secCtrl, uint16_t objectType, uint16_t propertyId, uint8_t *testInfo, uint16_t testInfoLength, uint8_t *testResult, uint16_t testResultLength)
 
void domainAddressSerialNumberReadResponse (Priority priority, HopCountType hopType, const SecurityControl &secCtrl, const uint8_t *rfDoA, const uint8_t *knxSerialNumber)
 
void IndividualAddressSerialNumberReadResponse (Priority priority, HopCountType hopType, const SecurityControl &secCtrl, const uint8_t *domainAddress, const uint8_t *knxSerialNumber)
 

Protected Member Functions

void dataGroupIndication (HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, const SecurityControl &secCtrl)
 
void dataGroupConfirm (AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, const SecurityControl &secCtrl, bool status)
 
void dataBroadcastIndication (HopCountType hopType, Priority priority, uint16_t source, APDU &apdu, const SecurityControl &secCtrl)
 
void dataBroadcastConfirm (AckType ack, HopCountType hopType, Priority priority, APDU &apdu, const SecurityControl &secCtrl, bool status)
 
void dataSystemBroadcastIndication (HopCountType hopType, Priority priority, uint16_t source, APDU &apdu, const SecurityControl &secCtrl)
 
void dataSystemBroadcastConfirm (HopCountType hopType, Priority priority, APDU &apdu, const SecurityControl &secCtrl, bool status)
 
void dataIndividualIndication (HopCountType hopType, Priority priority, uint16_t source, APDU &apdu, const SecurityControl &secCtrl)
 
void dataIndividualConfirm (AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, const SecurityControl &secCtrl, bool status)
 
void dataConnectedIndication (Priority priority, uint16_t tsap, APDU &apdu, const SecurityControl &secCtrl)
 
void dataConnectedConfirm (uint16_t tsap, const SecurityControl &secCtrl)
 
virtual void dataGroupRequest (AckType ack, HopCountType hopType, Priority priority, uint16_t tsap, APDU &apdu, const SecurityControl &secCtrl)
 
virtual void dataBroadcastRequest (AckType ack, HopCountType hopType, Priority priority, APDU &apdu, const SecurityControl &secCtrl)
 
virtual void dataSystemBroadcastRequest (AckType ack, HopCountType hopType, Priority priority, APDU &apdu, const SecurityControl &secCtrl)
 
virtual void dataIndividualRequest (AckType ack, HopCountType hopType, Priority priority, uint16_t destination, APDU &apdu, const SecurityControl &secCtrl)
 
virtual void dataConnectedRequest (uint16_t tsap, Priority priority, APDU &apdu, const SecurityControl &secCtrl)
 
uint16_t getConnectedTsasp ()
 

Protected Attributes

TransportLayer_transportLayer = 0
 

Static Protected Attributes

static const SecurityControl noSecurity {.toolAccess = false, .dataSecurity = DataSecurity::None}
 

Detailed Description

This is an implementation of the application layer as specified in [4].

It provides methods for the BusAccessUnit to do different things and translates this call to an APDU and calls the correct method of the TransportLayer. It also takes calls from TransportLayer, decodes the submitted APDU and calls the corresponding methods of the BusAccessUnit class.

Definition at line 17 of file application_layer.h.

Constructor & Destructor Documentation

◆ ApplicationLayer()

ApplicationLayer::ApplicationLayer ( BusAccessUnit bau)

The constructor.

Parameters
assocTableThe AssociationTable is used to translate between asap (i.e. group objects) and group addresses.
baumethods are called here depending of the content of the APDU

Definition at line 13 of file application_layer.cpp.

Member Function Documentation

◆ adcReadResponse()

void ApplicationLayer::adcReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  channelNr,
uint8_t  readCount,
int16_t  value 
)

Definition at line 671 of file application_layer.cpp.

Here is the call graph for this function:

◆ associationTableObject()

void ApplicationLayer::associationTableObject ( AssociationTableObject assocTable)

Definition at line 22 of file application_layer.cpp.

Here is the caller graph for this function:

◆ authorizeRequest()

void ApplicationLayer::authorizeRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint32_t  key 
)

Definition at line 922 of file application_layer.cpp.

Here is the call graph for this function:

◆ authorizeResponse()

void ApplicationLayer::authorizeResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  level 
)

Definition at line 932 of file application_layer.cpp.

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

◆ connectConfirm()

void ApplicationLayer::connectConfirm ( uint16_t  destination,
uint16_t  tsap,
bool  status 
)

Definition at line 352 of file application_layer.cpp.

Here is the call graph for this function:

◆ connectIndication()

void ApplicationLayer::connectIndication ( uint16_t  tsap)

Definition at line 347 of file application_layer.cpp.

◆ connectRequest()

void ApplicationLayer::connectRequest ( uint16_t  destination,
Priority  priority 
)

Definition at line 534 of file application_layer.cpp.

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

◆ dataBroadcastConfirm() [1/2]

void ApplicationLayer::dataBroadcastConfirm ( AckType  ack,
HopCountType  hopType,
Priority  priority,
APDU apdu,
bool  status 
)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 175 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataBroadcastConfirm() [2/2]

void ApplicationLayer::dataBroadcastConfirm ( AckType  ack,
HopCountType  hopType,
Priority  priority,
APDU apdu,
const SecurityControl secCtrl,
bool  status 
)
protected

Definition at line 180 of file application_layer.cpp.

Here is the call graph for this function:

◆ dataBroadcastIndication() [1/2]

void ApplicationLayer::dataBroadcastIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  source,
APDU apdu 
)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 116 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataBroadcastIndication() [2/2]

void ApplicationLayer::dataBroadcastIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  source,
APDU apdu,
const SecurityControl secCtrl 
)
protected

Definition at line 121 of file application_layer.cpp.

Here is the call graph for this function:

◆ dataBroadcastRequest()

void ApplicationLayer::dataBroadcastRequest ( AckType  ack,
HopCountType  hopType,
Priority  priority,
APDU apdu,
const SecurityControl secCtrl 
)
protectedvirtual

Reimplemented in SecureApplicationLayer.

Definition at line 1526 of file application_layer.cpp.

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

◆ dataConnectedConfirm() [1/2]

void ApplicationLayer::dataConnectedConfirm ( uint16_t  tsap)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 383 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataConnectedConfirm() [2/2]

void ApplicationLayer::dataConnectedConfirm ( uint16_t  tsap,
const SecurityControl secCtrl 
)
protected

Definition at line 388 of file application_layer.cpp.

◆ dataConnectedIndication() [1/2]

void ApplicationLayer::dataConnectedIndication ( Priority  priority,
uint16_t  tsap,
APDU apdu 
)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 373 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataConnectedIndication() [2/2]

void ApplicationLayer::dataConnectedIndication ( Priority  priority,
uint16_t  tsap,
APDU apdu,
const SecurityControl secCtrl 
)
protected

Definition at line 378 of file application_layer.cpp.

◆ dataConnectedRequest()

void ApplicationLayer::dataConnectedRequest ( uint16_t  tsap,
Priority  priority,
APDU apdu,
const SecurityControl secCtrl 
)
protectedvirtual

Reimplemented in SecureApplicationLayer.

Definition at line 1541 of file application_layer.cpp.

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

◆ dataGroupConfirm() [1/2]

void ApplicationLayer::dataGroupConfirm ( AckType  ack,
HopCountType  hopType,
Priority  priority,
uint16_t  tsap,
APDU apdu,
bool  status 
)
virtual

Report the status of an APDU that we sent via multicast communication back to us.

See 3.2 of [1]. See also ApplicationLayer::dataGroupConfirm and TransportLayer::dataGroupRequest. This method is called by the TransportLayer.

Parameters
tsapused the find the correct GroupObject with the help of the AssociationTableObject. See 3.1.1 of [2]
apduThe submitted APDU.
priorityThe Priority of the received request.
hopTypeShould routing be endless or should the NetworkLayer::hopCount be used? See also HopCountType.
statusWas the request successful?
ackDid we want a DataLinkLayer acknowledgement? See AckType.

Reimplemented in SecureApplicationLayer.

Definition at line 80 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataGroupConfirm() [2/2]

void ApplicationLayer::dataGroupConfirm ( AckType  ack,
HopCountType  hopType,
Priority  priority,
uint16_t  tsap,
APDU apdu,
const SecurityControl secCtrl,
bool  status 
)
protected

Definition at line 85 of file application_layer.cpp.

Here is the call graph for this function:

◆ dataGroupIndication() [1/2]

void ApplicationLayer::dataGroupIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  tsap,
APDU apdu 
)
virtual

Somebody send us an APDU via multicast communication.

See 3.2 of [1]. See also ApplicationLayer::dataGroupConfirm and TransportLayer::dataGroupRequest. This method is called by the TransportLayer.

Parameters
tsapused the find the correct GroupObject with the help of the AssociationTableObject. See 3.1.1 of [2]
apduThe submitted APDU.
priorityThe Priority of the received request.
hopTypeShould routing be endless or should the NetworkLayer::hopCount be used? See also HopCountType.

Reimplemented in SecureApplicationLayer.

Definition at line 29 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataGroupIndication() [2/2]

void ApplicationLayer::dataGroupIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  tsap,
APDU apdu,
const SecurityControl secCtrl 
)
protected

Definition at line 34 of file application_layer.cpp.

Here is the call graph for this function:

◆ dataGroupRequest()

void ApplicationLayer::dataGroupRequest ( AckType  ack,
HopCountType  hopType,
Priority  priority,
uint16_t  tsap,
APDU apdu,
const SecurityControl secCtrl 
)
protectedvirtual

Reimplemented in SecureApplicationLayer.

Definition at line 1521 of file application_layer.cpp.

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

◆ dataIndividualConfirm() [1/2]

void ApplicationLayer::dataIndividualConfirm ( AckType  ack,
HopCountType  hopType,
Priority  priority,
uint16_t  tsap,
APDU apdu,
bool  status 
)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 337 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataIndividualConfirm() [2/2]

void ApplicationLayer::dataIndividualConfirm ( AckType  ack,
HopCountType  hopType,
Priority  priority,
uint16_t  tsap,
APDU apdu,
const SecurityControl secCtrl,
bool  status 
)
protected

Definition at line 342 of file application_layer.cpp.

◆ dataIndividualIndication() [1/2]

void ApplicationLayer::dataIndividualIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  source,
APDU apdu 
)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 327 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataIndividualIndication() [2/2]

void ApplicationLayer::dataIndividualIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  source,
APDU apdu,
const SecurityControl secCtrl 
)
protected

Definition at line 332 of file application_layer.cpp.

◆ dataIndividualRequest()

void ApplicationLayer::dataIndividualRequest ( AckType  ack,
HopCountType  hopType,
Priority  priority,
uint16_t  destination,
APDU apdu,
const SecurityControl secCtrl 
)
protectedvirtual

Reimplemented in SecureApplicationLayer.

Definition at line 1536 of file application_layer.cpp.

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

◆ dataSystemBroadcastConfirm() [1/2]

void ApplicationLayer::dataSystemBroadcastConfirm ( HopCountType  hopType,
Priority  priority,
APDU apdu,
bool  status 
)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 278 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataSystemBroadcastConfirm() [2/2]

void ApplicationLayer::dataSystemBroadcastConfirm ( HopCountType  hopType,
Priority  priority,
APDU apdu,
const SecurityControl secCtrl,
bool  status 
)
protected

Definition at line 283 of file application_layer.cpp.

Here is the call graph for this function:

◆ dataSystemBroadcastIndication() [1/2]

void ApplicationLayer::dataSystemBroadcastIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  source,
APDU apdu 
)
virtual

Reimplemented in SecureApplicationLayer.

Definition at line 229 of file application_layer.cpp.

Here is the caller graph for this function:

◆ dataSystemBroadcastIndication() [2/2]

void ApplicationLayer::dataSystemBroadcastIndication ( HopCountType  hopType,
Priority  priority,
uint16_t  source,
APDU apdu,
const SecurityControl secCtrl 
)
protected

Definition at line 234 of file application_layer.cpp.

Here is the call graph for this function:

◆ dataSystemBroadcastRequest()

void ApplicationLayer::dataSystemBroadcastRequest ( AckType  ack,
HopCountType  hopType,
Priority  priority,
APDU apdu,
const SecurityControl secCtrl 
)
protectedvirtual

Reimplemented in SecureApplicationLayer.

Definition at line 1531 of file application_layer.cpp.

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

◆ deviceDescriptorReadRequest()

void ApplicationLayer::deviceDescriptorReadRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  descriptorType 
)

Definition at line 489 of file application_layer.cpp.

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

◆ deviceDescriptorReadResponse()

void ApplicationLayer::deviceDescriptorReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  descriptorType,
uint8_t *  deviceDescriptor 
)

Definition at line 501 of file application_layer.cpp.

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

◆ disconnectConfirm()

void ApplicationLayer::disconnectConfirm ( Priority  priority,
uint16_t  tsap,
bool  status 
)

Definition at line 368 of file application_layer.cpp.

◆ disconnectIndication()

void ApplicationLayer::disconnectIndication ( uint16_t  tsap)

Definition at line 363 of file application_layer.cpp.

◆ disconnectRequest()

void ApplicationLayer::disconnectRequest ( Priority  priority)

Definition at line 539 of file application_layer.cpp.

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

◆ domainAddressSerialNumberReadResponse()

void ApplicationLayer::domainAddressSerialNumberReadResponse ( Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl,
const uint8_t *  rfDoA,
const uint8_t *  knxSerialNumber 
)

Definition at line 590 of file application_layer.cpp.

Here is the call graph for this function:

◆ functionPropertyExtStateResponse()

void ApplicationLayer::functionPropertyExtStateResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint16_t  objectType,
uint8_t  objectInstance,
uint16_t  propertyId,
uint8_t *  resultData,
uint8_t  resultLength 
)

Definition at line 710 of file application_layer.cpp.

Here is the call graph for this function:

◆ functionPropertyStateResponse()

void ApplicationLayer::functionPropertyStateResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  objectIndex,
uint8_t  propertyId,
uint8_t *  resultData,
uint8_t  resultLength 
)

Definition at line 690 of file application_layer.cpp.

Here is the call graph for this function:

◆ getConnectedTsasp()

uint16_t ApplicationLayer::getConnectedTsasp ( )
inlineprotected

Definition at line 190 of file application_layer.h.

◆ groupValueReadRequest()

void ApplicationLayer::groupValueReadRequest ( AckType  ack,
uint16_t  asap,
Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl 
)

Definition at line 393 of file application_layer.cpp.

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

◆ groupValueReadResponse()

void ApplicationLayer::groupValueReadResponse ( AckType  ack,
uint16_t  asap,
Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl,
uint8_t *  data,
uint8_t  dataLength 
)

Definition at line 415 of file application_layer.cpp.

Here is the caller graph for this function:

◆ groupValueWriteRequest()

void ApplicationLayer::groupValueWriteRequest ( AckType  ack,
uint16_t  asap,
Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl,
uint8_t *  data,
uint8_t  dataLength 
)

Definition at line 421 of file application_layer.cpp.

Here is the caller graph for this function:

◆ individualAddressReadRequest()

void ApplicationLayer::individualAddressReadRequest ( AckType  ack,
HopCountType  hopType,
const SecurityControl secCtrl 
)

Definition at line 437 of file application_layer.cpp.

Here is the call graph for this function:

◆ individualAddressReadResponse()

void ApplicationLayer::individualAddressReadResponse ( AckType  ack,
HopCountType  hopType,
const SecurityControl secCtrl 
)

Definition at line 445 of file application_layer.cpp.

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

◆ individualAddressSerialNumberReadRequest()

void ApplicationLayer::individualAddressSerialNumberReadRequest ( AckType  ack,
HopCountType  hopType,
const SecurityControl secCtrl,
uint8_t *  serialNumber 
)

Definition at line 453 of file application_layer.cpp.

◆ individualAddressSerialNumberReadResponse()

void ApplicationLayer::individualAddressSerialNumberReadResponse ( AckType  ack,
HopCountType  hopType,
const SecurityControl secCtrl,
uint8_t *  serialNumber,
uint16_t  domainAddress 
)

Definition at line 463 of file application_layer.cpp.

◆ IndividualAddressSerialNumberReadResponse()

void ApplicationLayer::IndividualAddressSerialNumberReadResponse ( Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl,
const uint8_t *  domainAddress,
const uint8_t *  knxSerialNumber 
)

Definition at line 609 of file application_layer.cpp.

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

◆ individualAddressSerialNumberWriteRequest()

void ApplicationLayer::individualAddressSerialNumberWriteRequest ( AckType  ack,
HopCountType  hopType,
const SecurityControl secCtrl,
uint8_t *  serialNumber,
uint16_t  newaddress 
)

Definition at line 476 of file application_layer.cpp.

◆ individualAddressWriteRequest()

void ApplicationLayer::individualAddressWriteRequest ( AckType  ack,
HopCountType  hopType,
const SecurityControl secCtrl,
uint16_t  newaddress 
)

Definition at line 427 of file application_layer.cpp.

Here is the call graph for this function:

◆ isConnected()

bool ApplicationLayer::isConnected ( )

Definition at line 1516 of file application_layer.cpp.

◆ keyWriteRequest()

void ApplicationLayer::keyWriteRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  level,
uint32_t  key 
)

Definition at line 942 of file application_layer.cpp.

Here is the call graph for this function:

◆ keyWriteResponse()

void ApplicationLayer::keyWriteResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  level 
)

Definition at line 953 of file application_layer.cpp.

Here is the call graph for this function:

◆ memoryExtReadResponse()

void ApplicationLayer::memoryExtReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
ReturnCodes  code,
uint8_t  number,
uint32_t  memoryAddress,
uint8_t *  data 
)

Definition at line 831 of file application_layer.cpp.

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

◆ memoryExtWriteResponse()

void ApplicationLayer::memoryExtWriteResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
ReturnCodes  code,
uint8_t  number,
uint32_t  memoryAddress,
uint8_t *  memoryData 
)

Definition at line 848 of file application_layer.cpp.

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

◆ memoryReadRequest()

void ApplicationLayer::memoryReadRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint16_t  memoryAddress 
)

Definition at line 801 of file application_layer.cpp.

Here is the call graph for this function:

◆ memoryReadResponse()

void ApplicationLayer::memoryReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint16_t  memoryAddress,
uint8_t *  data 
)

Definition at line 813 of file application_layer.cpp.

Here is the caller graph for this function:

◆ memoryRouterReadResponse()

void ApplicationLayer::memoryRouterReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint16_t  memoryAddress,
uint8_t *  data 
)

Definition at line 819 of file application_layer.cpp.

Here is the caller graph for this function:

◆ memoryRoutingTableReadResponse()

void ApplicationLayer::memoryRoutingTableReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint16_t  memoryAddress,
uint8_t *  data 
)

Definition at line 825 of file application_layer.cpp.

Here is the caller graph for this function:

◆ memoryWriteRequest()

void ApplicationLayer::memoryWriteRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint16_t  memoryAddress,
uint8_t *  data 
)

Definition at line 872 of file application_layer.cpp.

◆ propertyDescriptionReadRequest()

void ApplicationLayer::propertyDescriptionReadRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  objectIndex,
uint8_t  propertyId,
uint8_t  propertyIndex 
)

Definition at line 734 of file application_layer.cpp.

Here is the call graph for this function:

◆ propertyDescriptionReadResponse()

void ApplicationLayer::propertyDescriptionReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  objectIndex,
uint8_t  propertyId,
uint8_t  propertyIndex,
bool  writeEnable,
uint8_t  type,
uint16_t  maxNumberOfElements,
uint8_t  access 
)

Definition at line 747 of file application_layer.cpp.

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

◆ propertyExtDescriptionReadResponse()

void ApplicationLayer::propertyExtDescriptionReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint16_t  objectType,
uint16_t  objectInstance,
uint16_t  propertyId,
uint16_t  propertyIndex,
uint8_t  descriptionType,
bool  writeEnable,
uint8_t  type,
uint16_t  maxNumberOfElements,
uint8_t  access 
)

Definition at line 768 of file application_layer.cpp.

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

◆ propertyValueExtReadResponse()

void ApplicationLayer::propertyValueExtReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint16_t  objectType,
uint8_t  objectInstance,
uint8_t  propertyId,
uint8_t  numberOfElements,
uint16_t  startIndex,
uint8_t *  data,
uint8_t  length 
)

Definition at line 649 of file application_layer.cpp.

Here is the caller graph for this function:

◆ propertyValueExtWriteConResponse()

void ApplicationLayer::propertyValueExtWriteConResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint16_t  objectType,
uint8_t  objectInstance,
uint8_t  propertyId,
uint8_t  numberOfElements,
uint16_t  startIndex,
uint8_t  returnCode 
)

Definition at line 656 of file application_layer.cpp.

Here is the caller graph for this function:

◆ propertyValueReadRequest()

void ApplicationLayer::propertyValueReadRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  objectIndex,
uint8_t  propertyId,
uint8_t  numberOfElements,
uint16_t  startIndex 
)

Definition at line 626 of file application_layer.cpp.

Here is the call graph for this function:

◆ propertyValueReadResponse()

void ApplicationLayer::propertyValueReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  objectIndex,
uint8_t  propertyId,
uint8_t  numberOfElements,
uint16_t  startIndex,
uint8_t *  data,
uint8_t  length 
)

Definition at line 642 of file application_layer.cpp.

Here is the caller graph for this function:

◆ propertyValueWriteRequest()

void ApplicationLayer::propertyValueWriteRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  objectIndex,
uint8_t  propertyId,
uint8_t  numberOfElements,
uint16_t  startIndex,
uint8_t *  data,
uint8_t  length 
)

Definition at line 664 of file application_layer.cpp.

◆ restartRequest()

void ApplicationLayer::restartRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl 
)

Definition at line 544 of file application_layer.cpp.

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

◆ restartResponse()

void ApplicationLayer::restartResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl,
uint8_t  errorCode,
uint16_t  processTime 
)

Definition at line 553 of file application_layer.cpp.

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

◆ systemNetworkParameterReadResponse()

void ApplicationLayer::systemNetworkParameterReadResponse ( Priority  priority,
HopCountType  hopType,
const SecurityControl secCtrl,
uint16_t  objectType,
uint16_t  propertyId,
uint8_t *  testInfo,
uint16_t  testInfoLength,
uint8_t *  testResult,
uint16_t  testResultLength 
)

Definition at line 568 of file application_layer.cpp.

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

◆ transportLayer()

void ApplicationLayer::transportLayer ( TransportLayer layer)

Assigns the TransportLayer to which encoded APDU are submitted to.

Definition at line 17 of file application_layer.cpp.

Here is the caller graph for this function:

◆ userManufacturerInfoReadRequest()

void ApplicationLayer::userManufacturerInfoReadRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl 
)

Definition at line 903 of file application_layer.cpp.

Here is the call graph for this function:

◆ userManufacturerInfoReadResponse()

void ApplicationLayer::userManufacturerInfoReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t *  info 
)

Definition at line 911 of file application_layer.cpp.

Here is the call graph for this function:

◆ userMemoryReadRequest()

void ApplicationLayer::userMemoryReadRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint32_t  memoryAddress 
)

Definition at line 878 of file application_layer.cpp.

Here is the call graph for this function:

◆ userMemoryReadResponse()

void ApplicationLayer::userMemoryReadResponse ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint32_t  memoryAddress,
uint8_t *  memoryData 
)

Definition at line 891 of file application_layer.cpp.

Here is the caller graph for this function:

◆ userMemoryWriteRequest()

void ApplicationLayer::userMemoryWriteRequest ( AckType  ack,
Priority  priority,
HopCountType  hopType,
uint16_t  asap,
const SecurityControl secCtrl,
uint8_t  number,
uint32_t  memoryAddress,
uint8_t *  memoryData 
)

Definition at line 897 of file application_layer.cpp.

Member Data Documentation

◆ _transportLayer

TransportLayer* ApplicationLayer::_transportLayer = 0
protected

Definition at line 196 of file application_layer.h.

◆ noSecurity

const SecurityControl ApplicationLayer::noSecurity {.toolAccess = false, .dataSecurity = DataSecurity::None}
staticprotected

Definition at line 198 of file application_layer.h.


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