knx
ETS configurable knx-stack
bau_systemB_device.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "config.h"
4 #include "bau_systemB.h"
5 #include "device_object.h"
6 #include "address_table_object.h"
11 #include "application_layer.h"
13 #include "transport_layer.h"
14 #include "network_layer_device.h"
15 #include "data_link_layer.h"
16 #include "platform.h"
17 #include "memory.h"
18 
20 {
21  public:
23  void loop() override;
24  bool configured() override;
26 
27  protected:
29 
30  void groupValueWriteLocalConfirm(AckType ack, uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl& secCtrl,
31  uint8_t* data, uint8_t dataLength, bool status) override;
32  void groupValueReadLocalConfirm(AckType ack, uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl& secCtrl, bool status) override;
33  void groupValueReadIndication(uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl& secCtrl) override;
34  void groupValueReadAppLayerConfirm(uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl& secCtrl,
35  uint8_t* data, uint8_t dataLength) override;
36  void groupValueWriteIndication(uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl& secCtrl,
37  uint8_t* data, uint8_t dataLength) override;
38 
39  void sendNextGroupTelegram();
40  void updateGroupObject(GroupObject& go, uint8_t* data, uint8_t length);
41 
42  void doMasterReset(EraseCode eraseCode, uint8_t channel) override;
43 
47 #ifdef USE_DATASECURE
50 #else
52 #endif
55 
56  bool _configured = true;
57 };
This class represents the group address table.
This is an implementation of the application layer as specified in .
void loop() override
void groupValueWriteIndication(uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *data, uint8_t dataLength) override
ApplicationLayer & applicationLayer() override
AssociationTableObject _assocTable
GroupObjectTableObject & groupObjectTable()
void groupValueWriteLocalConfirm(AckType ack, uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *data, uint8_t dataLength, bool status) override
SecureApplicationLayer _appLayer
void doMasterReset(EraseCode eraseCode, uint8_t channel) override
BauSystemBDevice(Platform &platform)
TransportLayer _transLayer
NetworkLayerDevice _netLayer
void updateGroupObject(GroupObject &go, uint8_t *data, uint8_t length)
void groupValueReadAppLayerConfirm(uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl, uint8_t *data, uint8_t dataLength) override
void groupValueReadLocalConfirm(AckType ack, uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl, bool status) override
ApplicationLayer _appLayer
AddressTableObject _addrTable
GroupObjectTableObject _groupObjTable
void groupValueReadIndication(uint16_t asap, Priority priority, HopCountType hopType, const SecurityControl &secCtrl) override
SecurityInterfaceObject _secIfObj
bool configured() override
Platform & platform()
Definition: bau_systemB.cpp:34
This class represents a single group object.
Definition: group_object.h:42
This is an implementation of the application layer as specified in .
HopCountType
Definition: knx_types.h:124
Priority
Definition: knx_types.h:10
EraseCode
Definition: knx_types.h:242
AckType
Definition: knx_types.h:18