hardware:vaillantvrt340f_protocol
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
hardware:vaillantvrt340f_protocol [2017/05/11 10:31] – reinhold | hardware:vaillantvrt340f_protocol [2017/05/11 19:26] – reinhold | ||
---|---|---|---|
Zeile 84: | Zeile 84: | ||
Why least significant bit first? That took me a while, too, and it stems from the way the checksum is calculated. | Why least significant bit first? That took me a while, too, and it stems from the way the checksum is calculated. | ||
- | Our sixteen base signals from above now become: | + | Our sixteen base signals from above now become |
^Heat.^Wat.^Rep.^Bat.| '' | ^Heat.^Wat.^Rep.^Bat.| '' | ||
Zeile 150: | Zeile 150: | ||
==== UPDATE: Making sense of the 0xFD byte 13 ==== | ==== UPDATE: Making sense of the 0xFD byte 13 ==== | ||
- | The byte 13 with unknown constant value 0xFD kept bothering me, and a few days after I understood the checksum byte I figured out its meaning too: As I mentioned, bytes 4-12 together with the checksum byte 14 summed up always yielded 0x0300. It seemed strange to me that the 0x03 byte of the sum was somehow ignored, until I realized that 0xFD is actually the binary complement of 0x03, i.e. the checksum is actually just byte 14, but the two-byte value of bytes 13 and 14. So, our assumption that bytes 13 with a value of 0xFD is some kind of End-Of-Data or separator byte was simply wrong, and it being constant is just a coincidence. | + | The byte 13 with unknown constant value 0xFD kept bothering me, and a few days after I understood the checksum byte I figured out its meaning too: As I mentioned, bytes 4-12 together with the checksum byte 14 summed up always yielded 0x0300. It seemed strange to me that the 0x03 byte of the sum was somehow ignored, until I realized that 0xFD is actually the binary complement of 0x03, i.e. the checksum is actually |
- | In short, bytes 13 and 14 are simply | + | In short, bytes 13 and 14 are the binary negative of the sum of bytes 4-12, with most significant byte first, i.e. bytes 13+14 interpreted as a signed integer is -sum(byte 4-12). As we are summing up only 9 bytes, there will be no overflow, either (which was what was bothering me with the 0x03 when one uses only byte 14 as checksum). |
hardware/vaillantvrt340f_protocol.txt · Zuletzt geändert: 2017/05/11 19:28 von reinhold