-
Notifications
You must be signed in to change notification settings - Fork 3
Build_Flags
Mike edited this page Jan 9, 2023
·
5 revisions
These flags are used to tell the KNX Stack what you wantor need.
You can control the behavier and remove not needed components.
You can finde them in your platformio.ini
.
Name | Description | Required |
---|---|---|
DBG_TRACE | ||
KNX_BUTTON | Pin Number for ProgButton | |
KNX_DEBUG_SERIAL | Serial where debug logs will be printed. Only if KNX_NO_PRINT is not defined. | |
KNX_FLASH_OFFSET | Offset in Flash where the UserFlash starts. Must be a multiple of 4096 | |
KNX_FLASH_SIZE | Size of UserFlash. Must be multiple of 4096. Only if USE_RP2040_EEPROM_EMULATION is not defined. | |
KNX_LED | Pin Number for ProgLED. Also used for fatal Error display. | |
KNX_NO_AUTOMATIC_GLOBAL_INSTANCE | Stack won't create the knx instance automaticly. You need to create it manually. | |
KNX_NO_DEFAULT_UART | Create a knx instance without set KNX_SERIAL. | |
KNX_NO_SPI | Don't include SPI library | |
KNX_NO_PRINT | Don't print debug messages to KNX_DEBUG_SERIAL. | |
KNX_SERIAL | Serial to the BCU. Default is platform specific Serial. | |
KNX_WAIT_FOR_ADDR | After seeing a L2 packet start, stay in loop until address bytes are received and the AK/NAK packet is sent. | |
LWIP_DONT_PROVIDE_BYTEORDER_FUNCTIONS | Core won't provide byteorder functions. Stack provides those already. | yes |
MASK_VERSION | Define your Mask Version. | yes |
NCN5120 | Implements function to stop the chip. | |
NO_KNX_CONFIG | Don't automaticly include the correct medium for your Mask Version. | |
PIO_FRAMEWORK_ARDUINO_ENABLE_RTTI | Required for RP2040 | yes |
PROG_BTN_PRESS_MIN_MILLIS | Time the Prog-Button must be pressed minimal. | |
PROG_BTN_PRESS_MAX_MILLIS | Time the Prog-Button must be pressed maximal. | |
SMALL_GROUPOBJECT | Reduces the size of each GroupObject from 19 Bytes to 8 Bytes. | |
USERDATA_SAVE_SIZE | ||
USE_BINSEARCH | Activate binary search in GroupAddressTable. Is faster with many different GroupAddresses. | |
USE_CEMI_SERVER | Activates CEMI Server. Required for USE_USB. | |
USE_DATASECURE | Activate support for DataSecure Features. | |
USE_IP | Activate KNX over IP support. Ony if NO_KNX_CONFIG is not defined. | |
USE_SAMD_EEPROM_EMULATION | Activate EEPROM Emulation | |
USE_RF | Activate KNX over RF support. Only if NO_KNX_CONFIG is not defined. | |
USE_RP2040_EEPROM_EMULATION | EEPROM Emulation from arduino-pico core (max 4k) can be used. | |
USE_RP2040_LARGE_EEPROM_EMULATION | A RAM-buffered Flash. | |
USE_TP | Activate KNX over TwistedPair support. Only if NO_KNX_CONFIG is not defined. | |
USE_USB | Activates features to use it as USB Interface. This will automaticly define USE_CEMI_SERVER |
By default the Stack will create a knx instance for you with the correct platform.
Sometimes it is a good option to create this instance by your own. (Because you dont want to use a prog button)
Once you added this flag you can create it by adding following line in your main code:
KnxFacade<xxxPlatform,BauXXX> knx;