mirror of
https://github.com/thelsing/knx.git
synced 2026-02-23 13:50:35 +01:00
Add coupler support (#79)
* save work. * save work * save work * save work * save work * Remember which interface received the cemi frame * save work * save work * save work * Use default value from PID_ROUTING_COUNT * Add simple alternative to std::function without smart pointers or move semantics * Remove include * Add more comments about cleanup * save work * Remove forgotten code. * Move crc16Ccitt to bits.c as it also used for PID_MCB * save work * move comment * save work * save work * save work * save work * save work * save work * save work * derive from TableObject instead of InterfaceObject * save work * save work * Fix wrong pointer arithmetic in TableObject * Filter table setting/clearing * move comment * save work * save work * save work * handle SBC on closed media * save work * move coupler example to different dir * Restore device example for linux * save work * Remove MEDIUM_TYPE and use MASK_VERSION * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * save work * Replace MEDIUM_TYPE by MASK_VERSION * Remove adafruit/travis-ci tests * Disable travis ci cache for platformio * Fix missing changes * Fix cemi server and add missing MASK_VERSION definitions * Enable platformio caching on travis ci again * Handle device address update for routing decision * source address is set in network layer and not in data link layer * Add remaining APCI types that are used with system broadcast * Add debug print for routing * Remove simple_functional * Fix CMakLists.txt * Use MASK_VERSION to conditionally compile code. * Remove fixed version reuqirement from platform esp8266 * Add demo-coupler for MCUs * Remove simple_functional.h from demo knx-linux * Enable CI for coupler demos * Correct path for knx-linux-coupler * Fix knx_facade.h * Refactor NetworkLayer to use getInterface() for devices and getPrimaryInterface(), getSecondaryInterface() for couplers * Add platformio configs for other currently possible mask/platform combinations * Add class diagrams and remove obsolete includes * Add some minimal docs
This commit is contained in:
17
doc/knx_coupler_notes.md
Normal file
17
doc/knx_coupler_notes.md
Normal file
@@ -0,0 +1,17 @@
|
||||
KNX Coupler
|
||||
===========
|
||||
|
||||
Implementation Notes
|
||||
--------------------
|
||||
* Add support for coupler model 1.x and coupler model 2.0 (only used for TP1/RF coupler so far)
|
||||
* currently implemented mask versions: 091A (IP/TP1 coupler) and 2920 (TP1/RF coupler)
|
||||
|
||||
ToDo:
|
||||
-----
|
||||
* class NetworkLayerCoupler: add support for all ACK modes for medium TP1, currently ALL received frames are ACK'ed (mode 2).
|
||||
* handle MasterReset according to spec. for router object
|
||||
|
||||
Development environment
|
||||
-----------------------
|
||||
* see linux coupler example
|
||||
|
||||
25
doc/knx_data_secure_notes.md
Normal file
25
doc/knx_data_secure_notes.md
Normal file
@@ -0,0 +1,25 @@
|
||||
KNX Data Secure
|
||||
===============
|
||||
|
||||
Implementation Notes
|
||||
--------------------
|
||||
* Implementation based on application note AN158 v07 KNX Data Security
|
||||
* AES-128 is implemented in software, no hardware acceleration used currently
|
||||
* Secure device setup with ETS-5.7.x tested and working
|
||||
* Secure group communication needs more testing
|
||||
* Support for FDSK generation
|
||||
* Support for P2P mode prepared
|
||||
* No support for LTE-mode[T_Data_Tag_Group] (zone key table is already there) currently
|
||||
* No support roles (and no plan to implement this in the near future)
|
||||
|
||||
ToDo:
|
||||
-----
|
||||
* Add support for AN192 v04 Coupler security extensions (a.k.a. Secure Proxy which translates between unsecured and secured devices)
|
||||
* Handle S-A_Sync Service when initially the last valid sequence nummer is not known during runtime, i.e. group communication
|
||||
* handle MasterReset according to spec. for security interface object
|
||||
|
||||
Development environment
|
||||
-----------------------
|
||||
* see linux example on how to generate the FDSK string which needs to be entered in the ETS
|
||||
* use BAU57B0, but fake the mask by setting _deviceObj.maskVersion(0x07B0). This "emulates" a TP1 device which is reachable over an IP router
|
||||
* To generate a KNX ETS product database with support for KNX Data Secure, use the latest version of the CreateKnxProd tool which supports schema version 20.
|
||||
Reference in New Issue
Block a user