private byte[] cksum(byte[] buff) {
int byCksum = 0;
int i = 0;
for (i = 0; i < buff.Length - 1; i++) {
byCksum += buff[i];
}
byCksum = (~byCksum & 0xff) + 1;
buff[buff.Length - 1] = (byte) byCksum;
return buff;
}