knx
ETS configurable knx-stack
config.h
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef NO_KNX_CONFIG
4 
5  #ifdef ARDUINO_ARCH_SAMD
6  #define SPI_SS_PIN 10
7  #define GPIO_GDO2_PIN 9
8  #define GPIO_GDO0_PIN 7
9  #else // Linux Platform (Raspberry Pi)
10  #define SPI_SS_PIN 8 // GPIO 8 (SPI_CE0_N) -> WiringPi: 10 -> Pin number on header: 24
11  #define GPIO_GDO2_PIN 25 // GPIO 25 (GPIO_GEN6) -> WiringPi: 6 -> Pin number on header: 22
12  #define GPIO_GDO0_PIN 24 // GPIO 24 (GPIO_GEN5) -> WiringPi: 5 -> Pin number on header: 18
13  #endif
14 
15  // Normal devices
16  // TP1: 0x07B0
17  // RF: 0x27B0
18  // IP: 0x57B0
19  //#define MASK_VERSION 0x07B0
20  //#define MASK_VERSION 0x27B0
21  //#define MASK_VERSION 0x57B0
22 
23  // Couplers
24  // IP/TP1: 0x091A
25  // TP1/RF: 0x2920
26  //#define MASK_VERSION 0x091A
27  //#define MASK_VERSION 0x2920
28 
29  // Data Linklayer Driver Options
30  #if MASK_VERSION == 0x07B0
31  #define USE_TP
32  #endif
33 
34  #if MASK_VERSION == 0x27B0
35  #define USE_RF
36  #endif
37 
38  #if MASK_VERSION == 0x57B0
39  #define USE_IP
40  #endif
41 
42  #if MASK_VERSION == 0x091A
43  #define USE_TP
44  #define USE_IP
45  #endif
46 
47  #if MASK_VERSION == 0x2920
48  #define USE_TP
49  #define USE_RF
50  #endif
51 
52  // cEMI options
53  //#define USE_USB
54  //#define USE_CEMI_SERVER
55  #if defined(USE_USB) || defined(KNX_TUNNELING)
56  #define USE_CEMI_SERVER
57  #endif
58 
59  // KNX Data Secure Options
60  // Define via a compiler -D flag if required
61  // #define USE_DATASECURE
62 
63  // option to have GroupObjects (KO in German) use 8 bytes mangement information RAM instead of 19 bytes
64  // see knx-demo-small-go for example
65  // this option might be also set via compiler flag -DSMALL_GROUPOBJECT if required
66  //#define SMALL_GROUPOBJECT
67 
68  // Some defines to reduce footprint
69  // Do not perform conversion from KNXValue(const char*) to other types, it mainly avoids the expensive strtod
70  //#define KNX_NO_STRTOx_CONVERSION
71  // Do not print messages
72  //#define KNX_NO_PRINT
73  // Do not use SPI (Arduino variants)
74  //#define KNX_NO_SPI
75  // Do not use the default UART (Arduino variants), it must be defined by ArduinoPlatform::knxUart
76  // (combined with other flags (HWSERIAL_NONE for stm32) - avoid allocation of RX/TX buffers for all serial lines)
77  //#define KNX_NO_DEFAULT_UART
78 
79 #endif
80 
81 #if !defined(MASK_VERSION)
82  #error MASK_VERSION must be defined! See config.h for possible values!
83 #endif
84