zu den ints: du wirst (irgendwann) 64-bit ints haben (Pi 3 = 64bit µC), ich aber weiterhin 32bit (Pi 2 = 32bit µC):
dann stimmen die Arraygrößen auf unseren System nicht mehr überein.

zu den char[] arrays:
ich weiß nicht, was dein char[] array macht bzw was drin steht.
Wenn die Aufnahmefunktion die Rohdaten in char[] speichern muss, muss man es dort erst so lassen, dann aber als nächstes in int32 arrays umkopieren, bevor man weitermacht.

Aber dazu muss man wissen, wie die Datenpakete pro Einzelpaket kodiert sind.
sind es immer 4 bytes, erst 2 bytes für li, dann 2 bytes für rechts?