knx stack (TP, IP and RF) for arduino and linux, Can be configured with ETS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Thomas Kunze bfe5ffd91f update pybind11 2 weeks ago
.github/workflows Squashed 'examples/knxPython/pybind11/' changes from 59a2ac27..941f45bc 2 weeks ago
.vscode 32bit eeprom size (#230) 1 year ago
doc Update conf.py 10 months ago
examples update pybind11 2 weeks ago
src Fix build for cemi_server without RF support 4 weeks ago
.clang-format Squashed 'examples/knxPython/pybind11/' changes from 59a2ac27..941f45bc 2 weeks ago
.gitattributes Squashed 'examples/knxPython/pybind11/' changes from 59a2ac27..941f45bc 2 weeks ago
.gitignore Squashed 'examples/knxPython/pybind11/' changes from 59a2ac27..941f45bc 2 weeks ago
.readthedocs.yaml Update .readthedocs.yaml 10 months ago
CMakeLists.txt Squashed 'examples/knxPython/pybind11/' changes from 59a2ac27..941f45bc 2 weeks ago
LICENSE Create LICENSE 6 years ago
README.md replace deprecated CreateKnxProd link with Kaenx-Creator 6 months ago
library.properties Update library.properties 4 years ago
platformio.ini add platformio file and fix compiling without IP 4 years ago

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 the Kaenx-Creator 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.