From acf4a0b6e4d2a0b713c7661fd2f203828223b4c3 Mon Sep 17 00:00:00 2001 From: Mike <45664417+thewhobox@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:03:41 +0200 Subject: [PATCH 1/3] remove annoying file --- .vscode/extensions.json | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 .vscode/extensions.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 080e70d0..00000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ], - "unwantedRecommendations": [ - "ms-vscode.cpptools-extension-pack" - ] -} From e69f63611a27eac41d48c8fa1d5a0e1e8755374d Mon Sep 17 00:00:00 2001 From: Ing-Dom Date: Wed, 3 Jul 2024 11:27:25 +0200 Subject: [PATCH 2/3] Release V2.1.0 --- README.md | 67 ++++++++++++++-------------------------------- library.json | 23 ++++++++++++++++ library.properties | 4 +-- 3 files changed, 45 insertions(+), 49 deletions(-) create mode 100644 library.json diff --git a/README.md b/README.md index 953cfa81..8f84371a 100644 --- a/README.md +++ b/README.md @@ -1,53 +1,26 @@ # knx +This is a fork of the thelsing/knx stack from Thomas Kunze for and by the OpenKNX Team. + +While we did not remove support for any plattform, the testing focus is on RP2040 (main), ESP32 (experimental) and SAMD21(deprecated). + 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](https://github.com/OpenKNX/Kaenx-Creator) tool. -For ESP8266 and ESP32 [WifiManager](https://github.com/tzapu/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](https://knx.readthedocs.io/en/latest/). - -## Stack configuration possibilities - -Specify prog button GPIO other then `GPIO0`: -```C++ -knx.buttonPin(3); // Use GPIO3 Pin -``` - -Specify a LED GPIO for programming mode other then the `LED_BUILTIN`: -```C++ -knx.ledPin(5); -``` - -Use a custom function instead of a LED connected to GPIO to indicate the programming mode: -```C++ -#include -#include -#include -// 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. + +## Usage +See the examples for basic usage options + + +## Changelog + +### V2.1.0 - 2024-07-03 +- 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 + +### V2.0.0 - 2024-02-13 +- first OpenKNX version \ No newline at end of file diff --git a/library.json b/library.json new file mode 100644 index 00000000..a8ff4f3d --- /dev/null +++ b/library.json @@ -0,0 +1,23 @@ +{ + "name": "knx", + "version": "2.1.0", + "dependencies": { + }, + "description": "knx stack", + "homepage": "https://openknx.de", + "authors": [ + { + "name": "Thomas Kunze" + }, + { + "name": "OpenKNX", + "email": "info@openknx.de", + "url": "https://openknx.de", + "maintainer": true + } + ], + "repository": { + "type": "git", + "url": "https://github.com/OpenKNX/knx" + } +} \ No newline at end of file diff --git a/library.properties b/library.properties index 980e8ea7..8a6dcf82 100644 --- a/library.properties +++ b/library.properties @@ -1,6 +1,6 @@ name=knx -version=2.0.0 -author=Thomas Kunze et al. +version=2.1.0 +author=Thomas Kunze, the OpenKNX Team, et. al. maintainer=OpenKNX Team sentence=knx stack paragraph= From 12fb67cc63df03ddafedfd7759eaf0e51ac92abd Mon Sep 17 00:00:00 2001 From: Ing-Dom Date: Wed, 17 Jul 2024 22:22:58 +0200 Subject: [PATCH 3/3] fix: only set pinMode of Prog button pin when pin is >= 0 and isr function is defined otherwise it is useless anyway and causes warnings. --- src/knx_facade.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/knx_facade.h b/src/knx_facade.h index 75d8fdb3..3f1c60ba 100644 --- a/src/knx_facade.h +++ b/src/knx_facade.h @@ -286,10 +286,10 @@ template class KnxFacade : private SaveRestore pinMode(ledPin(), OUTPUT); progLedOff(); - pinMode(buttonPin(), INPUT_PULLUP); - + if (_progButtonISRFuncPtr && _buttonPin >= 0) { + pinMode(buttonPin(), INPUT_PULLUP); // Workaround for https://github.com/arduino/ArduinoCore-samd/issues/587 #if (ARDUINO_API_VERSION >= 10200) attachInterrupt(_buttonPin, _progButtonISRFuncPtr, (PinStatus)CHANGE);