From 877b2442c4c7cfced9517e86d438e6fa1b575c58 Mon Sep 17 00:00:00 2001 From: Lenczu Vex Date: Mon, 2 Dec 2024 20:09:33 +0100 Subject: Much fixes --- ibus.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'ibus.c') diff --git a/ibus.c b/ibus.c index 3d7a8d0..19870ca 100644 --- a/ibus.c +++ b/ibus.c @@ -1,15 +1,16 @@ #include "ibus.h" -uint16_t CRC16Gen(*IBusFrame frame){ - uint16_t checksum = 0xFFFF; - for (int i = 2; i < frame[0]-2; i++) { - checksum -= ibusPacket[i]; +uint16_t CRC16Gen(IBusFrame frame){ + uint16_t checksum = 0x0; + for (int i = 0; i < frame[0]-2; i++) { + checksum += frame[i]; } + checksum = 0xFFFF - checksum; return checksum; } -int encodeIBus(*IBusFrame frame, *channelValues vals){ +int encodeIBus(IBusFrame frame, channelValues vals){ *frame=IBusSize; *(frame+1)=startByteBeta; for (int i=0; i>8) + *(frame+frame[0]-2)=(uint8_t)(checksum & 0xFF); + *(frame+frame[0]-1)=(uint8_t)(checksum>>8); } -- cgit v1.2.3-70-g09d2