kdriveExpress SDK 23.2.0
kdrive_express_defs.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2002-2023 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 
16 #include "kdrive_express_config.h"
17 
24 #ifdef __cplusplus
25 extern "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__ */