kdriveExpress SDK 22.1.1
kdrive_express_defs.h
Go to the documentation of this file.
1//
2// Copyright (c) 2002-2022 WEINZIERL ENGINEERING GmbH
3// All rights reserved.
4//
5// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
7// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
8// SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY,
9// WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
10// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
11//
12
13#ifndef __KDRIVE_EXPRESS_DEFS_H__
14#define __KDRIVE_EXPRESS_DEFS_H__
15
17
24#ifdef __cplusplus
25extern "C"
26{
27#endif
28
29/*******************************
30** Defines
31********************************/
32
33#define KDRIVE_MAX_GROUP_VALUE_LEN (14)
34#define KDRIVE_SN_LEN (6)
35#define KDRIVE_DA_LEN (6)
36#define KDRIVE_MAC_LEN (6)
37#define KDRIVE_SEC_KEY_LEN (16)
38#define KDRIVE_MAX_SEC_PASSWORD_LEN (20 + 1)
39#define KDRIVE_INVALID_DESCRIPTOR (-1)
40#define KDRIVE_DPT16_LENGTH (14)
41#define KDRIVE_MAX_IP_ADDRESS_LEN (16)
42#define KDRIVE_MAX_DEVICE_NAME_LEN (121)
44// Message codes
45#define KDRIVE_CEMI_L_DATA_REQ (0x11)
46#define KDRIVE_CEMI_L_DATA_CON (0x2E)
47#define KDRIVE_CEMI_L_DATA_IND (0x29)
49// KNX Layer
50#define KDRIVE_LAYER_UNKNOWN (0x0000)
51#define KDRIVE_LAYER_NONE (0x8000)
52#define KDRIVE_LAYER_LINK (0x0001)
53#define KDRIVE_LAYER_BUSMON (0x0002)
54#define KDRIVE_LAYER_RAW (0x0004)
55#define KDRIVE_LAYER_TLL (0x0020)
57// DPT_Media
58#define KDRIVE_MEDIUM_TP (0x02)
59#define KDRIVE_MEDIUM_PL (0x04)
60#define KDRIVE_MEDIUM_RF (0x10)
61#define KDRIVE_MEDIUM_IP (0x20)
63// KNX bus state
64#define KDRIVE_KNX_BUS_STATE_UNKNOWN (0)
65#define KDRIVE_KNX_BUS_STATE_DISCONNECTED (1)
66#define KDRIVE_KNX_BUS_STATE_CONNECTED (2)
68// Packet Direction
69#define KDRIVE_PACKET_DIR_RX (0)
70#define KDRIVE_PACKET_DIR_TX (1)
72// KNXnet/IP tunneling slots status
73#define KDRIVE_TUNNEL_SLOT_STATUS_FREE (0x01)
77#define KDRIVE_TUNNEL_SLOT_STATUS_AUTH (0x02)
81#define KDRIVE_TUNNEL_SLOT_STATUS_USABLE (0x04)
86/*******************************
87** Macros
88********************************/
89
93#define KDRIVE_BITS(length) ((length) * 8)
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif /* __KDRIVE_EXPRESS_DEFS_H__ */