это пакет в ascii виде с начальным и конечным маркерами: #GVHGRILNMOQK\xD
после распаковки в двоичный вид получаем 0f 10 b2 57 68 a4, контрольная сумма - 68 a4, рассчитывается по следующему алгоритму:
Код:
unsigned short owenCRC16(unsigned char* packet, size_t length)
{
size_t i, j;
unsigned short crc;
assert(packet);
crc = 0;
for (i = 0; i < length; ++i)
{
unsigned char b = packet[i];
for (j = 0; j < 8; ++j, b <<= 1)
{
if ((b ^ (crc >> 8)) & 0x80)
{
crc <<= 1;
crc ^= 0x8F57;
}
else
crc <<= 1;
}
}
return crc;
}
подробности в описании протокола ОВЕН.