我是LG空调的反向工程IR协议。 AC通常在每次按键时发送遥控器的整个当前状态。发送的数据长28位,最后4位似乎是校验和。我已经尝试过reveng,但是没有运气。

14-16位是操作模式(加热/冷却/风扇/自动)。位17-20是温度+ 15度,位22-24是风扇速度,位25-28似乎是4位校验和。

以下是示例值:

100010000000100001000101 0001
100010000000100001010101 0010
100010000000100001100101 0011
100010000000100010000100 0100
100010000000100011000101 1001
100010000000100011010101 1010
100010000000100011110101 1100
100010000000000011000101 0001
100010001100000000000101 0001


在最后两个中,仅11的位置发生了变化,但校验和保持不变。校验和是如何计算的?

评论

请看一下链接,它应该对您的逆向工程有所帮助

#1 楼

就像您在问题中陈述的那样,这似乎是校验和,而不是标头中提到的CRC。 ,忽略溢出意味着减去32):

1000 1000 0000 1000 0100 0101  0001 8+8+0+8+4+5=33  1
1000 1000 0000 1000 0101 0101  0010 8+8+0+8+5+5=34  2
1000 1000 0000 1000 0110 0101  0011 8+8+0+8+6+5=35  3
1000 1000 0000 1000 1000 0100  0100 8+8+0+8+8+4=36  4
1000 1000 0000 1000 1100 0101  1001 8+8+0+8+12+5=41 9
1000 1000 0000 1000 1101 0101  1010 8+8+0+8+13+5=42 10
1000 1000 0000 1000 1111 0101  1100 8+8+0+8+15+5=44 12
1000 1000 0000 0000 1100 0101  0001 8+8+0+0+12+5=33 1
1000 1000 1100 0000 0000 0101  0001 8+8+12+0+0+5=33 1