knx
ETS configurable knx-stack
knx_ip_tunneling_info_dib.cpp
Go to the documentation of this file.
1
#include "
knx_ip_tunneling_info_dib.h
"
2
#include "
service_families.h
"
3
#if KNX_SERVICE_FAMILY_CORE >= 2
4
5
#ifdef USE_IP
6
KnxIpTunnelingInfoDIB::KnxIpTunnelingInfoDIB
(uint8_t* data) :
KnxIpDIB
(data)
7
{
8
currentPos = data + 4;
9
}
10
11
uint16_t
KnxIpTunnelingInfoDIB::apduLength
()
12
{
13
uint16_t addr = 0;
14
popWord
(addr,
_data
+ 2);
15
return
addr;
16
}
17
18
void
KnxIpTunnelingInfoDIB::apduLength
(uint16_t addr)
19
{
20
pushWord
(addr,
_data
+ 2);
21
}
22
23
void
KnxIpTunnelingInfoDIB::tunnelingSlot
(uint16_t addr, uint16_t state)
24
{
25
pushWord
(addr, currentPos);
26
pushWord
(state, currentPos + 2);
27
currentPos += 4;
28
length
(currentPos -
_data
);
29
}
30
#endif
31
#endif
pushWord
uint8_t * pushWord(uint16_t w, uint8_t *data)
Definition:
bits.cpp:64
popWord
const uint8_t * popWord(uint16_t &w, const uint8_t *data)
Definition:
bits.cpp:34
KnxIpDIB
Definition:
knx_ip_dib.h:22
KnxIpDIB::length
uint8_t length() const
Definition:
knx_ip_dib.cpp:9
KnxIpDIB::_data
uint8_t * _data
Definition:
knx_ip_dib.h:32
KnxIpTunnelingInfoDIB::apduLength
uint16_t apduLength()
Definition:
knx_ip_tunneling_info_dib.cpp:11
KnxIpTunnelingInfoDIB::KnxIpTunnelingInfoDIB
KnxIpTunnelingInfoDIB(uint8_t *data)
Definition:
knx_ip_tunneling_info_dib.cpp:6
KnxIpTunnelingInfoDIB::tunnelingSlot
void tunnelingSlot(uint16_t addr, uint16_t state)
Definition:
knx_ip_tunneling_info_dib.cpp:23
knx_ip_tunneling_info_dib.h
service_families.h
src
knx
knx_ip_tunneling_info_dib.cpp
Generated by
1.9.1