Und nochwas,

distance = (highbyte+256)+lowbyte;

musst du so schreiben

distance = (highbyte*256)+lowbyte;

weil du willst ja 16bit darstellen und wenn du *256 machst dann ist das wie
*2*2*2*2*2*2*2*2 und das ist quasi ein linksverschieben

zb

0000000000000000 distance
10101101 highbyte
10001111 lowbyte

daraus soll 1010110110001111 werden

distance = (highbyte*256) macht das
1010110100000000

distance = (highbyte*256)+lowbyte macht demnach das
1010110110001111


Hättest du +256 gemacht dann käm was anderes raus hab keine lust zu rechnen.

Ich weiss das du den Fehler nur kopiert hast. Steht so in P.Fleury Lib drin.

Viele Grüsse
Thomas