private byte crc8_block(byte[] pcBlock, byte len)
{
byte crc = 0xFF;
byte i, j;
for (j = 0; j < len; j++)
{
crc ^= pcBlock[j];
for (i = 0; i < 8; i++)
if ((crc & 0x80) != 0) crc = (byte)((crc << 1) ^ 0x31);
else crc = (byte)(crc << 1);
}
return crc;
}