Hallo Zusammen,
mir ist da etwas merkwürdiges über den Weg gelaufen was mich nicht mehr
einschlafen lässt.
Ich belausche einen I2C Bus bei dem immer ein bestimmtes "Register"
abgefragt wird.
Das Register besteht aus drei Byte, D1, D2 und D3.
D2 ist immer 0xFF, in D3 wird der Zustand im Klartext übermittelt.
D1 scheint eine Prüfsumme zu enthalten den D3 korreliert mit der
Anzeige.
Interessant wird es wenn man D1 und D3 addiert.
Es gibt nur vier unterschiedliche Summen :
- 99
- 227
- 355
- 483
Gruppiert man nach den Summen erkennt man schnell das die Elemente von
D1 gleich D3 sind und in so einer Beziehung stehen :
1 | D1 - D3 - Summe
|
2 | 1 - 4 - 5
|
3 | 2 - 3 - 5
|
4 | 3 - 2 - 5
|
5 | 4 - 1 - 5
|
Wie nennt sich diese Prüfsumme bzw wie finde ich eine allgemeingültige
Rechenvorschrift die alle vier Sonderfälle abdeckt ?
Ich kann mir nicht vorstellen das man vier Sonderfälle Programmiert.
Vermutlich sollen die Blöcke das ganze noch robuster machen.
Nach dem Prinzip :
Ich habe auch versucht mit Modulo, XOR und BitShift da ranzugehen habe
aber keinen zusammenhang gesehen...