From 5214303228fd7d969cb58cbd9b0673d9bae0dcd1 Mon Sep 17 00:00:00 2001 From: Lenczu Vex Date: Wed, 9 Oct 2024 14:54:35 +0200 Subject: Initial push --- ibus.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ibus.c (limited to 'ibus.c') diff --git a/ibus.c b/ibus.c new file mode 100644 index 0000000..67ac08d --- /dev/null +++ b/ibus.c @@ -0,0 +1,39 @@ +#include "ibus.h" + +int encodeIBus(*IBusFrame frame, *channelValues vals){ + *frame=startByteAlpha; + *(frame+1)=startByteAlpha; + for (int i=0; i>sizeof(char); + else + *(frame+i+2)=(char) *(vals+(i/2)); + + +} + +int CRC16Gen(*IBusFrame frame){ + unsigned char i; + unsigned int data; + unsigned int crc = 0xffff; + + if (length == 0) + return (~crc); + + do{ + for (i=0, data=(unsigned int)0xff & *data_p++; + i < 8; + i++, data >>= 1) + { + if ((crc & 0x0001) ^ (data & 0x0001)) + crc = (crc >> 1) ^ POLY; + else crc >>= 1; + } + } while (--length); + + crc = ~crc; + data = crc; + crc = (crc << 8) | (data >> 8 & 0xff); + + return (crc); +} -- cgit v1.2.3-70-g09d2