knx
ETS configurable knx-stack
knx_ip_frame.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "cemi_frame.h"
4 #include "config.h"
5 #ifdef USE_IP
6 
7 #define LEN_KNXIP_HEADER 0x6
8 
10 {
11  KnxIp1_0 = 0x10
12 };
13 
15 {
16  SearchRequest = 0x201,
17  SearchResponse = 0x202,
20  ConnectRequest = 0x205,
21  ConnectResponse = 0x206,
31  TunnelingAck = 0x421,
34 };
35 
37 {
38  public:
39  KnxIpFrame(uint8_t* data, uint16_t length);
40  KnxIpFrame(uint16_t totalLength);
41  virtual ~KnxIpFrame();
42  uint8_t headerLength() const;
43  void headerLength(uint8_t length);
45  void protocolVersion(KnxIpVersion version);
46  uint16_t serviceTypeIdentifier() const;
47  void serviceTypeIdentifier(uint16_t identifier);
48  uint16_t totalLength() const;
49  void totalLength(uint16_t length);
50  uint8_t* data();
51 
52  protected:
53  bool _freeData = false;
54  uint8_t* _data = 0;
55  uint16_t _dataLength;
56 };
57 #endif
virtual ~KnxIpFrame()
uint8_t * data()
KnxIpFrame(uint8_t *data, uint16_t length)
uint16_t _dataLength
Definition: knx_ip_frame.h:55
uint8_t headerLength() const
uint16_t totalLength() const
KnxIpVersion protocolVersion() const
uint16_t serviceTypeIdentifier() const
uint8_t * _data
Definition: knx_ip_frame.h:54
bool _freeData
Definition: knx_ip_frame.h:53
KnxIpVersion
Definition: knx_ip_frame.h:10
@ KnxIp1_0
Definition: knx_ip_frame.h:11
KnxIpServiceType
Definition: knx_ip_frame.h:15
@ SearchRequestExt
Definition: knx_ip_frame.h:26
@ DisconnectRequest
Definition: knx_ip_frame.h:24
@ DeviceConfigurationAck
Definition: knx_ip_frame.h:29
@ SearchResponseExt
Definition: knx_ip_frame.h:27
@ ConnectResponse
Definition: knx_ip_frame.h:21
@ ConnectRequest
Definition: knx_ip_frame.h:20
@ ConnectionStateRequest
Definition: knx_ip_frame.h:22
@ ConnectionStateResponse
Definition: knx_ip_frame.h:23
@ TunnelingAck
Definition: knx_ip_frame.h:31
@ DeviceConfigurationRequest
Definition: knx_ip_frame.h:28
@ SearchResponse
Definition: knx_ip_frame.h:17
@ RoutingLostMessage
Definition: knx_ip_frame.h:33
@ DescriptionRequest
Definition: knx_ip_frame.h:18
@ SearchRequest
Definition: knx_ip_frame.h:16
@ TunnelingRequest
Definition: knx_ip_frame.h:30
@ DisconnectResponse
Definition: knx_ip_frame.h:25
@ DescriptionResponse
Definition: knx_ip_frame.h:19
@ RoutingIndication
Definition: knx_ip_frame.h:32