-
Notifications
You must be signed in to change notification settings - Fork 92
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add callback functions for prog mode and improve documentation (#173)
- Loading branch information
Michael Geramb
committed
Feb 19, 2022
1 parent
d26771c
commit 53425e2
Showing
2 changed files
with
87 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,55 @@ | ||
knx | ||
=== | ||
# knx | ||
|
||
|
||
|
||
This projects provides a knx-device stack for arduino (ESP8266, SAMD21) and linux. (more are quite easy to add) | ||
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](https://github.com/thelsing/CreateKnxProd) tool. | ||
|
||
For esp8266 [WifiManager](https://github.com/tzapu/WiFiManager) is used to configure wifi. | ||
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. | ||
|
||
The SAMD21 version uses my version of the [FlashStorage](https://github.com/thelsing/FlashStorage) lib (Pull request pending). | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters