knx/src
OutOfSync1 1343ed0b7d
fixes to enable partial programming (#132)
* 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
2021-04-14 23:44:12 +02:00
..
knx fixes to enable partial programming (#132) 2021-04-14 23:44:12 +02:00
arduino_platform.cpp Tweak for Ram usage (#129) 2021-04-01 09:34:26 +02:00
arduino_platform.h Tweak for Ram usage (#129) 2021-04-01 09:34:26 +02:00
cc1310_platform.cpp Add KNX_NO_PRINT to define in project to avoid console info and reduce footprint (#127) 2021-03-11 09:38:06 +01:00
cc1310_platform.h Add support for CC1310 platform based on SimpleLink SDK (#94) 2020-11-10 21:52:38 +01:00
esp32_platform.cpp generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
esp32_platform.h generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
esp_platform.cpp generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
esp_platform.h generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
knx_facade.cpp opt-out global KNX, ability to DIY construct knx object, minor cleanups (#121) 2021-02-05 15:57:45 +01:00
knx_facade.h generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
knx.h Add support for CC1310 platform based on SimpleLink SDK (#94) 2020-11-10 21:52:38 +01:00
linux_platform.cpp Add KNX_NO_PRINT to define in project to avoid console info and reduce footprint (#127) 2021-03-11 09:38:06 +01:00
linux_platform.h Add UART support for Linux platform to use TP1 KNX transceivers (#88) 2020-09-11 13:32:29 +02:00
samd_platform.cpp generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
samd_platform.h generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
stm32_platform.cpp generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00
stm32_platform.h generate unique serial number (#90) (#131) 2021-04-12 11:40:56 +02:00