Moinsen.
Ich versuche es mal zu erklären, die INI vom Projekt habe ich angehängt.
Es geht um die Page 2, sie ist als zwei Arrays von uint16_t definiert, mit Faktor 0.001 und Offset 0. Also, wenn ich einen Wert von 1,123 haben will, sendet TS 1123 zur MCU. So weit so gut.
Ich setze einen Wert, sagen wir mal 1.234 (das gebe ich im CurveEditor ein), TS schickt dann 1234 zur MCU, ich schreibe das in die Konfig, alles super. Im Debugger sieht mein Empfangspuffer dann so aus:

- grafik.png (10.09 KiB) 18188 mal betrachtet
Jetzt ändere ich diesen Wert (alt 1.234) auf 0, das klappt auch, Empfangspuffer sieht so aus:

- grafik.png (10.28 KiB) 18188 mal betrachtet
Ich ändere den Wert wieder auf 1.234 und Empfangspuffer sieht so aus:

- grafik.png (12.01 KiB) 18188 mal betrachtet
Alles richtig.
Wenn ich jetzt den Wert von 1.234 marginal ändere, auf sagen wir mal 1,172, dann sieht mein Empfangspuffer so aus:

- grafik.png (9.57 KiB) 18188 mal betrachtet
Das bedeutet dann:
-> Offset ist 0, word(payload[4], payload[3])
-> Länge ist 1, word(payload[6], payload[5])
-> Wert ist 148, word(payload[8], payload[7])
Was macht er hier für ein Mist? Ich hätte erwartet, dass Länge 2 ist und der Wert dann 1172 ist...
Nach dem Schreiben in die Page habe ich dann 0.148 drin stehen, was natürlich falsch ist...
Hast Du eine Idee, was da schief läuft?
Danke Dir