+\r
+#if IRMP_SUPPORT_KASEIKYO_PROTOCOL == 1\r
+ if (irmp_param.protocol == IRMP_KASEIKYO_PROTOCOL)\r
+ {\r
+ uint8_t xor;\r
+ // ANALYZE_PRINTF ("0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n",\r
+ // xor_check[0], xor_check[1], xor_check[2], xor_check[3], xor_check[4], xor_check[5]);\r
+\r
+ xor = (xor_check[0] & 0x0F) ^ ((xor_check[0] & 0xF0) >> 4) ^ (xor_check[1] & 0x0F) ^ ((xor_check[1] & 0xF0) >> 4);\r
+\r
+ if (xor != (xor_check[2] & 0x0F))\r
+ {\r
+ ANALYZE_PRINTF ("error 4: wrong XOR check for customer id: 0x%1x 0x%1x\n", xor, xor_check[2] & 0x0F);\r
+ irmp_ir_detected = FALSE;\r
+ }\r
+\r
+ xor = xor_check[2] ^ xor_check[3] ^ xor_check[4];\r
+\r
+ if (xor != xor_check[5])\r
+ {\r
+ ANALYZE_PRINTF ("error 4: wrong XOR check for data bits: 0x%02x 0x%02x\n", xor, xor_check[5]);\r
+ irmp_ir_detected = FALSE;\r
+ }\r
+ }\r
+#endif // IRMP_SUPPORT_KASEIKYO_PROTOCOL == 1\r
+\r