Skip to content

Commit

Permalink
Release V2.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Ing-Dom committed Jul 3, 2024
1 parent acf4a0b commit e69f636
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 49 deletions.
67 changes: 20 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -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 <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.

## 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
23 changes: 23 additions & 0 deletions library.json
Original file line number Diff line number Diff line change
@@ -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": "[email protected]",
"url": "https://openknx.de",
"maintainer": true
}
],
"repository": {
"type": "git",
"url": "https://github.com/OpenKNX/knx"
}
}
4 changes: 2 additions & 2 deletions library.properties
Original file line number Diff line number Diff line change
@@ -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=
Expand Down

0 comments on commit e69f636

Please sign in to comment.