a306174878
* save WIP on flash api + header reorder * reduce diffs to master * added support for RP2040 (Raspberry Pi Pico) * support DPT9.009 (airflow) and DPT9.029 (absolute humidity) * added support for RP2040 (Raspberry Pi Pico) (#145) * worked on flash implementation * worked on flash implementation * added malloc for _EraseBlockBuffer, fixed some bugs * fixed memoryread and crash while loading KOs (+debugstuff) * some fixes and debugs * align to pagesize * clean up debug stuff, comments ... * added support for both Eeprom and Flash (NvMemoryType) plattforms. * changed memoryReadIndicationP to memoryReadIndication added stdlib and defines * fixed std::min * another try for fixing the min problem * rolled back linux plattform to eeprom * comments only, hints for plattforms * bugfix when calculating memorywrites over multiple blocks by mumpf * added support for EEPROM-Emulation / RAM-buffered Flash improvements in RP2040 plattform * fixed typo in KNX_FLASH_OFFSET * - writebuffersize clarified (PR discussion) - changed alignment from flashpagesize to 32bit - added override modifier (PR discussion) - changed comment regarding flash/eeprom functions for plattforms to override/implement (PR discussion) * resolved CodeFactor issue Co-authored-by: Thomas Kunze <thomas.kunze@gmx.com> |
||
---|---|---|
.github/workflows | ||
.vscode | ||
doc | ||
examples | ||
src | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
CMakeLists.txt | ||
library.properties | ||
LICENSE | ||
platformio.ini | ||
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 my CreateKnxProd 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.
The SAMD21 version uses my version of the FlashStorage lib (Pull request pending).
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.