Difference between revisions of "KONNEKTING Protocol Specification"
Konnekting (talk | contribs) (Created page with "KONNEKTING Protocol Specification 1.0.0 beta4 KONNEKTING Protocol Specification 1.0.0 beta5 ") |
Konnekting (talk | contribs) |
||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[ KONNEKTING Protocol Specification 1.0.0 | + | The programming protocol uses group telegrams with the mostly unused group address 15/7/255. Those telegrams use DPT 60000.000, which is reserved for manufacturer specific custom extensions. The used Property Data Type is PDT_GENERIC_14, which is 14 bytes of raw data. |
− | [[ KONNEKTING Protocol Specification 1.0.0 beta5 | + | |
+ | '''!!! It's required that no other device is using this address. Otherwise it may conflict with KONNEKTING Devices and programming your devices may fail !!!''' | ||
+ | |||
+ | {| class="wikitable" style="text-align:center" | ||
+ | !Byte no#: | ||
+ | !0 | ||
+ | !1 | ||
+ | !2 | ||
+ | !... | ||
+ | !13 | ||
+ | |- | ||
+ | !Used for: | ||
+ | |colspan="2"|Header, 2 bytes | ||
+ | |colspan="3"|Body, 12 Bytes | ||
+ | |- | ||
+ | !Description: | ||
+ | |Protocolversion | ||
+ | |Message-Type-ID | ||
+ | |colspan="3" rowspan="2"|depends on Message-Type-ID | ||
+ | |- | ||
+ | !Range: | ||
+ | |0x00..0xFF | ||
+ | |0x00..0xFF | ||
+ | |} | ||
+ | |||
+ | There are several message types for all kind of purposes. As we have one byte for the Message-Type-ID, we have up to 256 possible messages. That should be enough for our purposes. Same for version: Up to 256 versions should be enough for the ''near'' future. | ||
+ | |||
+ | == Glossary == | ||
+ | |||
+ | * '''HI''' high byte/"left most 8 bits" result in b[0] of 2-byte-array (big endian byte order, https://en.wikipedia.org/wiki/Endianness#Big-endian) | ||
+ | * '''LO''' low byte/"right most 8 bits" result in b[1] of 2-byte-array (big endian byte order, https://en.wikipedia.org/wiki/Endianness#Big-endian) | ||
+ | * '''GA''' group address, 1/2/3 | ||
+ | * '''IA''' or '''individual address''' aka. PA or physical address, 1.2.3 | ||
+ | |||
+ | Big endian example: | ||
+ | |||
+ | 16 bits: 1111111100000000 result in | ||
+ | |||
+ | <pre> | ||
+ | HI byte 11111111 --> 0xFF --> b[0] | ||
+ | LO byte 00000000 --> 0x00 --> b[1] | ||
+ | Code: int16_t val = (b[0] << 8) + (b[1] << 0); | ||
+ | </pre> | ||
+ | |||
+ | == Protocol Versions == | ||
+ | |||
+ | Here is a list of currently developed protocol versions | ||
+ | |||
+ | * [[ KONNEKTING Protocol Specification 0x00 ]] valid up to KONNEKTING 1.0.0-beta4b | ||
+ | * [[ KONNEKTING Protocol Specification 0x01 ]] valid since KONNEKTING 1.0.0-beta5 |
Latest revision as of 09:53, 7 November 2020
The programming protocol uses group telegrams with the mostly unused group address 15/7/255. Those telegrams use DPT 60000.000, which is reserved for manufacturer specific custom extensions. The used Property Data Type is PDT_GENERIC_14, which is 14 bytes of raw data.
!!! It's required that no other device is using this address. Otherwise it may conflict with KONNEKTING Devices and programming your devices may fail !!!
Byte no#: | 0 | 1 | 2 | ... | 13 |
---|---|---|---|---|---|
Used for: | Header, 2 bytes | Body, 12 Bytes | |||
Description: | Protocolversion | Message-Type-ID | depends on Message-Type-ID | ||
Range: | 0x00..0xFF | 0x00..0xFF |
There are several message types for all kind of purposes. As we have one byte for the Message-Type-ID, we have up to 256 possible messages. That should be enough for our purposes. Same for version: Up to 256 versions should be enough for the near future.
Glossary
- HI high byte/"left most 8 bits" result in b[0] of 2-byte-array (big endian byte order, https://en.wikipedia.org/wiki/Endianness#Big-endian)
- LO low byte/"right most 8 bits" result in b[1] of 2-byte-array (big endian byte order, https://en.wikipedia.org/wiki/Endianness#Big-endian)
- GA group address, 1/2/3
- IA or individual address aka. PA or physical address, 1.2.3
Big endian example:
16 bits: 1111111100000000 result in
HI byte 11111111 --> 0xFF --> b[0] LO byte 00000000 --> 0x00 --> b[1] Code: int16_t val = (b[0] << 8) + (b[1] << 0);
Protocol Versions
Here is a list of currently developed protocol versions
- KONNEKTING Protocol Specification 0x00 valid up to KONNEKTING 1.0.0-beta4b
- KONNEKTING Protocol Specification 0x01 valid since KONNEKTING 1.0.0-beta5