This is a fork of the thelsing/knx stack from Thomas Kunze for and by the OpenKNX Team.
This projects provides a knx-device stack for arduino (ESP32 and RP2040). 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.
See the examples for basic usage options
- Fix #30: Unexpected behaviour of
GroupObject
on failed conversion to DPTGroupObject::value[No]SendCompare(..)
resulted in value 0 (and returned change based on this value)GroupObject::valueNoSend(..)
updated state from unitialized to OK, without updating the valueGroupObject::value(..)
wrote to GA without setting the KO value
- Extension #30: Return successful conversion to DPT on values update operations in
GroupObject
(changed result-type of some methods fromvoid
tobool
) - only set pinMode of Prog button pin if valid (PROG_BUTTON_PIN >= 0)
- Strings are now \0 terminated in group objects (#25)
- change defines in the rp2040 plattform for LAN / WLAN usage to KNX_IP_LAN or KNX_IP_WIFI, remove KNX_IP_GENERIC
- better Routing and Tunneling support
- add DPT 27.001
- increase device object api version to 2 (invalidation of knx flash data stored by older versions)
- add #pragma once to Arduino plattform to allow derived plattforms
- change esp32 plattform to use KNX_NETIF
- remove examples to deprecated plattforms, update remaining examples
- use tpuart library (https://github.com/OpenKNX/tpuart)
- adds unicast auto ack
- fix minor bug in TP-Uart Driver (RX queue out of boundary)
- complete rework of the TPUart DataLinkLayer with support interrupt-based handling and optimized queue handling
- added DMA support for RP2040 platform
- fix some issues with continous integration causing github actions to fail
- added rp2040 plattform to knx-demo example
- added bool GroupObject::valueCompare method for only sending the value when it has changed
- first OpenKNX version