mirror of
https://github.com/thelsing/knx.git
synced 2024-12-18 19:08:18 +01:00
knx stack (TP, IP and RF) for arduino and linux, Can be configured with ETS
1343ed0b7d
* fixes to enable partial programming (thanks to mumpf and proggerKA at KNX-UF!) * add PID_MCB_TABLE to TableObject * add CallBackProperty to send PID_MCB_TABLE * calculate crc checksum using Crc16Citt when state switches to LOAD_COMPLETED * add crc to save(), restore() and saveSize() to save crc to flash * add CallBackProperty for read and write of PID_PROG_VERSION to ApplicationProgramObject * create overrides for save, restore, and saveSize in ApplicationProgramObject to save _programVersion to flash * improve crc calculation * removed TableObject::crc16Citt method and use the one in bits.h * do not save crc in flash, instead calculate on-the-fly in CallbackProperty when state==LS_LOADED * use DataProperty to store PID_PROG_VERSION * WARNING: segmentSize calculation for crc calculation is currently not correct. Need to somehow access size of data in class that inherits from TableObject (e.g. ApplicationObject or RouterObject) * fix segment size in TableObject() * save size after TableObject::allocTable() is called. Also change save() and restore() to save _size to flash. Modify saveSize() * use _size to calculate crc value in CallbackProperty * reduce footprint, save 5 byte * add comment why _size field is needed * remove PID_MCB_TABLE from RouterObject * this is now implemented in TableObject |
||
---|---|---|
.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, SAMD21) 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 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.