470ec8b521
It includes also some optimizations for KNX-IP in general. Squashed commit of the following: commit 14bf9bef25ccc2c9bddefe7c8f1e0f6b1d63b3bc Author: Ing-Dom <dom@ing-dom.de> Date: Sun Dec 24 10:17:05 2023 +0100 clean up, remove KNX_LOG_IP commit 57223e46e414010662772989c2520cf1960ed268 Merge: 2911448 |
||
---|---|---|
.github/workflows | ||
.vscode | ||
doc | ||
examples | ||
src | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.readthedocs.yaml | ||
CMakeLists.txt | ||
library.properties | ||
LICENSE | ||
platformio.ini | ||
README.md |
knx
This projects provides a knx-device stack for arduino (ESP8266, ESP32, SAMD21, RP2040, STM32), CC1310 and linux. (more are quite easy to add) It implements most of System-B specification and can be configured with ETS. The necessary knxprod-files can be generated with my CreateKnxProd tool.
For ESP8266 and ESP32 WifiManager is used to configure wifi.
Don't forget to reset ESP8266 manually (disconnect power) after flashing. The reboot doen't work during configuration with ETS otherwise.
Generated documentation can be found here.
Stack configuration possibilities
Specify prog button GPIO other then GPIO0
:
knx.buttonPin(3); // Use GPIO3 Pin
Specify a LED GPIO for programming mode other then the LED_BUILTIN
:
knx.ledPin(5);
Use a custom function instead of a LED connected to GPIO to indicate the programming mode:
#include <Arduino.h>
#include <Adafruit_NeoPixel.h>
#include <knx.h>
// create a pixel strand with 1 pixel on PIN_NEOPIXEL
Adafruit_NeoPixel pixels(1, PIN_NEOPIXEL);
void progLedOff()
{
pixels.clear();
pixels.show();
}
void progLedOn()
{
pixels.setPixelColor(0, pixels.Color(20, 0, 0));
pixels.show();
}
void main ()
{
knx.setProgLedOffCallback(progLedOff);
knx.setProgLedOnCallback(progLedOn);
[...]
}
More configuration options can be found in the examples.