2018-11-07 22:16:00 +01:00
|
|
|
#pragma once
|
2020-09-06 21:41:34 +02:00
|
|
|
/** \page Classdiagramm KNX device
|
|
|
|
* This diagramm shows the most important classes of a normal KNX device.
|
2018-11-07 22:16:00 +01:00
|
|
|
|
2019-06-25 21:21:58 +02:00
|
|
|
@startuml
|
2020-09-06 21:41:34 +02:00
|
|
|
|
2019-06-25 21:21:58 +02:00
|
|
|
skinparam monochrome true
|
|
|
|
skinparam componentStyle uml2
|
2020-09-06 21:41:34 +02:00
|
|
|
|
|
|
|
note top of knx
|
|
|
|
Class diagram for a
|
|
|
|
<b><color:royalBlue>normal KNX device</color>
|
|
|
|
end note
|
|
|
|
package "knx" {
|
2019-06-25 21:21:58 +02:00
|
|
|
class BusAccessUnit [[class_bus_access_unit.html]]
|
|
|
|
class DeviceObject [[class_device_object.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
class BauSystemBDevice [[class_bau_system_b.html]]
|
2019-06-25 21:21:58 +02:00
|
|
|
BusAccessUnit<|--BauSystemB
|
2020-09-06 21:41:34 +02:00
|
|
|
BauSystemB<|--BauSystemBDevice
|
2019-06-25 21:21:58 +02:00
|
|
|
class ApplicationProgramObject [[class_application_program_object.html]]
|
|
|
|
BauSystemB*--ApplicationProgramObject
|
|
|
|
DeviceObject--*BauSystemB
|
|
|
|
class AddressTableObject [[class_address_table_object.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
BauSystemBDevice*--AddressTableObject
|
2019-06-25 21:21:58 +02:00
|
|
|
class AssociationTableObject [[class_association_table_object.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
BauSystemBDevice*--AssociationTableObject
|
2019-06-25 21:21:58 +02:00
|
|
|
class GroupObjectTableObject [[class_group_object_table_object.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
BauSystemBDevice*--GroupObjectTableObject
|
2019-06-25 21:21:58 +02:00
|
|
|
class GroupObject [[class_group_object.html]]
|
|
|
|
GroupObject<--GroupObjectTableObject
|
|
|
|
GroupObjectTableObject<--GroupObject
|
|
|
|
class ApplicationLayer [[class_application_layer.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
|
|
|
|
package knx-data-secure
|
|
|
|
{
|
|
|
|
class SecureApplicationLayer [[class_secure_application_layer.html]]
|
|
|
|
class SecurityInterfaceObject [[class_security_interface_object.html]]
|
|
|
|
SecureApplicationLayer-->SecurityInterfaceObject
|
|
|
|
SecurityInterfaceObject-->SecureApplicationLayer
|
|
|
|
BauSystemBDevice*--"SecurityInterfaceObject"
|
|
|
|
BauSystemBDevice*--"SecureApplicationLayer"
|
|
|
|
}
|
|
|
|
BauSystemBDevice*--"ApplicationLayer"
|
|
|
|
ApplicationLayer<|--SecureApplicationLayer
|
|
|
|
SecureApplicationLayer--*BauSystemBDevice
|
2019-06-25 21:21:58 +02:00
|
|
|
class TransportLayer [[class_transport_layer.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
TransportLayer--*BauSystemBDevice
|
|
|
|
class NetworkLayerDevice [[class_network_layer.html]]
|
|
|
|
NetworkLayerDevice--*BauSystemBDevice
|
|
|
|
class NetworkLayerEntity [[class_network_layer_entity.html]]
|
|
|
|
NetworkLayerEntity--*NetworkLayerDevice
|
2019-06-25 21:21:58 +02:00
|
|
|
class DataLinkLayer [[class_data_link_layer.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
ApplicationLayer-->SecureApplicationLayer
|
|
|
|
SecureApplicationLayer-->ApplicationLayer
|
2019-06-25 21:21:58 +02:00
|
|
|
ApplicationLayer-->BusAccessUnit
|
|
|
|
ApplicationLayer-->TransportLayer
|
2020-09-06 21:41:34 +02:00
|
|
|
SecureApplicationLayer-->TransportLayer
|
2019-06-25 21:21:58 +02:00
|
|
|
TransportLayer-->ApplicationLayer
|
2020-09-06 21:41:34 +02:00
|
|
|
TransportLayer-->SecureApplicationLayer
|
|
|
|
TransportLayer-->NetworkLayerDevice
|
|
|
|
NetworkLayerDevice-->TransportLayer
|
|
|
|
NetworkLayerEntity-->DataLinkLayer
|
|
|
|
DataLinkLayer-->NetworkLayerEntity
|
2019-06-25 21:21:58 +02:00
|
|
|
TransportLayer-->AddressTableObject
|
2020-09-06 21:41:34 +02:00
|
|
|
SecureApplicationLayer-->AddressTableObject
|
|
|
|
SecureApplicationLayer-->DeviceObject
|
2019-06-25 21:21:58 +02:00
|
|
|
DataLinkLayer-->DeviceObject
|
|
|
|
ApplicationLayer-->AssociationTableObject
|
|
|
|
class Dpt [[class_dpt.html]]
|
|
|
|
GroupObject->Dpt
|
2020-09-06 21:41:34 +02:00
|
|
|
|
2019-06-25 21:21:58 +02:00
|
|
|
package knx-ip
|
|
|
|
{
|
|
|
|
class IpDataLinkLayer [[class_ip_data_link_layer.html]]
|
|
|
|
IpDataLinkLayer--|>DataLinkLayer
|
|
|
|
class Bau57B0 [[class_bau57_b0.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
Bau57B0--|>BauSystemBDevice
|
2019-06-25 21:21:58 +02:00
|
|
|
Bau57B0*--IpDataLinkLayer
|
|
|
|
class IpParameterObject [[class_ip_parameter_object.html]]
|
|
|
|
IpParameterObject-->DeviceObject
|
|
|
|
Bau57B0*--IpParameterObject
|
|
|
|
IpDataLinkLayer-->IpParameterObject
|
|
|
|
}
|
|
|
|
package knx-tp
|
|
|
|
{
|
|
|
|
class TpUartDataLinkLayer [[class_tp_uart_data_link_layer.html]]
|
|
|
|
TpUartDataLinkLayer--|>DataLinkLayer
|
|
|
|
class Bau07B0 [[class_bau07_b0.html]]
|
|
|
|
Bau07B0*--TpUartDataLinkLayer
|
2020-09-06 21:41:34 +02:00
|
|
|
Bau07B0--|>BauSystemBDevice
|
|
|
|
}
|
|
|
|
package knx-rf
|
|
|
|
{
|
|
|
|
class RfDataLinkLayer [[class_rf_data_link_layer.html]]
|
|
|
|
RfDataLinkLayer--|>DataLinkLayer
|
|
|
|
class Bau27B0 [[class_bau27_b0.html]]
|
|
|
|
Bau27B0*--"RfDataLinkLayer"
|
|
|
|
Bau27B0--|>BauSystemBDevice
|
|
|
|
class RfMediumObject [[class_rf_medium_object.html]]
|
|
|
|
Bau27B0*--"RfMediumObject"
|
|
|
|
class RfPhysicalLayer [[class_rf_physical_layer.html]]
|
|
|
|
"RfDataLinkLayer"*--"RfPhysicalLayer"
|
|
|
|
}
|
|
|
|
package knx-cemi-server
|
|
|
|
{
|
|
|
|
class CemiServer [[class_cemi_server.html]]
|
|
|
|
class CemiServerObject [[class_cemi_server_object.html]]
|
|
|
|
class UsbTunnelInterface [[class_usb_tunnel_inerface.html]]
|
|
|
|
CemiServer*--"UsbTunnelInterface"
|
|
|
|
Bau57B0*--"CemiServer"
|
|
|
|
Bau57B0*--"CemiServerObject"
|
|
|
|
Bau27B0*--"CemiServer"
|
|
|
|
Bau27B0*--"CemiServerObject"
|
|
|
|
Bau07B0*--"CemiServer"
|
|
|
|
Bau07B0*--"CemiServerObject"
|
|
|
|
}
|
|
|
|
CemiServer-->DataLinkLayer
|
|
|
|
DataLinkLayer-->CemiServer
|
|
|
|
}
|
|
|
|
|
|
|
|
package platform
|
|
|
|
{
|
|
|
|
class Platform [[class_platform.html]]
|
|
|
|
class ArduinoPlatform [[class_arduino_platform.html]]
|
|
|
|
class SamdPlatform [[class_samd_platform.html]]
|
|
|
|
Platform<|--ArduinoPlatform
|
|
|
|
ArduinoPlatform<|--SamdPlatform
|
|
|
|
class EspPlatform [[class_esp_platform.html]]
|
|
|
|
ArduinoPlatform<|--EspPlatform
|
|
|
|
class Esp32Platform [[class_esp32_platform.html]]
|
|
|
|
ArduinoPlatform<|--Esp32Platform
|
|
|
|
class Stm32Platform [[class_stm32_platform.html]]
|
|
|
|
ArduinoPlatform<|--Stm32Platform
|
|
|
|
class LinuxPlatform [[class_linux_platform.html]]
|
|
|
|
LinuxPlatform--|>Platform
|
|
|
|
}
|
|
|
|
package frontend
|
|
|
|
{
|
|
|
|
class KnxFacade [[class_knx_facade.html]]
|
|
|
|
BauSystemBDevice<--KnxFacade
|
|
|
|
}
|
|
|
|
knx-->Platform
|
|
|
|
@enduml
|
|
|
|
|
2020-11-10 21:52:38 +01:00
|
|
|
* \page Classdiagramm KNX coupler
|
2020-09-06 21:41:34 +02:00
|
|
|
* This diagramm shows the most important classes of a KNX coupler.
|
|
|
|
@startuml
|
|
|
|
|
|
|
|
skinparam monochrome true
|
|
|
|
skinparam componentStyle uml2
|
|
|
|
|
|
|
|
note top of knx
|
|
|
|
Class diagram for a
|
|
|
|
<b><color:royalBlue>KNX coupler</color>
|
|
|
|
end note
|
|
|
|
package "knx" {
|
|
|
|
class BusAccessUnit [[class_bus_access_unit.html]]
|
|
|
|
class DeviceObject [[class_device_object.html]]
|
|
|
|
class BauSystemBCoupler [[class_bau_system_b.html]]
|
|
|
|
BusAccessUnit<|--BauSystemB
|
|
|
|
BauSystemB<|--BauSystemBCoupler
|
|
|
|
class ApplicationProgramObject [[class_application_program_object.html]]
|
|
|
|
BauSystemB*--ApplicationProgramObject
|
|
|
|
DeviceObject--*BauSystemB
|
|
|
|
class ApplicationLayer [[class_application_layer.html]]
|
|
|
|
|
|
|
|
package knx-data-secure
|
|
|
|
{
|
|
|
|
class SecureApplicationLayer [[class_secure_application_layer.html]]
|
|
|
|
class SecurityInterfaceObject [[class_security_interface_object.html]]
|
|
|
|
SecureApplicationLayer-->SecurityInterfaceObject
|
|
|
|
SecurityInterfaceObject-->SecureApplicationLayer
|
|
|
|
BauSystemBCoupler*--"SecurityInterfaceObject"
|
|
|
|
BauSystemBCoupler*--"SecureApplicationLayer"
|
|
|
|
}
|
|
|
|
BauSystemBCoupler*--"ApplicationLayer"
|
|
|
|
ApplicationLayer<|--SecureApplicationLayer
|
|
|
|
SecureApplicationLayer--*BauSystemBCoupler
|
|
|
|
class TransportLayer [[class_transport_layer.html]]
|
|
|
|
TransportLayer--*BauSystemBCoupler
|
|
|
|
class NetworkLayerEntity [[class_network_layer_entity.html]]
|
|
|
|
class NetworkLayerCoupler [[class_network_layer.html]]
|
|
|
|
{
|
|
|
|
NetworkLayerEntity[] _networkLayerEntities
|
|
|
|
}
|
|
|
|
NetworkLayerCoupler*--"NetworkLayerEntity"
|
|
|
|
NetworkLayerCoupler--*BauSystemBCoupler
|
|
|
|
class DataLinkLayer [[class_data_link_layer.html]]
|
|
|
|
ApplicationLayer-->SecureApplicationLayer
|
|
|
|
SecureApplicationLayer-->ApplicationLayer
|
|
|
|
ApplicationLayer-->BusAccessUnit
|
|
|
|
ApplicationLayer-->TransportLayer
|
|
|
|
SecureApplicationLayer-->TransportLayer
|
|
|
|
TransportLayer-->ApplicationLayer
|
|
|
|
TransportLayer-->SecureApplicationLayer
|
|
|
|
TransportLayer-->NetworkLayerCoupler
|
|
|
|
NetworkLayerCoupler-->TransportLayer
|
|
|
|
NetworkLayerEntity-->DataLinkLayer
|
|
|
|
DataLinkLayer-->NetworkLayerEntity
|
|
|
|
SecureApplicationLayer-->DeviceObject
|
|
|
|
DataLinkLayer-->DeviceObject
|
|
|
|
|
|
|
|
package knx-ip-tp
|
|
|
|
{
|
|
|
|
class IpDataLinkLayer [[class_ip_data_link_layer.html]]
|
|
|
|
IpDataLinkLayer--|>DataLinkLayer
|
|
|
|
class TpUartDataLinkLayer [[class_tp_uart_data_link_layer.html]]
|
|
|
|
TpUartDataLinkLayer--|>DataLinkLayer
|
|
|
|
class Bau091A [[class_bau09_1a.html]]
|
|
|
|
Bau091A--|>BauSystemBCoupler
|
|
|
|
Bau091A*--IpDataLinkLayer
|
|
|
|
Bau091A*--TpUartDataLinkLayer
|
|
|
|
class RouterObject [[class_router_object.html]]
|
|
|
|
class IpParameterObject [[class_ip_parameter_object.html]]
|
|
|
|
IpParameterObject-->DeviceObject
|
|
|
|
Bau091A*--"RouterObject"
|
|
|
|
Bau091A*--IpParameterObject
|
|
|
|
IpDataLinkLayer-->IpParameterObject
|
2019-06-25 21:21:58 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-09-06 21:41:34 +02:00
|
|
|
package platform
|
2019-06-25 21:21:58 +02:00
|
|
|
{
|
|
|
|
class Platform [[class_platform.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
class ArduinoPlatform [[class_arduino_platform.html]]
|
2019-06-25 21:21:58 +02:00
|
|
|
class SamdPlatform [[class_samd_platform.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
Platform<|--ArduinoPlatform
|
|
|
|
ArduinoPlatform<|--SamdPlatform
|
2019-06-25 21:21:58 +02:00
|
|
|
class EspPlatform [[class_esp_platform.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
ArduinoPlatform<|--EspPlatform
|
|
|
|
class Esp32Platform [[class_esp32_platform.html]]
|
|
|
|
ArduinoPlatform<|--Esp32Platform
|
|
|
|
class Stm32Platform [[class_stm32_platform.html]]
|
|
|
|
ArduinoPlatform<|--Stm32Platform
|
2019-06-25 21:21:58 +02:00
|
|
|
class LinuxPlatform [[class_linux_platform.html]]
|
|
|
|
LinuxPlatform--|>Platform
|
|
|
|
}
|
|
|
|
package frontend
|
|
|
|
{
|
|
|
|
class KnxFacade [[class_knx_facade.html]]
|
2020-09-06 21:41:34 +02:00
|
|
|
BauSystemBCoupler<--KnxFacade
|
2019-06-25 21:21:58 +02:00
|
|
|
}
|
|
|
|
knx-->Platform
|
|
|
|
@enduml
|
2020-09-06 21:41:34 +02:00
|
|
|
|
2019-06-25 21:21:58 +02:00
|
|
|
*/
|
2018-11-07 22:16:00 +01:00
|
|
|
#include "knx_facade.h"
|